Web Services Endpoint Management Architecture Requirements

Editors:
Heather Kreger, IBM
Mark Potts, Talking Blocks
Igor Sedukhin, Computer Associates
Hao He, Thomson
Zulah Eckert, Hewlett Packard
Yin-Leng Husband, Hewlett Packard

Abstract

This note is about the architectural satisfaction of management requirements of the Web service architecture.

Status of this Document

This document is an editors' copy that has no official standing.

This document captures work done by the management task force of the W3C Web Services Architecture Working Group. The Working Group felt this work was valuable but beyond the scope needed in the Web Services Architecture document. It is provided here for archival purposes.

This document was proposed in February 2003 by the Management Task Force of the Web Services Architecture Working Group. It is based on the 14 November 2002 version of the Web Services Architecture and the 14 November 2002 version of the Web Services Architecture Requirements. Consequently, this document is not entirely consistent with the current Web Services Architecture document.

Comments on this document should be sent to www-ws-arch@w3.org (public archives).

Patent disclosures relevant to this specification may be found on the Working Group's patent disclosure page.

Table of Contents

1 Introduction
    1.1 Scope
        1.1.1 Management Capabilities Categories
        1.1.2 Access
        1.1.3 Discovery
    1.2 Not in Scope
2 Management Concepts
3 Manageable Components
    3.1 Management Capabilities for all elements
        3.1.1 Identification
        3.1.2 Configuration
    3.2 Status
    3.3 Events
        3.3.1 Service State Change Events
        3.3.2 Request Processing Events
    3.4 Metrics
4 Manageability Requirements for Web Service Architecture Elements
    4.1 Web Service Endpoint Manageability Requirements
        4.1.1 Identification Requirements
        4.1.2 Configuration Requirements
        4.1.3 Associations
        4.1.4 Metrics Requirements
            4.1.4.1 For Service Endpoints
            4.1.4.2 For Operations
        4.1.5 Operations Requirements
        4.1.6 Events Requirements
        4.1.7 Access Requirements
        4.1.8 Discovery Requirements

Appendices

A References (Non-Normative)
B Acknowledgments (Non-Normative)
C Web Services Endpoint Management Architecture Requirements Changes (Non-Normative)


1 Introduction

The W3C Web Services Architecture Working Group has been formed to document the Web Services Architecture. Enough members of the Working Group felt that it was very important to define the manageability characteristics of the architecture along side the architecture itself. To that end, the following Goals, Requirements, and Critical Success factors were added to the Web Services Architecture Requirements document.

This paper is about the architectural satisfaction of those requirements.

The Manageability goals and requirements are available from the Web Services Requirements document [WSA Reqs].

1.1 Scope

As a result of these Goals and Requirements, we have identified the scope of this work to be defining the architecture necessary to make a Web service architecture implementation and a Web service implementation manageable. In order for the Web service architecture to be manageable, each of the elements of the architecture must be manageable. This submission defines only the requirements for the Web service endpoint.

The management architecture must define the requirements for the minimum, basic information, operations, events, and behaviors that a Web services architectural element must support in order to be called manageable. Not all elements may be explicitly manageable. Not all implementations of Web services architectural elements must be manageable. Support of this manageable Web services architecture by implementations of the Web services architecture is highly recommended, but not required.

Security administration and security management are important aspects of management. These aspects are being addressed by other standards groups and will not be addressed by this draft. The exception to this is the requirement to support association of security administration WSDL with the functional service WSDL.

This architecture applies to the instrumentation of manageable Web Services. It does not prescribe how the management capabilites are used by management systems. For example, policies could be defined an implemented via management capabilities of Web services, although this architecture does not prescribe how to define and enforce those policies.

1.1.1 Management Capabilities Categories

The following management capabilities categories must be defined for each manageable entity:

  1. Identification - read only data that uniquely identifies the element. This data may include information that is not required for unique identification as well.
  2. Status - information about operational state of a element
  3. Configuration - a collection of properties which may be changed. A property may influence the behavior of an entity
  4. Metrics - raw atomic, unambiguous information. For manageability metrics, the information is for managmement purposes. The value of the metric captures the information at a point in time. Generally these values are numeric, but may be strings as well
  5. Operations - methods that control or help manage the entity. Operations are distinct from configuration changes in that configuration changes are generally persistent over iterations/instances of the entity.
  6. Events - changes in the state of the entity. Event descriptions are messages that indicate a problem, a lifecycle state change, or a state change.

