170 likes | 182 Vues
Learn about the WS-Notification family of documents, specifications, direct and brokered notification, topics, and topic spaces requirements for Web services messaging. Explore the concepts, roles, and interface definitions provided by the WS-Notification base notification framework.
E N D
WS-Notification Technical Overview OASIS WS-Notification TC F2F Thursday, April 29th, 2004 Steve Graham sggraham@us.ibm.com
WS-Notification • Family of documents and specifications • Brings enterprise quality publish and subscribe messaging to Web services • Loosely coupled, asynchronous messaging in a Web services context • WS Notification exploits WS Resource framework and other Web services technologies • Direct and Brokered notification • Topics and Topic Spaces
Requirements • Must support resource-constrained devices • Must support both direct and brokered Notification • Must permit transformation and aggregation of Topics • Must provide runtime metadata In addition, must allow for: • WS-Notification must be independent of binding-level details • Must allow for Message Oriented Middleware implementations • Must allow for federation of brokers • Relationship to other WS-* specifications
Non Goals • Defining the format of notification payloads: • Defining any Events or NotificationMessages • Defining the mapping between Situations and NotificationMessages • Defining the means by which NotificationProducers and NotificationBrokers are discovered by subscribers • Defining the specific policy language to be used to govern specifics of the notification message exchange between the NotificationProducer and the NotificationConsumer
WS-Notification Family of Documents • WS-Notification is a family of documents: • Publish-Subscribe for Web services • Whitepaper describing roles, concepts, terms, etc. • Base Notification • Basic interfaces: Producer, Consumer, Subscription • Topics • Topics and TopicSpaces model in XML • Topic Expression Dialects • Brokered Notification • Mechanisms of Publish and the Broker role • Authored by: • CA, Fujitsu, Globus, HP, IBM + Akamai, SAP, Sonic, Tibco
Status of WS-Notification • Specification announced on January 20, 2004 • http://www-106.ibm.com/developerworks/webservices/library/ws-notification/ • Public feedback session February 24 • Specifications updated March 5 • Factored into 4 documents • OASIS TC call for participation March 9 • Interoperability “fest” April 21 • First meeting of OASIS TC April 29
Situation NotificationMessage Notification NotificationProducer NotificationConsumer Subscription SubscriptionManager Subscriber Topic Topic Space Topic Tree NotificationBroker Publisher PublisherRegistration PublisherRegistrationManager Demand-based Publisher Terminology and Concepts
Consumer Subscriber Producer WS-Notification: Base Notification • Defines the Basis for the family • Direct notification: Three primary roles • Subscriber deals directly with the producer of the Notifications • indicates interest in a particular “Topic” by issuing a “subscribe” request • An EPR to the subscription is returned • Producer is responsible fordetecting situation and creating the notification • Subscriptions that matchreceive the notification subscribe subscribe notify EPR S
WS-Base Notification • Defines the Web services interfaces for NotificationProducers and NotificationConsumers • It includes standard message exchanges • along with operational requirements expected of them. • This is the base specification on which the other WS-Notification specification documents depend. • Direct, point to point, notification • WS-Base Notification • Publish-Subscribe Notification for Web Services
Notification Consumer: Notify <wsnt:Notify> <wsnt:NotificationMessage> <wsnt:Topic dialect=”xsd:anyURI”> {any} </wsnt:Topic> <wsnt:ProducerReference>? wsa:EndpointReference </wsnt:ProducerReference> <wsnt:Message>xsd:any</wsnt:Message> <wsnt:NotificationMessage>+ </wsnt:Notify>
Notification Producer: Resource Properties • MUST support required WS-ResourceProperties message exchanges <xsd:element name=”Topics” type=”wsnt:TopicExpressionType” minOccurs=”0” maxOccurs=”unbounded” /> <xsd:element name=”FixedTopicSet” type=”xsd:boolean” minOccurs=”1” maxOccurs=”1” /> <xsd:element name=”TopicExpressionDialects” type=”xsd:anyURI” minOccurs=”1” maxOccurs=”unbounded” />
Notification Producer:: Subscribe • More on Subscribe Request • Returns EPR to a Subscription WS-Resource <wsnt:Subscribe> <wsnt:ConsumerReference>EPR </wsnt: ConsumerReference> <wsnt:TopicExpression dialect=“URI”/> <wsnt:UseNotify> xsd:boolean </wsnt:UseNotify>? <wsnt:Precondition> wsrp:QueryExpression </Precondition>? <wsnt:Selector> wsrp:QueryExpression </wsnt:Selector>? <wsnt:SubscriptionPolicy> any </wsnt:SubscriptionPolicy>? <wsnt:InitialTerminationTime> xsd:dateTime </wsnt:InitialTerminationTime>? </wsnt: Subscribe>
NotificationProducer::GetCurrentMessage <wsnt:GetCurrentMessage> <wsnt:Topic dialect=”xsd:anyURI”>{any}</wsnt:Topic> </wsnt:GetCurrentMessage> <wsnt:GetCurrentMessageResponse> {any} </wsnt:GetCurrentMessageResponse>
SubscriptionManager Resource Properties <xsd:element name=”ConsumerReference” type=”wsa:EndpointReferenceType” minOccurs=”1” maxOccurs=”1” /> <xsd:element name=”TopicExpression” type=”wsnt:TopicExpressionType” minOccurs=”1” maxOccurs=”1” /> <xsd:element name=”UseNotify” type=”xsd:boolean” minOccurs=”1” maxOccurs=”1” /> <xsd:element name=”Precondition” type=”wsrp:QueryExpressionType” minOccurs=”0” maxOccurs=”1” /> <xsd:element name=”Selector” type=”wsrp:QueryExpressionType” minOccurs=”0” maxOccurs=”1” /> <xsd:element name=”SubscriptionPolicy” type=”xsd:anyType” minOccurs=”0” maxOccurs=”1” /> <xsd:element name=”CreationTime” type=”xsd:dateTime” minOccurs=”0” maxOccurs=”1” />
SubscriptionManager Operations • MUST support the required WS-ResourceProperties message exchanges • MUST support the message exchanges defined for immediate and scheduled destruction <wsnt:PauseSubscription/> <wsnt:PauseSubscriptionResponse /> <wsnt:ResumeSubscription/> <wsnt:ResumeSubscriptionResponse/>