You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrf-dev@ws.apache.org by ip...@apache.org on 2004/12/16 00:12:42 UTC

svn commit: r112051 - in incubator/apollo/trunk: . maven-plugins/maven-ajar-plugin src/site/content/tutorial src/site/content/xdocs/tutorial

Author: ips
Date: Wed Dec 15 15:12:41 2004
New Revision: 112051

URL: http://svn.apache.org/viewcvs?view=rev&rev=112051
Log:
...

Added:
   incubator/apollo/trunk/src/site/content/tutorial/_TEMPLATE_.wsdl
Modified:
   incubator/apollo/trunk/maven-plugins/maven-ajar-plugin/project.properties
   incubator/apollo/trunk/maven-plugins/maven-ajar-plugin/project.xml
   incubator/apollo/trunk/project.xml
   incubator/apollo/trunk/src/site/content/xdocs/tutorial/wsdl.xml

Modified: incubator/apollo/trunk/maven-plugins/maven-ajar-plugin/project.properties
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/maven-plugins/maven-ajar-plugin/project.properties?view=diff&rev=112051&p1=incubator/apollo/trunk/maven-plugins/maven-ajar-plugin/project.properties&r1=112050&p2=incubator/apollo/trunk/maven-plugins/maven-ajar-plugin/project.properties&r2=112051
==============================================================================
--- incubator/apollo/trunk/maven-plugins/maven-ajar-plugin/project.properties	(original)
+++ incubator/apollo/trunk/maven-plugins/maven-ajar-plugin/project.properties	Wed Dec 15 15:12:41 2004
@@ -5,7 +5,7 @@
 # MAVEN CORE
 ##############
 # comma-spearated list of remote JAR repository URLs
-maven.repo.remote = http://www.apache.org/dist/java-repository/, http://cvs.apache.org/repository/, http://mirrors.sunsite.dk/maven/
+maven.repo.remote = http://www.apache.org/dist/java-repository/, http://cvs.apache.org/repository/, http://mirrors.sunsite.dk/maven/, http://apache.org/~ips/maven-repo/
 
 # JAVA PLUGIN
 ##############

Modified: incubator/apollo/trunk/maven-plugins/maven-ajar-plugin/project.xml
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/maven-plugins/maven-ajar-plugin/project.xml?view=diff&rev=112051&p1=incubator/apollo/trunk/maven-plugins/maven-ajar-plugin/project.xml&r1=112050&p2=incubator/apollo/trunk/maven-plugins/maven-ajar-plugin/project.xml&r2=112051
==============================================================================
--- incubator/apollo/trunk/maven-plugins/maven-ajar-plugin/project.xml	(original)
+++ incubator/apollo/trunk/maven-plugins/maven-ajar-plugin/project.xml	Wed Dec 15 15:12:41 2004
@@ -47,13 +47,13 @@
     <dependency>
       <groupId>commons-jelly</groupId>
       <artifactId>commons-jelly</artifactId>
-      <version>1.0-RC1</version>
+      <version>20030902.160215</version>
     </dependency>
 
     <dependency>
       <groupId>maven</groupId>
       <artifactId>maven</artifactId>
-      <version>1.0.1</version>
+      <version>1.0.2</version>
     </dependency>
 
   </dependencies>

Modified: incubator/apollo/trunk/project.xml
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/project.xml?view=diff&rev=112051&p1=incubator/apollo/trunk/project.xml&r1=112050&p2=incubator/apollo/trunk/project.xml&r2=112051
==============================================================================
--- incubator/apollo/trunk/project.xml	(original)
+++ incubator/apollo/trunk/project.xml	Wed Dec 15 15:12:41 2004
@@ -309,18 +309,17 @@
             </properties>
         </dependency>
 
-<!--
 	<dependency>
 	    <groupId>xalan</groupId>
 	    <artifactId>xalan</artifactId>
-	    <version>2.4.1</version>
+	    <version>2.5.1</version>
 	    <url>http://xml.apache.org/xalan-j/</url>
 	    <properties>
 		<war.bundle>true</war.bundle>
 		<usage>Needed for XSL and report generation.</usage>
+		<scope>compile-time-only</scope>
 	    </properties>	    
-        </dependency>
--->        
+        </dependency>       
 
     <dependency>
       <groupId>xmlbeans</groupId>