1.1.2 Access

In addition to defining the information to be exposed by a manageable element, this architecture must define a standard means to access the management capabilities of the manageable element.

1.1.3 Discovery

Finally, it must be possible for the manageability capabilities and access to those capabilities to be discovered. Hence we need to define discovery of managable elements, manageability capabilities, and relationships.

1.2 Not in Scope

  • Management Systems - This architecture will not define what management systems should be defined to manage the Web services. Nor will it define how they should be implemented nor the way they will use the management capabilities. However, this specification may mention such systems as part of a scenario or use case.
  • Service distribution/installation/deployment - This architecture will not define how Web service component implementations are distributed, installed or deployed into any system or set of systems.
  • Access rights and control - This architecture will not define the policies (access control, trust, etc.) that govern management information flow.
  • Mapping of requirements to an XML Schema or WSDL portType - This architecture will not define an explicit XML Schema or portTypes to represent the informational requirements.

2 Management Concepts

A sufficient set of management capabilities for the architectural element Web services endpoint are defined:

3 Manageable Components

3.1 Management Capabilities for all elements

This section defines the basic management capabilities, access, and discovery requirements. Management capabilities includes: identification, status, configuration, metrics, operations, and events.

All of the management capabilities must be expressible using the XML Information set [XML Infoset].

3.1.1 Identification

Manageable elements of the Web services Architecture are identifiable by a URI.

The description of the management capabilities for a manageable element is identifiable by a URI.

3.1.2 Configuration

Configuration mechanisms that are common for each type of manageable element [e.g. Web service endpoint] should conform to the Web services architecture [e.g. description and interaction]. Configuration for a manageable element, beyond the common configuration, should be defined by an administrative interface. Other mechanisms to configure elements of the Web services architecture exist, but are not in scope of this document.

3.2 Status

Lifecycle and state diagrams are defined by the Web Services Architecture based on the submission from the Management Task Force: [mtfLifeCycle]. Status is information about the current state of the managed element.

The status of a managed element must be available through a manageability interface.

3.3 Events

For a manageable element there are two classes of events: Service State Changed and Request Processing events.

3.3.1 Service State Change Events

Service state change events occur whenever lifecycle state transitions happen as defined by the WSA draft. The service state change event description should include the previous state and the transition time. Optionally there may be events from the start of a transition.

3.3.2 Request Processing Events

Request Processing Event descriptions provide information for management systems and can be used to calculate many of the metrics. However, manageable components are not required to use these events to calculate metrics or unconditionally disseminate them to management systems. In busy environments, these kinds of events can create a significant amount of overhead and implementations should take that into consideration.

A request processing event description indicates that the state of a request has been changed and should include the previous state and the transition time. The event may also include any context associated with the request, reply, or failure message and any part or the complete content of these messages.

A managed element should be capable of producing notifications (deliverable descriptions of these events) such that they are available to a management system.

3.4 Metrics

Metrics are raw atomic, unambiguous, information, e.g. number of invocations. This can be contrasted with "Measurements" that are calculated with a formula based on metrics, e.g. Average response time during the last hour of execution.

The metrics requirements do not enforce any implementation pattern. A managed element should allow any available metrics and measurements to be reported according to configurable time intervals, such as cumulative, sliding window, and interval. A managed element must declare which interval types are supported.

4 Manageability Requirements for Web Service Architecture Elements

4.1 Web Service Endpoint Manageability Requirements

This section defines the Management capabilities for a Web service endpoint, which is described in WSDL by a port element. Web service endpoint is defined in the W3C Web Services Architecture Glossary [WS Glossary] as "An association between a Binding and a network address, specified by a URI, that may be used to communicate with an instance of a Service. A Port indicates a specific location for accessing a Service using a specific protocol and data format. [WSD Reqs]"

