You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-dev@ws.apache.org by sc...@apache.org on 2005/08/05 15:45:44 UTC

svn commit: r230467 [2/6] - in /webservices/muse/site: ./ dev_guide/ images/ skin/ skin/css/ skin/images/ skin/scripts/ tutorial/ tutorial/images/

Added: webservices/muse/site/dev_guide/muws_topics.html
URL: http://svn.apache.org/viewcvs/webservices/muse/site/dev_guide/muws_topics.html?rev=230467&view=auto
==============================================================================
--- webservices/muse/site/dev_guide/muws_topics.html (added)
+++ webservices/muse/site/dev_guide/muws_topics.html Fri Aug  5 06:45:22 2005
@@ -0,0 +1,490 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="pelt">
+<title>MUWS-Specific Topics</title>
+<link type="text/css" href="../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../skin/profile.css" rel="stylesheet">
+<script src="../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../images/apache.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://ws.apache.org">ws.apache</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://ws.apache.org/"><img class="logoImage" alt="Web Services" src="../images/ws-logo.gif"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogoA1">
+<a href="http://ws.apache.org/ws-fx/muse/"><img class="logoImage" alt="Muse" src="../images/muse-logo.gif"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../index.html">Project Info</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../getting_started.html">Documentation</a>
+</li>
+<li>
+<a class="base-not-selected" href="../apidocs/index.html">API Docs</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', '../skin/')" id="menu_1.1Title" class="menutitle">Getting Started</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../getting_started.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#install">Installation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#qd">Quick Demo</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2', '../skin/')" id="menu_1.2Title" class="menutitle">Tutorial</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../tutorial/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/setup.html">Create Workspace</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl.html">Create WSDLs</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl2java.html">Run wsdl2Java Tool</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_home.html">Modify Home Classes</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_resource.html">Modify Resource Classes</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_service.html">Modify Service Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/webapp.html">Deploy Services</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/test.html">Test</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.3', '../skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('../skin/images/chapter_open.gif');">Developer Guide</div>
+<div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../dev_guide/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsdl.html">MuWS WSDL</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsdl_tool.html">Using Wsdl2Java</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/home.html">Home Class</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">MUWS-Specific Topics</div>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/relationships.html">Relationships</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/advertiser.html">Advertiser Service</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/deploy.html">Deploying</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/client.html">Using the SOAP Client</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/debug.html">Logging</a>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div id="skinconf-txtlink"></div>
+<h1>MUWS-Specific Topics</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#intro">Introduction</a>
+</li>
+<li>
+<a href="#act">Adding Capability Topics</a>
+</li>
+<li>
+<a href="#Adding+Advertiser+Topics">Adding Advertiser Topics</a>
+</li>
+<li>
+<a href="#Adding+the+Relationship+Topics">Adding the Relationship Topics</a>
+</li>
+<li>
+<a href="#Adding+Custom+Management+Events">Adding Custom Management Events</a>
+</li>
+</ul>
+</div>
+		
+<a name="N1000C"></a><a name="intro"></a>
+<h2 class="boxed">Introduction</h2>
+<div class="section">
+<p>Each resource that is configured to be a notification producer (implements the WSN <span class="codefrag">NotificationProducer</span> portType) is associated with a 
+			topic set. The resource publishes notifications to a topic in the topic set. Notification consumers can then subscribe to a topic and receive notifications 
+			from the resource. As the service developer of the notification producer resource, you are responsible for adding the topics you want to support to the topic set. 
+			</p>
+<p>
+			This section provides instructions for adding support to your managed resource for the various topics that are defined by MUWS. 
+			The topics can be organized into three types:
+			</p>
+<ul>
+				
+<li>Capability topics: Topics for each of the MUWS defined resource properties that indicate changed property events</li>
+				
+<li>Advertiser topics: Topics for resource creation and destruction events</li>
+				
+<li>Relationship topics: Topics for relationship created and deleted events</li>
+			
+</ul>
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">For information on adding custom topics for your resource, see the <a href="http://ws.apache.org/pubscribe/dev_guide/producer.html">Notification Producer</a> section in the Apache Pubscribe 
+			documentation.</div>
+</div>
+<p>Notification topics are added to the <span class="codefrag">init()</span> method of your service's resource class. If you used the Wsdl2Java tool, the resource class 
+			(<em>
+					<span class="codefrag">service_name</span>
+				</em>
+				<span class="codefrag">Resource.java</span>) is automatically generated, but will need to modified. Initially, you should model your resource off of the included FileSystemResource 
+				example to ensure that you write a valid resource class. 
+			</p>
+<p>The resource class is the stateful instance-representation of your Web service. In addition to notification topics, the resource class maintains the resource 
+			<span class="codefrag">id</span> and the <span class="codefrag">ResourcePropertySet</span>. The <span class="codefrag">ResourcePropertySet</span> is the Java representation of the Resource Properties document 
+			defined in the types section of your WSDL file.
+			</p>
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">This section does not include complete instructions for initializing resource properties and adding them to the <span class="codefrag">ResourcePropertySet</span>. See the 
+			<a href="http://ws.apache.org/wsrf/dev_guide/resource.html">Resource Class</a> documentation included with Apache WSRF.
+			</div>
+</div>
+<a name="N10053"></a><a name="ManagementEvent+notifications"></a>
+<h3 class="boxed">ManagementEvent notifications</h3>
+<p>	WSDM defines a specific event format that is different than a standard WSN notification. Whenever you subscribe to a MUWS related topic, the notifications 
+				are always returned in the WSDM event format. The term 	ManagementEvent notification is used since <span class="codefrag">ManagementEvent</span> is the root element of the 
+				notification. 
+				</p>
+<p>A ManagementEvent notification provides a set of standard fields that provide metadata about the event as well as the actual notification element (e.g, a resource 
+				property changed event for a resource property). The Metadata includes: report time, event ID, source component, reporter component, as well as an "any" wild card. 
+				It is suggested that your custom topics also use this event format. Although, it is not required. Apache Muse provides some helper classes that can be used to create 
+				ManagementEvent-based notifications. The instructions are discussed below.
+				</p>
+</div>
+		
+<a name="N10064"></a><a name="act"></a>
+<h2 class="boxed">Adding Capability Topics</h2>
+<div class="section">
+<p>A capability topic is created for each MUWS property that is defined in your WSDL. To add MUWS capability topics for these properties, implement the 
+			<span class="codefrag">init()</span> of your resource class using the following instructions. The example is taken from 
+			the filesystem example. For simplicity, only the <span class="codefrag">OperationalStatus</span> topic is shown.</p>
+<ol>
+				
+<li>Create a MUWS topic space.
+				<pre class="code">
+org.apache.ws.notification.topics.TopicSpace muwsTopicSpace = new org.apache.ws.notification.topics.impl.TopicSpaceImpl( 
+   org.apache.ws.muws.v1_0.MuwsConstants.NSURI_MUWS_PART2_TOPICS );
+getTopicSpaceSet().addTopicSpace( muwsTopicSpace );
+				</pre>
+				
+</li>
+				
+<li>For each MUWS capability that your resource supports, add a topic to the resource's topic set in the MUWS topic space. The topic should be of the type 
+           			<span class="codefrag">org.apache.ws.muws.v1_0.topics.ManagementEventTopic</span>.
+           			<pre class="code">
+org.apache.ws.muws.v1_0.topics.ManagementEventTopic operationalStatusCapabilityTopic;
+
+operationalStatusCapabilityTopic = new org.apache.ws.muws.v1_0.topics.impl.XmlBeansManagementEventTopicImpl(
+   org.apache.ws.muws.v1_0.capability.OperationalStatusCapability.TOPIC_NAME );
+muwsTopicSpace.addTopic( operationalStatusCapabilityTopic );
+           			</pre>
+				
+</li>
+				
+<li>Initialize the resource property to be associated with the topic
+           			<pre class="code">
+org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ManageabilityCapabilityDocument operationalStatusCapabilityPropElem = 
+   org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ManageabilityCapabilityDocument.Factory.newInstance();
+operationalStatusCapabilityPropElem.setManageabilityCapability( org.apache.ws.muws.v1_0.capability.OperationalStatusCapability.URI );
+resourceProperty.add( operationalStatusCapabilityPropElem );
+           			</pre>
+				
+</li>
+				
+<li>Add the topic as a resource property change listener for the resource property.  This will automatically emit ManagementEvent-wrapped resource property change events as they occur.
+				<pre class="code">
+resourceProperty = resourcePropertySet.get( FilesystemPropertyQNames.OPERATIONALSTATUS );
+org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.OperationalStatusDocument statusDoc = 
+   org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.OperationalStatusDocument.Factory.newInstance();
+statusDoc.setOperationalStatus( org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.OperationalStatusDocument.OperationalStatus.AVAILABLE );
+resourceProperty.add(statusDoc);
+resourceProperty.setCallback( new example.filesystem.callback.OperationalStatusCallback( m_filesystem ) );
+resourceProperty.addChangeListener( operationalStatusCapabilityTopic );
+            			</pre>
+					
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">A change listener is not required but can be used if you want management events containing changed property events. The <span class="codefrag">ResourceId</span> 
+					property does not require a change listener since the property is read only.</div>
+</div>
+				
+</li>
+			
+</ol>
+</div>
+		
+<a name="N1009C"></a><a name="Adding+Advertiser+Topics"></a>
+<h2 class="boxed">Adding Advertiser Topics</h2>
+<div class="section">
+<p>The MUWS specification defines an Advertisement capability that provides a notification whenever a manageable resource is created or destroyed. The 
+			capability includes four topics, two of which are implemented in Muse:</p>
+<ul>
+				
+<li>
+					
+<span class="codefrag">ManageableResourceCreation</span>
+				
+</li>
+				
+<li>
+					
+<span class="codefrag">ManageableResourceDestruction</span>
+				
+</li>
+			
+</ul>
+<p>Muse implements these topics as part of the <span class="codefrag">ResourceAdvertiser</span> service that is deployed  by default in Muse. Therefore, it does not have to be 
+			defined in a MUWS WSDL or directly implemented by your WS Resource. See the <a href="../dev_guide/advertiser.html">Using the Resource Advertiser Service</a> section for more 
+			information on subscribing to the Advertiser Topics.
+			</p>
+</div>
+		
+<a name="N100BF"></a><a name="Adding+the+Relationship+Topics"></a>
+<h2 class="boxed">Adding the Relationship Topics</h2>
+<div class="section">
+<p>This section discusses five topics that are defined in the MUWS specification to support relationships:</p>
+<ul>
+				
+<li>
+					
+<span class="codefrag">Relationship</span>: A topic for a resource property that notifies a consumer about the relationships that a resource knows about.</li>
+				
+<li>
+					
+<span class="codefrag">RelationshipCreated</span>: A topic that notifies a consumer when a new relationship is added.</li>
+				
+<li>
+					
+<span class="codefrag">RelationshipDeleted</span>: A topic that notifies a consumer when a relationship is deleted.</li>
+				
+<li>
+					
+<span class="codefrag">RelationshipAccessCapability</span>: A topic that notifies a consumer that an interaction with a relationship or its participants has occurred.</li>
+				
+<li>
+					
+<span class="codefrag">RelationshipResourceCapability</span>: A topic that notifies a consumer when the identity of a relationship changes. This includes the name, type, and 
+				participant properties of a relationship.</li>
+			
+</ul>
+<p>The <span class="codefrag">Relationship</span> and <span class="codefrag">RelationshipResourceCapability</span> topics are created in the same manner as discussed in the 
+			<a href="#act">Adding Capability Topics</a> above. The <span class="codefrag">Relationship</span> topic represents a property changed event that occurs whenever the list of 
+			relationships changes. The <span class="codefrag">RelationshipResourceCapability</span> topic represents property changed events whenever either the name, type, or participants for a 
+			relationship changes.
+			</p>
+<p>The <span class="codefrag">RelationshipCreated</span>, <span class="codefrag">RelationshipDeleted</span>, and <span class="codefrag">RelationshipResourceCapability</span> topics are implemented in Muse by 
+			default. Therefore, you only need to add these topics to the topic set in your resource class. For example:</p>
+<pre class="code">
+	try {
+        org.apache.ws.notification.topics.TopicSpace muws2topics = org.apache.ws.muws.MuwsUtils.addRelationshipTopics( getTopicSpaceSet() );
+	 } catch ( Exception e ) {
+		throw new RuntimeException( "Failed to add the MUWS RelationshipAdded/Removed topics to the topic set.", e );
+	 }
+
+			</pre>
+<p>For more information Relationships, see the <a href="../dev_guide/relationships.html">Creating Relationships</a> section.</p>
+</div>
+		
+<a name="N10114"></a><a name="Adding+Custom+Management+Events"></a>
+<h2 class="boxed">Adding Custom Management Events</h2>
+<div class="section">
+<p>Notifications for custom topics (e.g. my_foo events) can be wrapped as a ManagementEvent notification. While this is not required by the MUWS 
+			specification, it may give WSDM notification consumers the ability to process your notification, even if they are unaware of the resource as a managed resource.</p>
+<p>Muse provides several utility classes that can be used to define a ManagementEvent Topic and wrap a notification. </p>
+<ol>
+			  
+<li>Define a ManagementTopic.
+			   <p>Utilizing ManagementEventTopic provides the framework for publishing ManagementEvents.</p>
+			
+<pre class="code">
+        //add/create a TopicSpace for your custom Topics
+        TopicSpace fooTopicSpace = getTopicSpaceSet().addTopicSpace("http://foo/topicspace");
+
+        /**
+         * Provide a Topic name (i.e. FooCapability ) for your new Management Event Topic during creation, this is the
+         * name consumers will use when subscribing to the Topic.
+         */
+        ManagementEventTopic fooCapabilityTopic = new XmlBeansManagementEventTopicImpl("FooCapability");
+
+        //make sure to add the ManagementEventTopic to your defined TopicSpace
+        fooTopicSpace.addTopic(fooCapabilityTopic);
+			</pre>			   
+			  
+</li>
+			  
+			  
+			  
+<li>Building a ManagementEvent to publish.
+			   <p>In cases where you want to emit an event which is not triggered via a ResourcePropertyValueChangeEvent, you will need to explictly build the ManagementEvent and call publish on the Topic. A custom event is wrapped as a ManagementEvent by adding the custom event XML as a child of the ManagementEventType. Below is an example of adding a custom XmlBean-generated object to a ManagementEventType for a custom notification.</p>
+			
+<pre class="code">
+        //define the situation as per spec
+        Situation situation =
+                new SituationImpl(new CategoryImpl(MuwsConstants.SITUATION_OTHER));
+
+        //build a ManagementEventDocument using the Situation using a helper class
+        XmlBeansManagementEvent xme = new XmlBeansManagementEvent(situation);
+        //extract the XmlBean-generated ManagementEventDocument
+        ManagementEventDocument managementEventDocument = (ManagementEventDocument) ((XmlObjectWrapper) xme).getXmlObject();
+
+        //pull the ManagementEventType from the ManagementEventDocument in order to add your custom event object
+        org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ManagementEventType managementEvent =
+                managementEventDocument.getManagementEvent();
+
+        //add your custom XmlBean-generated object (i.e. fooXmlBeanGeneratedObject) to the ManagementEvent
+        XmlBeanUtils.addChildElement(managementEvent, fooXmlBeanGeneratedObject);
+			</pre>			  
+			  
+</li>
+			  
+			  
+			  
+<li>Publishing ManagementNotifications.
+			   <p>The use of ManagementEventTopic as the Topic for exposing Notifications provides the ability to publish ManagementEvents. Once you have built the ManagementEvent notification you would like to send, you will need to publish the event to the ManagementTopic.</p>
+			
+<pre class="code">
+        //retrieve the Topic from the Resource
+        ManagementEventTopic fooTopic = (ManagementEventTopic)getTopicSpaceSet().getTopicSpace("http://foo/topicspace").getTopic("FooCapability");
+        try
+        {
+            fooTopic.publish(managementEventDocument);
+        }
+        catch (Exception e)
+        {
+            //handle exception
+        }
+			</pre>
+			  
+</li>
+			  
+			
+</ol>
+</div>
+	
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2004 The Apache Software Foundation.</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Added: webservices/muse/site/dev_guide/relationships.html
URL: http://svn.apache.org/viewcvs/webservices/muse/site/dev_guide/relationships.html?rev=230467&view=auto
==============================================================================
--- webservices/muse/site/dev_guide/relationships.html (added)
+++ webservices/muse/site/dev_guide/relationships.html Fri Aug  5 06:45:22 2005
@@ -0,0 +1,390 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Creating Relationships</title>
+<link type="text/css" href="../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../skin/profile.css" rel="stylesheet">
+<script src="../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../images/apache.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://ws.apache.org">ws.apache</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://ws.apache.org/"><img class="logoImage" alt="Web Services" src="../images/ws-logo.gif"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogoA1">
+<a href="http://ws.apache.org/ws-fx/muse/"><img class="logoImage" alt="Muse" src="../images/muse-logo.gif"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../index.html">Project Info</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../getting_started.html">Documentation</a>
+</li>
+<li>
+<a class="base-not-selected" href="../apidocs/index.html">API Docs</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', '../skin/')" id="menu_1.1Title" class="menutitle">Getting Started</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../getting_started.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#install">Installation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#qd">Quick Demo</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2', '../skin/')" id="menu_1.2Title" class="menutitle">Tutorial</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../tutorial/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/setup.html">Create Workspace</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl.html">Create WSDLs</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl2java.html">Run wsdl2Java Tool</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_home.html">Modify Home Classes</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_resource.html">Modify Resource Classes</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_service.html">Modify Service Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/webapp.html">Deploy Services</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/test.html">Test</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.3', '../skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('../skin/images/chapter_open.gif');">Developer Guide</div>
+<div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../dev_guide/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsdl.html">MuWS WSDL</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsdl_tool.html">Using Wsdl2Java</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/home.html">Home Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/muws_topics.html">MUWS-Specific Topics</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Relationships</div>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/advertiser.html">Advertiser Service</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/deploy.html">Deploying</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/client.html">Using the SOAP Client</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/debug.html">Logging</a>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div id="skinconf-txtlink"></div>
+<h1>Creating Relationships</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#intro">Introduction</a>
+</li>
+<li>
+<a href="#Defining+a+Relationship">Defining a Relationship</a>
+</li>
+<li>
+<a href="#Relationship+Operations+and+Properties">Relationship Operations and Properties</a>
+</li>
+</ul>
+</div>
+		
+<a name="N1000C"></a><a name="intro"></a>
+<h2 class="boxed">Introduction</h2>
+<div class="section">
+<p>This section provides instructions for creating relationships among resources. The resources involved in a relationship are called participants. Each participant 
+			has a role in the relationship. Resources are related based on their role definitions. Because relationships are specific to a resource management model, no relationship 
+			types or roles are defined by MUWS and must be defined by the developer.
+			</p>
+<p>The examples in this section are taken from the filesystem example. The example demonstrates a simple relationship where a host resource contains a relationship 
+			with a filesystem resource. The host resource is considered the <span class="codefrag">container</span> in the relationship and the filesystem resource is considered the 
+			<span class="codefrag">containee</span>. The code to define and setup the relationship is added to the <span class="codefrag">init()</span> method of FilesystemResource.java since the FilesystemResource exposes the Relationship resource property.
+			</p>
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">For simplicity, the example relationship is defined within the the filesystem resource. However, relationships do not need to be defined as part of the resource 
+			definition. For example, a resource can be created that is not a manageable resource, but does provide the implementation of the relationships for a particular management 
+			model.</div>
+</div>
+</div>
+		
+<a name="N10025"></a><a name="Defining+a+Relationship"></a>
+<h2 class="boxed">Defining a Relationship</h2>
+<div class="section">
+<p>To define a relationship, you must create a relationship type and any participant types and then assign each participant a role in the in the relationship:</p>
+<ol>
+				
+<li>Create a relationship type.
+				<pre class="code">
+org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipType relationshipType = null;
+relationshipType = prop_relationship.addNewRelationship();
+org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipTypeType relationshipTypeType = relationshipType.addNewType();
+org.apache.ws.util.XmlBeanUtils.addChildElement( relationshipTypeType, new javax.xml.namespace.QName( "http://myns.com/", "ContainedBy", "myns" ) );
+				</pre>
+				
+</li>
+				
+<li>Create participant types and assign each participant a role in this relationship. In this case, two participant types are created.
+				<p>
+<strong>Filesystem Participant Type</strong>
+</p>
+				
+<pre class="code">
+org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipParticipantType relationshipParticipantType = relationshipType.addNewParticipant();
+org.apache.ws.resource.properties.ResourceProperty resourceIdProp = resourcePropertySet.get( FilesystemPropertyQNames.RESOURCEID );
+org.apache.xmlbeans.XmlAnyURI resourceId = (org.apache.xmlbeans.XmlAnyURI) resourceIdProp.get( 0 );
+relationshipParticipantType.setResourceId( resourceId.getStringValue() );
+relationshipParticipantType.setRole( "urn:containee" );	
+
+ // NOTE: the below line assumes that the Filesystem resource's EndpointReference field has been initialized
+
+org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType filesystemReference = (org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType) ((org.apache.ws.addressing.XmlBeansEndpointReference)getEndpointReference()).getXmlObject( org.apache.ws.addressing.v2004_08_10.AddressingConstants.NSURI_ADDRESSING_SCHEMA );
+relationshipParticipantType.setManageabilityEndpointReferenceArray( new org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType[] { filesystemReference } );
+				</pre>
+				
+<p>
+<strong>Host Participant Type</strong>
+</p>
+				
+<pre class="code">
+org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipParticipantType relationshipParticipantType2 = relationshipType.addNewParticipant();
+org.apache.ws.resource.ResourceHome hostHome = (org.apache.ws.resource.ResourceHome) new javax.naming.InitialContext( ).lookup( HOST_HOME_LOCATION );
+
+// host is a singleton resource w/ a null resource identifier
+
+org.apache.ws.resource.PropertiesResource host = (org.apache.ws.resource.PropertiesResource) hostHome.find( null ); 
+resourceIdProp = host.getResourcePropertySet().get( org.apache.ws.muws.v1_0.capability.IdentityCapability.PROP_NAME_RESOURCE_ID );
+resourceId = (org.apache.xmlbeans.XmlAnyURI) resourceIdProp.get( 0 );
+relationshipParticipantType2.setResourceId( resourceId.getStringValue() );
+relationshipParticipantType2.setRole( "urn:container" );
+
+// NOTE: the below line assumes that the Host resource's EndpointReference field has been initialized
+
+org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType hostReference = (org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType) 
+   ((org.apache.ws.addressing.XmlBeansEndpointReference)host.getEndpointReference()).getXmlObject( org.apache.ws.addressing.v2004_08_
+   10.AddressingConstants.NSURI_ADDRESSING_SCHEMA );
+relationshipParticipantType.setManageabilityEndpointReferenceArray( new org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType[] { hostReference } );
+				</pre>
+				
+</li>
+				
+<li>Add properties for the relationship that allow property changed management events
+				<pre class="code">
+resourceProperty.add( prop_relationship );
+resourceProperty.addChangeListener( relationshipsCapabilityTopic );
+				</pre>
+				
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">See the <a href="../dev_guide/muws_topics.html">MUWS-Specific Topics</a> section for more information on relationship topics.</div>
+</div>
+				
+</li>
+			
+</ol>
+<a name="N10059"></a><a name="Relationship+Fields"></a>
+<h3 class="boxed">Relationship Fields</h3>
+<p>A relationship is represented by a set of fields. The fields describe the relationship and are returned as part of a relationship notification. The above example 
+				implements all the fields that are required. however, the complete list of fields are provided below if you choose to implement them.
+				</p>
+<ul>
+					
+<li>
+<span class="codefrag">muws-p2-xs:Name</span>: (optional) A human readable name for a relationship.</li>
+					
+<li>
+<span class="codefrag">muws-p2-xs:Type</span>: (required) The relationship type to which this relationship belongs.</li>
+					
+<li>
+<span class="codefrag">muws-p2-xs:Participant</span>: (required) The information about a participant in the relationship. There must be at least two participants, but there may 
+					 be more than two participants.</li>
+					
+<li>
+<span class="codefrag">muws-p1-xs:ManageabilityEndpointReference</span>: (optional) A reference to a WSDM manageability endpoint.</li>
+					
+<li>
+<span class="codefrag">muws-p1-xs:ResourceID</span>: (optional) A WSDM manageable resource identifier which may be reported by the provider of relationship 
+					information.</li>
+					
+<li>
+<span class="codefrag">muws-p2-xs:Role</span>: (required) A URI which identifies the role a participant plays in a relationship. A participant role must be unique within a given 
+					instance of the relationship. The set of valid roles is defined by a relationship type.</li>
+					
+<li>
+<span class="codefrag">muws-p2-xs:Participant/{any}*</span>: (optional) An XML extensibility content which may contain elements that further or otherwise describe a 
+					participant.</li>
+					
+<li>
+<span class="codefrag">muws-p2-xs:AccessEndpoint</span>: (optional) A reference to a Web service endpoint which provides access to this relationship (if available).</li>
+				
+</ul>
+</div>
+		
+<a name="N1008F"></a><a name="Relationship+Operations+and+Properties"></a>
+<h2 class="boxed">Relationship Operations and Properties</h2>
+<div class="section">
+<p>The MUWS specification defines one relationship operation (<span class="codefrag">QueryRelationshipsByType</span>) and a single resource property (<span class="codefrag">Relationship</span>) 
+			that can be used to retrieve relationship information. Both the operation and the resource property must be defined in your MUWS WSDL. If you use the MUWS WSDL 
+			template, the operation and property are included, but need to be uncommented.
+			</p>
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">There are also a set of relationship topics that can be used for relationship notifications, see the 
+			<a href="../dev_guide/muws_topics.html">MUWS-Specific Topics</a> section for more information on relationship topics.</div>
+</div>
+<p>The <span class="codefrag">Relationship</span> resource property can be retrieved using the wsrf-rp:GetResourceProperty or wsrf-rp:GetMultipleResourceProperties operations. 
+			These operations may be impractical if your management model contains a large number of relationships. As an alternative, the wsrf-rp:QueryResourceProperties operation 
+			can be used to retrieve individual relationships by using a query expression. The query expression is a XPath expression. For more information about supporting these 
+			operations in your WS Resource, see the <a href="http://ws.apache.org/wsrf/dev_guide/wsrf_wsdl.html">WSRF WSDL</a> documentation.
+			</p>
+<p>The <span class="codefrag">QueryRelationshipsByType</span> operation is a quick way to retrieve relationships by a known type. For example, the operation is used in the filesystem 
+			example for the relationship type <span class="codefrag">ContainedBy</span>:
+			</p>
+<pre class="code">
+&lt;Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" 
+   xmlns:fs="http://ws.apache.org/resource/example/filesystem"
+   xmlns:muws-p2-xs="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd"&gt;
+
+   &lt;Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"&gt;
+      &lt;wsa:To mustUnderstand="1"&gt;http://localhost:8080/muse/services/filesystem&lt;/wsa:To&gt;
+      &lt;wsa:Action mustUnderstand="1"&gt;http://ws.apache.org/resource/example/filesystem/FileSystemPortType/GetResourcePropertyRequest&lt;/wsa:Action&gt;
+      &lt;fs:ResourceIdentifier mustUnderstand="1"&gt;/dev/vg00/lvol1&lt;/fs:ResourceIdentifier&gt;
+   &lt;/Header&gt;
+
+   &lt;Body&gt;
+      &lt;muws-p2-xs:QueryRelationshipsByType xmlns:myns="http://myns.com/"&gt;&lt;muws-p2-xs:RequestedType&gt;myns:ContainedBy&lt;/muws-p2-xs:RequestedType&gt;&lt;/muws-p2-
+         xs:QueryRelationshipsByType&gt;
+   &lt;/Body&gt;
+&lt;/Envelope&gt;			
+			</pre>
+</div>
+	
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2004 The Apache Software Foundation.</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Added: webservices/muse/site/dev_guide/wsdl.html
URL: http://svn.apache.org/viewcvs/webservices/muse/site/dev_guide/wsdl.html?rev=230467&view=auto
==============================================================================
--- webservices/muse/site/dev_guide/wsdl.html (added)
+++ webservices/muse/site/dev_guide/wsdl.html Fri Aug  5 06:45:22 2005
@@ -0,0 +1,356 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Composing a MUWS WSDL</title>
+<link type="text/css" href="../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../skin/profile.css" rel="stylesheet">
+<script src="../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../images/apache.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://ws.apache.org">ws.apache</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://ws.apache.org/"><img class="logoImage" alt="Web Services" src="../images/ws-logo.gif"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogoA1">
+<a href="http://ws.apache.org/ws-fx/muse/"><img class="logoImage" alt="Muse" src="../images/muse-logo.gif"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../index.html">Project Info</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../getting_started.html">Documentation</a>
+</li>
+<li>
+<a class="base-not-selected" href="../apidocs/index.html">API Docs</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', '../skin/')" id="menu_1.1Title" class="menutitle">Getting Started</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../getting_started.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#install">Installation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#qd">Quick Demo</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2', '../skin/')" id="menu_1.2Title" class="menutitle">Tutorial</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../tutorial/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/setup.html">Create Workspace</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl.html">Create WSDLs</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl2java.html">Run wsdl2Java Tool</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_home.html">Modify Home Classes</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_resource.html">Modify Resource Classes</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_service.html">Modify Service Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/webapp.html">Deploy Services</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/test.html">Test</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.3', '../skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('../skin/images/chapter_open.gif');">Developer Guide</div>
+<div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../dev_guide/index.html">Overview</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">MuWS WSDL</div>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsdl_tool.html">Using Wsdl2Java</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/home.html">Home Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/muws_topics.html">MUWS-Specific Topics</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/relationships.html">Relationships</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/advertiser.html">Advertiser Service</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/deploy.html">Deploying</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/client.html">Using the SOAP Client</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/debug.html">Logging</a>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div id="skinconf-txtlink"></div>
+<h1>Composing a MUWS WSDL</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Using+the+MUWS+Template">Using the MUWS Template</a>
+</li>
+<li>
+<a href="#Defining+the+MUWS+PortType">Defining the MUWS PortType</a>
+<ul class="minitoc">
+<li>
+<a href="#MUWS+PortTypes">MUWS PortTypes</a>
+</li>
+<li>
+<a href="#Metadata+Operations">Metadata Operations</a>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+		
+<a name="N1000C"></a><a name="Using+the+MUWS+Template"></a>
+<h2 class="boxed">Using the MUWS Template</h2>
+<div class="section">
+<p>The Web Services Description Language (WSDL) is used to expose resources and notifications as WS-Resources and also includes optional fields, operations, and 
+			notifications that may be included in the definition of a resource that allow management applications to manage the resource in a standardized fashion. The WSDL must
+			conform to the conventions as described in the MUWS specification as well as the conventions described in the <a href="http://ws.apache.org/wsrf/wsrf.html">WSRF</a> and <a href="http://ws.apache.org/pubscribe/wsn.html">WSN</a> 
+			Specifications. To make it easier to write a MUWS WSDL, Muse provides a template WSDL that can be used as a starting point. The template saves a good deal of time 
+			and is less error-prone than writing a MUWS-compliant WSDL from scratch.
+             		</p>
+<p>To use the template:</p>
+<ol>
+				
+<li>Using a text or XML editor, open <span class="codefrag">INSTALL_DIR/template/_TEMPLATE_.wsdl</span>.</li>
+				
+<li>Save the file with a new name (e.g., <em>nameOfYourService</em>.wsdl).</li>
+				
+<li>Modify your WSDL based on the instructions in the template and the information below.</li>
+			
+</ol>
+<div class="frame warning">
+<div class="label">Warning</div>
+<div class="content">Do not modify the original template file.</div>
+</div>
+</div>
+		
+<a name="N10036"></a><a name="Defining+the+MUWS+PortType"></a>
+<h2 class="boxed">Defining the MUWS PortType</h2>
+<div class="section">
+<p>A MUWS WSDL should contain only one portType. The portType aggregates operations from the WSRF, WSN, and MUWS specification-defined portTypes 
+			as well as custom resource-specific operations. If you copied the WSDL template file as described above, your WSDL file
+         		already contains a MUWS-compliant portType. You simply have to rename the portType (<span class="codefrag">MyPortType</span>) and the binding (MySoapHttpBinding) and 
+         		uncomment the blocks corresponding to whichever optional portTypes you want your WS-Resource to support.
+         		</p>
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">The WSRF portTypes - from WS-ResourceProperties (WSRF-RP) and WS-ResourceLifetime (WSRF-RL)- and their associated operations are described in the Apache 
+			WSRF <a href="http://ws.apache.org/wsrf/dev_guide/wsrf_wsdl.html">WSDL Documentation</a>. The instructions include defining the resource properties document, custom properties, and custom 
+			operations. The WSN portTypes - from WS-BaseNotification - and their associated operations are described in the Apache Pubscribe 
+			<a href="http://ws.apache.org/pubscribe/dev_guide/wsdl.html">WSDL Documentation</a>. The instructions include defining notification producers, notification topics, and notification consumers.
+			</div>
+</div>
+<a name="N1004D"></a><a name="MUWS+PortTypes"></a>
+<h3 class="boxed">MUWS PortTypes</h3>
+<p>The MUWS specification defines eight portTypes. However, only the <span class="codefrag">Relationships</span> portType contains an operation that can be added to the portType of your 
+				WSDL. The other portTypes are used to organize and expose resource properties and need to be defined in the <span class="codefrag">type</span> section of a WSDL as you would 
+				any other resource property. Among these properties, the ResourceID property is required and must be included in a MUWS compliant WSDL.
+				</p>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+					
+<tr>
+						
+<th colspan="1" rowspan="1">PortType</th>
+						<th colspan="1" rowspan="1">Operations</th>
+						<th colspan="1" rowspan="1">Properties</th>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">Identity</td>
+						<td colspan="1" rowspan="1"></td>
+						<td colspan="1" rowspan="1">ResourceId</td>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">ManageabilityCharacteristics</td>
+						<td colspan="1" rowspan="1"></td>
+						<td colspan="1" rowspan="1">ManageabilityCapability</td>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">CorrelatableProperties</td>
+						<td colspan="1" rowspan="1"></td>
+						<td colspan="1" rowspan="1">CorrelatableProperties</td>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">Description</td>
+						<td colspan="1" rowspan="1"></td>
+						<td colspan="1" rowspan="1">Caption, Description, Version</td>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">OperationalStatus</td>
+						<td colspan="1" rowspan="1"></td>
+						<td colspan="1" rowspan="1">OperationalStatus</td>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">Metrics</td>
+						<td colspan="1" rowspan="1"></td>
+						<td colspan="1" rowspan="1">CurrentTime</td>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">Relationships</td>
+						<td colspan="1" rowspan="1">QueryRelationshipsByType</td>
+						<td colspan="1" rowspan="1">Relationship</td>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">RelationshipResource</td>
+						<td colspan="1" rowspan="1"></td>
+						<td colspan="1" rowspan="1">Name, Type, Participant</td>
+					
+</tr>
+				
+</table>
+<a name="N100FB"></a><a name="Metadata+Operations"></a>
+<h3 class="boxed">Metadata Operations</h3>
+<p>The template contains two operations that are not defined by the WSRF, WSN or WSDM specification that can be used in your service to retrieve metadata 
+				about your services. The operations and messages are defined in the 
+				<a class="external" href="http://msdn.microsoft.com/library/en-us/dnglobspec/html/ws-metadataexchange.pdf">WS-Metadata Exchange</a> specification defined by Microsoft and other industry 
+				contributors. For instructions on providing metadata about your service, see the <a href="http://ws.apache.org/wsrf/dev_guide/metadata.html">Adding Service Metadata</a> section of the Apache 
+				WSRF documentation.</p>
+</div>
+	
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2004 The Apache Software Foundation.</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Added: webservices/muse/site/dev_guide/wsdl_tool.html
URL: http://svn.apache.org/viewcvs/webservices/muse/site/dev_guide/wsdl_tool.html?rev=230467&view=auto
==============================================================================
--- webservices/muse/site/dev_guide/wsdl_tool.html (added)
+++ webservices/muse/site/dev_guide/wsdl_tool.html Fri Aug  5 06:45:22 2005
@@ -0,0 +1,405 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Using Wsdl2Java</title>
+<link type="text/css" href="../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../skin/profile.css" rel="stylesheet">
+<script src="../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../images/apache.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://ws.apache.org">ws.apache</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://ws.apache.org/"><img class="logoImage" alt="Web Services" src="../images/ws-logo.gif"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogoA1">
+<a href="http://ws.apache.org/ws-fx/muse/"><img class="logoImage" alt="Muse" src="../images/muse-logo.gif"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../index.html">Project Info</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../getting_started.html">Documentation</a>
+</li>
+<li>
+<a class="base-not-selected" href="../apidocs/index.html">API Docs</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', '../skin/')" id="menu_1.1Title" class="menutitle">Getting Started</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../getting_started.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#install">Installation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#qd">Quick Demo</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2', '../skin/')" id="menu_1.2Title" class="menutitle">Tutorial</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../tutorial/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/setup.html">Create Workspace</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl.html">Create WSDLs</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl2java.html">Run wsdl2Java Tool</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_home.html">Modify Home Classes</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_resource.html">Modify Resource Classes</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_service.html">Modify Service Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/webapp.html">Deploy Services</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/test.html">Test</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.3', '../skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('../skin/images/chapter_open.gif');">Developer Guide</div>
+<div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../dev_guide/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsdl.html">MuWS WSDL</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Using Wsdl2Java</div>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/home.html">Home Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/muws_topics.html">MUWS-Specific Topics</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/relationships.html">Relationships</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/advertiser.html">Advertiser Service</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/deploy.html">Deploying</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/client.html">Using the SOAP Client</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/debug.html">Logging</a>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div id="skinconf-txtlink"></div>
+<h1>Using Wsdl2Java</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Introduction">Introduction</a>
+</li>
+<li>
+<a href="#Ant+Task">Ant Task</a>
+</li>
+</ul>
+</div>
+		
+<a name="N1000C"></a><a name="Introduction"></a>
+<h2 class="boxed">Introduction</h2>
+<div class="section">
+<p>The Wsdl2Java tool is used to generate a set of artificats for a MUWS WS Resource. The artifiacts include:</p>
+<ul>
+				
+<li>A set of Java classes based on the WSDL definition. This includes a service, resource, and 
+				home class. Some of the Java code will need to be manually edited after the files are generated.</li>
+				
+<li>Interfaces for custom operations.</li>
+				
+<li>Java bindings for all Types that are defined in the WSDL. The interfaces and classes are 
+				created using the <a class="external" href="http://xmlbeans.apache.org/">XMLBeans</a> schema compiler</li>
+				
+<li>An Axis Web Service Deployment Descriptor (WSDD) for your service (<em>service</em>_deploy.wsdd). This file is used to deploy your service to 
+				Axis.</li>
+				
+<li>A JNDI Resource configuration file for your service (<em>service</em>_jndi-config.xml). The file is used to setup the in-memory JNDI context for
+				your generated service, resource, and home classes.</li>
+			
+</ul>
+<p>The tool saves you a great deal of time, since these files do not have to be created from scratch. You simply pass the tool a MUWS WSDL and the files 
+			are automatically generated. You can use the tool directly or you can use an Ant task.
+			</p>
+</div>
+		
+<a name="N10035"></a><a name="Ant+Task"></a>
+<h2 class="boxed">Ant Task</h2>
+<div class="section">
+<p>The Wsdl2Java tool can be invoked using the <span class="codefrag">wsdl2Java</span> Ant task (<span class="codefrag">org.apache.ws.muws.tool.MuwsWsdl2JavaTask</span>) which extends the 
+			Apache Pubscribe Ant task (<span class="codefrag">org.apache.ws.notification.tool.WsnWsdl2JavaTask</span>). The 
+			<span class="codefrag">INSTALL_DIR/template/build.xml</span> script contains a target that already implements this task.</p>
+<p>To use the target:</p>
+<ol>
+				
+<li>Copy INSTALL_DIR/template/build.xml and build.properties to any directory. This directory will be referred to as <span class="codefrag">WORK_DIR</span>.</li>
+				
+<li>Using a text editor, open <span class="codefrag">WORK_DIR/build.properties</span>.</li>
+				
+<li>Uncomment the <span class="codefrag">muse.webapp.dir</span> property and set it to the location where the Muse Web application is installed. If you are using 
+				Tomcat and have the <span class="codefrag">CATALINA_HOME</span> environment variable set, you do not need to modify this property.</li>
+				
+<li>Uncomment and modify the proxy settings if you require a proxy to connect to external Web sites.</li>
+				
+<li>Copy your MUWS WSDL to <span class="codefrag">WORK_DIR</span>. If your WSDL depends on a schema that is not accessible over the network, you must copy the 
+				schema to this directory as well.</li>
+				
+<li>From a command prompt, change directories to <span class="codefrag">WORK_DIR</span>.</li>
+				
+<li>Run the following command. 			
+			<pre class="code">ant generate</pre>
+					
+<p>Check <span class="codefrag">WORK_DIR/generated</span> to see the generated files.
+				</p>
+				
+</li>
+			
+</ol>
+<a name="N10081"></a><a name="Task+Definition"></a>
+<h3 class="boxed">Task Definition</h3>
+<p>The task is defined as follows :</p>
+<pre class="code">
+&lt;taskdef name="MuwsWsdl2JavaTask" 
+ 	 classname="org.apache.ws.muws.tool.MuwsWsdl2JavaTask" 
+ 	 classpath="path/to/muse.jar" /&gt;  </pre>
+<p>
+					
+<strong>Parameters</strong>
+				
+</p>
+<p>The task takes the following parameters:</p>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+					
+<tr>
+						
+<th colspan="1" rowspan="1">Attribute</th>
+						<th colspan="1" rowspan="1">Description</th>
+						<th colspan="1" rowspan="1">Required</th>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">wsdl</td>
+						<td colspan="1" rowspan="1">Enter the full path to a WSRF WSDL file.</td>
+						<td colspan="1" rowspan="1">Yes, unless a <span class="codefrag">wsdls</span> parameter is used. </td>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">wsdls</td>
+						<td colspan="1" rowspan="1">Entered as a nested element following the rules of fileset. This parameter is used instead of the <span class="codefrag">wsdl</span> parameter to indicate multiple 
+						WSRF WSDLs to be converted.</td>
+						<td colspan="1" rowspan="1">No</td>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">classpath</td>
+						<td colspan="1" rowspan="1">The classpath to be passed to the XMLBeans schema compiler. The classpath should reference all the jars in the 
+						<span class="codefrag">INSTALL_DIR/wsrf/webapp/lib</span> and <span class="codefrag">/classes</span> directories.</td>
+						<td colspan="1" rowspan="1">Yes</td>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">classpathref</td>
+						<td colspan="1" rowspan="1">Adds a classpath, given as reference to a path defined elsewhere.</td>
+						<td colspan="1" rowspan="1">No</td>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">outputdir</td>
+						<td colspan="1" rowspan="1">Enter a directory where the generated files will be placed.</td>
+						<td colspan="1" rowspan="1">Yes</td>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">verbose</td>
+						<td colspan="1" rowspan="1">Enter <span class="codefrag">true</span> to increase build message output.</td>
+						<td colspan="1" rowspan="1">No, default is <span class="codefrag">false</span>
+						</td>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">proxyHost</td>
+						<td colspan="1" rowspan="1">Enter the Host IP address of a proxy that is used to connect to the Internet.</td>
+						<td colspan="1" rowspan="1">No</td>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">proxyPort</td>
+						<td colspan="1" rowspan="1">Enter the Port number of a proxy that is used to connect to the Internet.</td>
+						<td colspan="1" rowspan="1">No</td>
+					
+</tr>
+					
+<tr>
+						
+<td colspan="1" rowspan="1">nonProxyHosts</td>
+						<td colspan="1" rowspan="1">Enter the Host IP address separated by "|" to indicate Hosts that do not require a proxy.</td>
+						<td colspan="1" rowspan="1">No</td>
+					
+</tr>
+				
+</table>
+<p>
+					
+<strong>Example</strong>
+				
+</p>
+<p>The following example generates files for a single WSDL and places the generated files in a directory 
+			 named <span class="codefrag">/generated</span>. To simplify the example, the classpath is referenced. You must set the <span class="codefrag">${muse.home}</span> Ant property to <span class="codefrag"> 
+			 INSTALL_DIR</span> (e.g. /opt/muse-1.0beta).</p>
+<pre class="code">
+			 
+	&lt;property name="muse.webapp.dir" location="${muse.home}/webapps/muse" /&gt;
+	&lt;path id="muse.classpath.id"&gt;
+          &lt;pathelement location="${muse.webapp.dir}/WEB-INF/classes" /&gt;
+          &lt;fileset dir="${muse.webapp.dir}/WEB-INF/lib" includes="*.jar" /&gt;
+        &lt;/path&gt;
+
+        &lt;taskdef name="wsdl2Java" classname="org.apache.ws.muws.tool.MuwsWsdl2JavaTask" classpath="muse.classpath.id" /&gt;
+
+        &lt;wsdl2Java wsdl="path/to/your.wsdl"
+                   outputdir="generated"                   
+                   classpath="muse.classpath.id" /&gt;</pre>
+<p>If you want to generate the files for multiple WSDLs, you can use:</p>
+<pre class="code">
+
+	&lt;wsdl2Java outputdir="generated" classpath="muse.classpath.id" /&gt;
+	   &lt;wsdls dir="path/to/wsdls/"&gt;
+             &lt;include name="**/*.wsdl" /&gt;	  
+          &lt;/wsdls&gt;
+       &lt;/wsdl2Java&gt;</pre>
+</div>
+	
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2004 The Apache Software Foundation.</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Added: webservices/muse/site/getting_started.html
URL: http://svn.apache.org/viewcvs/webservices/muse/site/getting_started.html?rev=230467&view=auto
==============================================================================
--- webservices/muse/site/getting_started.html (added)
+++ webservices/muse/site/getting_started.html Fri Aug  5 06:45:22 2005
@@ -0,0 +1,412 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Getting Started with Apache Muse</title>
+<link type="text/css" href="skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
+<link type="text/css" href="skin/profile.css" rel="stylesheet">
+<script src="skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="images/apache.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://ws.apache.org">ws.apache</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://ws.apache.org/"><img class="logoImage" alt="Web Services" src="images/ws-logo.gif"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogoA1">
+<a href="http://ws.apache.org/ws-fx/muse/"><img class="logoImage" alt="Muse" src="images/muse-logo.gif"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="index.html">Project Info</a>
+</li>
+<li class="current">
+<a class="base-selected" href="getting_started.html">Documentation</a>
+</li>
+<li>
+<a class="base-not-selected" href="apidocs/index.html">API Docs</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_selected_1.1', 'skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Getting Started</div>
+<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
+<div class="menupage">
+<div class="menupagetitle">Introduction</div>
+</div>
+<div class="menuitem">
+<a title="" href="getting_started.html#install">Installation</a>
+</div>
+<div class="menuitem">
+<a title="" href="getting_started.html#qd">Quick Demo</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Tutorial</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="tutorial/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="tutorial/setup.html">Create Workspace</a>
+</div>
+<div class="menuitem">
+<a title="" href="tutorial/wsdl.html">Create WSDLs</a>
+</div>
+<div class="menuitem">
+<a title="" href="tutorial/wsdl2java.html">Run wsdl2Java Tool</a>
+</div>
+<div class="menuitem">
+<a title="" href="tutorial/mod_home.html">Modify Home Classes</a>
+</div>
+<div class="menuitem">
+<a title="" href="tutorial/mod_resource.html">Modify Resource Classes</a>
+</div>
+<div class="menuitem">
+<a title="" href="tutorial/mod_service.html">Modify Service Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="tutorial/webapp.html">Deploy Services</a>
+</div>
+<div class="menuitem">
+<a title="" href="tutorial/test.html">Test</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Developer Guide</div>
+<div id="menu_1.3" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="dev_guide/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="dev_guide/wsdl.html">MuWS WSDL</a>
+</div>
+<div class="menuitem">
+<a title="" href="dev_guide/wsdl_tool.html">Using Wsdl2Java</a>
+</div>
+<div class="menuitem">
+<a title="" href="dev_guide/home.html">Home Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="dev_guide/muws_topics.html">MUWS-Specific Topics</a>
+</div>
+<div class="menuitem">
+<a title="" href="dev_guide/relationships.html">Relationships</a>
+</div>
+<div class="menuitem">
+<a title="" href="dev_guide/advertiser.html">Advertiser Service</a>
+</div>
+<div class="menuitem">
+<a title="" href="dev_guide/deploy.html">Deploying</a>
+</div>
+<div class="menuitem">
+<a title="" href="dev_guide/client.html">Using the SOAP Client</a>
+</div>
+<div class="menuitem">
+<a title="" href="dev_guide/debug.html">Logging</a>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div id="skinconf-txtlink"></div>
+<h1>Getting Started with Apache Muse</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Introduction">Introduction</a>
+</li>
+<li>
+<a href="#install">Installation</a>
+</li>
+<li>
+<a href="#qd">Quick Demonstration</a>
+</li>
+</ul>
+</div>
+		
+<a name="N1000C"></a><a name="Introduction"></a>
+<h2 class="boxed">Introduction</h2>
+<div class="section">
+<p>The topics in this section detail how to install Apache Muse and use the quick demonstration to verify the installation as well as exercise some of the features that are 
+			included in the release. It is suggested that you complete these sections before starting any development work. Once you get a good feel for the example in the demonstration, 
+			you can recreate it by completing the <a href="tutorial/index.html">tutorial</a>.
+			</p>
+<p>The tutorial takes a step-by-step approach to learning Apache Muse. It highlights the most common procedures that are used to create and deploy MUWS-compliant Web 
+			services for resources.
+			</p>
+<p>Lastly, refer to the <a href="dev_guide/index.html">Developer Guide</a> for basic and advanced tasks as well as general information about Apache Muse. Much of the information that is 
+			covered in the demonstration and the tutorial is discussed in more detail in the Developer Guide.
+			</p>
+</div>
+		
+<a name="N10024"></a><a name="install"></a>
+<h2 class="boxed">Installation</h2>
+<div class="section">
+<p> Apache Muse is packaged as a Web application. In particular, it is an Apache Axis-based Web application with
+                    additional functionality that is required to implement the WSDM specifications.</p>
+<p>To run and install Apache Muse, you must first:</p>
+<ul>
+				
+<li>install Apache Tomcat or a similar Web container. The documentation assumes Tomcat and refers to the Tomcat 
+       			 home directory (e.g., <span class="codefrag">c:\jakarta-tomcat-4.1.30</span>)	as <span class="codefrag">TOMCAT_HOME</span>. In addition, it is assumed that Tomcat 
+       			 is configured to listen at the default HTTP port (8080).</li>
+				
+<li>install Apache Ant 1.6.X and  include its <span class="codefrag">bin</span> directory in the <span class="codefrag">PATH</span> environment variable. Set an 
+				ANT_HOME environment variable to the Ant installation directory.</li>
+			
+</ul>
+<p>To install Apache Muse:</p>
+<ol>
+				
+<li>Download the Apache Muse <a href="release.html">binary distribution</a>.</li>
+				
+<li>Unzip the distribution to a location on your computer. This location is referred to as <span class="codefrag">INSTALL_DIR</span>.</li>
+				
+<li>From <span class="codefrag">INSTALL_DIR</span>, copy the <span class="codefrag">webapps/muse</span> directory to <span class="codefrag">TOMCAT_HOME/webapps</span>.</li>
+				
+<li>Start Tomcat.</li>
+				
+<li>Using a browser, go to  <a class="external" href="http://localhost:8080/muse">http://localhost:8080/muse</a>. The Apache Muse welcome page 
+				displays.</li>
+				
+<li>From the Apache-Axis page, click <a class="external" href="http://localhost:8080/muse/services">View</a>. The list of deployed Web services 
+				displays. Four services are deployed: <span class="codefrag">SubscriptionManager</span>, <span class="codefrag">ResourceAdvertiser</span>, 
+				<span class="codefrag">AdminService</span>, and <span class="codefrag">Version</span>. The <span class="codefrag">AdminService</span> and <span class="codefrag">Version</span> services are default 
+          			 Apache-Axis services. The <span class="codefrag">SubscriptionManager</span> is used to pause, resume, destroy, or update
+          			  subscriptions. Lastly, <span class="codefrag">ResourceAdvertiser</span> is used to subscribe to notifications about resources which are created and destroyed.</li>
+				
+<li>Click on the respective WSDL links to view and ensure that the WSDL for the services are published.</li>
+			
+</ol>
+</div>
+		
+<a name="N10091"></a><a name="qd"></a>
+<h2 class="boxed">Quick Demonstration</h2>
+<div class="section">
+<p>The Quick Demonstration shows some of the features and implementation details of Apache Muse. The demo uses an example that is 
+			included in the distribution. The example represents a UNIX file system resource whose 
+			management capabilities are exposed as a MUWS-compliant Web service. In addition, a host resource is also provided to demonstrate relationships between resources.
+			 </p>
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">The <a href="tutorial/index.html">tutorial</a> provides a step-by-step approach for exposing the management capabilities of the filesystem and host resources. In essence, the 
+			tutorial builds and deploys the example that is used in this demo.</div>
+</div>
+<p>Complete the following steps:
+			</p>
+<ol>
+				
+<li>Using a text editor, open <span class="codefrag">INSTALL_DIR/examples/filesystem/build.properties</span>.</li>
+				
+<li>Change the <span class="codefrag">muse.webapp.dir</span> property and set it to the location where the Muse Web application is installed. 
+				If you are using Tomcat and have <span class="codefrag">CATALINA_HOME</span> set, you do not need to modify this property.</li>
+				
+<li>Uncomment and modify the proxy settings if you require a proxy to connect to external Web sites.</li>
+				
+<li>Save and close build.properties.</li>
+				
+<li>Open a command prompt and change directories to <span class="codefrag">INSTALL_DIR/examples/filesystem</span>.</li>
+				
+<li>Run the following command:
+				<p>
+						
+<span class="codefrag">ant compile deploy</span>
+					
+</p>
+				
+</li>
+				
+<li>Using a text editor, open <span class="codefrag">TOMCAT_HOME/webapps/muse/WEB-INF/classes/jndi-config.xml</span>.</li>
+				
+<li>From the <span class="codefrag">&lt;service name="host"&gt;</span> block, remove the <span class="codefrag">resourceIdentifierReferenceParameterName</span> 
+				parameter. This parameter is not required since the host service is a singleton. Removing this entry ensures that Muse does not look for a resource id 
+				in the WS Address headers.</li>
+				
+<li>Save and close jndi-config.xml.</li>
+				
+<li>Start Tomcat. If Tomcat is already started, you must restart it.</li>
+				
+<li>Using a browser, go to  <a class="external" href="http://localhost:8080/muse/services">
+				http://localhost:8080/muse/services</a> and verify that the filesystem service is deployed.
+				</li>
+				
+<li>From a command prompt change directories to <span class="codefrag">INSTALL_DIR/examples/filesystem</span> directory. An ANT-based SOAP client that is included in 
+				the distribution is used to send a SOAP request to the filesystem Web service.</li>
+				
+<li>
+					
+<strong>Subscribe to a MUWS Notification Topic: </strong>
+					
+<br>
+					
+<p>In this step, a request is sent to subscribe to the MUWS notification topic for the <span class="codefrag">OperationalStatus</span> resource property. </p>
+					
+<pre class="code">
+ ant -f soapclient.xml -Durl=http://localhost:8080/muse/services/filesystem -Dxml=requests/Subscribe_op_status.soap</pre>
+					
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">To complete step 16 later in this demonstration, you must copy the <span class="codefrag">ResourceIdentifier</span> value that is returned in the SOAP body of 
+					the response for this request. This is the subscription's identifier. 
+					</div>
+</div>
+					
+<br>
+				
+</li>
+				
+<li>
+					
+<strong>Cause an Event:</strong>
+					
+<br>
+					
+<p>In this step, the <span class="codefrag">Unmount</span> operation is called causing the <span class="codefrag">OperationalStatus</span> resource property to change. This will cause 
+					an <span class="codefrag">OperationalStatus</span> notification to be published.</p>
+					
+<pre class="code">
+ ant -f soapclient.xml -Durl=http://localhost:8080/muse/services/filesystem -Dxml=requests/unmount.soap</pre>
+				
+</li>
+				
+<li>
+					
+<strong>View Notification: </strong>
+					
+<br>
+					
+<p>In this step, we retrieve the <span class="codefrag">OperationalStatus</span> notification that was published when the <span class="codefrag">OperationalStatus</span> resource property 
+					was changed in the previous step. The notification indicates that the <span class="codefrag">OperationalStatus</span> has changed from 
+					<span class="codefrag">available</span> to <span class="codefrag">unavailable</span>.</p>
+					
+<pre class="code">
+ ant -f soapclient.xml -Durl=http://localhost:8080/muse/services/filesystem -Dxml=requests/GetCurrentMessage.soap</pre>
+				
+</li>
+				
+<li>
+					
+<strong>Destroy Subscription:</strong>
+					
+<br>
+					
+<p>In this step, a request is sent via the SubscriptionManager service to destroy the <span class="codefrag">OperationalStatus</span> notification topic subscription. 
+					Before completing this step, open the <span class="codefrag">requests/Destroy_Subscription.soap</span> file and update the <span class="codefrag">sub:ResourceIdentifier</span> element 
+					with the value that was copied in step 13. Save and close the file.</p>
+					
+<pre class="code">
+ ant -f soapclient.xml -Durl=http://localhost:8080/muse/services/SubscriptionManager -Dxml=requests/Destroy_Subscription.soap</pre>
+				
+</li>
+				
+<li>
+					
+<strong>View Relationships</strong>
+					
+<br>
+					
+<p>In this step, a request is sent to retrieve all relationships of the type <span class="codefrag">ContainedBy</span>. The filesystem resource has a <span class="codefrag">ContainedBy</span> 
+					relationship with the host resource. The response indicates the participants of the relationship and the role each participant plays in the relationship.</p>
+					
+<pre class="code">
+ ant -f soapclient.xml -Durl=http://localhost:8080/muse/services/filesystem -Dxml=requests/QueryRelationshipsByType.soap</pre>
+				
+</li>
+			
+</ol>
+</div>
+	
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2004 The Apache Software Foundation.</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Added: webservices/muse/site/images/apache.ico
URL: http://svn.apache.org/viewcvs/webservices/muse/site/images/apache.ico?rev=230467&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/muse/site/images/apache.ico
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/muse/site/images/built-with-forrest-button.png
URL: http://svn.apache.org/viewcvs/webservices/muse/site/images/built-with-forrest-button.png?rev=230467&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/muse/site/images/built-with-forrest-button.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/muse/site/images/muse-logo.gif
URL: http://svn.apache.org/viewcvs/webservices/muse/site/images/muse-logo.gif?rev=230467&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/muse/site/images/muse-logo.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/muse/site/images/ws-logo.gif
URL: http://svn.apache.org/viewcvs/webservices/muse/site/images/ws-logo.gif?rev=230467&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/muse/site/images/ws-logo.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream



---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org