Changes between Version 4 and Version 5 of technicalGuideAndManual
- Timestamp:
- 01/16/12 12:16:36 (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
technicalGuideAndManual
v4 v5 93 93 The figure below shows an example scenario and notification message 94 94 flow where NotificationBroker is present.</p><div class="figure"><a name="d0e202"></a><p class="title"><b>Figure 2. Web Services BrokeredNotification entities - QCG 95 Notification entities</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/ WikiStart/./diagrams/general/smn_brokeredentities.png" align="middle" width="324" alt="Web Services BrokeredNotification entities - QCG Notification entities"></div></div></div><p><br class="figure-break">Note, that there are some important enlargements and95 Notification entities</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/smn_brokeredentities.png" align="middle" width="324" alt="Web Services BrokeredNotification entities - QCG Notification entities"></div></div></div><p><br class="figure-break">Note, that there are some important enlargements and 96 96 modifications in the WS-BrokeredNotificatison terminology. Below the 97 97 most relevant definitions are presented.</p><div class="variablelist"><dl><dt><span class="term">Situation</span></dt><dd><p>Some occurrence, known by a Publisher. A Situation is a … … 145 145 TopicExpression. The specification defines four Dialects: 146 146 <span class="emphasis"><em>Simple</em></span>, <span class="emphasis"><em>Concrete</em></span>, 147 <span class="emphasis"><em>Full</em></span> and <span class="emphasis"><em>XPath</em></span>.</p></dd></dl></div><div class="figure"><a name="d0e322"></a><p class="title"><b>Figure 3. Example Topic Namespace</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/ WikiStart/./diagrams/general/smn_topicnamespace.png" align="middle" width="324" alt="Example Topic Namespace"></div></div></div><br class="figure-break"></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e328"></a>2.1.5. Base of <span class="emphasis"><em>QCG Notification</em></span></h4></div></div></div><p><span class="emphasis"><em>QCG Notification</em></span> is a reference147 <span class="emphasis"><em>Full</em></span> and <span class="emphasis"><em>XPath</em></span>.</p></dd></dl></div><div class="figure"><a name="d0e322"></a><p class="title"><b>Figure 3. Example Topic Namespace</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/smn_topicnamespace.png" align="middle" width="324" alt="Example Topic Namespace"></div></div></div><br class="figure-break"></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e328"></a>2.1.5. Base of <span class="emphasis"><em>QCG Notification</em></span></h4></div></div></div><p><span class="emphasis"><em>QCG Notification</em></span> is a reference 148 148 implementation of WS-BaseNotification, WS-BrokeredNotification and 149 149 WS-Topics OASIS industry standards. As a consistent and highly … … 169 169 demonstrating capabilities offered by <span class="emphasis"><em>QCG 170 170 Notification</em></span>.</p><div class="figure"><a name="notificationConsumers"></a><p class="title"><b>Figure 4. Notification with multiple Publishers and multiple 171 NotificationConsumers</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/ WikiStart/./diagrams/general/smn_example1.png" align="middle" width="324" alt="Notification with multiple Publishers and multiple NotificationConsumers"></div></div></div><br class="figure-break"><p>The <a class="link" href="#notificationConsumers" title="Figure 4. Notification with multiple Publishers and multiple NotificationConsumers">diagram 4</a> shows171 NotificationConsumers</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/smn_example1.png" align="middle" width="324" alt="Notification with multiple Publishers and multiple NotificationConsumers"></div></div></div><br class="figure-break"><p>The <a class="link" href="#notificationConsumers" title="Figure 4. Notification with multiple Publishers and multiple NotificationConsumers">diagram 4</a> shows 172 172 one of the basic notification flows supported by <span class="emphasis"><em>QCG 173 173 Notification</em></span>. Depending on records, Notifications produced … … 186 186 sequence of events in order to initialize an asynchronous process of 187 187 notifications between a Publisher and a NotificationConsumer.</p><div class="figure"><a name="d0e382"></a><p class="title"><b>Figure 5. Message flows: creating a Subscription, notifying 188 NotificationConsumers</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/ WikiStart/./diagrams/general/smn_example2.png" align="middle" width="324" alt="Message flows: creating a Subscription, notifying NotificationConsumers"></div></div></div><br class="figure-break"><div class="orderedlist"><ol type="1"><li><p>A Subscriber sends the SubscribeRequest message with a188 NotificationConsumers</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/smn_example2.png" align="middle" width="324" alt="Message flows: creating a Subscription, notifying NotificationConsumers"></div></div></div><br class="figure-break"><div class="orderedlist"><ol type="1"><li><p>A Subscriber sends the SubscribeRequest message with a 189 189 NotificationConsumer location and TopicExpression parameters to 190 190 <span class="emphasis"><em>QCG Notification</em></span>.</p></li><li><p><span class="emphasis"><em>QCG Notification</em></span> prepares appropriate … … 220 220 clearly ordered message layout and connections among functional units. 221 221 The actors and messages in the sequence diagrams are more properly roles 222 in a scenario and actions associated with that scenario.</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e461"></a>2.2.1. `Main Use Cases</h4></div></div></div><div class="figure"><a name="d0e464"></a><p class="title"><b>Figure 6. Use case diagram for a Publisher</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/ WikiStart/./diagrams/use_publisher.png" align="middle" width="432" alt="Use case diagram for a Publisher"></div></div></div><br class="figure-break"><div class="figure"><a name="d0e470"></a><p class="title"><b>Figure 7. Use case diagram for a Subscriber</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/WikiStart/./diagrams/use_subscriber.png" align="middle" width="432" alt="Use case diagram for a Subscriber"></div></div></div><br class="figure-break"><div class="figure"><a name="d0e476"></a><p class="title"><b>Figure 8. Use case diagram for a NotificationConsumer</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/WikiStart/./diagrams/use_consumer.png" align="middle" width="432" alt="Use case diagram for a NotificationConsumer"></div></div></div><br class="figure-break"><div class="figure"><a name="d0e482"></a><p class="title"><b>Figure 9. Use case diagram for QCG Notification</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/WikiStart/./diagrams/use_qcgnotification.png" align="middle" width="432" alt="Use case diagram for QCG Notification"></div></div></div><br class="figure-break"><div class="figure"><a name="d0e488"></a><p class="title"><b>Figure 10. Use case diagram for a QCG Notification Administrator</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/WikiStart/./diagrams/use_administrator.png" align="middle" width="432" alt="Use case diagram for a QCG Notification Administrator"></div></div></div><br class="figure-break"></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e494"></a>2.2.2. Main Sequence Diagrams</h4></div></div></div><div class="figure"><a name="d0e497"></a><p class="title"><b>Figure 11. General sequence diagram</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/WikiStart/./diagrams/seq_all.png" align="middle" width="432" alt="General sequence diagram"></div></div></div><br class="figure-break"></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e503"></a>3. User Guide for a Publisher, Subscriber and222 in a scenario and actions associated with that scenario.</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e461"></a>2.2.1. `Main Use Cases</h4></div></div></div><div class="figure"><a name="d0e464"></a><p class="title"><b>Figure 6. Use case diagram for a Publisher</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/use_publisher.png" align="middle" width="432" alt="Use case diagram for a Publisher"></div></div></div><br class="figure-break"><div class="figure"><a name="d0e470"></a><p class="title"><b>Figure 7. Use case diagram for a Subscriber</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/use_subscriber.png" align="middle" width="432" alt="Use case diagram for a Subscriber"></div></div></div><br class="figure-break"><div class="figure"><a name="d0e476"></a><p class="title"><b>Figure 8. Use case diagram for a NotificationConsumer</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/use_consumer.png" align="middle" width="432" alt="Use case diagram for a NotificationConsumer"></div></div></div><br class="figure-break"><div class="figure"><a name="d0e482"></a><p class="title"><b>Figure 9. Use case diagram for QCG Notification</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/use_qcgnotification.png" align="middle" width="432" alt="Use case diagram for QCG Notification"></div></div></div><br class="figure-break"><div class="figure"><a name="d0e488"></a><p class="title"><b>Figure 10. Use case diagram for a QCG Notification Administrator</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/use_administrator.png" align="middle" width="432" alt="Use case diagram for a QCG Notification Administrator"></div></div></div><br class="figure-break"></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e494"></a>2.2.2. Main Sequence Diagrams</h4></div></div></div><div class="figure"><a name="d0e497"></a><p class="title"><b>Figure 11. General sequence diagram</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/seq_all.png" align="middle" width="432" alt="General sequence diagram"></div></div></div><br class="figure-break"></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e503"></a>3. User Guide for a Publisher, Subscriber and 223 223 NotificationConsumer<span class="emphasis"><em> </em></span></h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e508"></a>3.1. Prefixes and Namespaces</h3></div></div></div><p>The following table presents namespaces tied with prefixes. The 224 224 prefixes are used in example SOAP messages presented in the further … … 227 227 Subscriber and NotificationConsumer. Although a conceptual style of 228 228 interaction is described here in details, technical particularities of 229 constructing messages are presented later.</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e596"></a>3.2.1. Publisher Interaction</h4></div></div></div><div class="figure"><a name="d0e599"></a><p class="title"><b>Figure 12. Publisher interaction sequence diagram</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/ WikiStart/./diagrams/seq_publisher.png" align="middle" width="432" alt="Publisher interaction sequence diagram"></div></div></div><br class="figure-break"><p>In the most general configuration of the service, a Publisher229 constructing messages are presented later.</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e596"></a>3.2.1. Publisher Interaction</h4></div></div></div><div class="figure"><a name="d0e599"></a><p class="title"><b>Figure 12. Publisher interaction sequence diagram</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/seq_publisher.png" align="middle" width="432" alt="Publisher interaction sequence diagram"></div></div></div><br class="figure-break"><p>In the most general configuration of the service, a Publisher 230 230 has to be registered before it starts sending Notifications. In this 231 231 situation, a Publisher sends the RegisterPublisherRequest message to … … 238 238 replaces the old one in CurrentMessages. After work, a Publisher 239 239 should unregister himself by sending DestroyRegistration. This message 240 has to include a session ID likewise.</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e610"></a>3.2.2. Subscriber interaction</h4></div></div></div><div class="figure"><a name="d0e613"></a><p class="title"><b>Figure 13. Subscriber interaction sequence diagram</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/ WikiStart/./diagrams/seq_subscriber.png" align="middle" width="432" alt="Subscriber interaction sequence diagram"></div></div></div><br class="figure-break"><p>When a Subscriber wants to create a Subscription, it sends the240 has to include a session ID likewise.</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e610"></a>3.2.2. Subscriber interaction</h4></div></div></div><div class="figure"><a name="d0e613"></a><p class="title"><b>Figure 13. Subscriber interaction sequence diagram</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/seq_subscriber.png" align="middle" width="432" alt="Subscriber interaction sequence diagram"></div></div></div><br class="figure-break"><p>When a Subscriber wants to create a Subscription, it sends the 241 241 SubscribeRequest message to <span class="emphasis"><em>QCG Notification</em></span>. 242 242 This message should contain an address of NotificationConsumer and a … … 258 258 PullPoint resource can be destroyed by the DestroyPullPoint message 259 259 sent directly to this resource. 260 </em></span></em></span></em></span></p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e635"></a>3.2.3. NotificationConsumer Interaction</h4></div></div></div><div class="figure"><a name="d0e639"></a><p class="title"><b>Figure 14. NotificationConsumer interaction sequence diagram</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/ WikiStart/./diagrams/seq_consumer.png" align="middle" width="432" alt="NotificationConsumer interaction sequence diagram"></div></div></div><p><br class="figure-break">The main capability of a NotificationConsumer is a260 </em></span></em></span></em></span></p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e635"></a>3.2.3. NotificationConsumer Interaction</h4></div></div></div><div class="figure"><a name="d0e639"></a><p class="title"><b>Figure 14. NotificationConsumer interaction sequence diagram</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/seq_consumer.png" align="middle" width="432" alt="NotificationConsumer interaction sequence diagram"></div></div></div><p><br class="figure-break">The main capability of a NotificationConsumer is a 261 261 receiving of Notify messages. A NotificationConsumer can implement an 262 262 interface for receiving Notify messages sending by <span class="emphasis"><em>QCG