A manageable web service endpoint needs to have associated administration and management interface descriptions.

Precise names and organization of the capabilities required to be manageable, where they comes from, how they are implemented and the information format is to be decided by the development a detailed specification.

If a capability is marked as mandatory then every Web service that is manageable must provide it. If a capability is marked as optional then it does not have to be provided, but if it is it should use the defined convention.

The following management capabilities should be available for each Web service endpoint:

4.1.1 Identification Requirements

Identification information:

  1. identifier, mandatory - uri - a unique identifier for the Web service endpoint. This is the URI of the Port element in the WSDL document.
  2. name, optional - readable name for the service. If provided should be the same as the Port name value in the WSDL document.
  3. description, optional - readable description of the purpose of the service. This could be a catcher for taxonomy. If the description is provided in the WSDL document, then it should be the same as the WSDL description.
  4. version, mandatory - the version of the Web service endpoint, this information may ALSO be in WSDL, although at this time there is no standard way to define it. We will need to define a standard WSDL extension for this at a later time.
  5. WSDL Reference, mandatory - the reference to for the WSDL document for the service endpoint to be managed. It allows the management system to get a copy of or access to the WSDL document.
  6. Semantics URI, optional - target name space of the WSDL document. It identifies the semantics and should use an identifier to refer to the semantics or it could use the URL to get a document that describes the semantics of the service, however, what is returned will depend on the mime type. It could be a human readable document, or an RDF document. The value could be the URL of a document, but it is not required to be a URL.

4.1.2 Configuration Requirements

None

4.1.3 Associations

  • Admin WSDL Reference, optional - Reference to access the WSDL that describes the administrative interface of the functional service. Typically this will be specific to the service-s requirements.
  • Security WSDL Reference, optional - Reference to access the WSDL that describes the security provisioning and/or security configuration interface for the service endpoint.
  • Management WSDL Reference, optional - Reference to access the WSDL that describes the management interface of the service endpoint.
  • WS Admin Access Port URI, optional - this would be the same as the URL in the location element in the administrative port referring to this service.
  • WS Security Access Port URI, optional - this would be the same as the URL in the location element in the security port referring to this service.
  • WS Management Access Port URI, optional - this would be the same as the URL in the location element in the management port referring to this service.

4.1.4 Metrics Requirements

Metrics help track usage, performance, and availability of the Web service endpoint. All the following metrics need to be collected and measured across a configurable time period.

The architecture should support that the following metrics be collected, but does not define how they are collected or their explicit definition. Follow on specifications need to provide these definitions, for example. what is a "successful response" and how they are collected.

We are making the assumption that the requests identify the requester such that the following metrics can be provided per requester. No consideration for the volume of data to be collected and maintained has been given. It would be a matter of implementation details of the specifications to satisfy these requirements and management system design.
4.1.4.1 For Service Endpoints
  • Current State - current status of the service endpoint, state and substate as described in the service life diagrams submitted by the MTF for the WSA draft.
  • Availability timestamp - point in time when the service endpoint becomes capable of accepting requests
  • Unavailability timestamp - point in time when the service endpoint is not accepting requests
  • Number of Requests - total number of requests having been accepted by the service endpoint.
  • Number of Successful Requests - total number of requests successfully completed by this service endpoint
  • Number of Failed Requests - total number of requests not completed successfully by this service endpoint. This could be optional because it can be calculated as a measurement from Number Of Requests and Number of Successful Requests.
  • Per Request Processing Time - time spent processing each individual request of the service endpoint. This may be a historical collection of request times.
  • Total Request Processing Time - the time spent processing in the service endpoint for all requests
4.1.4.2 For Operations
  • Number of Requests per Operation- total number of requests having been accepted by the service.
  • Number of Successful Requests per Operation- total number of requests successfully completed by this service
  • Number of Failed Requests per Operation- total number of requests not completed successfully by this service. This could be optional because it can be calculated as a measurement from Number Of Requests and Number of Successful Requests.
  • Per Request Processing Time per Operation- time spent processing each individual request of the operation in the service. This may be a historical collection of request times.
  • Total Request Processing Time per Operation - the time spent processing in the web service for all requests.

