Heather Kreger, IBM (firstname.lastname@example.org)
Mark Potts, Talking Blocks (email@example.com)
Igor Sedukhin, Computer Associates (firstname.lastname@example.org)
Hao He, Thomson (email@example.com)
Zulah Eckert, Hewlett Packard ()
Yin-Leng Husband, Hewlett Packard ()
February 12, 2003 – Heather Kreger, extracted this document from the MTF Working Draft
February 19, 2003 – Heather Kreger accepted all changes from MTF Editing calls 2/12-2/19.
February 26, 2003 – Heather Kreger, edited glossary based on MTF call.
February 28, 2003 – Heather Kreger, edited based on Igor Sedukhin’s edits.
Table of Contents
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 a draft of the architectural satisfaction of those requirements. The contents of this document should be folded into the main Web Services Architecture draft (). This draft not intended to ‘stand alone’ and independent of the Web Services Architecture document.
We would like this proposal to be included as a subsection in the Management Properties section of the Web Services Architecture.
For convenience, the Manageability Goals from the Requirements document (http://www.w3.org/TR/wsa-reqs ) are reiterated here:
D-AG007 Management and Provisioning
The standard reference architecture for Web Services must provide for a manageable, accountable and organized environment for Web Services operations..
Critical success factors and requirements for this goal:
D-AC018 The Web Services Architecture must enable the management and provisioning of Web Services
The Web Services Architecture must enable the management and provisioning of Web Services
o AC018.1 Ensure that implementations of the Web Services Architecture are manageable.
§ AR018.1.1 Define a base set of standard metrics for architectural components and their interactions accompanied by guidelines for measurement.
§ AR018.1.2 Define a base set of standard management operations for Web Services Architecture implementations. Management operations includes, but is not limited to, support for configuration control and lifecycle control.
§ AR018.1.3 Define a base set of management events to be issued by the Web Services Architecture implementation.
§ AR018.1.4 Define a standard methodology for accessing management capabilities from the Web Services Architecture implementation.
o AC018.2 Ensure that implementations of the Web Service instances are manageable.
§ AR018.2.1 Define how a web service should expose web service specific metrics, configuration, operations, and events.
§ AR018.2.2 Support the discovery of web service management capabilities.
§ AR018.2.3 Define a standard methodology for accessing management capabilities of a Web Service through the Web Services Architecture implementation.
o AC018.3 Ensure that at least the following types of management aspects are supported: Resource Accounting, Usage Auditing and Tracking, Performance Monitoring, Availability, Configuration, Control, Security Auditing and Administration, and Service Level Agreements.
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.
The following management capabilities categories must be defined for each manageable entity:
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.
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.
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.
We are defining the sufficient set of management capabilities for the architectural element Web services endpoint.
Manageability implies the existence of a sufficient set of management capabilities such that an entity is manageable
Manageable implies that an entity can be managed by a management system
Management capabilities includes identification, configuration, metrics, status, operations, and events offered by manageable entities for management purposes
Management is the utilization of the management capabilities by the management system.
Managed implies that an entity is actively being managed by a management system
Manageability Interface is that interface through which management capabilities are offered.
Management endpoint is the Web services endpoint offering the manageability interface for management purposes.
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 (http://www.w3.org/TR/xml-infoset/ ).
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.
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.
Lifecycle and state diagrams are defined by the Web Services Architecture based on the submission from the Management Task Force:. Status is information about the current state of the managed element.
The status of a managed element must be available through a manageability interface.
For a manageable element there are two classes of events: Service State Changed and Request Processing 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.
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.
‘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.
Management capabilities must be available in a manner conformant to Web Services architecture.
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.
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 (http://www.w3.org/TR/ws-gloss/ ) 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:
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.
Other measurements that can be calculated from the metrics include averaging and totaling counters per service, operation, and requester.
· 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.
Operations to control service lifecycle
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 (http://www.w3.org/2002/ws/arch/2/11/W3C.MTF.ServiceLifecycle.20021111_clean.htm)
· Processing state change - events for each process state transition
The following terms are submitted for consideration for inclusion into the WSA Glossary (http://www.w3.org/TR/ws-gloss/).
Note: The terms highlighted in yellow italics are still being finalized by the MTF and are subject to change.
Manageability - the property whereby the possessor of the property provides a sufficient set of management capabilities such that it is manageable.
Management capabilities - capabilities in either providing information or performing actions for management purposes. Management capabilities include providing identification, configuration, metrics, status, notifications of events, and performing operations for management purposes
Management - the utilization of the management capabilities by the management system. A management system may perform monitoring (of values), tracking (of states) and control of entities in order to produce and maintain a stable operational environment.
Manageable - capable of being managed by a management system
Managed -being actively managed by a management system.
Manageability Interface -the interface through which management capabilities are offered.
Management endpoint is the endpoint for management purposes.
Management operation - an operation that performs management.
Administration - configuring and/or securing entities
Administration Interface – the interface through which administration capabilities are offered.
Available service - being able to respond to a new request for service.
Availability – the property that a service offered by a service provider can be consumed by a service consumer. The service is said to be ‘available’ to the consumer.
Configuration - a collection of properties which may be changed. A property may influence the behavior of an entity.
Control - to cause a desired change in state. Management systems may control the lifecycle of entities or information flow such as messages.
Performance Monitoring - the monitoring of the entity to ascertain its operational speed, utilization, and efficiency.
Resource Accounting - the monitoring and tracking of resources used by the running entity.
Security Administration - configuring, securing and/or deploying of systems or applications enabling a security domain.
An environment or context that is defined by security models and a security architecture, including a set of resources and set of system entities that are authorized to access the resources. One or more security domains may reside in a single administrative domain. The traits defining a given security domain typically evolve over time.
Security Auditing - a service that reliably and securely records security-related events producing an audit trail enabling the reconstruction and examination of a sequence of events. Security events could include authentication events, policy enforcement decisions, and others. The resulting audit trail may be used to detect attacks, confirm compliance with policy, deter abuse, or other purposes.
Usage Auditing - a service that reliably and securely records usage-related events producing an audit trail enabling the reconstruction and examination of a sequence of events. Usage events could include resource allocation events and resource freeing events.
Usage Tracking - the tracking of the usage of a specific resource.
Service Level Agreement - an agreement between the service provider and the service consumer concerning quality and usage of service provided.
Lifecycle - the set of stages between creation and demise.
Event - a change in state.
State - a set of attributes representing the properties of a component at some point in time.
Metrics - raw atomic, unambiguous, information, e.g. number of invocations.
Measurements - values calculated with a formula based on metrics, e.g. Average response time during the last hour of execution.
Event description – messages that indicate a problem, a lifecycle state change or a state change.
Cumulative – a measurement interval type such that a measurement is calculated relative to the last time the service status was changed to ‘Up’.
Sliding Windows - a measurement interval type such that a measurement is calculated for a time interval relative to now, i.e. the last 10 minutes, the last hour.
Time Intervals - a measurement interval type such that a measurement is calculated for a time interval between two time stamps.
Identification – read only data that uniquely identifies the element. This data may include information that is not required for unique identification as well.
Status – information about the operational state of an element