Added: incubator/apollo/trunk/src/site/content/tutorial/_TEMPLATE_.wsdl
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/_TEMPLATE_.wsdl?view=auto&rev=112051
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/_TEMPLATE_.wsdl	Wed Dec 15 15:12:41 2004
@@ -0,0 +1,291 @@
+<?xml version="1.0"?>
+
+<definitions name="MyDefinition"
+             targetNamespace="http://ws.apache.org/resource/example/filesystem"
+             xmlns="http://schemas.xmlsoap.org/wsdl/"
+             xmlns:tns="http://ws.apache.org/resource/example/filesystem"
+             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+             xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"
+             xmlns:wsrpw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl"
+             xmlns:wsrlw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl">
+
+   <import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl"
+           location="../spec/wsrf/WS-ResourceProperties-1_2.wsdl"/>
+
+   <import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl"
+           location="../spec/wsrf/WS-ResourceLifetime-1_2.wsdl"/>
+
+   <types>
+      <schema elementFormDefault="qualified"
+              targetNamespace="http://ws.apache.org/resource/example/filesystem"
+              xmlns="http://www.w3.org/2001/XMLSchema"
+              xmlns:wsrl="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd"
+              xmlns:wsbf="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.xsd">
+
+         <import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.xsd"
+                 schemaLocation="../spec/wsrf/WS-BaseFaults-1_2.xsd"/>
+
+         <import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd"
+                 schemaLocation="../spec/wsrf/WS-ResourceLifetime-1_2.xsd"/>
+
+         <!-- *** Add your custom resource property element definitions here *** -->
+      
+         <!-- Resource Properties Document Schema -->        
+         <element name="ResourceProperties">
+            <complexType>
+               <sequence>
+               
+                  <!-- *** If you wish to implement the wsrl:ScheduledResourceTermination portType,
+                            uncomment the below two lines *** -->
+                  <!--
+                  <element ref="wsrl:CurrentTime"/>
+                  <element ref="wsrl:TerminationTime"/>
+                  -->
+
+                  <!-- *** Add element refs for each of your custom resource property elements here *** -->
+                  
+                  <!-- *** Uncomment the below any element if you want to permit resource property elements 
+                           with arbitrary names (not generally recommended) *** -->
+                  <any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax"/>
+                  
+               </sequence>
+            </complexType>
+         </element>
+
+         <!-- *** Add element definitions for custom request/response/fault types here *** -->         
+         
+      </schema>
+   </types>
+
+   <!-- *** Add message definitions for custom request/response/fault types here *** -->         
+   
+   <portType name="MyPortType" wsrp:ResourceProperties="tns:ResourceProperties">
+         
+      <operation name="GetResourceProperty">
+         <input name="GetResourcePropertyRequest" message="wsrpw:GetResourcePropertyRequest"/>
+         <output name="GetResourcePropertyResponse" message="wsrpw:GetResourcePropertyResponse"/>
+         <fault name="ResourceUnknownFault" message="wsrpw:ResourceUnknownFault"/>
+         <fault name="InvalidResourcePropertyQNameFault" message="wsrpw:InvalidResourcePropertyQNameFault"/>
+      </operation>
+
+      <!-- *** If you wish to implement the WSRP GetMultipleResourceProperties portType,
+               uncomment the below operation block *** -->
+      <!--
+      <operation name="GetMultipleResourceProperties">
+         <input name="GetMultipleResourcePropertiesRequest" message="wsrpw:GetMultipleResourcePropertiesRequest"/>
+         <output name="GetMultipleResourcePropertiesResponse" message="wsrpw:GetMultipleResourcePropertiesResponse"/>
+         <fault name="ResourceUnknownFault" message="wsrpw:ResourceUnknownFault"/>
+         <fault name="InvalidResourcePropertyQNameFault" message="wsrpw:InvalidResourcePropertyQNameFault"/>
+      </operation>
+      -->
+
+      <!-- *** If you wish to implement the WSRP SetResourceProperties portType,
+               uncomment the below operation block *** -->
+      <!--
+      <operation name="SetResourceProperties">
+         <input name="SetResourcePropertiesRequest" message="wsrpw:SetResourcePropertiesRequest"/>
+         <output name="SetResourcePropertiesResponse" message="wsrpw:SetResourcePropertiesResponse"/>
+         <fault name="ResourceUnknownFault" message="wsrpw:ResourceUnknownFault"/>
+         <fault name="InvalidResourcePropertyQNameFault" message="wsrpw:InvalidResourcePropertyQNameFault"/>
+         <fault name="InvalidSetResourcePropertiesRequestContentFault" message="wsrpw:InvalidSetResourcePropertiesRequestContentFault"/>
+         <fault name="UnableToModifyResourcePropertyFault" message="wsrpw:UnableToModifyResourcePropertyFault"/>
+         <fault name="SetResourcePropertyRequestFailedFault" message="wsrpw:SetResourcePropertyRequestFailedFault"/>
+      </operation>
+      -->
+
+      <!-- *** If you wish to implement the WSRP QueryResourceProperties portType,
+               uncomment the below operation block *** -->
+      <!--
+      <operation name="QueryResourceProperties">
+         <input name="QueryResourcePropertiesRequest" message="wsrpw:QueryResourcePropertiesRequest"/>
+         <output name="QueryResourcePropertiesResponse" message="wsrpw:QueryResourcePropertiesResponse"/>
+         <fault name="ResourceUnknownFault" message="wsrpw:ResourceUnknownFault"/>
+         <fault name="InvalidResourcePropertyQNameFault" message="wsrpw:InvalidResourcePropertyQNameFault"/>
+         <fault name="UnknownQueryExpressionDialectFault" message="wsrpw:UnknownQueryExpressionDialectFault"/>
+         <fault name="InvalidQueryExpressionFault" message="wsrpw:InvalidQueryExpressionFault"/>
+         <fault name="QueryEvaluationErrorFault" message="wsrpw:QueryEvaluationErrorFault"/>
+      </operation>
+      -->
+
+      <!-- *** If you wish to implement the WSRL ImmediateResourceTermination portType,
+               uncomment the below operation block *** -->
+      <!--
+      <operation name="Destroy">
+         <input message="wsrlw:DestroyRequest"/>
+         <output message="wsrlw:DestroyResponse"/>
+         <fault name="ResourceUnknownFault" message="wsrlw:ResourceUnknownFault"/>
+         <fault name="ResourceNotDestroyedFault" message="wsrlw:ResourceNotDestroyedFault"/>
+      </operation>
+      -->
+
+      <!-- *** If you wish to implement the WSRL ScheduledResourceTermination portType,
+               uncomment the below operation block *** -->
+      <!--
+      <operation name="SetTerminationTime">
+         <input message="wsrlw:SetTerminationTimeRequest"/>
+         <output message="wsrlw:SetTerminationTimeResponse"/>
+         <fault name="ResourceUnknownFault" message="wsrlw:ResourceUnknownFault"/>
+         <fault name="UnableToSetTerminationTimeFault" message="wsrlw:UnableToSetTerminationTimeFault"/>
+         <fault name="TerminationTimeChangeRejectedFault" message="wsrlw:TerminationTimeChangeRejectedFault"/>
+      </operation>
+      -->
+       
+      <!-- *** Add operation blocks for custom operations here *** -->         
+
+   </portType>
+
+   <binding name="MySoapHttpBinding" type="tns:MyPortType">
+
+      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+   
+      <operation name="GetResourceProperty">
+         <soap:operation style="document"/>
+         <input>
+            <soap:body use="literal"/>
+         </input>
+         <output>
+            <soap:body use="literal"/>
+         </output>
+         <fault name="ResourceUnknownFault">
+            <soap:fault name="ResourceUnknownFault" use="literal"/>
+         </fault>
+         <fault name="InvalidResourcePropertyQNameFault">
+            <soap:fault name="InvalidResourcePropertyQNameFault" use="literal"/>
+         </fault>
+      </operation>
+
+      <!-- *** If you wish to implement the WSRP GetMultipleResourceProperties portType,
+               uncomment the below operation block *** -->
+      <!--
+      <operation name="GetMultipleResourceProperties">
+         <soap:operation style="document"/>
+         <input>
+            <soap:body use="literal"/>
+         </input>
+         <output>
+            <soap:body use="literal"/>
+         </output>
+         <fault name="ResourceUnknownFault">
+            <soap:fault name="ResourceUnknownFault" use="literal"/>
+         </fault>
+         <fault name="InvalidResourcePropertyQNameFault">
+            <soap:fault name="InvalidResourcePropertyQNameFault" use="literal"/>
+         </fault>
+      </operation>
+      -->
+
+      <!-- *** If you wish to implement the WSRP SetResourceProperties portType,
+               uncomment the below operation block *** -->
+      <!--
+      <operation name="SetResourceProperties">
+         <soap:operation style="document"/>
+         <input>
+            <soap:body use="literal"/>
+         </input>
+         <output>
+            <soap:body use="literal"/>
+         </output>
+         <fault name="ResourceUnknownFault">
+            <soap:fault name="ResourceUnknownFault" use="literal"/>
+         </fault>
+         <fault name="InvalidResourcePropertyQNameFault">
+            <soap:fault name="InvalidResourcePropertyQNameFault" use="literal"/>
+         </fault>
+         <fault name="UnableToModifyResourcePropertyFault">
+            <soap:fault name="UnableToModifyResourcePropertyFault" use="literal"/>
+         </fault>
+         <fault name="InvalidSetResourcePropertiesRequestContentFault">
+            <soap:fault name="InvalidSetResourcePropertiesRequestContentFault" use="literal"/>
+         </fault>
+         <fault name="SetResourcePropertyRequestFailedFault">
+            <soap:fault name="SetResourcePropertyRequestFailedFault" use="literal"/>
+         </fault>
+      </operation>
+      -->
+
+      <!-- *** If you wish to implement the WSRP QueryResourceProperties portType,
+               uncomment the below operation block *** -->
+      <!--
+      <operation name="QueryResourceProperties">
+         <soap:operation style="document"/>
+         <input>
+            <soap:body use="literal"/>
+         </input>
+         <output>
+            <soap:body use="literal"/>
+         </output>
+         <fault name="ResourceUnknownFault">
+            <soap:fault name="ResourceUnknownFault" use="literal"/>
+         </fault>
+         <fault name="InvalidResourcePropertyQNameFault">
+            <soap:fault name="InvalidResourcePropertyQNameFault" use="literal"/>
+         </fault>
+         <fault name="UnknownQueryExpressionDialectFault">
+            <soap:fault name="UnknownQueryExpressionDialectFault" use="literal"/>
+         </fault>
+         <fault name="InvalidQueryExpressionFault">
+            <soap:fault name="InvalidQueryExpressionFault" use="literal"/>
+         </fault>
+         <fault name="QueryEvaluationErrorFault">
+            <soap:fault name="QueryEvaluationErrorFault" use="literal"/>
+         </fault>
+      </operation>
+      -->
+      
+      <!-- *** If you wish to implement the WSRL ImmediateResourceTermination portType,
+               uncomment the below operation block *** -->
+      <!--      
+      <operation name="Destroy">
+         <soap:operation style="document"/>
+         <input>
+            <soap:body use="literal"/>
+         </input>
+         <output>
+            <soap:body use="literal"/>
+         </output>
+         <fault name="ResourceUnknownFault">
+            <soap:fault name="ResourceUnknownFault" use="literal"/>
+         </fault>
+         <fault name="ResourceNotDestroyedFault">
+            <soap:fault name="ResourceNotDestroyedFault" use="literal"/>
+         </fault>
+      </operation>            
+      -->
+    
+      <!-- *** If you wish to implement the WSRL ScheduledResourceTermination portType,
+               uncomment the below operation block *** -->
+      <!--          
+      <operation name="SetTerminationTime">
+         <soap:operation style="document"/>
+         <input>
+            <soap:body use="literal"/>
+         </input>
+         <output>
+            <soap:body use="literal"/>
+         </output>
+         <fault name="ResourceUnknownFault">
+            <soap:fault name="ResourceUnknownFault" use="literal"/>
+         </fault>
+         <fault name="UnableToSetTerminationTimeFault">
+            <soap:fault name="UnableToSetTerminationTimeFault" use="literal"/>
+         </fault>
+         <fault name="TerminationTimeChangeRejectedFault">
+            <soap:fault name="TerminationTimeChangeRejectedFault" use="literal"/>
+         </fault>
+      </operation>
+      -->
+
+      <!-- *** Add operation blocks for custom operations here *** -->         
+      
+   </binding>
+
+   <service name="MyService">
+      <!-- Note: the port name becomes the service name in the wsdd generated by Wsdl2Java -->
+      <!-- *** Change the port name and the soap:address location below to reflect the desired endpoint URL *** -->
+      <port name="template" binding="tns:MySoapHttpBinding">
+         <soap:address location="http://localhost:8080/wsrf/services/template" />
+      </port>
+   </service>
+
+</definitions>