Other measurements that can be calculated from the metrics include averaging and totaling counters per service, operation, and requester.

  • Average Response Time of Responses - the average response time for all responses from this service. The timestamp should be taken as soon as it enters the service and again just as it responds. It will be the aggregate of the time spent in the service itself.
  • Average Response Time of Failure Responses - the average response time for all failure responses this service. The timestamp should be taken as soon as it enters the service and again just as it sends the response. It will be the aggregate of the time spent in the service itself.
  • Average Response Time of Successful Responses - the average response time for all successful responses for this service. The timestamp should be taken as soon as it enters the service and again just as it sends the response. It will be the aggregate of the time spent in the service itself.
  • Average Response Time of Responses per Operation - the average response time for all responses for each method. The timestamp should be taken as soon as it enters the method and again just as it exits the method. It will be the aggregate of the time spent in each method.
  • Average Response Time of Failure Responses per Operation - the average response time for all failure responses for each method. The timestamp should be taken as soon as it enters the method and again just as it exits the method. It will be the aggregate of the time spent in each method.
  • Average Response Time of Successful Responses per Operation - the average response time for all successful responses for each method. The timestamp should be taken as soon as it enters the method and again just as it exits the method. It will be the aggregate of the time spent in each method.
  • High/Low water marks for processing time for requests (from processing time per request metric)
  • Rate of invocation for service
  • High/Low water marks for processing time for requests per operation
  • Rate of invocation for operation

4.1.5 Operations Requirements

Operations to control service lifecycle

  • Enable - allow this service to accept requests
  • Disable - disallow this service to accept requests
  • Reset Metrics - reset all counter metrics to 0
  • Test - tests service for operability, like a "deep" ping

4.1.6 Events Requirements

The following events should be noted for each service:

  • Lifecycle state change - events for each state and substate transition according to the lifecycle diagrams for the Web service [mtfLifeCycle]
  • Processing state change - events for each process state transition

4.1.7 Access Requirements

Management capabilities must be available in a manner conformant to Web Services architecture.

4.1.8 Discovery Requirements

Discovery has three requirements to be satisfied, discovery of the manageable element, and discovery of the management capabilities for a manageable element, and discovery of relationships.

  • Discovery of the manageable Web service architecture element must use standard WSA Discovery mechanisms and use relationships provided directly by a manageable element
  • Discovery of the management capabilities of the Web service architecture element must allow determining if an element is manageable and the details of each management capability supported
  • Discovery of relationships via WSA discovery mechanism or directly from the manageable element

A References (Non-Normative)

