Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Web Services Distributed Management: MOWS PrimerCommittee Draft, February 24, 2006Document identifier:
wsdm-1.0-mows-primer-cd-01
Location:http://docs.oasis-open.org/wsdm/wsdm-1.0-mows-primer-cd-01.pdf
Editors:Bryan Murray, Hewlett-Packard <[email protected]>Kirk Wilson, Computer Associates Intl. <[email protected]>Mark Ellison, Ellison Software Consulting <[email protected]>
Abstract:The Web Services Distributed Management: MOWS Primer provides an introduction to the Management Using Web Services (MOWS) specifications directed towards a wide audience of architects, developers, implementers and users. This primer does not provide a definitive specification of MOWS. Rather, it is intended to provide an easily read and understood summary of the fundamentals for creating and using MOWS-compliant management applications and manageable web services.
Status:This document is updated periodically on no particular schedule. Send comments to the editor.Committee members should send comments on this specification to the [email protected] list. Others should subscribe to and send comments to the [email protected] list. To subscribe, send an email message to [email protected] with the word "subscribe" as the body of the message.For information on whether any patents have been disclosed that may be essential to implementing the MOWS specification, and any offers of patent licensing terms, Please refer to the Intellectual Property Rights section of the WSDM TC web page (http://www.oasis-open.org/committees/wsdm/).The errata page for this specification is at http://docs.oasis-open.org/wsdm/wsdm-1.0-primer- errata.pdf.
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 1 of 48
1
2
3
4
56
78
9101112
13141516171819
2021222324252627282930313233
1
2
Table of Contents1 Introduction: What is WSDM MOWS?....................................................................................3
1.1 Namespaces......................................................................................................................... 32 Web Service as a Manageable Resource..............................................................................5
2.1 A Web Service Example.......................................................................................................52.2 Associating Manageability and Functional Web service Endpoints......................................6
2.2.1 Identification.................................................................................................................. 62.2.2 Manageability Reference...............................................................................................8
2.3 Identification......................................................................................................................... 92.4 Operational Status..............................................................................................................11
2.4.1 Notifications of Operational Status Changes...............................................................122.4.1.1 Supporting Topics.................................................................................................................122.4.1.2 Discovering Topics...............................................................................................................122.4.1.3 Subscribing to the Operational Status Change Notifications................................................132.4.1.4 Notification Messages for Operational Status Changes.......................................................13
2.5 Operational State................................................................................................................142.6 Metrics................................................................................................................................ 15
2.6.1 Representing MOWS Metrics Metadata......................................................................162.6.2 Examples MOWS Metrics...........................................................................................18
2.7 Request Processing State..................................................................................................192.7.1 Subscribing to Processing State Changes..................................................................202.7.2 Notification Messages.................................................................................................21
2.8 Composing Business and Management Functionality........................................................222.8.1 The Basic Printer Web Service....................................................................................222.8.2 The Printer’s Resource Properties Document.............................................................232.8.3 Printer WSDL Modifications........................................................................................25
3 Consuming Manageability for Web service Resources........................................................273.1 Obtaining Manageability Endpoints for a Web Service.......................................................273.2 Determining the Health of a Web Service...........................................................................283.3 Retrieving Metrics...............................................................................................................293.4 Consuming Notifications.....................................................................................................303.5 Obtaining Request Processing State Information...............................................................31
4 References........................................................................................................................... 33Appendix A. Complete XML Documents.......................................................................................34Appendix B. Acknowledgments....................................................................................................45Appendix C. Revision History.......................................................................................................46Appendix D. Notices..................................................................................................................... 47
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 2 of 48
34
3536373839404142434445464748
49505152535455565758596061626364656667686970
71
3
4
1 Introduction: What is WSDM MOWS?The Web Services Distributed Management (WSDM) specification for the Management Of Web Services (MOWS) [MOWS] provides a means of managing Web services.
MOWS is an extension and application of the WSDM Management Using Web Services (MUWS) [MUWS] specification. MOWS is an extension of MUWS in that MOWS uses and extends the capabilities defined in MUWS. At is simplist level, MOWS uses the same resource properties exposed by MUWS manageability capabilities. For example, the MOWS OperationalStatus capability specifies the same resource property as defined in MUWS. MOWS extends other MUWS manageability capabilities in much the same way as UML classes extend their parent classes. New properties that are special to Web services are added to those properties already defined for MUWS capabilities. For example, the MOWS Metrics capability extends the MUWS Metrics capability with metrics that are appropriate for Web services.
MOWS is an application of MUWS in that any MOWS application must also be fully compliant with the MUWS specification. Within MOWS, the MUWS concept of manageable resource, which is treated generally in MUWS as encompassing any kind of resource that is to be managed, is explicitly identified with Web services. Thus, like any MUWS manageable resource, the manageability of a Web service must be associated with a resource properties document, which exposes (at least) the MUWS Identity capability and the ManageabilityCharacteristics capability. Notice that within MOWS, the manageable resource is logically defined, a Web service, rather than a physical device such as a PDA or printer. To be sure, physical devices may be managed by means of MOWS but only if they are Web service enabled, as you shall see in section 2.8, in which we address the management of a Web service that exposes the interface to a printer.
The focus of MOWS is on Web services as WSDM manageable resources. MOWS defines capabilities, which includes properties, operations, and events, for addressing the manageability requirements of Web services. In so doing, it both uses MUWS as an application framework as well as extending several MUWS capabilities.
NOTE: In this primer, “manageable resource” is used in the sense of a WSDM manageable resource.
1.1 NamespacesCommon namespaces used throughout this Primer are used with the following prefixes:
wsws-mgr-xs http://example.org/services/WeatherManagementService.xsd
wsws-mgr-w http://example.org/services/WeatherManagementService.wsdl
wsws-mgr-md http://example.com/services/WeatherManagementService.rmd
printer-xs http://example.org/MyWSPrintersResourceProperties.xsd
printer-w http://example.org/services/MyWSPrinterService.wsdl
muws-p1-xs http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd
muws-p2-xs http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 3 of 48
727374
757677787980818283
84858687888990919293
94959697
9899
100101
5
6
muws-ev http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2-events.xml
mows-xs http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows.xsd
mows-ev http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows-events.xml
wsrf-rp http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd
wsrf-rpw http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl
wsrf-bf http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-02.xsd
wsnt http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd
wstop http://docs.oasis-open.org/wsn/2004/06/wsn-WS-Topics-1.2-draft-01.xsd
rmd http://docs.oasis-open.org/wsrf/2004/10/wsrf-WS-ResourceMetadataDescriptor-1.0-draft-01.xsd
xs http://www.w3.org/2001/XMLSchema
w http://schemas.xmlsoap.org/wsdl
s http://schemas.xmlsoap.org/soap/envelope/
soapw http://schemas.xmlsoap.org/wsdl/soap/
wsa http://schemas.xmlsoap.org/ws/2004/08/addressing
Namespace declarations will not be provided in example code (XML) [XML] unless explicitly referred to in the text or is specific to that example. Please refer back to this table for the meaning of namespace prefixes. See Appendix A for an unabridged rendering of the example XML documents.
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 4 of 48
102103104105
106
7
8
2 Web Service as a Manageable Resource2.1 A Web Service Example
In this section, we will use what we have discussed in the Web Services Distributed Management: MUWS Primer to provide the manageability for a manageable resource that is a Web service. Consider a weather station Web service. The weather station might provide such services as reporting the current temperature, barometric pressure, and wind conditions as well as forward looking weather predictions for a specified time period. The following Web service example uses a simple GetCurrentTemperature operation that returns a temperature based upon an altitude.
Note that our weather station Web service is a simple XML Web service, and, therefore, does not require the use of an EPR to reference it. A WSDL document [WSDL] describing a WeatherStation Web service is as follows:
<?xml version="1.0" encoding="utf-8"?><w:definitions . . . <! Standard namespace declaration --> xmlns:tns="http://example.org/" targetNamespace="http://example.org/">
<w:types> <xs:schema elementFormDefault="qualified"
targetNamespace="http://example.org/"> <xs:element name="GetCurrentTemperature">
<xs:complexType> <xs:sequence> <xs:element name="altitude" type="xs:double"
minOccurs="1" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="GetCurrentTemperatureResponse"> <xs:complexType> <xs:sequence> <xs:element name="GetCurrentTemperatureResult" type="xs:double"
minOccurs="1" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> </w:types>
<w:message name="GetCurrentTemperatureIn"> <w:part name="parameters" element="tns:GetCurrentTemperature" /> </w:message> <w:message name="GetCurrentTemperatureOut"> <w:part name="parameters" element="tns:GetCurrentTemperatureResponse" /> </w:message>
<w:portType name="WeatherStationPortType"> <w:operation name="GetCurrentTemperature"> <w:input message="tns:GetCurrentTemperatureIn" /> <w:output message="tns:GetCurrentTemperatureOut" /> </w:operation> </w:portType>
<w:binding name="WeatherStationSoap" type="tns:WeatherStationPortType"> ... </w:binding>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 5 of 48
107
108109110111112113114115
116117118
119120121122123
124125126127128129130131132133134135136137138139140141142143144145
146147148149150151152
153154155156157158159
160161162163
164
9
10
<w:service name="WeatherStation"> <w:port name="WeatherStationPort" binding="tns:WeatherStationSoap"> <soapw:address location="http://example.org/services"/> </w:port> </w:service></w:definitions>
Note that this Web service does not support manageability; that is, the manageability endpoint for this service is different from the endpoint for the Web service itself (the manageable endpoint). See section 4 of the MOWS specification for information of relationship between manageability and manageable endpoints for Web services.
2.2 Associating Manageability and Functional Web service Endpoints
For our example, we use the name WeatherManagementService for the Web service providing manageability endpoints for a WeatherStation service. Our first task is to specify an XML schema [XML Schema] for the resource properties document [WS-ResourceProperties]. By following the same pattern as used by the examples in the MUWS primer, our namespace URI for the resource properties document XML Schema would be http://example.org/services/WeatherManagementService.xsd.
The reader should review section 2 of the MUWS Primer on the fundamentals of defining a manageability endpoint.
2.2.1 IdentificationThe endpoint for accessing our WeatherManagementService should include the properties required to support the MUWS Identity capability and the MUWS ManagementCharacteristics capability. As we progress through this example, additional manageability capabilities will be added to this endpoint. An XML Schema for our WeatherManagementService resource properties document that exposes these two capabilities would appear as follows:
<xs:schema targetNamespace="http://example.org/services/WeatherManagementService.xsd" . . . elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="WeatherManagermentServiceProperties"> <xs:complexType> <xs:sequence> <xs:element ref="muws-p1-xs:ResourceId"/> <xs:element ref="muws-p1-xs:ManageabilityCapability" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element>
</xs:schema>
Notice that in this example, we have modified the cardinality of the <ManageabilityCapability> element. In the MOWS schema, <ManageabilityCapability> is specified with minOccurs = “0”. However, because we know the manageability endpoint will support the manageability capabilities, we can restrict the resource properties document by removing the minOccurs attribute.
An example of a resource properties document conforming to this schema is as follows:
<wsws-mgr-xs:WeatherManagementServiceProperties . . .>
<muws-p1-xs:ResourceId> urn:uuid:E3A0B27A-45E0-40af-A15B-1CDC263F24CE
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 6 of 48
165166167168169170
171172173174
175176177178179180181182
183184
185186187188189190
191192193194
195196197198199200201202203204
205206
207208209210211
212
213
214215216
11
12
</muws-p1-xs:ResourceId> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/Identity </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/ManageabilityCharacteristics </muws-p1-xs:ManageabilityCapability></wsws-mgr-xs:WeatherManagementServiceProperties>
There is only one manageable resource in this scenario; thus, we do not need a schema to define a resource identifier element for the weather station service.
The relevant sections of the WSDL for the manageability endpoint are as follows:
<w:definitions targetNamespace="http://example.org/services/WeatherManagementService.wsdl" . . .>
<w:types> <xs:schema> <xs:import namespace="http://example.org/services/WeatherManagementService.xsd" schemaLocation="http://example.org/services/WeatherManagementService.xsd"/> <xs:import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" schemaLocation="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"/> <xs:import namespace="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd" schemaLocation="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd"/> </xs:schema> </w:types>
<w:portType name="WeatherManagementServicePortType" wsrf-rp:ResourceProperties="wsws-mgr-xs:WeatherManagementServiceProperties"> <w:operation name="GetResourceProperty"> <w:input name="GetResourcePropertyRequest" message="wsrf-rpw:GetResourcePropertyRequest" wsa:Action="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl/GetResourcePropertyDocument/GetResourcePropertyRequest"/> <w:output name="GetResourcePropertyResponse" message="wsrf-rpw:GetResourcePropertyResponse" wsa:Action="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl/GetResourcePropertyDocument/GetResourcePropertyResponse"/> <!-- Insert Faults. See Appendix A for complete WSDL. --> </w:portType>
<w:binding name="WeatherManagementServiceBinding" type="WeatherManagementServicePortType">
<!-- Insert bindings. See Appendix A for complete WSDL. -->
</w:binding>
<w:service name="WeatherManagementService"> <w:port name="WeatherManagementServicePort"> binding="WeatherManagementServiceBinding"> <soapw:addresslocation="http://example.org/services/WeatherManagementServiceEndpoint"/> </w:port> </w:service></w:definitions>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 7 of 48
217218219220221222223224225226
227228
229
230231232
233234235236237238239240241242243244245246247248
249250251252253254255256257258259260261262263264265
266267268
269270
271272
273274275276277278279280281
13
14
The inclusion of other WSRF-RP operations in the above schema, such as GetMultipleResourceProperties and GetResourceDocument, is left to the discretion of the designer.
For more information of faults, see WS-BaseFaults [WS-BaseFaults].An end-point reference (EPR) for the manageability endpoint is as follows:
<wsa:EndpointReference <wsa:Address> http://example.org/services/WeatherManagementServiceEndpoint </wsa:Address></wsa:EndpointReference>
2.2.2 Manageability ReferenceOne means by which a management application can obtain the EPR for a manageability endpoint of a weather station Web service is to ask the weather station Web service itself. In order for a weather station Web service to provide this information to clients, its portType must include the GetManageabilityReferences operation. See section 5.1.1.1 in the MOWS specification for more information on the GetManageabilityReferences operation.
This approach of providing a management application with the EPR for a manageability endpoint is not required. Alternative approaches support discovery of the manageability endpoint of a Web service. For example, the inclusion of the EPR in a directory or a registry of manageable resources allows a management application to select the appropriate EPR from the directory or registry. For more information on obtaining the EPR for a manageability endpoint of a web service, see section 4.1 of the MUWS Primer.
In this section, we expand the functional interface of our example weather station Web service. We add the GetManageabilityReferences operation, which returns a set of EPRs. Since our example implements only one manageability endpoint for our weather station Web service, a set containing one EPR will be returned from the GetManageabilityReferences operation of our example Web service.
To incorporate the GetManageabilityReferences operation into the WSDL document describing our example weather station Web service we need to declare a namespace prefix and import the MOWS XML Schema, which defines the IN/OUT elements of the operation and imports the definition of the MUWS Part 1 ManageabilityEndpointReference element. This element is the return value of the GetManageabilityReferences operation. We can define new messages as follow:
<message name="GetManageabilityReferencesRequest"> <part name="body" element="mows-xs:GetManageabilityReferences"/></message><message name="GetManageabilityReferencesResponse"> <part name="body" element="mows-xs:GetManageabilityReferencesResponse"/></message>
To make use of these new messages, we must extend the current portType definition of our weather station Web service to include our new operation as follows:
<operation name="GetManageabilityReferences"><input name="GetManageabilityReferencesRequest"
message="tns:GetManageabilityReferencesRequest"/><output name="GetManageabilityReferencesResponse"
message="tns:GetManageabilityReferencesResponse"/></operation>
There is no need to include the wsrf-rp:ResourceProperties attribute within the portType. The GetMangeabilityReferences operation does not require our weather station Web service to be a
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 8 of 48
282283284
285
286
287288289290291
292293294295296297
298299300301302303
304305306307308
309310311312313314
315316317318319320
321322
323324325326327328
329330
15
16
WS-Resource. It is still a traditional Web service, albeit extended to provide access to its manageability endpoint.
The WeatherStation WSDL, with all required additions highlighted, would appear as follows:
<w:definitions . . . xmlns:tns="http://example.org/" targetNamespace="http://example.org/">
<w:types> <xs:schema elementFormDefault="qualified"
targetNamespace="http://example.org/"> <xs:import namespace="http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-
mows.xsd" schemalocation="http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows.xsd">
<!-- Schema definition of GetCurrentTemperature --> <!-- Schema definition of GetCurrentTermperatureResponse --> </xs:schema> </w:types>
,!-- GetCurrentTermperature messages -->
<w:message name="GetManageabilityReferencesRequest"> <w:part name="body" element="mows-xs:GetManageabilityReferences"/></w:message><w:message name="GetManageabilityReferencesResponse"> <w:part name="body" element="mows-xs:GetManageabilityReferencesResponse"/></w:message>
<w:portType name="WeatherStationPortType"> <!-- Definition of the GetCurrentTemperature oppertion --> <w:operation name="GetManageabilityReferences">
<w:input name="GetManageabilityReferencesRequest" message="tns:GetManageabilityReferencesRequest"/> <w:output name="GetManageabilityReferencesResponse" message="tns:GetManageabilityReferencesResponse"/>
</w:operation> </w:portType> <!-- Continue as previously defined in section 2.1 --></w:definitions>
The request to get the ManageabilityReference of our weather station Web service is as follows:
<mows-xs:GetManageabilityReferences/>
The response to the above request is a message containing the EPR of the manageability endpoint of our Web service:
<mows-xs:GetManageabilityReferencesResponse> <muws-p1-xs:ManageabilityEndpointReference> <wsa:EndpointReference> <wsa:Address> http://example.org/services/WeatherManagementServiceEndpoint </wsa:Address> </wsa:EndpointReference> </muws-p1-xs:ManageabilityEndpointReference> </mows-xs:GetManageabilityReferencesResponse>
2.3 IdentificationUnder the scenario where the manageability endpoint and the endpoint of a manageable resource are not the same, a MOWS compliant resource should support the MOWS Identification capability. In contrast to the MUWS Identity capability, the MOWS Identification capability helps to describe the Web service endpoint being managed. See section 5.2.2 of the MOWS specification for more information.
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 9 of 48
331332
333
334335336
337338339340341342343
344345346347348
349350
351352353354355356357
358359360361362363364365366367368369
370
371
372373
374375376377378379380381382
383384385386387388
17
18
Support for the MOWS Identification capability requires the inclusion of two properties in the schema of the resource properties document. Our example schema is as follows:
<xs:element name="WeatherManagermentServiceProperties"> <xs:complexType> <xs:sequence> <xs:element ref="muws-p1-xs:ResourceId"/> <xs:element ref="mows-xs:EndpointReference"/> <xs:element ref="mows-xs:EndpointDescriptions"/> <xs:element ref="muws-p1-xs:ManageabilityCapability" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element>
The appropriate element statements may be cut-and-pasted from the EndpointIdentificationPropertiesType in the MOWS schema. Notice, however, that again we have modified the schema by removing the minOccurs=”0” from the EndpointDescriptions element.
The message exchange pattern for retrieving values of these two new properties is already provided by theGetResourceProperty operation.
The resource properties document should also include the manageability capability URI for the MOWS Identification capability. Our example resource properties document modified to include the two new properties appears as follows:
<wsws-mgr-xs:WeatherManagementServiceProperties . . .>
<muws-p1-xs:ResourceID> urn:uuid:E3A0B27A-45E0-40af-A15B-1CDC263F24CE </muws-p1-xs:ResourceID> <mows-xs:EndpointReference> <wsa:Address http://example.org/services/WeatherStation </wsa:Address> </mows-xs:EndpointReference> <mows-xs:EndpointDescriptions> <mows-xs:description> http://example.org/service?WSDL </mows-xs:description> </mows-xs:EndpointDescriptions>
<!-- ManageabilityCapabilities --> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/Identification </muws-p1-xs:ManageabilityCapability></wsws-mgr-xs:WeatherManagementServiceProperties"
TheEndpointDescriptions property provides the URLs to documents describing the weather station Web service.
A manageability consumer is able to request a description of the service being managed as follows:
<wsrf-rp:GetResourceProperty> mows-xs:EndpointDescriptions </wsrf-rp:GetResourceProperty>
Since the message in the above exchange is targeted at a WS-Resource, it is necessary to use WS-Addressing [WS-Addressing] in the message exchange. Therefore the appropriate wsa:Action for the GetResourceProperty operation must be included in the SOAP Header [SOAP].The response for the above request is a message containing the URL(s) of any documents describing the managed Web service:
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 10 of 48
389390
391392393394395396397398399400401
402403404
405406
407408409
410
411412413414415416417418419420421422423424
425426427428429430
431432
433434
435436437
438439440441
442443
19
20
<wsrf-rp:GetResourcePropertyResponse> <mows-xs:EndpointDescriptions > <mows-xs:description>http://example.org?WSDL</mows-xs:description> </mows-xs:EndpointDescriptions> </wsrf-rp:GetResourcePropertyResponse>
A manageability consumer is now able to dereference each URL contained in the <description> element.
2.4 Operational StatusThe operational status and the operational state (section 2.5) of a Web service are among the properties a manageability consumer may wish to access. In this section, we add a property to our example resource properties document exposing the operational status for our Web service. A manageability consumer can learn whether a managed Web service is available, unavailable or partially available. For example, the Web service may be unavailable because the Web service is shut down for maintenance. Or the Web service may be only partially available because an operation lacks access to a necessary resource. See section 5.2.5 of the MOWS specification for more information about the MOWS Operational Status capability.
Support for the MOWS Operational Status capability requires the inclusion of the OperationalStatus property from MUWS Part 2 into the resource properties document. We modify our example schema by importing the Operational Status capability from the MOWS specification, and by including the MUWS Part 2 OperationalStatus property as follows:
<xs:element name="WeatherManagermentServiceProperties"> <xs:complexType> <xs:sequence> ... <xs:element ref="muws-p2-xs:OperationalStatus"/> </xs:sequence> </xs:complexType> </xs:element>
We copy the appropriate element statement from the OperationalStatusPropertiesType definition from Part 2 of the MUWS specification and paste it into our schema.
We want the resource properties instance document for our example endpoint to contain the MOWS manageability capability for this capability. A resource properties document supporting the MOWS OperationalStatus capability appears as follows:
<wsws-mgr-xs:WeatherManagementServiceProperties . . .> ... <muws-p2-xs:OperationalStatus> Available </muws-p2-xs:OperationalStatus> ... <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/OperationalStatus </muws-p1-xs:ManageabilityCapability></wsws-mgr-xs:WeatherManagementServiceProperties"
A manageability consumer is now able to request the operational status of a Web service through the following message exchange:
<wsrf-rp:GetResourceProperty> muws-p2-xs:OperationalStatus </wsrf-rp:GetResourceProperty>
The response to the above might appears as follows:
<wsrf-rp:GetResourcePropertyResponse>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 11 of 48
444445446447448
449450
451452453454455456457458459
460461462463
464465466467468469470471
472473
474475476
477478479480481482483484485486487
488489
490491492
493
494
21
22
<muws-p2-xs:OperationalStatus Available </muws-p2-xs:OperationalStatus> </wsrf-rp:GetResourcePropertyResponse>
2.4.1 Notifications of Operational Status ChangesIn addition to retrieving the operational status of a Web service, a manageability consumer can receive a notification when the operational status of a Web service changes. When a critical Web service transitions operational status from available to unavailable, a business disaster may soon follow if a management application fails to discover the situation in a timely manner. Instead of a manageability consumer periodically requesting the operation status from the critical Web service, the Web service or its management service notifies the consumer when a critical status change occurs. For more information on Notifications, see section 2.10 of the MUWS Primer.
2.4.1.1 Supporting TopicsBoth MUWS Part 2 and MOWS define TopicSpaces. See section 2.10.4 of the MUWS Primer for more information on Topics. A management service that supports topics should expose the Topic resource property in a resource properties document as follows:
<xs:element name="WeatherManagermentServiceProperties"> <xs:complexType> <xs:sequence> ... <xs:element ref="wsnt:Topic" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element>
The portion of a resource properties instance document exposing resource support for the OperationalStatusCapability topic appears as follows.
<wsws-mgr-xs:WeatherManagementServiceProperties ...> ... <wsnt:Topic . . . Dialect="http://docs.oasis-open.org/wsn/2004/06/TopicExpression/Simple"> muws-ev:OperationalStatusCapability </wsnt:Topic>
</wsws-mgr-xs:WeatherManagementServiceProperties"
Notice that the OperationalStatusCapability topic belongs to the MuwsNotificationTopics TopicsSpace (muws-ev).
A manageable resource supporting the OperationalStatusCapability topic is expected to emit a notification upon a change in the operational status of a managed Web service.
2.4.1.2 Discovering TopicsTo discover the Topics on which a management service emits notifications, a manageability consumer might first send a GetResourceProperty to the service’s manageability endpoint as follows:
<wsrf-rp:GetResourceProperty> wsnt:Topic </wsrf-rp:GetResourceProperty>
The response to the above request is a message containing the list of topics supported by the manageability endpoint and appears as follows
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 12 of 48
495496497498
499500501502503504505506
507508509510
511512513514515516517518519
520521
522523524525526527
528529
530531
532533
534535536537
538539540
541542
23
24
<wsrf-rp:GetResourcePropertyResponse>
<wsnt:Topic Dialect="http://docs.oasis-open.org/wsn/2004/06/TopicExpression/Simple"> muws-ev:OperationalStatusCapability </wsnt:Topic> </wsrf-rp:GetResourcePropertyResponse>
In the above response, the muws-ev:OperationalStatusCapability is found within the list of returned topics. Thus, the manageability consumer can send a subscription for the notification of events pertaining to this topic and manageable endpoint.
2.4.1.3 Subscribing to the Operational Status Change NotificationsBecause our weather station Web service manageability endpoint exposes support for at least one topic, the Web service must support the Subscribe operation and must accept SubscribeRequest messages. In the following example message, the manageability consumer indicates that it accepts messages on topics at the URL http://example.org/WSManager:
<wsnt:Subscribe> <wsnt:ConsumerReference> <wsa:EndpointReference> <wsa:Address> http://example.org/WSManager/ </wsa:Address> </wsa:EndpointReference> </wsnt:ConsumerReference> <wsnt:TopicExpression Dialect="http://docs.oasis-open.org/wsn/2004/06/TopicExpression/Simple"> muws-ev:OperationalStatus </wsnt:TopicExpression> </wsnt:Subscribe>
Note that the Schema and WSDL documents for an example management application are not defined in this primer.
The above subscription request does not provide an InitialTerminationTime. Thus the subscription is expected to continue in perpetuity. Also, because the useNotify element was not specified (the default value of this element is “true”, messages sent on the specified topic to a manageability consumer are wrapped in a <Notify> element. The manageability consumer must be prepared to accept this wrapped element.
If the subscription is accepted by the manageability endpoint, then the subscriber receives a response. Our example response appears as follows:
<wsnt:SubscribeResponse> <wsnt:SubscriptionReference> <wsa:EndpointReference> <wsa:Address> http://example.org/services/WeatherManagementServiceEndpoint </wsa:Address> <wsa:ReferenceParameters> <SubscriptionId xmlns="urn:example:wsn:subscription:manager"> 991be01c-e5ca-4d00-811e-b6e29079e7da </SubscriptionId> </wsa:ReferenceParameters> </wsa:EndpointReference> </wsnt:SubscriptionReference> </wsnt:SubscribeResponse>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 13 of 48
543
544545546547548549550
551552553
554555556557558
559560561562563564565566567568569570571
572573
574575576577578
579580
581582583584585586587588589590591592593594
25
26
2.4.1.4 Notification Messages for Operational Status ChangesThe manageability endpoint of the Web service should produce a notification when the weather station Web service transitions from an Available to an Unavailable state. Notifications regarding manageability capabilities should be raised as Management Events, and include the <Situation> element, as described in section 2.5.1 of the MUWS Part 2 specification. In addition, the payload of this notification is wrapped in ResourcePropertyChangeNotification element, which is defined in section 6.1 of the WS-ResourceProperties specification. An example notification message appears as follows:
<wsnt:Notify> <wsnt:NotificationMessage> <wsnt:SubscriptionReference> <wsa:Address> http://example.org/services/WeatherManagementServiceEndpoint </wsa:Address> </wsnt:SubscriptionReference> <wsnt:Topic Dialect="http://docs.oasis-open.org/wsn/2004/06/TopicExpression/Simple"> muws-ev:OperationalStatusCapability </wsnt:Topic> . . . <!-- Producer Reference --> <wsnt:Message> <muws-p1-xs:ManagementEvent> . . . <!-- EventId, SourceComponent, ReporterComponent --> <muws-p2-xs:Situation> . . .<!-- SituationCategory, SituationTime, Severity, etc. --> </muws-p2-xs:Situation> <wsrf-rp:ResourcePropertyValueChangeNotification> <wsrf-rp:OldValues> <muws-p2-xs:OperationalStatus> Available </muws-p2-xs:OperationalStatus> </wsrf-rp:OldValues> <wsrf-rp:NewValues> <muws-p2-xs:OperationalStatus> Unavailable </muws-p2-xs:OperationalStatus> </wsrf-rp:NewValues> </wsrf-rp:ResourcePropertyValueChangeNotification> </muws-p1-xs:ManagementEvent> </wsnt:Message> </wsnt:NotificationMessage> </wsnt:Notify>
2.5 Operational StateFor some Web services, it is sufficient for a manageability consumer to have knowledge only of the operational state for the Web service. The Web service lifecycle [WSLC] specification also provides a state model of Web services. When managing complex Web services, it may be important for the manageability endpoint of a Web service to provide access to the current operational state of the managed Web service. For more information on the MOWS OperationalState capability, see section 5.2.4 of the MOWS specification.
To support the MOWS OperationalState capability we include two properties in the resource properties document schema as follows:
<xs:element name="WeatherManagermentServiceProperties"> <xs:complexType> <xs:sequence> ... <xs:element ref="mows-xs:CurrentOperationalState"/> <xs:element ref="mows-xs:LastOperationalStateTransition" minOccurs="0"/>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 14 of 48
595596597598599600601602
603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637
638639640641642643644
645646
647648649650651652653
27
28
</xs:sequence> </xs:complexType> </xs:element>
As in previous examples, we copy-and-paste the appropriate element statements from the EndpointOperationalStatePropertiesType, defined in the MOWS specification. (Because LastOperationalStateTransition information may not always be available, we retain the minOccurs=”0” in this case. For more information on the MUWS StateTransitionType, see section 3.2.3 in Part 2 of the MUWS specification.)
Our resource properties document should also contain the manageability capability URI for this capability.
A resource properties document containing the new properties supporting the MOWS OperationalState capability would appear as follows:
<wsws-mgr-xs:WeatherManagementServiceProperties ...> ... <mows-xs:CurrentOperationalState> <mows-xs:BusyState> <mows-xs:UpState/> </mows-xs:BusyState> </mows-xs:CurrentOperationalState> <mows-xs:LastOperationalStateTransition> <muws-p2-xs:StateTransition Time="2005-06-11T10:02:35Z"> <muws-p2-xs:EnteredState> <mows-xs:Upstate/> </muws-p2-xs:EnteredState> <muws-p2-xs:PreviousState> <mows-xs:SaturatedState> <mows-xs:DownState/> </mows-xs:SaturatedState> </muws-p2-xs:PreviousState> </muws-p2-xs:StateTransition> </mows-xs:LastOperationalStateTransition> ... <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/OperationalState </muws-p1-xs:ManageabilityCapability></wsws-mgr-xs:WeatherManagementServiceProperties"
The OperationalState property shows that the Web service is currently in the Busy state, which is a form of the Up-state. The Web service is busy processing requests, but may accept new requests. As the optional (but recommended) LastOperationalStateTransition shows, the current state is a result of recovering from a previous state of saturated (down).
A Manageability consumer may now request the operational state of a Web service as follows:
<wsrf-rp:GetResourceProperty> mows-xs:CurrentOperationalState </wsrf-rp:GetResourceProperty>
The response to the above request might appears as follows:
<wsrf-rp:GetResourcePropertyResponse> <mows-xs:CurrentOperationalState > <mows-xs:BusyState> <mows-xs:UpState/> </mows-xs:BusyState> </mows-xs:CurrentOperationalState> </wsrf-rp:GetResourcePropertyResponse>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 15 of 48
654655656
657658659660661
662663
664665
666667668669670671672673674675676677678679680681682683684685686687688689690
691692693694
695
696697698
699
700701702703704705706
29
30
2.6 MetricsThe metrics pertaining to a Web service is of major interest to a manageability consumer responsible for the performance of the Web service. In this section we add MUWS and MOWS properties supporting the metrics of a Web service. The MOWS Metrics capability extends the MUWS Metrics capability. Thus, manageability endpoints supporting the MOWS Metrics capability also must support the MUWS Metrics capability. (See section 2.8 of the MUWS Primer for more information on extended WSDM capabilities.) For more information about the MOWS Metrics manageability capability, see section 5.2.3 in the MOWS specification.
We include the following properties in the resource properties document schema:
<xs:element name="WeatherManagementServiceProperties"> <xs:complexType> <xs:sequence> ... <xs:element ref="muws-p2-xs:CurrentTime"/> <xs:element ref="mows-xs:NumberOfRequests" minOccurs="0"/> <xs:element ref="mows-xs:NumberOfFailedRequests" minOccurs="0"/> <xs:element ref="mows-xs:NumberOfSuccessfulRequests" minOccurs="0"/> <xs:element ref="mows-xs:ServiceTime" minOccurs="0"/> <xs:element ref="mows-xs:MaxResponseTime" minOccurs="0"/> <xs:element ref="mows-xs:LastResponseTime" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element>
The muws-p2-xs:CurrentTime property may be copied from the MetricsPropertiesType in Part 2 of the MUWS schema. The MOWS properties may be copied from the EndpointMetricPropertiesType in the MOWS schema. Notice that we have retained the cardinality of minOccurs=”0” for each metric. Thus, our manageability endpoint may choose not to expose some metrics, for example, if it does not have a value for the metric rather than publishing a zero.
Further metrics may be logically derived from these metrics. For example, it would be possible to calculate the average response time as the NumberOfRequests / ServiceTime. In using multiple metrics in a calculation, it is necessary to insure that the metrics have been collected on comparable time scales. The result of NumberOfRequests / ServiceTime would be meaningless if the metrics were gathered over different lengths of time.
In a resource properties instance document, metric properties must be qualified by either a ResetAt datetime attribute, a LastUpdated datetime attribute, or a Duration attribute (see section 2.7.2 in the MUWS Primer for more information on these attributes). The attributes that may qualify a specific metric is constrained by the semantics of that metric. The semantics of metrics is described by means of their metadata. (See also section 2.11.2 in the MUWS Primer for further information on metric metadata.)
2.6.1 Representing MOWS Metrics MetadataThe metadata of MOWS metrics is defined in section 5.2.3.2 of the MOWS specification The following table below summarizes the metadata for the MOWS metrics.
MOWS Metric Property
Type Metadata: ChangeType
Metadata: TimeScope
Metadata: GatheringTime
NumberOfRequests IntegerCounter Counter SinceReset
Interval
OnChange
NumberOfSuccessful Requests
IntegerCounter Counter SinceReset OnChange
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 16 of 48
707708709710711712713714
715
716717718719720721722723724725726727728729
730731732733734
735736737738739
740741742743744745
746747748
31
32
Interval
NumberOfFailed Requests
IntegerCounter Counter SinceReset
Interval
OnChange
ServiceTime DurationMetric Gauge SinceReset
Interval
OnChange
MaxResponseTime DurationMetric Gauge SinceReset
Interval
OnChange
LastResponseTime DurationMetric Gauge PointInTime OnChange
This information is expressed in a metadata document. Section 2.11 in the MUWS Primer describes the structure of a metadata document. The metadata description of the MOWS metric properties is as follows:
<rmd:Property path="mows-xs:NumberOfRequests" mutability="mutable" modifiability="read-only”> <muws-p2-xs:ChangeType>Counter</muws-p2-xs:ChangeType> <muws-p2-xs:TimeScope>Interval</muws-p2-xs:TimeScope> <!-- OR <muws-p2-xs:TimeScope>SinceReset</muws-p2-xs:TimeScope> --> <muws-p2-xs:GatheringTime>OnChange</muws-p2-xs:GatheringTime> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/Metrics </muws-p2-xs:Capability> </rmd:Property> <rmd:Property path="mows-xs:NumberOfFailedRequests" mutability="mutable" modifiability="read-only”> <muws-p2-xs:ChangeType>Counter</muws-p2-xs:ChangeType> <muws-p2-xs:TimeScope>Interval</muws-p2-xs:TimeScope> <!-- OR <muws-p2-xs:TimeScope>SinceReset</muws-p2-xs:TimeScope> --> <muws-p2-xs:GatheringTime>OnChange</muws-p2-xs:GatheringTime> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/Metrics </muws-p2-xs:Capability> </rmd:Property> <rmd:Property path="mows-xs:NumberOfSuccessfulRequests" mutability="mutable" modifiability="read-only”> <muws-p2-xs:ChangeType>Counter</muws-p2-xs:ChangeType> <muws-p2-xs:TimeScope>Interval</muws-p2-xs:TimeScope> <!-- OR <muws-p2-xs:TimeScope>SinceReset</muws-p2-xs:TimeScope> --> <muws-p2-xs:GatheringTime>OnChange</muws-p2-xs:GatheringTime> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/Metrics </muws-p2-xs:Capability> </rmd:Property> <rmd:Property path="mows-xs:ServiceTime" mutability="mutable" modifiability="read-only”> <muws-p2-xs:ChangeType>Gauge</muws-p2-xs:ChangeType> <muws-p2-xs:TimeScope>Interval</muws-p2-xs:TimeScope> <!-- OR <muws-p2-xs:TimeScope>SinceReset</muws-p2-xs:TimeScope> --> <muws-p2-xs:GatheringTime>OnChange</muws-p2-xs:GatheringTime> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/Metrics </muws-p2-xs:Capability> </rmd:Property> <rmd:Property path="mows-xs:MaxResponseTime" mutability="mutable"
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 17 of 48
749750751
752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797
33
34
modifiability="read-only”> <muws-p2-xs:ChangeType>Gauge</muws-p2-xs:ChangeType> <muws-p2-xs:TimeScope>Interval</muws-p2-xs:TimeScope> <!-- OR <muws-p2-xs:TimeScope>SinceReset</muws-p2-xs:TimeScope> --> <muws-p2-xs:GatheringTime>OnChange</muws-p2-xs:GatheringTime> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/Metrics </muws-p2-xs:Capability> </rmd:Property> <rmd:Property path="mows-xs:LastResponseTime" mutability="mutable" modifiability="read-only”> <muws-p2-xs:ChangeType>Gauge</muws-p2-xs:ChangeType> <muws-p2-xs:TimeScope>PointInTime</muws-p2-xs:TimeScope> <muws-p2-xs:GatheringTime>OnChange</muws-p2-xs:GatheringTime> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/Metrics </muws-p2-xs:Capability> </rmd:Property>
See Appendix A for a complete metadata document for the WeatherStation service manageability endpoint.
2.6.2 Examples MOWS MetricsThe resource properties document of a managed Web service must conform to the metadata specification of the MOWS metrics. For example, a resource properties document that exposes the first five MOWS metric properties as TimeScope=“SinceReset” would expose the MOWS metrics with ResetAt and LastUpdated attributes as follows:
<wsws-mgr-xs:WeatherManagementServiceProperties ...> ... <muws-p2-xs:CurrentTime>2005-06-14T14:25:21.6589722-04:00</muws-p2-xs:CurrentTime>
<mows-xs:NumberOfRequests ResetAt="2005-06-13T14:24:20.2181944-04:00" LastUpdated="2005-06-14T14:24:58.2582128-04:00">1556</mows-xs:NumberOfRequests> <mows-xs:NumberOfSuccessfulRequests ResetAt="2005-06-13T14:24:20.2181944-04:00" LastUpdated="2005-06-14T14:24:58.2582128-04:00">1549</mows-xs:NumberOfSuccessfulRequests> <mows-xs:NumberOfFailedRequests ResetAt="2005-06-13T14:24:20.2181944-04:00" LastUpdated="2005-06-14T14:24:58.1881806-04:00">7</mows-xs:NumberOfFailedRequests> <mows-xs:ServiceTime ResetAt="2005-06-13T14:24:20.2582128-04:00" LastUpdated="2005-06-14T14:24:58.2181944-04:00">PT3H28M13.52S</mows-xs:ServiceTime> <mows-xs:MaxResponseTime ResetAt="2005-06-13T14:24:20.2181944-04:00" LastUpdated="2005-06-13T16:12:36.3763419-04:00">PT12.02S</mows-xs:MaxResponseTime> <mows-xs:LastResponseTime LastUpdated="2005-06-13T14:24:58.2582128-04:00">PT0.015S</mows-xs:LastResponseTime> ... <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/Metrics </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/Metrics </muws-p1-xs:ManageabilityCapability></wsws-mgr-xs:WeatherManagementServiceProperties>
On the other hand, if a resource properties document treats the first five MOWS metric properties as TimeScope=“Interval”, then the preceding resource properties document snippet would use the Duration attribute rather than the ResetAt attribute as follows (where the duration of the collecting the data is the last 24 hours):
<muws-p2-xs:CurrentTime>2005-06-14T14:25:21.6589722-04:00</CurrentTime>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 18 of 48
798799800801802803804805806807808809810811812813814815816
817818
819820821822823
824825826827
828829830831832833834835836837838839840841842843844845846847848849850851852
853854855856
857
35
36
<mows-xs:NumberOfRequests LastUpdated="2005-06-14T14:24:58.2582128-04:00" Duration="PT24H">1556</mows-xs:NumberOfRequests> <mows-xs:NumberOfSuccessfulRequests LastUpdated="2005-06-14T14:24:58.2582128-04:00" Duration="PT24H">1549</mows-xs:NumberOfSuccessfulRequests> <mows-xs:NumberOfFailedRequests LastUpdated="2005-06-14T14:24:12.1881806-04:00" Duration="PT24H">7</mows-xs:NumberOfFailedRequests> <mows-xs:ServiceTime LastUpdated="2005-06-14T14:24:58.2181944-04:00" Duration="PT24H">PT3H28M13.52S</mows-xs:ServiceTime> <mows-xs:MaxResponseTime LastUpdated="2005-06-13T16:12:36.3763419-04:00" Duration="PT24H">PT10.02S</mows-xs:MaxResponseTime>
<!-- AS ABOVE -->
While the GetResourceProperty operation may be used to retrieve a single metric, we recommend that management applications support and use the GetMultipleResourceProperties operation for requesting metrics. For example, it is desirable for a management application to receive data on the NumberOfRequests, NumberOfSuccessfulRequests, and NumberOfFailedRequests for the same time period and interval. The span of time involved in separate requests for each metric might produce less consistent results. In our example, a management application would request metrics via the following exchange:
<wsrf-rp:GetMultipleResourceProperties> <wsrf-rp:ResourceProperty> muws-p2-xs:CurrentTime </wsrf-rp:ResourceProperty> <wsrf-rp:ResourceProperty> mows-xs:NumberOfRequests </wsrf-rp:ResourceProperty> <wsrf-rp:ResourceProperty> mows-xs:NumberOfSuccessfulRequests </wsrf-rp:ResourceProperty> <wsrf-rp:ResourceProperty> mows-xs:NumberOfFailedRequests </wsrf-rp:ResourceProperty> </wsrf-rp:GetMultipleResourceProperties>
If the TimeScope=“SinceReset” for the requested metrics, then a response to the above request appears as follows:
<wsrf-rp:GetMultipleResourcePropertiesResponse> <muws-p2-xs:CurrentTime> 2005-06-14T14:25:21.6589722-04:00 </muws-p2-xs:CurrentTime> <mows-xs:NumberOfRequests ResetAt="2005-06-13T14:24:20.2181944-04:00" LastUpdated="2005-06-14T14:24:58.2582128-04:00"> 1556 </mows-xs:NumberOfRequests> <mows-xs:NumberOfSuccessfulRequests ResetAt="2005-06-13T14:24:20.2181944-04:00" LastUpdated="2005-06-14T14:24:58.2582128-04:00"> 1549 </mows-xs:NumberOfSuccessfulRequests> <mows-xs:NumberOfFailedRequests ResetAt="2005-06-13T14:24:20.2181944-04:00" LastUpdated="2005-06-14T14:24:58.1881806-04:00"> 7 </mows-xs:NumberOfFailedRequests> </wsrf-rp:GetResourceMultiplePropertiesResponse>
2.7 Request Processing StateA manageability consumer may also wish to be notified of the state of a request that is being processed by a Web service. The processing states of a request are Received, Processing, Failed, and Completed.
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 19 of 48
858859860861862863864865866867
868869
870871872873874875876
877878879880881882883884885886887888889890
891892
893894895896897898899900901902903904905906907908909
910911912913
37
38
For example, let us assume that a GetCurrentTemperature request that has been sent to our weather station Web service changes state from Processing to Completed. A manageability consumer can subscribe to notifications whenever a request changes processing state.
The manageability consumer may receive notifications for:
All processing state changes as they occur
A select sub-set of such notifications, for example, the manageability consumer may receive notifications only for transitions to the Failed or Completed states
A “digest” or "history" of state transitions the request underwent.
See section 5.2.6 of the MOWS specification for more information regarding the RequestProcessingState manageability capability.
The MOWS RequestProcessingState capability requires no new properties be included in our resource properties document. However, our resource properties document should include a statement indicating that the RequestProcessingState capability is supported. This statement appears as follows:
<wsws-mgr-xs:WeatherManagementServiceProperties . . .>
<muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/RequestProcessingState </muws-p1-xs:ManageabilityCapability></wsws-mgr-xs:WeatherManagementServiceProperties"
Our resource properties document should also specify what Topics are supported for emitting management events. As an example, support for emitting notifications for all request processing state changes is specified using the mows-ev:RequestProcessingObservations topic and appears as follows:
<wsws-mgr-xs:WeatherManagementServiceProperties ...>
<wsnt:Topic Dialect="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-Topics-1.2-draft-01.xsd/TopicExpression/Simple"> mows-ev:RequestProcessingStateCapability </wsnt:Topic> <wsnt:Topic Dialect="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-Topics-1.2-draft-01.xsd/TopicExpression/Simple"> mows-ev:RequestProcessingObservations </wsnt:Topic></wsws-mgr-xs:WeatherManagementServiceProperties
Use the TopicExpression/Concrete dialect, described in section 7.2 of the WS-Topics specification, when specifying support for a subtopic. For example, supporting notifications of digests would require a topic specification as follows:
<wsnt:Topic Dialect="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-Topics-1.2-draft-01.xsd/TopicExpression/Concrete"> mows-ev:RequestProcessingObservations/Digest </wsnt:Topic>
2.7.1 Subscribing to Processing State ChangesIn order to subscribe to the RequestProcessingObservations topic, our request appears as follows:
<wsnt:Subscribe> <wsnt:ConsumerReference>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 20 of 48
914915916
917
918
919920
921
922923
924925926927
928
929930931932933934
935936937938
939
940941942943944945946947948949950951
952953954
955956957958959
960961962
963964
39
40
... </wsnt:ConsumerReference> <wsnt:TopicExpression Dialect="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-Topics-1.2-draft-01.xsd/TopicExpression/Simple"> mows-ev:RequestProcessingObservations </wsnt:TopicExpression> </wsnt:Subscribe>
If we subscribe to a digest of request processing state changes, then the topic specification in our request appears as follows:
<wsnt:TopicExpression Dialect="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-Topics-1.2-draft-01.xsd/TopicExpression/Concrete"> mows-ev:RequestProcessingObservations/Digest </wsnt:TopicExpression>
The response to the above subscription request is described in section 2.7.2 of this primer.
2.7.2 Notification MessagesNotifications emitted on the RequestProcessingObservations topic must contain at most one element referring to the new state of a request. For example either RequestReceivedState or RequestProcessingState would appear. This constraint is expressed in the StateTransition/EnteredState element in our example as follows:
<wsnt:Notify> <wsnt:NotificationMessage> <wsnt:Topic Dialect="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-Topics-1.2-draft-01.xsd/TopicExpression/Simple"> mows-ev:RequestProcessingObservations </wsnt:Topic> <wsnt:Message> <muws-p1-xs:ManagementEvent ReportTime="2005-06-16T08:24:34.7940060-04:00"> .. . . <muws-p2-xs:Situation> . . . </muws-p2-xs:Situation> <mows-xs:RequestProcessingNotification CurrentTime="2005-06-16T08:24:34.7940060-04:00"> <mows-xs:Request> . . . </mows-xs:Request> <mows-xs:StateInformation> <muws-p2-xs:StateTransition Time="2005-06-16T08:24:34.7940060-04:00"> <muws-p2-xs:EnteredState> <mows-xs:RequestCompletedState/> </muws-p2-xs:EnteredState> <muws-p2-xs:PreviousState> <mows-xs:RequestProcessingState/> </muws-p2-xs:PreviousState> </muws-p2-xs:StateTransition> </mows-xs:StateInformation> </mows-xs:RequestProcessingNotification> </muws-p1-xs:ManagementEvent> </wsnt:Message> </wsnt:NotificationMessage> </wsnt:Notify>
The above notification describes a transition from ProcessingState to CompletedState for a particular request. Notice that exactly one occurrence of the <RequestProcessingNotification>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 21 of 48
965966967968969970971972
973974
975976977978979
980
981982983984985
986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020
10211022
41
42
element is stipulated by the MessagePattern element of the RequestProcessingObservations Topic definition as follows:
<wstop:Topic name="RequestProcessingObservations" messageTypes="muws-p1-xs:ManagementEvent"> <MessagePattern Dialect="http://www.w3.org/TR/1999/REC-xpath-19991116"> //muws-p1-xs:ManagementEvent[muws-p2-xs:Situation/muws-p2-xs:SituationCategory//muws-p2-xs:ReportSituation and muws-p2-xs:Severity="1" and count(mows-xs:RequestProcessingNotification)=1]</MessagePattern> ... <!-- Subtopics of QuestionProcessingObservations --></wstop:Topic>
See the MOWS Schema for the definition of the <RequestProcessingNotification> element.
2.8 Composing Business and Management FunctionalityThe examples presented in sections 2.2 through 2.7 of this primer rely upon a manageability endpoint that is independent of and separate from the endpoint for our managed Web service. In this section we address a scenario in which business functionality (the endpoint for our manageable Web service) and management capability (the manageability endpoint) are composed together into the same endpoint. To compose a management and a functional endpoint, each endpoint must be a WS-Resource. Up to this point in the MOWS primer, our example of a weather station Web service is not itself a WS-Resource. Thus a separate WS-Resource to manage our weather station Web service was necessary. In this section our examples are based upon the composition of business functionality and management capability into the same endpoint.
Consider an example of a a printer resource enabled as a Web-service. The printer may have a business/functional interface consisting of the operation Print(…). The argument to this operation may be a URL to the location of the document that is to be printed. Such a printer could offer its printing service at an enterprise level.
The Web service endpoint for the printer could be a WS-Resource. This architecture would allow the Web service interface of the printer to support management functions in addition to the Print service. Some of the management capabilities supported by the WS-Resource may, in fact, be related to specific printer management functionality such as exposing available toner capacity (printer properties) and printed page counts (printer metrics).
Moreover, because this printer presents a Web service interface, it is possible to include MOWS management capabilities to manage the printer’s Web service through the same endpoint. Both the clients of the printer Web service and management applications take advantage of the same Web service endpoint. For additional information about this example, see section 2.2 in the MOWS specification.
2.8.1 The Basic Printer Web ServiceThe basic printer Web service in our example is the MyWSPrinterService and provides a Print operation. This operation accepts a URL and has no return argument. An example of the WSDL describing this service appears as follows:
<w:definitions . . .xmlns:tns="http://example.org/"targetNamespace="http://example.org/">
<w:types> <xs:schema elementFormDefault="qualified"
targetNamespace="http://example.org/"> <xs:element name="Print">
<xs:complexType>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 22 of 48
10231024
102510261027102810291030103110321033
1034
10351036103710381039104010411042104310441045
1046104710481049
10501051105210531054
10551056105710581059
1060106110621063
1064106510661067
106810691070107110721073
43
44
<xs:sequence> <xs:element name="documentURL" type="xs:anyURI"
minOccurs="1" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> </w:types>
<w:message name="PrintIn"> <w:part name="parameters" element="tns:Print" /> </w:message>
<w:portType name="MyWSPrinterServicePortType"> <w:operation name="Print"> <w:input message="tns:PrintIn" /> </w:operation> </w:portType>
<w:binding name="MyWSPrinterServiceSoap" type="tns:MyWSPrinterServicePortType"> ... </w:binding>
<w:service name="MyWSPrinterService"> <w:port name="MyWSPrinterServicePort" binding="tns:MyWSPrinterSoap"> <soapw:address location="http://example.org/services"/> </w:port> </w:service></w:definitions>
2.8.2 The Printer’s Resource Properties DocumentA target namespace for the schema in the resource properties document of our example Printer resource is http://example.org/MyWSPrintersResourceProperties.xsd. The schema for the resource properties document includes both MUWS and MOWS manageability capabilities. However, the MOWS Identification capability does NOT need to be supported. This is because all MOWS management capabilities are provided at the same endpoint as the managed Web service, thus there is no need to provide identification for the endpoint of the Web service. However, the resource should support the MUWS Description capability.
In addition, a PrinterManageabilityCapability is defined that provides access to the resource property TonerLevel. Moreover, manageability consumers are likely to have interest in the current state of the printer. Therefore, the PrinterManageabilityCapability should also include a resource property, PrinterState that exposes the current state of the printer. PrinterState is defined as either Off-Line or On-Line. If the PrinterState is On-Line, then it is either Printing or Idle. PrinterState is an extension of the MUWS Part 2 State capability and is described in our example by the URI http://example.com/capabilities/MyWSPrintersResource/PrinterState. See section 5.2 of the MUWS primer for information on extending the State capability and defining a domain specific State taxonomy. Although recommended in Part 2 of the MUWS specification, a resource property representing state transitions is not considered to be useful to manageability consumers in this case.Therefore, a resource property representing state transistions is omitted here. Also, our example omits MUWS Part 2 Relationship capabilities. For additional information on the Relationships capability, see section 2.13 of the MUWS Primer.
For the sake of simplicity and readability, namespace declarations and import statements in our example schema are omitted where standard namespace prefixes are used. Our example schema appears as follows:
<xs:schema targetNamespace="http://example.org/MyWSPrintersResourceProperties.xsd" ... elementFormDefault="qualified" attributeFormDefault="unqualified">
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 23 of 48
1074107510761077107810791080
1081108210831084
108510861087108810891090
10911092109310941095
1096109710981099110011011102
11031104110511061107110811091110
1111111211131114111511161117111811191120112111221123
112411251126
1127112811291130
1131
45
46
<xs:simpleType name="TonerLevelType"> <xs:restriction base="xs:string"> <xs:enumeration value="Very low"/> <xs:enumeration value="Low"/> <xs:enumeration value="Adequate for normal operating conditions"/> <xs:enumeration value="Full"/> </xs:restriction> </xs:simpleType> <xs:element name="TonerLevel" type="printer-xs:ToneLevelType"/>
<xs:complexType name="PrinterStateType"> <xs:complexContent> <xs:extension base="muws-p2-xs:StateType"/> </xs:complexContent> </xs:complexType> <xs:element name="Off-Line"> <xs:complexType> <xs:complexContent> <xs:restriction base="printer-xs:PrinterStateType" /> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="On-Line"> <xs:complexType> <xs:complexContent> <xs:restriction base="printer-xs:PrinterStateType" /> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="Printing"> <xs:complexType> <xs:complexContent> <xs:restriction base="printer-xs:PrinterStateType"> <xs:sequence> <xs:element ref="printer-xs:On-line" /> </xs:sequence> </xs:restriction> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="Idle"> <xs:complexType> <xs:complexContent> <xs:restriction base="printer-xs:PrinterStateType"> <xs:sequence> <xs:element ref="printer-xs:On-line" /> </xs:sequence> </xs:restriction> </xs:complexContent> </xs:complexType> </xs:element>
<xs:element name="PrinterState" type="printer-xs:PrinterStateType"/>
<xs:element name="MyWSPrintersResourceProperties"> <xs:complexType> <xs:sequence> <xs:element ref="muws-p1-xs:ResourceId"/> <xs:element ref="muws-p2-xs:Caption" maxOccurs="unbounded"/> <xs:element ref="muws-p2-xs:Description" maxOccurs="unbounded"/> <xs:element ref="muws-p2-xs:Version" minOccurs="0"/> <xs:element ref="muws-p2-xs:OperationalStatus"/> <xs:element ref="mows-xs:CurrentOperationalState"/> <xs:element ref="mows-xs:LastOperationalStateTransition" minOccurs="0"/> <xs:element ref="muws-p2-xs:CurrentTime"/> <xs:element ref="mows-xs:NumberOfRequests" minOccurs="0"/> <xs:element ref="mows-xs:NumberOfFailedRequests" minOccurs="0"/> <xs:element ref="mows-xs:NumberOfSuccessfulRequests" minOccurs="0"/> <xs:element ref="mows-xs:ServiceTime" minOccurs="0"/>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 24 of 48
113211331134113511361137113811391140
114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182
11831184
11851186118711881189119011911192119311941195119611971198119912001201
47
48
<xs:element ref="mows-xs:MaxResponseTime" minOccurs="0"/> <xs:element ref="mows-xs:LastResponseTime" minOccurs="0"/> <xs:element ref="muws-p1-xs:ManageabilityCapability" maxOccurs="unbounded"/> <xs:element ref="wsnt:Topic" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="printer-xs:TonerLevel"/> <xs:element ref="printer-xs:PrinterState"/> </xs:sequence> </xs:complexType> </xs:element></xs:schema>
The support of additional ManageabilityCapabilities, such as MOWS RequestProcessingState, and specific Topics are left to the discretion of the designer.
Our example resource properties document containing information relevant to the PrinterManageabilityCapability appears as follows:
<printer-xs:MyWSPrinterServiceProperties . . .>
<printer-xs:TonerLevel>Low</printer-xs:TonerLevel> <printer-xs:PrinterState> <printer-xs:Printing> <printer-xs:On-Line/> </printer-xs:Printing> </printer-xs:PrinterState> ... <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/State </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://example.com/capabilities/MyWSPrintersResource/PrinterState </muws-p1-xs:ManageabilityCapability></printer-xs:MyWSPrinterServiceProperties>
Notice that the ManageabilityCharacteristics list provides the URI of the PrinterState capability we defined above. Because this capability is an extension of the MUWS Part 2 State capability, ManageabilityCharacteristics must also expose the MUWS Part 2 State capability as described in section 2.8 of the MUWS Primer.
2.8.3 Printer WSDL ModificationsThe WSDL for our example MyWSPrinterService now needs to support the resource properties document and GetResourceProperty within the same portType as the Print operation. The printer’s interface does not need to support GetManageabilityReferences for the same reason that the WS-Resource does not need to support the MOWS Identification capability. We need not support these capabilities since the manageability and manageable endpoints are one and the same.
<w:definitions targetNamespace="http://example.org/services/MyWSPrinterService.wsdl" ...>
<w:types> <xs:schema> ... <xs:element name="Print"> <xs:complexType> <xs:sequence> <xs:element name="documentURL" type="xs:anyURI"
minOccurs="1" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 25 of 48
120212031204120512061207120812091210121112121213
12141215
12161217
1218
121912201221122212231224122512261227122812291230123112321233
1234123512361237
1238123912401241124212431244
124512461247
124812491250125112521253125412551256125712581259
49
50
</xs:schema> </w:types>
<w:message name="PrintIn"> <w:part name="parameters" element="printer-w:Print" /> </w:message>
<w:portType name="MyWSPrinterServicePortType" wsrf-rp:ResourceProperties="printer-xs:MyWSPrintersResourceProperties"> <w:operation name="Print"> <w:input message="printer-w:PrintIn" /> </w:operation>
<w:operation name="GetResourceProperty"> <w:input name="GetResourcePropertyRequest" message="wsrf-rpw:GetResourcePropertyRequest" wsa:Action="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl/GetResourcePropertyDocument/GetResourcePropertyRequest"/> <w:output name="GetResourcePropertyResponse" message="wsrf-rpw:GetResourcePropertyResponse" wsa:Action="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl/GetResourcePropertyDocument/GetResourcePropertyResponse"/> FAULTS </w:portType>
<w:binding> ... </binding>
<w:service name="MyWSPrinterService"> <w:port name="MyWSPrinterServicePort" binding="..."> <soapw:addresslocation="http://example.org/services/MyWSPrinterServiceEndpoint"/> </w:port> </w:service></w:definitions>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 26 of 48
12601261
1262126312641265
126612671268126912701271
12721273127412751276127712781279128012811282128312841285
12861287
128812891290129112921293129412951296
51
52
3 Consuming Manageability for Web service Resources
In this section we address issues of the consumer of the services provided by the manageability endpoint of a Web service.
3.1 Obtaining Manageability Endpoints for a Web Service
The endpoint of a managed Web service may not be the same endpoint that supports that endpoint’s manageability, as illustrated in our weather station Web service example in sections 2.1 through 2.7 of this primer. On the other hand, the endpoint of a managed Web service may itself be a manageability endpoint, as illustrated in our printer Web service example in section 2.8 of this primer. This section will address how a manageability consumer can discover the manageability endpoint for a Web service under these different architectures. For general information on obtaining the EPR to a manageability endpoint of a manageable resource, see section 4.1 of the MUWS primer.
The standard means of finding the reference to a Web service endpoint is through a registry of Web services, e.g., a UDDI registry or other type of service registry. Depending on how a registry is constructed, a request to the registry may return a URL or an EPR. Determining whether the referenced endpoint is manageability endpoint, or to get to that endpoint’s manageability endpoint (if one exists), may employ several strategies.
For example, if the WSDL document describing the endpoint can be retrieved, the manageability consumer may determine if the endpoint either
supports a resource properties document on its portType, or
specifies the GetManageabilityReferences operation
Or the consumer can first just try sending a GetManageabilityReferences request to the endpoint.
If the Web service provides the GetManageabilityReferences operation, then the endpoint is (at least) a managed Web service endpoint and the management interface for the Web service can be determined from the response. If a fault is returned, the manageability consumer could next send a GetResourceProperty request asking from the muws1:ResourceID to the Web service. A successful reponse means that the Web service is a manageability endpoint that manages another Web service or a manageability endpoint that shares the same endpoint address as the managed Web service.
To determine what type of endpoint is being addressed, the management consumer can request the endpoint’s EndpointReference property (of the MOWS Identification capability) and check that that EndpointReference is the same as the endpoint for the Web service. If the endpoint supports manageability but does not support the MOWS Identification capability, then it is highly likely that the managed and manageability endpoints are the same.
If the portType supports a resource properties document, then the URL or EPR retrieved from the registry points to a WS-Resource. However, this WS-Resource may not comply with MUWS as a manageability endpoint. To determine whether an endpoint is a manageability endpoint, a manageability consumer can:
verify from the <types> element of the WSDL document that the ResourceId element is supported in the first level children of the resource properties document, or
request the muws1:ResourceId property as described above
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 27 of 48
1297
129812991300
1301130213031304130513061307130813091310
13111312131313141315
13161317
1318
1319
1320
1321132213231324132513261327
13281329133013311332
1333133413351336
13371338
1339
53
54
If inspection of the WSDL document is not possible and requests for the MUWS ResourceId fail, either the Web service does not have a manageability interface or some other means of locating the manageability endpoint will need to be used. An alternative might be to access other registries in the environment or other discovery mechanisms as described in section 4.1 of the MUWS primer.
3.2 Determining the Health of a Web ServiceA typical pursuit of a manageability consumer is monitoring the “health” of a Web service. Information about the health of a Web service is provided by the MOWS Operational Status and State properties.
A manageability consumer may periodically request the status or state of a Web service using a GetResourceProperties or GetMultipleResourceProperties message exchange with the manageability endpoint of a Web service. However, a more likely scenario is a manageability consumer requesting a subscription to the events related to operational status and state of a Web service. For additional information on subscribing to events, see section 2.4.1 in the MUWS primer. When a manageability consumer receives notification of a status change, it can then request the current state of the Web service. Thus a manageability consumer may refine its understanding of the health of a Web service while eliminating uneccessary message exchanges. For example, upon receiving a notification that a Web service is Available, a manageability consumer may inquire as to the service’s current state, as follows:
<wsrf-rp:GetResourceProperty> mows-xs:CurrentOperationalState </wsrf-rp:GetResourceProperty>
A response to the above request appears as follows:
<wsrf-rp:GetResourcePropertyResponse> <mows-xs:CurrentOperationalState> <mows-xs:IdleState> <mows-xs:Upstate/> </mows-xs:IdleState </mows-xs:CurrentOperationalState> </wsrf-rp:GetResourcePropertyResponse>
The Web service is available (Up) but currently is Idle. A manageability consumer may then decide to schedule another request in ten minutes, for example, to determine whether the Web service is still Idle or has transitioned to the BusyState.
A manageability consumer may need to respond to a more serious situation if a resource reports a status change from Available to Unavailable. Upon receiving such a notification a manageability consumer may again request the CurrentOperationalState and receive a response as follows:
<wsrf-rp:GetResourcePropertyResponse> <mows-xs:CurrentOperationalState> <mows-xs:SaturatedState> <mows-xs:DownState/> </mows-xs:SaturatedState </mows-xs:CurrentOperationalState>
The response above provides a manageability consumer with a deeper understanding of why a Web service is unavailable. In particular, the current state or a Web service is Saturated and its resources are no longer available for the handling of functional requests. A Web service may be Unavailable due to an administrator stopping the Web service or due to a system crash or internal processing error. This state information can be retrieved by the manageability consumer for display on a management console or for further manipulation as suits the monitoring and health application.
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 28 of 48
13401341134213431344
1345134613471348
1349135013511352135313541355135613571358
135913601361
1362
1363136413651366136713681369
137013711372
137313741375
137613771378137913801381
1382138313841385138613871388
55
56
For example, a manageability consumer displays state transition information as a further aid to a console operator in addressing the problem as follows:
<wsrf-rp:GetResourceProperty> mows-xs:LastOperationalStateTransition </wsrf-rp:GetResourceProperty>
As an example, a response to the above request identifying the previous state of the Web service before transitioning to the Unavailable state appears as follows:
<wsrf-rp:GetResourcePropertyResponse> <mows-xs:LastOperationalStateTransition> <muws-p2-xs:StateTransition Time="2005-16-11T12:30:35Z"> <muws-p2-xs:EnteredState> <mows-xs:StoppedState> <mows-xs:DownState/> </mows-xs:StoppedState> </muws-p2-xs:EnteredState> <muws-p2-xs:PreviousState> <mows-xs:IdleState> <mows-xs:UpState/> </mows-xs:IdleState> </muws-p2-xs:PreviousState> </muws-p2-xs:StateTransition> </mows-xs:LastOperationalStateTransition>
In our example response above, the Web service was administratively stopped and transitioned into the stopped state from a previous state of idle.
3.3 Retrieving MetricsFor a manageability consumer to make use of the MOWS Metrics capability, the manageability endpoint of a Web service should implement the GetMultipleResourceProperties operation as described in section 2.4.1 of the MUWS primer. This operation allows a management application to retrieve related metric properties in a single request. By retrieving the values of related metrics in a single request, a manageability consumer is likely to see more consistent results than by retrieving each metric value in a separate GetResourceProperty message exchange. For example, the MOWS metric properties NumberOfRequests, NumberOfFailedRequests, and NumberOfSuccessfulRequests are best compared and analyzed when these metric values are derived for a similar collection interval. An example of a SOAP message a manageability consumer sends to the manageability endpoint of a Web service to retrieve current values for these three metric properties appears as follows:
<wsrf-rp:GetMultipleResourceProperties> <wsrf-rp:ResourceProperty> muws2-xs:CurrentTime </wsrf-rp:ResourceProperty> <wsrf-rp:ResourceProperty> mows-xs:NumberOfRequests </wsrf-rp:ResourceProperty> <wsrf-rp:ResourceProperty> mows-xs: NumberOfFailedRequests </wsrf-rp:ResourceProperty> <wsrf-rp:ResourceProperty> mows-xs: NumberOfSuccessfulRequests </wsrf-rp:ResourceProperty> </wsrf-rp:GetMultipleResourceProperties>
The WSDM specification recommends that each request for metric properties also include a request for the MUWS Part 2 CurrentTime property.
An example of a typical response to our request appears as follows:
<wsrf-rp:GetMultipleResourcePropertiesResponse>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 29 of 48
13891390
139113921393
13941395
139613971398139914001401140214031404140514061407140814091410
14111412
141314141415141614171418141914201421142214231424
14251426142714281429143014311432143314341435143614371438
14391440
1441
1442
57
58
<wsrf-rp:ResourceProperty> <muws2-xs:CurrentTime>2005-06-14T14:25:21.6589722-04:00</CurrentTime> </wsrf-rp:ResourceProperty> <wsrf-rp:ResourceProperty> <mows-xs:NumberOfRequests ResetAt="2005-06-14T14:24:58.2181944-04:00" LastUpdated="2005-06-14T14:24:58.2582128-04:00">1556</NumberOfRequests> </wsrf-rp:ResourceProperty> <wsrf-rp:ResourceProperty> <mows-xs:NumberOfFailedRequests ResetAt="2005-06-14T14:24:58.2181944-04:00" LastUpdated="2005-06-14T14:24:58.1881806-04:00">7</NumberOfFailedRequests> </wsrf-rp:ResourceProperty> <wsrf-rp:ResourceProperty> <mows-xs:NumberOfSuccessfulRequests ResetAt="2005-06-14T14:24:58.2181944-04:00" LastUpdated="2005-06-14T14:24:58.2582128-04:00">1549</NumberOfSuccessfulRequests> </wsrf-rp:ResourceProperty> </wsrf-rp:GetMultipleResourcePropertiesResponse>
Our example response above was derived from the Resource Properties Document in section 2.6 of the MUWS primer.
A manageability consumer may use this information to display a graphic like a bar or pie chart, of the requests processed by a Web service and indicate the number of successful and failed requests within the time interval as designated by the @ResetAt and @LastUpdated attributes. The MOWS metric properties of ServiceTime, MaxResponseTime, and LastResponseTime may be used by a manageability consumer in a similar fashion.
A manageability consumer may request to be notified if the value of a metric exceeds a threshold. For example, a manageability consumer may wish to be notified when the value of the NumberOfFailedResponses property exceeds ten within any collection interval. To subscribe for such a notification, a manageability consumer sends a request to the manageability endpoint as follows:
<wsnt:Subscribe> ... <wsnt:TopicExpression Dialect="http://docs.oasis-open.org/wsn/2004/06/TopicExpression/Simple"> mows-ev:NumberOfFailedRequests </wsnt:TopicExpression> <wsnt:Selector Dialect="http://www.w3.org/TR/1999/REC-xpath-19991116"> boolean(mows-xs:NumberOfFailedRequests > "10") </wsnt:Selector> </wsnt:Subscribe>
In the request above, the <wsnt:Selectort> element specifies the XPath expression [XPath] upon which the content of a notification is evaluated by the Notification Producer before it is sent to a subscriber. In the request above, the expression, mows-xs:NumberOfFailedRequests > 10, must be true for a notification to be sent to this subscriber.
Notice that the first notification is generated for this subscription when the value of the NumberOfFailedRequests metric is 11. However, further notifications are generated for this subscription when this value becomes 12, and then 13, and so on.
3.4 Consuming NotificationsNotifications provide a critical tool for a manageability consumer. Different topics as specified by MOWS and MUWS are relevant to different types of management application as follow:
Management Application MUWS / MOWS
Topic
Relevance
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 30 of 48
14431444144514461447144814491450145114521453145414551456145714581459
14601461
14621463146414651466
14671468146914701471
14721473147414751476147714781479148014811482
1483148414851486
148714881489
149014911492
59
60
Distribution Applications Status Confirm successful installation (e.g., Status=”Available”)
Topology Applications Status / State
Relationships
Supplement console display with current status / state
Display network topology on this console. Note: this topology may be dynamic as resources and relationships are created on the network.
Configuration Applications Identification / Configuration
Reveal configuration of managed services
Event and Automation Applications Status / State/ RequestProcessing
Notifications are triggers for automation
Monitoring and Performance Applications
Status / State / Metrics
Monitoring status and state of a resource in real time.
For a manageability consumer to consume notifications, it must implement an event Listener. Many modern programming languages such as Java and C# provide mechanisms for supporting events and subscriptions.
3.5 Obtaining Request Processing State InformationAs described in section 2.7 of the MUWS primer, a manageability consumer can subscribe to notifications related to changes of state of each request processed by a managed Web service. The manageability consumer may subscribe to receive notification messages related to:
each of the state changes during the processing of a request
a subset of the state changes during the processing of a request
a digest (history) of the state changes for the processing of a request
The type of notification a manageability consumer wishes to receive depends upon the functional requirements and design of the consumer.
In addition to a manageability consumer subscribing to a specific topic offered by a managed resource, a manageability consumer may also specify additional filters on a subscription to further refine the content of notifications it wishes to receive. There are three types of selection criteria to filter a generated notification. These selection criteria are: TopicExpression, Precondition and Selector. The TopicExpression filter as used in this primer appears as follows:
<wsnt:Subscribe> ... <wsnt:TopicExpression Dialect="http://docs.oasis-open.org/wsn/2004/06/TopicExpression/Simple"> muws-ev:OperationalStatus </wsnt:TopicExpression></wsnt:Subscribe>
Notice that this example uses the Simple Topic Expression dialect to subscribe to events related to the MUWS Operational Status, an event associated with the MOWS OperationalStatusCapability topic. For additional information, see section 2.6 of the MUWS primer.
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 31 of 48
149314941495
1496149714981499
1500
1501
1502
15031504
15051506150715081509
1510151115121513151415151516
1517151815191520
61
62
A manageability consumer may also qualify a subscription in order to receive notifications only from producers exposing a specific property. An example of such a filter appears as follows:
<wsnt:Subscribe> ... <wsnt:TopicExpression Dialect="http://docs.oasis-open.org/wsn/2004/06/TopicExpression/Simple"> muws-ev:OperationalStatus </wsnt:TopicExpression> <wsnt:Precondition Dialect="http://www.w3.org/TR/1999/REC-xpath-19991116"> boolean(mows-xs:NumberOfFailedRequests>"10") </wsnt:Precondition></wsnt:Subscribe>
For our example subscription above, a notification of an event on the OperationalStatus property is sent to a manageability consumer only if the current number of failed requests on a managed Web service is greater than ten. Notice that unlike the TopicExpression filter, the ProducerProperties filter uses XPath 1.1 to formulate selection criteria.
Finally, a manageability consumer may also qualify subscriptions in order to receive a notification only if specific content exists in a notification message. An example appears as follows:
<wsnt:Subscribe> ... <wsnt:TopicExpression Dialect="http://docs.oasis-open.org/wsn/2004/06/TopicExpression/Simple"> muws-ev:OperationalStatus </wsnt:TopicExpression> <wsnt:Selector Dialect="http://www.w3.org/TR/1999/REC-xpath-19991116"> //muws1:ManagementEvent[muws2:Situation/muws2:Message/wsrf-rp:ResourcePropertyValueChangeNotificaiton/wsrf-rp:NewValue/muws2:OperationalStatus=”Unavailable”] </wsnt:Selector></wsnt:Subscribe>
For our example subscription above, a notification of an event on the OperationalStatus property is sent to a manageability consumer only if the value of the OperationalStatus property has changed to Unavailable. This information is buried “deep” within the MUWS ManagementEvent structure.
Also, notice that both the Precondition filter and the Selector filter may be specified for a subscription. In this case a notification is sent to a manageability consumer only if the conjunction of the respective selection criteria is satisfied. Alternatively, if the TopicExpression element is omitted, a notification message on any topic is sent to a manageability consumer that meets the selection criteria expressed by the ProducerProperties filter and/or the MessageContent filter.
Finally, if a manageability consumer desires complete information about a processed request and if a manageability endpoint supports such a subscription, then it is possible for a manageability consumer to subscribe to these topics using a specification of attachments, mows-ev:RequestProcessingObservationsWithAttachments. When attachments are specified, a notification producer should attempt to attach any input document, etc. to a generated notification.
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 32 of 48
15211522
15231524152515261527152815291530153115321533
1534153515361537
15381539
1540154115421543154415451546154715481549155015511552
1553155415551556
15571558155915601561
15621563156415651566
63
64
4 References[MOWS] Igor Sedukhin, Web Services Distributed Management:Management of
Web Services (WSDM-MOWS) 1.0, OASIS Committee Draft, December 2004, http://docs.oasis-open.org/wsdm/2004/12/cd-wsdm-mows-1.0.pdf
[MUWS] William Vambenepe, Web Services Distributed Management:Management using Web Services (MUWS 1.0) Part 1, OASIS Committee Draft, December 2004, http://docs.oasis-open.org/wsdm/2004/12/wsdm-muws-part1-1.0.pdf William Vambenepe, Web Services Distributed Management:Management using Web Services (MUWS 1.0) Part 2, OASIS Committee Draft, December 2004, http://docs.oasis-open.org/wsdm/2004/12/wsdm-muws-part2-1.0.pdf
[SOAP] Don Box, et al., Simple Object Access Protocol (SOAP) 1.1, W3C Note, May 2000, http://www.w3.org/TR/2000/NOTE-SOAP-20000508/
[WS-Addressing] Don Box, et al., Web services Addressing (WS-Addressing), W3CMember Submission, August 2004, http://www.w3.org/Submission/2004/SUBM-ws-addressing-20040810/
[WS-BaseFaults] Steve Tuecke, et. al., Web Services Base Faults 1.2 (WS-BaseFaults), Oasis Working Draft, November, 2004, http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-BaseFaults-1.2-draft-03.pdf
[WS-ResourceProperties] Steve Graham, et al., Web Services Resource Properties 1.2 (WS-ResourceProperties), OASIS Working Draft, June 2004, http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-04.pdf
[WSDL] Erik Christensen, et al., Web services Description Language (WSDL) 1.1, W3C Note, March 2001, http://www.w3.org/TR/wsdl
[WSLC] Hao He, et al., Web Service Management: Service Lifecycle, W3C Note, February 2004, http://www.w3.org/TR/2004/NOTE-wslc-20040211/
[XML] Tim Bray, et al., Extensible Markup Language (XML) 1.0 (Third Edition), W3C Recommendation, February 2004, http://www.w3.org/TR/REC-xml
[XML Schema] Henry S. Thompson, et al. XML Schema Part 1: Structures, W3C Recommendation, May 2001, http://www.w3.org/TR/xmlschema-1/Paul V. Biron, et al. XML Schema Part 2: Datatypes, W3C Recommendation, May 2001, http://www.w3.org/TR/xmlschema-2/
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 33 of 48
156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611
65
66
[XPath] James Clark, et al., XML Path Language (XPath) Version 1.0, W3C Recommendation, November 1999, http://www.w3.org/TR/1999/REC-xpath-19991116
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 34 of 48
1612161316141615
67
68
Appendix A. Complete XML DocumentsXML Schema for the separate WeatherManagementService manageability endpoint.
<?xml version="1.0" encoding="utf-8"?><xs:schema targetNamespace="http://example.org/services/WeatherManagementService.xsd" xmlns:wsws-mgr-xs="http://example.org/services/WeatherManagementService.xsd" xmlns:muws-p1-xs="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd" xmlns:muws-p2-xs="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd" xmlns:mows-xs="http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows.xsd" xmlns:wsnt="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd" schemaLocation="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd"/> <xs:import namespace="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd" schemaLocation="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd"/> <xs:import namespace="http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows.xsd" schemaLocation="http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows.xsd"/> <xs:import namespace="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd"> schemaLocation="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd "/>
<xs:element name="WeatherManagermentServiceProperties"> <xs:complexType> <xs:sequence> <xs:element ref="muws-p1-xs:ResourceId"/> <xs:element ref="mows-xs:EndpointReference"/> <xs:element ref="mows-xs:EndpointDescriptions"/> <xs:element ref="muws-p2-xs:Caption" maxOccurs="unbounded"/> <xs:element ref="muws-p2-xs:Description" maxOccurs="unbounded"/> <xs:element ref="muws-p2-xs:Version"/> <xs:element ref="muws-p2-xs:OperationalStatus"/> <xs:element ref="mows-xs:CurrentOperationalState"/> <xs:element ref="mows-xs:LastOperationalStateTransition" minOccurs="0"/> <xs:element ref="muws-p2-xs:CurrentTime"/> <xs:element ref="mows-xs:NumberOfRequests" minOccurs="0"/> <xs:element ref="mows-xs:NumberOfFailedRequests" minOccurs="0"/> <xs:element ref="mows-xs:NumberOfSuccessfulRequests" minOccurs="0"/> <xs:element ref="mows-xs:ServiceTime" minOccurs="0"/> <xs:element ref="mows-xs:MaxResponseTime" minOccurs="0"/> <xs:element ref="mows-xs:LastResponseTime" minOccurs="0"/> <xs:element ref="muws-p1-xs:ManageabilityCapability" maxOccurs="unbounded"/> <xs:element ref="wsnt:Topic" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element>
</xs:schema>
An example of a resource properties document conforming to this schema might appear as:
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 35 of 48
1616
1617
1618161916201621162216231624162516261627162816291630
16311632163316341635163616371638163916401641164216431644164516461647
164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674
16751676
1677
69
70
<?xml version="1.0" encoding="utf-8"?><wsws-mgr-xs:WeatherManagementServiceProperties xmlns:wsws-mgr-xs="http://example.org/services/WeatherManagementService.xsd" xmlns:muws-p1-xs="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd" xmlns:muws-p2-xs="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd" xmlns:mows-xs="http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows.xsd" xmlns:wsnt="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:muws-ev="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2-events.xml" xmlns:mows-ev="http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows-events.xml" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
<muws-p1-xs:ResourceId> urn:uuid:E3A0B27A-45E0-40af-A15B-1CDC263F24CE </muws-p1-xs:ResourceId> <mows-xs:EndpointReference> <wsa:Address>http://example.org/services/WeatherStation</wsa:Address> </mows-xs:EndpointReference> <mows-xs:EndpointDescriptions> <mows-xs:description> http://example.org/service?WSDL </mows-xs:description> </mows-xs:EndpointDescriptions>
<muws-p2-xs:Description xml:lang="en-US"> Manageability endpoint for Weather Station Web Service. </muws-p2-xs:Description> <muws-p2-xs:Version> Version 1.4.2, January 2005 </muws-p2-xs:Version> <muws-p2-xs:OperationalStatus> Available </muws-p2-xs:OperationalStatus> <mows-xs:CurrentOperationalState> <mows-xs:BusyState> <mows-xs:UpState/> </mows-xs:BusyState> </mows-xs:CurrentOperationalState> <mows-xs:LastOperationalStateTransition> <muws-p2-xs:StateTransition Time="2005-06-11T10:02:35Z"> <muws-p2-xs:EnteredState> <mows-xs:Upstate/> </muws-p2-xs:EnteredState> <muws-p2-xs:PreviousState> <mows-xs:SaturatedState> <mows-xs:DownState/> </mows-xs:SaturatedState> </muws-p2-xs:PreviousState> </muws-p2-xs:StateTransition> </mows-xs:LastOperationalStateTransition>
<muws-p2-xs:CurrentTime>2005-06-14T14:25:21.6589722-04:00</muws-p2-xs:CurrentTime> <mows-xs:NumberOfRequests ResetAt="2005-06-13T14:24:20.2181944-04:00" LastUpdated="2005-06-14T14:24:58.2582128-04:00">1556</mows-xs:NumberOfRequests> <mows-xs:NumberOfSuccessfulRequests ResetAt="2005-06-13T14:24:20.2181944-04:00" LastUpdated="2005-06-14T14:24:58.2582128-04:00">1549</mows-xs:NumberOfSuccessfulRequests> <mows-xs:NumberOfFailedRequests ResetAt="2005-06-13T14:24:20.2181944-04:00" LastUpdated="2005-06-14T14:24:58.1881806-04:00">7</mows-xs:NumberOfFailedRequests> <mows-xs:ServiceTime ResetAt="2005-06-13T14:24:20.2582128-04:00" LastUpdated="2005-06-14T14:24:58.2181944-04:00">PT3H28M13.52S</mows-xs:ServiceTime>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 36 of 48
167816791680168116821683168416851686168716881689169016911692
169316941695169616971698169917001701170217031704
170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731
17321733173417351736173717381739174017411742174317441745
71
72
<mows-xs:MaxResponseTime ResetAt="2005-06-13T14:24:20.2181944-04:00" LastUpdated="2005-06-13T16:12:36.3763419-04:00">PT12.02S</mows-xs:MaxResponseTime> <mows-xs:LastResponseTime LastUpdated="2005-06-13T14:24:58.2582128-04:00">PT0.015S</mows-xs:LastResponseTime>
<wsnt:Topic Dialect="http://docs.oasis-open.org/wsn/2004/06/TopicExpression/Simple"> muws-ev:OperationalStatusCapability </wsnt:Topic> <wsnt:Topic Dialect="http://docs.oasis-open.org/wsn/2004/06/TopicExpression/Simple"> mows-ev:RequestProcessingStateCapability </wsnt:Topic> <wsnt:Topic Dialect="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-Topics-1.2-draft-01.xsd/TopicExpression/Simple"> mows-ev:RequestProcessingObservations </wsnt:Topic>
<muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/Identity </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/ManageabilityCharacteristics </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/Identification </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/OperationalStatus </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/OperationalState </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/Metrics </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/Metrics </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/RequestProcessingState </muws-p1-xs:ManageabilityCapability>
</wsws-mgr-xs:WeatherManagementServiceProperties>
WSDL document for the separate WeatherManagementService manageability endpoint.
<?xml version="1.0" encoding="utf-8"?><w:definitions targetNamespace="http://example.org/services/WeatherManagementService.wsdl" xmlns:wsws-mgr-w="http://example.org/services/WeatherManagementService.wsdl" xmlns:wsws-mgr-xs="http://example.org/services/WeatherManagementService.xsd" xmlns:muws-p1-xs="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd" xmlns:wsrf-rp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" xmlns:wsrf-rpw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl" xmlns:wsntw="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.wsdl" xmlns:rmd="http://docs.oasis-open.org/wsrf/2004/10/wsrf-WS-ResourceMetadataDescriptor-1.0-draft-01.xsd"
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 37 of 48
17461747174817491750
17511752175317541755175617571758175917601761176217631764
176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794
17951796
1797
179817991800180118021803180418051806180718081809181018111812
73
74
xmlns:wsws-mgr-md="http://example.com/services/WeatherManagementService.rmd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:soapw="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:w="http://schemas.xmlsoap.org/wsdl/">
<w:import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl" location="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl"/>
<w:import namespace="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.wsdl" location="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.wsdl"/>
<w:import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing" location="http://schemas.xmlsoap.org/ws/2004/08/addressing/ws-addr.xsd"/>
<w:types> <xs:schema> <xs:import namespace="http://example.org/services/WeatherManagementService.xsd" schemaLocation="http://example.org/services/WeatherManagementService.xsd"/> <xs:import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" schemaLocation="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"/> <xs:import namespace="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd" schemaLocation="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd"/> <xs:import namespace="http://docs.oasis-open.org/wsrf/2004/10/wsrf-WS-ResourceMetadataDescriptor-1.0-draft-01.xsd" schemaLocation="http://docs.oasis-open.org/wsrf/2004/10/wsrf-WS-ResourceMetadataDescriptor-1.0-draft-01.xsd"/> <xs:import namespace="http://example.com/services/WeatherManagementService.rmd" schemaLocation="http://example.com/services/WeatherManagementService.rmd"/> </xs:schema> </w:types>
<w:portType name="WeatherManagementServicePortType" wsrf-rp:ResourceProperties="wsws-mgr-xs:WeatherManagementServiceProperties" rmd:metadataDescriptor="wsws-mgr-md:WSWSManagementServiceDescriptor"rmd:metadataDescriptorLocation="http://example.com/services/WeatherManagementService.rmd http://example.com/services/metadata/WeatherManagementService.rmd"> <w:operation name="GetResourceProperty"> <w:input name="GetResourcePropertyRequest" message="wsrf-rpw:GetResourcePropertyRequest" wsa:Action="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl/GetResourceProperty/GetResourcePropertyRequest"/> <w:output name="GetResourcePropertyResponse" message="wsrf-rpw:GetResourcePropertyResponse" wsa:Action="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl/GetResourceProperty/GetResourcePropertyResponse"/> <w:fault name="ResourceUnknownFault" message="wsrf-rpw:ResourceUnknownFault" wsa:Action="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl/GetResourceProperty/ResourceUnknownFault"/> <w:fault name="InvalidResourcePropertyQNameFault" message="wsrf-rpw:InvalidResourcePropertyQNameFault" wsa:Action="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl/GetResourceProperty/InvalidResourcePropertyQNameFault"/> </w:operation>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 38 of 48
18131814181518161817
18181819182018211822
182318241825182618271828
182918301831
18321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854
1855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882
75
76
<!-- ====Insert other WSRF-RP operations. See WSDL in MUWS Primer==== -->
<w:operation name="Subscribe"> <w:input message="wsntw:SubscribeRequest" wsa:Action="http://docs.oasis-open.org/wsn/2004/06/WS-BaseNotification/SubscribeRequest"/> <w:output message="wsntw:SubscribeResponse" wsa:Action="http://docs.oasis-open.org/wsn/2004/06/WS-BaseNotification/SubscribeResponse"/> <w:fault name="ResourceUnknownFault" message="wsntw:ResourceUnknownFault" /> <w:fault name="SubscribeCreationFailedFault" message="wsntw:SubscribeCreationFailedFault"/> <w:fault name="TopicPathDialectUnknownFault" message="wsntw:TopicPathDialectUnknownFault"/> </w:operation>
<w:operation name="GetCurrentMessage"> <w:input message="wsntw:GetCurrentMessageRequest" wsa:Action="http://docs.oasis-open.org/wsn/2004/06/WS-BaseNotification/GetCurrentMessageRequest"/> <w:output message="wsntw:GetCurrentMessageResponse" wsa:Action="http://docs.oasis-open.org/wsn/2004/06/WS-BaseNotification/GetCurrentMessageResponse"/> <w:fault name="ResourceUnknownFault" message="wsntw:ResourceUnknownFault" /> <w:fault name="InvalidTopicExpressionFault" message="wsntw:InvalidTopicExpressionFault" /> <w:fault name="TopicNotSupportedFault" message="wsntw:TopicNotSupportedFault" /> <w:fault name="NoCurrentMessageOnTopicFault" message="wsntw:NoCurrentMessageOnTopicFault" /> </w:operation> </w:portType>
<w:binding name="WeatherManagementServiceBinding" type="wsws-mgr-w:WeatherManagementServicePortType"> <soapw:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<w:operation name="GetResourceProperty"> <soapw:operation style="document"/> <w:input> <soapw:body use="literal"/> <soapw:header message="pdaw:ToHeader" part="document" use="literal"/> </w:input> <w:output> <soapw:body use="literal"/> </w:output> <w:fault> <soapw:fault name="ResourceUnknownFault" use="literal"/> </w:fault> <w:fault> <soapw:fault name="InvalidResourcePropertyQNameFault" use="literal"/> </w:fault> </w:operation>
<!-- ====Insert other WSRF-RP bindings. See WSDL in MUWS Primer==== -->
<w:operation name="Subscribe"> <soapw:operation style="document"/> <w:input> <soapw:body use="literal"/> <soapw:header message="pdaw:ToHeader" part="document" use="literal"/> </w:input> <w:output> <soapw:body use="literal"/> </w:output>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 39 of 48
18831884
188518861887188818891890189118921893189418951896189718981899
190019011902190319041905190619071908190919101911191219131914191519161917
191819191920192119221923
19241925192619271928192919301931193219331934193519361937193819391940
19411942
1943194419451946194719481949195019511952
77
78
<w:fault> <soapw:fault name="ResourceUnknownFault" use="literal"/> </w:fault> <w:fault> <soapw:fault name="InvalidStatusFault" use="literal"/> </w:fault> <w:fault> <soapw:fault name="SubscribeCreationFailedFault"/> </w:fault> <w:fault> <soapw:fault name="TopicPathDialectUnknownFault"/> </w:fault> </w:operation>
<w:operation name="GetCurrentMessage"> <soapw:operation style="document"/> <w:input> <soapw:body use="literal"/> <soapw:header message="pdaw:ToHeader" part="document" use="literal"/> </w:input> <w:output> <soapw:body use="literal"/> </w:output> <w:fault> <soapw:fault name="ResourceUnknownFault" use="literal"/> </w:fault> <w:fault> <soapw:fault name="InvalidTopicExpressionFault"/> </w:fault> <w:fault> <soapw:fault name="TopicNotSupportedFault"/> </w:fault> <w:fault> <soapw:fault name="NoCurrentMessageOnTopicFault"/> </w:fault> </w:operation>
</w:binding>
<w:service name="WeatherManagementService"> <w:port name="WeatherManagementServicePort"> binding="WeatherManagementServiceBinding"> <soapw:addresslocation="http://example.org/services/WeatherManagementServiceEndpoint"/> </w:port> </w:service></w:definitions>
The metadata document for the Weather Service manageability endpoint is:
<?xml version="1.0" encoding="utf-8"?><rmd:Definitions xmlns:rmd="http://docs.oasis-open.org/wsrf/2004/10/wsrf-WS-ResourceMetadataDescriptor-1.0-draft-01.xsd" xmlns:wsws-mgr-w="http://example.org/services/WeatherManagementService.wsdl" xmlns:wsws-mgr-xs="http://example.org/services/WeatherManagementService.xsd" xmlns:muws-p1-xs="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd" xmlns:muws-p2-xs="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd" xmlns:mows-xs="http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows.xsd" targetNamespace="http://example.com/services/WeatherManagementService.rmd">
<rmd:MetadataDescriptor name="WSWSManagementServiceDescriptor" interface="wsws-mgr-w:WSWSManagementServicePortType" wsdlLocation="http://example.com/services/WeatherManagementService.wsdl http://example.com/wsdl/WSWSIdentification.wsdl">
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 40 of 48
1953195419551956195719581959196019611962196319641965
19661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988
19891990
199119921993199419951996199719981999
2000
200120022003200420052006200720082009201020112012
201320142015201620172018
2019
79
80
<rmd:Property path="muws-p1-xs:ResourceId" mutability="constant" modifiability="read-only”> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/Identity </muws-p2-xs:Capability> </rmd:Property>
<rmd:Property path="muws-p1-xs:Description" mutability="mutable" modifiability="read-write”> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/Description </muws-p2-xs:Capability> </rmd:Property>
<rmd:Property path="muws-p1-xs:Caption" mutability="mutable" modifiability="read-write”> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/Description </muws-p2-xs:Capability> </rmd:Property>
<rmd:Property path="muws-p1-xs:Version" mutability="mutable" modifiability="read-write”> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/Description </muws-p2-xs:Capability> <rmd:StaticValues> <muws-p1-xs:Version>Version 1.4.2, January 2005</muws-p1-xs:Version> </rmd:StaticValues> </rmd:Property>
<rmd:Property path="muws-p1-xs:ManageabilityCapability" mutability="constant" modifiability="read-only”> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/ManageabilityCharacteristics </muws-p2-xs:Capability> <rmd:StaticValues> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/Identity </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/Description </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/ManageabilityCharacteristics </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://example.org/capabilities/TranslateableDescription </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/Metrics </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://example.org/capabilities/ServerConnectionMetrics </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/OperationalStatus </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/State
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 41 of 48
2020202120222023202420252026
20272028202920302031203220332034
20352036203720382039204020412042
20432044204520462047204820492050205120522053
205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089
81
82
</muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://example.org/capabilities/DeviceState </muws-p1-xs:ManageabilityCapability> <muws-p1-xs:ManageabilityCapability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/Relationships </muws-p1-xs:ManageabilityCapability> </rmd:StaticValues> </rmd:Property>
<rmd:Property path="muws-p2-xs:CurrentTime" mutability="mutable" modifiability="read-only”> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/Metrics </muws-p2-xs:Capability> </rmd:Property>
<rmd:Property path="mows-xs:NumberOfRequests" mutability="mutable" modifiability="read-only”> <muws-p2-xs:ChangeType>Counter</muws-p2-xs:ChangeType> <muws-p2-xs:TimeScope>Interval</muws-p2-xs:TimeScope> <!-- OR <muws-p2-xs:TimeScope>SinceReset</muws-p2-xs:TimeScope> --> <muws-p2-xs:GatheringTime>OnChange</muws-p2-xs:GatheringTime> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/Metrics </muws-p2-xs:Capability> </rmd:Property> <rmd:Property path="mows-xs:NumberOfFailedRequests" mutability="mutable" modifiability="read-only”> <muws-p2-xs:ChangeType>Counter</muws-p2-xs:ChangeType> <muws-p2-xs:TimeScope>Interval</muws-p2-xs:TimeScope> <!-- OR <muws-p2-xs:TimeScope>SinceReset</muws-p2-xs:TimeScope> --> <muws-p2-xs:GatheringTime>OnChange</muws-p2-xs:GatheringTime> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/Metrics </muws-p2-xs:Capability> </rmd:Property> <rmd:Property path="mows-xs:NumberOfSuccessfulRequests" mutability="mutable" modifiability="read-only”> <muws-p2-xs:ChangeType>Counter</muws-p2-xs:ChangeType> <muws-p2-xs:TimeScope>Interval</muws-p2-xs:TimeScope> <!-- OR <muws-p2-xs:TimeScope>SinceReset</muws-p2-xs:TimeScope> --> <muws-p2-xs:GatheringTime>OnChange</muws-p2-xs:GatheringTime> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/Metrics </muws-p2-xs:Capability> </rmd:Property> <rmd:Property path="mows-xs:ServiceTime" mutability="mutable" modifiability="read-only”> <muws-p2-xs:ChangeType>Gauge</muws-p2-xs:ChangeType> <muws-p2-xs:TimeScope>Interval</muws-p2-xs:TimeScope> <!-- OR <muws-p2-xs:TimeScope>SinceReset</muws-p2-xs:TimeScope> --> <muws-p2-xs:GatheringTime>OnChange</muws-p2-xs:GatheringTime> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/Metrics </muws-p2-xs:Capability> </rmd:Property> <rmd:Property path="mows-xs:MaxResponseTime" mutability="mutable" modifiability="read-only”> <muws-p2-xs:ChangeType>Gauge</muws-p2-xs:ChangeType> <muws-p2-xs:TimeScope>Interval</muws-p2-xs:TimeScope> <!-- OR <muws-p2-xs:TimeScope>SinceReset</muws-p2-xs:TimeScope> --> <muws-p2-xs:GatheringTime>OnChange</muws-p2-xs:GatheringTime> <muws-p2-xs:Capability>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 42 of 48
209020912092209320942095209620972098
20992100210121022103210421052106
21072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159
83
84
http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/Metrics </muws-p2-xs:Capability> </rmd:Property> <rmd:Property path="mows-xs:LastResponseTime" mutability="mutable" modifiability="read-only”> <muws-p2-xs:ChangeType>Gauge</muws-p2-xs:ChangeType> <muws-p2-xs:TimeScope>PointInTime</muws-p2-xs:TimeScope> <muws-p2-xs:GatheringTime>OnChange</muws-p2-xs:GatheringTime> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/Metrics </muws-p2-xs:Capability> </rmd:Property>
<rmd:Property path="muws-p2-xs:OperationalStatus" mutability="mutable" modifiability="read-only”> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/muws/capabilities/OperationalStatus </muws-p2-xs:Capability> <rmd:ValidValues> <muws-p2-xs:OperationalStatus>Available</muws-p2-xs:OperationalStatus> <muws-p2-xs:OperationalStatus>PartiallyAvailable</muws-p2-xs:OperationalStatus> <muws-p2-xs:OperationalStatus>Unavailable</muws-p2-xs:OperationalStatus> <muws-p2-xs:OperationalStatus>Unknown</muws-p2-xs:OperationalStatus> </rmd:ValidValues> </rmd:Property>
<rmd:Property path="mows-xs:CurrentOperationalState" mutability="mutable" modifiability="read-only”> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/State </muws-p2-xs:Capability> <muws-p2-xs:Capability> http://example.org/capabilities/OperationalState </muws-p2-xs:Capability> <rmd:ValidValues> <mows-xs:CurrentOperationalState> <mows-xs:IdleState><mows-xs:UpState/></mows-xs:IdleState> </mows-xs:CurrentOperationalState> <mows-xs:CurrentOperationalState> <mows-xs:BusyState><mows-xs:UpState/></mows-xs:BusyState> </mows-xs:CurrentOperationalState> <mows-xs:CurrentOperationalState> <mows-xs:StoppedState><mows-xs:DownState/></mows-xs:StoppedState> </mows-xs:CurrentOperationalState> <mows-xs:CurrentOperationalState> <mows-xs:CrashedState><mows-xs:DownState/></mows-xs:CrashedState> </mows-xs:CurrentOperationalState> <mows-xs:CurrentOperationalState> <mows-xs:SaturatedState><mows-xs:DownState/></mows-xs:SaturatedState> </mows-xs:CurrentOperationalState> </rmd:ValidValues> </rmd:Property>
<rmd:Property path="mows-xs:LastOperationalStateTransition" mutability="mutable" modifiability="read-only”> <muws-p2-xs:Capability> http://docs.oasis-open.org/wsdm/2004/12/mows/capabilities/State </muws-p2-xs:Capability> <muws-p2-xs:Capability> http://example.org/capabilities/OperationalState </muws-p2-xs:Capability> </rmd:Property> </rmd:MetadataDescriptor></rmd:Definitions>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 43 of 48
2160216121622163216421652166216721682169217021712172
2173217421752176217721782179218021812182218321842185218621872188
2189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216
2217221822192220222122222223222422252226222722282229
85
86
The schema for the resource properties document for the printer:
<?xml version="1.0" encoding="utf-8"?><xs:schema targetNamespace="http://example.org/MyWSPrintersResourceProperties.xsd" xmlns:printer-xs="http://example.org/MyWSPrintersResourceProperties.xsd" xmlns:muws-p1-xs="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd" xmlns:muws-p2-xs="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd" xmlns:mows-xs="http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows.xsd" xmlns:wsnt="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd" schemaLocation="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd"/> <xs:import namespace="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd" schemaLocation="http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd"/> <xs:import namespace="http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows.xsd" schemaLocation="http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows.xsd"/> <xs:import namespace="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd"/> schemaLocation="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd"/>
<xs:simpleType name="TonerLevelType"> <xs:restriction base="xs:string"> <xs:enumeration value="Very low"/> <xs:enumeration value="Low"/> <xs:enumeration value="Adequate for normal operating conditions"/> <xs:enumeration value="Full"/> </xs:restriction> </xs:simpleType> <xs:element name="TonerLevel" type="printer-xs:ToneLevelType">
<xs:complexType name="PrinterStateType"> <xs:complexContent> <xs:extension base="muws-p2-xs:StateType"/> </xs:complexContent> </xs:complexType> <xs:element name="Off-Line"> <xs:complexType> <xs:complexContent> <xs:restriction base="printer-xs:PrinterStateType" /> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="On-Line"> <xs:complexType> <xs:complexContent> <xs:restriction base="printer-xs:PrinterStateType" /> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="Printing"> <xs:complexType> <xs:complexContent> <xs:restriction base="printer-xs:PrinterStateType"> <xs:sequence> <xs:element ref="printer-xs:On-line" /> </xs:sequence> </xs:restriction>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 44 of 48
2230
2231223222332234223522362237223822392240224122422243
22442245224622472248224922502251225222532254225522562257225822592260
2261226222632264226522662267226822692270
2271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298
87
88
</xs:complexContent> </xs:complexType> </xs:element> <xs:element name="Idle"> <xs:complexType> <xs:complexContent> <xs:restriction base="printer-xs:PrinterStateType"> <xs:sequence> <xs:element ref="printer-xs:On-line" /> </xs:sequence> </xs:restriction> </xs:complexContent> </xs:complexType> </xs:element>
<xs:element name="PrinterState" type="printer-xs:PrinterStateType"/>
<xs:element name="MyWSPrintersResourceProperties"> <xs:complexType> <xs:sequence> <xs:element ref="muws-p1-xs:ResourceId"/> <xs:element ref="muws-p2-xs:Caption" maxOccurs="unbounded"/> <xs:element ref="muws-p2-xs:Description" maxOccurs="unbounded"/> <xs:element ref="muws-p2-xs:Version"/> <xs:element ref="muws-p2-xs:OperationalStatus"/> <xs:element ref="mows-xs:CurrentOperationalState"/> <xs:element ref="mows-xs:LastOperationalStateTransition" minOccurs="0"/> <xs:element ref="muws-p2-xs:CurrentTime"/> <xs:element ref="mows-xs:NumberOfRequests" minOccurs="0"/> <xs:element ref="mows-xs:NumberOfFailedRequests" minOccurs="0"/> <xs:element ref="mows-xs:NumberOfSuccessfulRequests" minOccurs="0"/> <xs:element ref="mows-xs:ServiceTime" minOccurs="0"/> <xs:element ref="mows-xs:MaxResponseTime" minOccurs="0"/> <xs:element ref="mows-xs:LastResponseTime" minOccurs="0"/> <xs:element ref="muws-p1-xs:ManageabilityCapability" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="wsnt:Topic" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="printer-xs:TonerLevel"/> <xs:element ref="printer-xs:PrinterState"/> </xs:sequence> </xs:complexType> </xs:element></xs:schema>
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 45 of 48
22992300230123022303230423052306230723082309231023112312
23132314
23152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343
89
90
Appendix B. AcknowledgmentsThe following people made contributions to the WSDM MUWS Primer Version 1.0: Vaughn Bullard, Fred Carter, David Cox, Zulah Eckert, Mark Ellison, Heather Kreger, Frederico Maciel, Bryan Murray, Kirk Wilson with special thanks to Kirk Wilson, Bryan Murray and Mark Ellison as editors.
The following individuals were members of the committee while the WSDM MUWS Version 1.1 specification was developed and approved by the technical committee: Guru Bhat, Jeff Bohren, Vaughn Bullard, Winston Bumpus, Fred Carter, Michael Clements, David Cox, Zulah Eckert, Mark Ellison, John Fuller, Tony Gullotta, Heather Kreger, Richard Landau, Frederico Maciel, Tom Maguire, David Melgar, Bryan Murray, Richard Nikula, Mark Peel, Mitsunori Satomi, Thomas Studwell, William Vambenepe, Zhili Zhang.
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 46 of 48
2344
2345234623472348
234923502351235223532354
91
92
Appendix C. Revision History
Rev Date By Whom What
CD 2006-02-24 Kirk Wilson Title chnages
final_wd 2006-01-27 Kirk Wilson Prepare WD for TC vote
wd-mows-7 2006-01-27 Kirk Wilson Add References in text; completed Reference section
Add Acknowledge section
wd-mows-6 2005-12-16 Kirk Wilson Edit XML in Appendix A
wd-mows-5 2005-11-16 Kirk Wilson Continuation of version 4 with Simplication of example code
wd-mows-4 2005-11-16 Kirk Wilson Editorial corrections as result of F2F including:
Change of example nameSimplication of example codeSimplication of text (remove verbose text)Rewrite sections 1 and 3.1
wd-mows-3 2005-10-26 Kirk Wilson Table of contents to show 5 levels
wd-mows-2 2005-10-20 Kirk Wilson, Mark Ellison
Added material for Appendix A; standardized ns prefixes
Applied Mark Ellison’s edits for readability of the text
wd-mows-1 2005-09-29 Kirk Wilson Separated MOWS chapters from from wd-wsdm-primer.
Added Introduction section.
Changed references to “this primer” to “the MUWS Primer” where appropriate.
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 47 of 48
2355
2356
93
94
Appendix D. NoticesOASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification, can be obtained from the OASIS Executive Director.
OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director.
Copyright © OASIS Open 2004-2006. All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself does not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on an “AS IS” basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
wsdm-1.0-mows-primer-cd-01 February 24, 2006
Copyright © OASIS Open 2004-2006. All Rights Reserved. Page 48 of 48
2357
235823592360236123622363236423652366
236723682369
2370
237123722373237423752376237723782379
23802381
23822383238423852386
95
96