The technology previously outlined in a Web Services Notification (WS-Notification) specification has been elaborated in terms of a Web Services Notification Framework which supports Publish-Subscribe Notification for Web services. This framework has been developed by Akamai Technologies, Computer Associates International, Fujitsu Laboratories of Europe, Globus, Hewlett-Packard, IBM, SAP AG, Sonic Software, and TIBCO Software.
The Web Services Notification Framework complements and is part of the Web Services Resource Framework, which includes the WS-ResourceProperties and WS-ResourceLifetime specifications and defines a family of specifications for accessing stateful resources using Web services. "The WS-Notification family of related white papers and specifications that define a standard Web services approach to notification using a topic-based publish/subscribe pattern define: (1) Standard message exchanges to be implemented by service providers that wish to participate in Notifications; (2) Standard message exchanges for a notification broker service provider — allowing publication of messages from entities that are not themselves service providers; (3) Operational requirements expected of service providers and requestors that participate in notifications; (4) An XML model that describes topics." The Web Services Notification Framework currently includes three normative specifications.
Web Services Base Notification (WS-Base Notification) describes "standard message exchanges to be implemented by service providers that wish to act in these roles, along with operational requirements expected of them."
Web Services Brokered Notification (WS-BrokeredNotification) "defines the Web services interface for the NotificationBroker, which is an intermediary that allows publication of messages from entities that are not themselves service providers."
Web Services Topics (WS-Topics) "defines a mechanism to organize and categorize items of interest for subscription known as 'topics' that are used in conjunction with the notification mechanisms defined in WS-Base Notification. It defines three topic expression dialects and specifies an XML model for describing metadata associated with topics."
These specifications "implement the Notification pattern in which a service provider, or other entity, initiates messages based on a subscription or registration of interest from a service requestor. The Web Services Notification Framework defines how the publish/subscribe (pub/sub) pattern commonly used in Message-Oriented middleware products can be realized using Web services. This includes brokered as well as direct pub/sub which allows the publisher/subscribers to be decoupled and provides greater scalability."
Bibliographic Information and Summary
Summaries are provided in IBM's Web Services Notification Framework overview document.
Web Services Base Notification (WS-Base Notification). Edited by Steve Graham and Peter Niblett (IBM). Version 1.0. 3/5/2004. 35 pages. With WSDL file and XML Schema. Namespace URI: http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification. Contributors: Dave Chappell (Sonic Software), Amy Lewis (TIBCO Software), Nataraj Nagaratnam (IBM), Jay Parikh (Akamai Technologies), Sanjay Patil (SAP AG), Shivajee Samdarshi (TIBCO Software), Igor Sedukhin ( Computer Associates International), David Snelling (Fujitsu Laboratories of Europe), Steve Tuecke (Globus / Argonne National Laboratory), William Vambenepe (Hewlett-Packard), and Bill Weihl (Akamai Technologies). Copyright (c) Akamai Technologies, Computer Associates International, Inc., Fujitsu Limited, Hewlett-Packard Development Company, International Business Machines Corporation, SAP AG, Sonic Software Corporation, The University of Chicago and Tibco Software Inc.
"WS-BaseNotification defines the Web services interfaces for NotificationProducers and NotificationConsumers. It includes standard message exchanges to be implemented by service providers that wish to act in these roles, along with operational requirements expected of them. This is the base specification on which the other WS-Notification specification documents depend. An implementer interested just in direct, point to point, notification need only read this WS-BaseNotification specification, together with the Publish-Subscribe Notification for Web Services white paper..."
Web Services Brokered Notification (WS-BrokeredNotification). Version 1.0. 3/5/2004 24 pages. With WSDL file and XML Schema. Namespace URI: http://www.ibm.com/xmlns/stdwip/web-services/WSBrokeredNotification
"WS-BrokeredNotification defines the Web services interface for the NotificationBroker. A NotificationBroker is an intermediary which, among other things, allows publication of messages from entities that are not themselves service providers. It includes standard message exchanges to be implemented by NotificationBroker service providers along with operational requirements expected of service providers and requestors that participate in brokered notifications. This work relies upon WS-BaseNotification and WS-Topics, as well as the Publish-Subscribe Notification for Web Services document.
"WS-Topics defines a mechanism to organize and categorize items of interest for subscription known as "topics." These are used in conjunction with the notification mechanisms defined in WS-BaseNotification. WS-Topics defines three topic expression dialects that can be used as subscription expressions in subscribe request messages and other parts of the WS-Notification system. It further specifies an XML model for describing metadata associated with topics. This specification should be read in conjunction with the WS-BaseNotification specification and the Publish-Subscribe Notification for Web Services document."
Publish-Subscribe Notification for Web Services. Overview (white paper). Version 1.0. 03/05/2004. 19 pages.
"WS-Notification is packaged as a family of related specification documents. This follows the standard Web services practice of having small composable specifications, and makes the functional layering of the total specification more apparent to readers. This approach also provides a flexible framework so that, over time, additional functionality can be added without requiring a revision of existing specifications... This document introduces the Notification pattern, sets the goals and requirements for the WS-Notification family of specifications and describes each of the specifications that make up this family. It also defines a set of terms and concepts used in the specifications, provides some examples, and includes a discussion of security considerations. This document should be read before reading the other WS-Notification specifications..."
The WS-Notification Family of Specifications
Authors of the Web Services Notification Framework have released a white paper under the title Publish-Subscribe Notification for Web Services. From the abstract and Introduction:
The Event-driven, or Notification-based, interaction pattern is a commonly used pattern for inter-object communications. Examples exist in many domains, for example in publish/subscribe systems provided by Message Oriented Middleware vendors, or in system and device management domains. This notification pattern is increasingly being used in a Web services context.
WS-Notification is a family of related white papers and specifications that define a standard Web services approach to notification using a topic-based publish/subscribe pattern. It includes: standard message exchanges to be implemented by service providers that wish to participate in point to point notifications, standard message exchanges for a notification broker service provider (allowing publication of messages from entities that are not themselves service providers), operational requirements expected of service providers and requestors that participate in notifications, and an XML model that describes topics of subscription. The WSNotification family of documents includes: a white paper: Publish-Subscribe Notification for Web Services as well as three normative specifications: WSBaseNotification, WS-BrokeredNotification, and WS-Topics.
This document introduces the notification pattern, sets the goals and requirements for the WS-Notification family of specifications and describes each of the specifications that make up this family. It also defines a set of terms and concepts used in the specifications, provides some examples, and includes a discussion of security considerations.
In the notification pattern a Web service, or other entity, disseminates information to a set of other Web services, without having to have prior knowledge of these other Web services. Characteristics of this pattern include:
- The Web services that wish to consume information (which we call NotificationConsumers) are registered dynamically with the Web service that is capable of distributing information. As part of this registration process the NotificationConsumers may provide some indication of the nature of the information that they wish to receive.
- The distributing Web service disseminates information by sending one-way messages to the NotificationConsumers that are registered to receive the information. It is possible that more than one NotificationConsumer is registered to consume the same information. In such cases, each NotificationConsumer that is registered receives a separate copy of the information.
- The distributing Web service may send any number of messages to each registered NotificationConsumer; it is not limited to sending just a single message. Note also that a given NotificationConsumer may receive zero or more NotificationMessages throughout the time during which it is registered.
WS-Notification standardizes the roles, concepts, message exchanges, WSDL 1.1 and XML Schema renderings required to express the pattern.
WS-Notification and the WS-Resource Framework
The OGSI-WSRF document describes "the relationship between OGSI and the WS-Resource Framework and the related WS-Notification family of specifications; it explains the common requirements that both address, and compares and contrasts the approaches taken to the realization of those requirements." WS-Resource Framework documents published January 20, 2004 and updated March 05, 2004 include WS-ResourceProperties and WS-ResourceLifetime.
Web Services Resource Properties (WS-ResourceProperties). Version 1.1. March 05, 2004. 40 pages. Excerpt from Section 6, 'Subscription':
The WS-Notification family of specifications describes the patterns, concepts, standard message exchanges, and protocols of a topic-based, publishsubscribe messaging pattern in Web services. In the notification model, a service creates messages that are delivered to other services that had previously registered interest in the situation associated with that message.
With WS-ResourceProperties, it is a common pattern for Web service requestors to request notification of changes (inserts, updates and deletions) made to the values of one or more resource property elements of a given WS-Resource. It is the Web service component of the WS-Resource that is responsible for executing or observing the messages. This suggests the need for encapsulation of the stateful resource to ensure all changes made to the stateful resource are observed by the WS-Resource implementation. To the extent that encapsulation is not provided, and updates to the stateful resource are made outside of the knowledge of the associated WS-Resource implementation, the WS-Resource may not be able to provide notifications reflecting those updates.
If a WS-Resource supports the resource property value change notification pattern and if it uses WS-Notification to implement this feature, then it MUST implement the message exchanges for the NotificationProducer role, as specified in WS-BaseNotification. The WS-Resource MAY accept subscriptions to only a subset of the resource properties defined for a WS-Resource... WS-ResourceProperties defines the Notification Topic and TopicSpace elements that MUST be used to express the organization of the WS-Resource property element value change notifications. By understanding the relationship between Topics and resource properties, and examining the set of Topics supported by the NotificationProducer Web service, the service requestor can determine which of the resource properties are able to participate in the value change notification pattern..."
Web Services Resource Lifetime (WS-ResourceLifetime). Version 1.1. March 05, 2004. 24 pages. Excerpt from Section 3, 'Example' and Figure 1 (Example WS-Resource Creation):
Consider the case of a subscription entity within a notification system such as WS-Notification... A service requestor, playing the role of a subscriber, sends a subscribe message to a NotificationProducer because it wishes to receive notifications related to a particular situation such as a failure of a component. A subscription WS-Resource is created as a result of the subscribe message, and a WS-Resource qualified EndpointReference is returned to the requestor. As part of the application-specific understanding of the subscribe message exchange, both the requestor and provider understand that part of the semantics of processing a subscribe message is the creation (usually for a limited period of time) of a subscription WS-Resource. The subscribe request message contains the initial scheduled termination time of the subscription WS-Resource.
The endpoint reference that is returned as a result of the subscribe message is a WS-Resource qualified endpoint reference... It contains a stateful resource identifier that refers to the newly created subscription state represented by the WS-Resource. The endpoint reference also contains the address of the Web service component of the WS-Resource that implements the message exchanges defined by WS-Notification's SubscriptionManager interface.
Subsequent to the creation of the subscription WS-Resource, the application specific behavior of delivering notifications continues. Occasionally, the subscriber may examine the subscription WS-Resource using standard WS-ResourceLifetime resource properties to inquire about the remaining time before the subscription WSResource may be destroyed. If the subscriber wishes to extend the lifetime of the subscription WS-Resource beyond its scheduled termination time, it sends a specific WS-ResourceLifetime message to the subscription WS-Resource identified by its EndpointReference, prior to the expiration of its current scheduled termination time. The response to this message contains the (potentially unchanged) termination time associated with the subscription WS-Resource.
When the subscriber no longer wishes to receive notifications, it may cause the immediate destruction of the subscription WS-Resource by sending another WSResourceLifetime message to the WS-Resource through use of its EndpointReference. As another option, it may simply allow the termination time of the subscription WSResource to expire, at which time the subscription WS-Resource may be destroyed.
About Open Grid Services Infrastructure (OGSI) and the WS-Resource Framework
Updated information from IBM in "From Open Grid Services Infrastructure to WS-Resource Framework: Refactoring and Evolution" clarifies that "the specifications related to the WS-Resource Framework are: WS-Notification, WS-ResourceProperties, and WS-ResourceLifetime; the family of WS-Notification specifications includes: WS-BaseNotification, WS-BrokeredNotification, and WS-Topics." For other details on the OGSI specification refactoring, see the public presentation by Ian Foster (Globus Alliance) at GlobusWORLD on January 20, 2004. From the Refactoring and Evolution paper overview:
"The Open Grid Services Infrastructure specification version 1.0 (OGSI), released in July 2003, defines a set of conventions and extensions on the use of Web Service Definition Language and XML Schema to enable stateful Web services. It introduces the idea of stateful Web services and defines approaches for creating, naming, and managing the lifetime of instances of services; for declaring and inspecting service state data; for asynchronous notification of service state change; for representing and managing collections of service instances; and for common handling of service invocation faults. In January 2004, the WS-Resource framework (WSRF) was proposed as a refactoring and evolution of OGSI aimed at exploiting new Web services standards, specifically WS-Addressing, and at evolving OGSI based on early implementation and application experiences. WSRF retains essentially all of the functional capabilities present in OGSI, while changing some of the syntax (for example, to exploit WS-Addressing) and also adopting a different terminology in its presentation. In addition, WSRF partitions OGSI functionality into five distinct, composable specifications. In this document, we explain the relationship between OGSI and WSRF and the related WS-Notification specifications, explain the common requirements that both address, and compare and contrast the approaches taken to the realization of those requirements..."
- OASIS Announcement 2004-03-17: "OASIS Members Collaborate to Advance Web Services Notification. AmberPoint, Arjuna Technologies, BEA Systems, BMC Software, Computer Associates, Fujitsu, HP, IBM, NEC, Novell, OpenNetwork, SAP, SeeBeyond, Sonic Software, webMethods, and Others to Standardize Web Services Interactions."
- Web Services Notification Framework. From IBM.
- Web Services Notification. References from SAP.
- WS-Notification Specifications. References from HP.
- Web Services Notification and Web Services Resource Framework. Reference from IBM.
- WS-Notification Framework specifications:
- Publish-Subscribe Notification for Web Services White paper. This document introduces the concepts of notification patterns and sets the goals and requirements for the WS-Notification family of specifications. See the overview.
- From Open Grid Services Infrastructure to WS-Resource Framework: Refactoring and Evolution. Version 1.1. March 05, 2004. 20 pages. By Karl Czajkowski (Globus Alliance / USC Information Sciences Institute), Don Ferguson (IBM), Ian Foster (Globus Alliance / Argonne National Laboratory), Jeff Frey (IBM), Steve Graham (IBM), Tom Maguire (IBM), David Snelling (Fujitsu Laboratories of Europe), and Steve Tuecke (Globus Alliance / Argonne National Laboratory). This paper explores the relationship between OGSI and WSRF and the related WS-Notification specification; it explains the common requirements that both address.
- The WS-Resource Framework
- "The WS-Resource Framework." White paper. Version 1.0. 03/05/2004. 18 pages.
- Earlier news item: "Web Services Notification and Web Services Resource Framework."