WS Glossary
Web Services Glossary, W3C Working Draft, H. Haas, A.Brown, 14 November 2002 (See http://www.w3.org/TR/2002/WD-ws-gloss-20021114/.)
WSA Reqs
Web Services Architecture Requirements, W3C Working Group Note, D. Austin, A. Barbir, C. Ferris, S. Garg, 14 November 2002 (See http://www.w3.org/TR/2002/WD-wsa-reqs-20021114.)
XML 1.0
Extensible Markup Language (XML) 1.0 (Second Edition), W3C Recommendation, T. Bray, J. Paoli, C.M. Sperberg-McQueen, E. Maler. 6 October 2000 (See http://www.w3.org/TR/2000/REC-xml-20001006.)
XML Infoset
XML Information Set, W3C Recommendation, J. Cowan, R. Tobin, 24 October 2001 (See http://www.w3.org/TR/2001/REC-xml-infoset-20011024/.)
mtfLifeCycle
Web Service Management: Service Lifecycle (See http://www.w3.org/2002/ws/arch/4/01/mgmt/lifecycle/lifecycle.html.)

B Acknowledgments (Non-Normative)

This document is a product of the management task force of the Web Services Architecture Working Group: Zulah Eckert (HP), Hao He (Thomson), Yin-Leng Husband (HP), Heather Kreger (IBM), Mark Potts (Talking Blocks), Igor Sedukhin (CA).

Members of the Working Group are (at the time of writing, and in alphabetical order): Geoff Arnold (Sun Microsystems, Inc.), Mukund Balasubramanian (Infravio, Inc.), Mike Ballantyne (EDS), Abbie Barbir (Nortel Networks), David Booth (W3C), Mike Brumbelow (Apple), Doug Bunting (Sun Microsystems, Inc.), Greg Carpenter (Nokia), Tom Carroll (W. W. Grainger, Inc.), Alex Cheng (Ipedo), Michael Champion (Software AG), Martin Chapman (Oracle Corporation), Ugo Corda (SeeBeyond Technology Corporation), Roger Cutler (ChevronTexaco), Jonathan Dale (Fujitsu), Suresh Damodaran (Sterling Commerce(SBC)), James Davenport (MITRE Corporation), Paul Denning (MITRE Corporation), Gerald Edgar (The Boeing Company), Shishir Garg (France Telecom), Hugo Haas (W3C), Hao He (The Thomson Corporation), Dave Hollander (Contivo), Yin-Leng Husband (Hewlett-Packard Company), Mario Jeckle (DaimlerChrysler Research and Technology), Heather Kreger (IBM), Sandeep Kumar (Cisco Systems Inc), Hal Lockhart (OASIS), Michael Mahan (Nokia), Francis McCabe (Fujitsu), Michael Mealling (VeriSign, Inc.), Jeff Mischkinsky (Oracle Corporation), Eric Newcomer (IONA), Mark Nottingham (BEA Systems), David Orchard (BEA Systems), Bijan Parsia (MIND Lab), Adinarayana Sakala (IONA), Waqar Sadiq (EDS), Igor Sedukhin (Computer Associates), Hans-Peter Steiert (DaimlerChrysler Research and Technology), Katia Sycara (Carnegie Mellon University), Bryan Thompson (Hicks & Associates, Inc.), Sinisa Zimek (SAP).

Previous members of the Working Group were: Assaf Arkin (Intalio, Inc.), Daniel Austin (W. W. Grainger, Inc.), Mark Baker (Idokorro Mobile, Inc. / Planetfred, Inc.), Tom Bradford (XQRL, Inc.), Allen Brown (Microsoft Corporation), Dipto Chakravarty (Artesia Technologies), Jun Chen (MartSoft Corp.), Alan Davies (SeeBeyond Technology Corporation), Glen Daniels (Macromedia), Ayse Dilber (AT&T), Zulah Eckert (Hewlett-Packard Company), Colleen Evans (Sonic Software), Chris Ferris (IBM), Daniela Florescu (XQRL Inc.), Sharad Garg (Intel), Mark Hapner (Sun Microsystems, Inc.), Joseph Hui (Exodus/Digital Island), Michael Hui (Computer Associates), Nigel Hutchison (Software AG), Marcel Jemio (DISA), Mark Jones (AT&T), Timothy Jones (CrossWeave, Inc.), Tom Jordahl (Macromedia), Jim Knutson (IBM), Steve Lind (AT&T), Mark Little (Arjuna), Bob Lojek (Intalio, Inc.), Anne Thomas Manes (Systinet), Jens Meinkoehn (T-Nova Deutsche Telekom Innovationsgesellschaft), Nilo Mitra (Ericsson), Don Mullen (TIBCO Software, Inc.), Himagiri Mukkamala (Sybase, Inc.), Joel Munter (Intel), Henrik Frystyk Nielsen (Microsoft Corporation), Duane Nickull (XML Global Technologies), David Noor (Rogue Wave Software), Srinivas Pandrangi (Ipedo), Kevin Perkins (Compaq), Mark Potts (Talking Blocks, Inc.), Fabio Riccardi (XQRL, Inc.), Don Robertson (Documentum), Darran Rolls (Waveset Technologies, Inc.), Krishna Sankar (Cisco Systems Inc), Jim Shur (Rogue Wave Software), Patrick Thompson (Rogue Wave Software), Steve Vinoski (IONA), Scott Vorthmann (TIBCO Software, Inc.), Jim Webber (Arjuna), Prasad Yendluri (webMethods, Inc.), Jin Yu (MartSoft Corp.) .

C Web Services Endpoint Management Architecture Requirements Changes (Non-Normative)

2003-04-15H HeConverted from the original submission.