Modified: incubator/apollo/trunk/src/site/content/xdocs/tutorial/wsdl.xml
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/xdocs/tutorial/wsdl.xml?view=diff&rev=112051&p1=incubator/apollo/trunk/src/site/content/xdocs/tutorial/wsdl.xml&r1=112050&p2=incubator/apollo/trunk/src/site/content/xdocs/tutorial/wsdl.xml&r2=112051
==============================================================================
--- incubator/apollo/trunk/src/site/content/xdocs/tutorial/wsdl.xml	(original)
+++ incubator/apollo/trunk/src/site/content/xdocs/tutorial/wsdl.xml	Wed Dec 15 15:12:41 2004
@@ -1,17 +1,133 @@
 <?xml version="1.0"?>
 
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+          "http://forrest.apache.org/dtd/document-v20.dtd">
 
-<document> 
-  <header> 
-    <title> </title> 
-  </header> 
-  <body> 
+<document>
+
+  <header>
+    <title>Composing a WSRF WSDL File</title>
+  </header>
+
+  <body>
     <section>
-      <title> </title>
+      <title>Introduction</title>
+
       <p>
-        TODO
+       This tutorial describes how to create a Web Services Description Language (WSDL)
+       file that describes a WSRF WS-Resource. A <a href="_TEMPLATE_.wsdl">WSDL template</a>
+       is provided to expedite the WSDL creation process.
       </p>
