steve graham ws-notification technical overview oasis ws-notification tc f2f thursday, april 29th,...
DESCRIPTION
© 2004 IBM Corporation 3 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-* specificationsTRANSCRIPT
Steve Graham [email protected]
WS-NotificationTechnical OverviewOASIS WS-Notification TC F2F
Thursday, April 29th, 2004
© 2004 IBM Corporation 2
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
© 2004 IBM Corporation 3
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
© 2004 IBM Corporation 4
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
© 2004 IBM Corporation 5
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
© 2004 IBM Corporation 6
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
© 2004 IBM Corporation 7
Terminology and Concepts Situation NotificationMessage Notification NotificationProducer NotificationConsumer Subscription SubscriptionManager Subscriber
Topic Topic Space Topic Tree NotificationBroker Publisher PublisherRegistration PublisherRegistrationMana
ger Demand-based Publisher
© 2004 IBM Corporation 8
Consumer
Producer
Subscriber
WS-Notification: Base Notification
subscribe
subscribe
S
notify
EPR
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
© 2004 IBM Corporation 9
Base Message Exchange Pattern
Subscriber NotificationProducer NotificationConsumer
Subscribe
wsa:EndpointReference
Notify
© 2004 IBM Corporation 10
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
© 2004 IBM Corporation 11
WS-Base Notification InterfacesNotificationConsumer
Notify()
NotificationProducerTopics : wsnot:TopicExpressionFixedTopicSet : xsd:booleanDialects : xsd:anyURI
Subscribe()GetCurrentMessage()
wsrp:ResourceProperties wsrl:ResourceLifetime
SubscriptionManagerConsumerReference : wsa:EndpointReferenceTopics : wsnot:TopicExpressionUseNotify : xsd:booleanPrecondition : wsrp:QueryExpressionSelector : wsrp:QueryExpressionSubscriptionPolicy : wsp:PolicyCreationTime : xsd:dateTime
PauseSubscription()ResumeSubscription()
© 2004 IBM Corporation 12
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>
© 2004 IBM Corporation 13
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” />
© 2004 IBM Corporation 14
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>
© 2004 IBM Corporation 15
NotificationProducer::GetCurrentMessage
<wsnt:GetCurrentMessage> <wsnt:Topic dialect=”xsd:anyURI”>{any}</wsnt:Topic></wsnt:GetCurrentMessage>
<wsnt:GetCurrentMessageResponse> {any}</wsnt:GetCurrentMessageResponse>
© 2004 IBM Corporation 16
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” />
© 2004 IBM Corporation 17
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/>