120 likes | 285 Views
Notification Broker. A project of the course Large Scale Distributed Computing. LAYSI Infrastructure. SLA Manager. Our a ssignment. Implement the Notification Broker using the p ublish / subscribe pattern (WS- Notifications , Queues, Event Management , etc ) Predefined topics
E N D
Notification Broker A projectofthecourse Large Scale Distributed Computing
Ourassignment • ImplementtheNotification Broker usingthepublish/subscribepattern (WS-Notifications, Queues, Event Management, etc) • Predefinedtopics • Organizationoftopics (hierarchical, etc.) • First prototype andevaluation
Publish/Subscribe • Messaging pattern • Sender(Publisher) • Receiver(Subscriber) • Decoupling • Message filtering • Topic-based • Content-based
WS-Notification & WS-Topics • The WS-Notification specifications allow the use of Topics to as a way to organize and categorize a set of Notifications • Publisher may associate a notification with one or more Topics • Subscriber may associate a notification with one or more Topics using a Topic filter expression
OASIS WS-Topics • Topic Namespace • Topic Tree • Topic Set • Notification Producer supports Topics from Topic Namespaces by adding them to its Topic Set
WS-Topics Namespace <wstop:Topicname="t1”> <wstop:Topic name="t3"/> </wstop:Topic> <wstop:Topic name="t4"> <wstop:Topic name="t5"/> <wstop:Topic name="t6"/> </wstop:Topic>
Topic Expressions • Dialects • Simple Topic Expression Dialect • Concrete Topic Expression Dialect • Full Topic Expression Dialect • Expression
Topic Expression dialectexamples • Simple dialect • „tns:t1“ forthetopict1 in thetnsnamespace. • Concretedialect • „tns1:t1/tns2:t3“ forthetopict3 in thenamespacetns2, childofthetopict1 in thenamespacetns1 • Fulldialect • “tns:t1/*” for all of the child topics of topic t1 in the namespace tns
WSNotifier API • WSNotifier.publish(String experssion, String dialect, Object message) • WSNotifier.publish("t1/t3",WSNotifier.TOPIC_EXPR_DIALECT_CONCRETE,message); • WSNotifier.subscribe(String expression, String dialect, Subscriber subscriber) • WSNotifier.subscribe("t1",TopicsConstants.TOPIC_EXPR_DIALECT_SIMPLE, new Subscriber());
Questions and/orothercontribtions