+
+      <section>
+        <title>WSDL Template</title>
+      <p>The template WSDL file contains only the MuWS Identity resource properties and the WS-RP GetResourceProperty port type as REQUIRED by the WSDM MUWS specification.
+      This is in contrast to the <a href="../disk/index.html">Disk example</a>, which includes all optional resource properties and port types. When developing your own
+      services, you can begin with the template WSDL and add in resource properties and port types required to implement the service. If you
+      need a resource property or port type that is optional in the WSDM MUWS specification, see the sections below, or refer to the
+      <a href="../disk/index.html">Disk example</a> for implementation details.</p>
+
+      </section>
+
+      <section>
+        <title><a href="src/java/org/apache/template/TemplateDiscoveryAgent.java">Discovery Agent Template</a></title>
+      <p>A discovery agent needs to create instances of a WSResource, and register these instances with the Muse registration manager.
+      The DiscoveryAgent code provided here can act as a starting point for developing a discovery agent specific to your service.&nbsp;&nbsp;
+      There is a very simple <a href="src/webapp/discovery-agent-registry.cfg">
+      configuration file</a> for this template discovery agent.</p>
+
+      </section>
+
+      <section>
+        <title><a href="build.xml">Ant Build Script Template</a></title>
+        <p>A template Ant script that can be customized to fit your specific service and build needs.</p>
+      </section>
+
+    </section>
+
+    <section>
+      <title>Procedural Overview</title>
+		  <p>
+		  The templates in this tutorial are provided as a starting point for developing your own WSDM-compliant
+		  Web services. To utilize these templates execute the following steps:</p>
+
+
+	<ol>
+		    <li>Create a subfolder under the Muse "usr" folder.
+		     The "usr" directory is intended to contain your WSDM Web service project folders. The actual name of this
+		     folder does not need to be "usr", but in order for the Ant build scripts to work without editing path
+		     names there should exist a folder between the Muse installation directory and the project folder.
+		    </li>
+		    <li>Copy the build.xml file and and all subfolders from the %INSTALL_DIR%\docs\tutorial\template directory into the directory created in the previous step.</li>
+		    <li>Add any additional resource properties and port types required by your service.
+		        If your service requires optional specification-defined properties or port types see the
+		        <a href="../disk/src/wsdl/disk.wsdl">Disk example WSDL</a>.</li>
+		    <li>Rename the WSDL file and the discovery agent Java class to match your service.</li>
+		    <li>Edit the Ant script to reflect the subfolders and files specific to your service.</li>
+	        <li>Run the <code>generate</code> Ant target to produce the Muse WSResource classes.</li>
+            <li>Implement the port types for your service in the generated WS-Resource class. </li>
+            <li>Implement the DiscoveryAgent to register your WS-Resource instances.</li>
+            <li>Compile the classes you've added or modified by running the <code>compile</code> Ant target.</li>
+            <li>Run the <code>deploy</code> Ant target.</li>
+            <li>Deploy the webapp produced by the build scripts to Tomcat or another servlet container by copying the <code>wsdm</code>
+                folder in the Muse installation folder's <code>webapps</code> subfolder.</li>
+            <li>Start the servlet container.</li>
+	        <li>Execute a client program (not provided) to interact with your service.</li>
+	      </ol>
+
+    </section>
+
+    <section>
+      <title>Adding optional WS-ResourceProperties Port Types</title>
+
+      <p>The WS-ResourceProperties specification only requires the GetResourceProperty port type, but also defines SetResourceProperty, GetMultipleResourceProperties and QueryResourceProperties.
+      To add support for these port types to your WSResource copy and paste the XML <a href="src/wsdl/wsrpoptional.wsdl">here</a> into your WSDL file. When WsdmWsdl2Java detects
+      these definitions in your WSDL it generates the connections needed for your WSResource to support these port types.</p>
+
+    </section>
+
+    <section>
+      <title>Adding optional notification support</title>
+
+      <p>The WS-ResourceProperties specification defines a resource property change notification pattern, but a WSResource is not required to support the pattern.
+      To add support for this pattern to your WSResource copy and paste the XML <a href="src/wsdl/notification.wsdl">here</a> into your WSDL file. When WsdmWsdl2Java detects
+      these definitions in your WSDL it generates the connections needed for your WSResource to support the property change notification pattern. Note that Muse utilizes
+      WS-BaseNotifications and WS-Topics to support the property change notification pattern.</p><p>Additionally, Muse supports the ability for a WSResource to send
+      miscellaneous WS-BaseNotifications. No additional WSDL is required for this support, but registration and emission of the notification are the responsibility of
+      the WSResource. See the <a href="../disk/index.html">Disk example</a>'s support for a Bad Sector notification for details.</p>
+
     </section>
+
+    <section>
+      <title>Adding optional WS-ResourceLifetime support</title>
+
+      <p>Supporting the WS-ResourceLifetime specification is optional in the context of WSDM MUWS.
+      To add support for WS-ResourceLifetime to your WSResource copy and paste the XML <a href="src/wsdl/wsrl.wsdl">here</a> into your WSDL file. When WsdmWsdl2Java detects
+      these definitions in your WSDL it generates the connections needed for your WSResource to support WS-ResourceLifetime.</p>
+
+    </section>
+
+    <section>
+      <title>Adding optional MuWS Resource State support</title>
+
+      <p>WSDM MuWS defines a state model for managed resources.
+      To add support for this model to your WSResource copy and paste the XML <a href="src/wsdl/resourcestate.wsdl">here</a> into your WSDL file. When WsdmWsdl2Java detects
+      these definitions in your WSDL it generates the connections needed for your WSResource to support the MuWS state model. This includes two methods in your WSResource,
+      backendStart and backendStop, that must be implemented.</p>
+
+    </section>
+
+    <section>
+      <title>Adding optional MuWS Metrics support</title>
+
+      <p>WSDM MuWS defines metrics to be a specific type of resource property. The defining characteristics of metrics are that they change over time and can be reset.
+      To add support for metrics to your WSResource copy and paste the XML <a href="src/wsdl/metrics.wsdl">here</a> into your WSDL file. When WsdmWsdl2Java detects
+      these definitions in your WSDL it generates the connections needed for your WSResource to support MuWS metrics. You will be required to add the resource properties that define
+      your specific metrics to the WSDL, and to provide an implementation for backendReset. See the <a href="../disk/index.html">Disk example</a>'s
+      support for the Capacity and ActiveTime metrics for details.</p>
+
+    </section>
+
   </body>
+
 </document>

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