Changes between Version 17 and Version 18 of technicalGuideAndManual
- Timestamp:
- 05/21/13 10:34:32 (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
technicalGuideAndManual
v17 v18 1 1 {{{ 2 2 #!html 3 <div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e1"></a><span class="emphasis"><em>QCG-Notification</em></span> v. 2.6Technical Guide and4 Manual</h2></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname">Bartosz</span> <span class="surname">Bosak</span></h3><code class="email"><<a class="email" href="mailto:bbosak@man.poznan.pl">bbosak@man.poznan.pl</a>></code></div><div class="author"><h3 class="author"><span class="firstname">Krzysztof</span> <span class="surname">Kurowski</span></h3><code class="email"><<a class="email" href="mailto:krzysztof.kurowski@man.poznan.pl">krzysztof.kurowski@man.poznan.pl</a>></code></div></div></div><div><p class="releaseinfo"> 2.6.3</p></div><div><p class="copyright">Copyright © 2008-2012 Poznan Supercomputing and Networking Center</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#d0e37">1. Introduction</a></span></dt><dd><dl><dt><span class="sect2"><a href="#d0e48">1.1. Motivations</a></span></dt><dt><span class="sect2"><a href="#d0e56">1.2. Purpose of the Document</a></span></dt><dt><span class="sect2"><a href="#d0e71">1.3. Status</a></span></dt></dl></dd><dt><span class="sect1"><a href="#d0e76">2. Terminology and WS-Notification Concept</a></span></dt><dd><dl><dt><span class="sect2"><a href="#d0e84">2.1. WS-Notification Concept</a></span></dt><dd><dl><dt><span class="sect3"><a href="#d0e87">2.1.1. WS-Notification Fundamentals</a></span></dt><dt><span class="sect3"><a href="#d0e130">2.1.2. WS-BaseNotification</a></span></dt><dt><span class="sect3"><a href="#d0e192">2.1.3. WS-BrokeredNotification</a></span></dt><dt><span class="sect3"><a href="#d0e270">2.1.4. WS-Topics</a></span></dt><dt><span class="sect3"><a href="#d0e324">2.1.5. Base of QCG-Notification</a></span></dt></dl></dd><dt><span class="sect2"><a href="#d0e416">2.2. UML-style Diagrams</a></span></dt><dd><dl><dt><span class="sect3"><a href="#d0e457">2.2.1. `Main Use Cases</a></span></dt><dt><span class="sect3"><a href="#d0e490">2.2.2. Main Sequence Diagrams</a></span></dt></dl></dd></dl></dd><dt><span class="sect1"><a href="#d0e499">3.User Guide for a Publisher, Subscriber and5 NotificationConsumer </a></span></dt><dd><dl><dt><span class="sect2"><a href="#d0e504">3.1. Prefixes and Namespaces</a></span></dt><dt><span class="sect2"><a href="#d0e582">3.2. Interaction with QCG-Notification</a></span></dt><dd><dl><dt><span class="sect3"><a href="#d0e592">3.2.1. Publisher Interaction</a></span></dt><dt><span class="sect3"><a href="#d0e606">3.2.2. Subscriber interaction</a></span></dt><dt><span class="sect3"><a href="#d0e631">3.2.3. NotificationConsumer Interaction</a></span></dt></dl></dd><dt><span class="sect2"><a href="#ted">3.3. Topics, TopicExpressions and Dialects</a></span></dt><dt><span class="sect2"><a href="#d0e685">3.4. Extensions</a></span></dt><dd><dl><dt><span class="sect3"><a href="#d0e693">3.4.1. TopicExpression</a></span></dt><dt><span class="sect3"><a href="#d0e704">3.4.2. QCG-Notification Extensions</a></span></dt></dl></dd><dt><span class="sect2"><a href="#d0e715">3.5. Methods Description</a></span></dt><dd><dl><dt><span class="sect3"><a href="#d0e749">3.5.1. SubscribeRequest</a></span></dt><dt><span class="sect3"><a href="#d0e856">3.5.2. SubscribeResponse</a></span></dt><dt><span class="sect3"><a href="#d0e904">3.5.3. RenewRequest</a></span></dt><dt><span class="sect3"><a href="#d0e945">3.5.4. RenewResponse</a></span></dt><dt><span class="sect3"><a href="#d0e989">3.5.5. UnsubscribeRequest</a></span></dt><dt><span class="sect3"><a href="#d0e1022">3.5.6. UnsubscribeResponse</a></span></dt><dt><span class="sect3"><a href="#d0e1043">3.5.7. RegisterPublisherRequest</a></span></dt><dt><span class="sect3"><a href="#d0e1096">3.5.8. RegisterPublisherResponse</a></span></dt><dt><span class="sect3"><a href="#d0e1141">3.5.9. Notify</a></span></dt><dt><span class="sect3"><a href="#d0e1225">3.5.10. DestroyRegistrationRequest</a></span></dt><dt><span class="sect3"><a href="#d0e1258">3.5.11. DestroyRegistrationResponse</a></span></dt><dt><span class="sect3"><a href="#d0e1279">3.5.12. CreatePullPointRequest</a></span></dt><dt><span class="sect3"><a href="#d0e1303">3.5.13. CreatePullPointResponse</a></span></dt><dt><span class="sect3"><a href="#d0e1333">3.5.14. GetMessages</a></span></dt><dt><span class="sect3"><a href="#d0e1366">3.5.15. GetMessagesResponse</a></span></dt><dt><span class="sect3"><a href="#d0e1443">3.5.16. DestroyPullPointRequest</a></span></dt><dt><span class="sect3"><a href="#d0e1464">3.5.17. DestroyPullPointResponse</a></span></dt><dt><span class="sect3"><a href="#d0e1485">3.5.18. GetCurrentMessageRequest</a></span></dt><dt><span class="sect3"><a href="#d0e1532">3.5.19. GetCurrentMessageResponse</a></span></dt><dt><span class="sect3"><a href="#d0e1598">3.5.20. ListSubscriptions</a></span></dt><dt><span class="sect3"><a href="#d0e1700">3.5.21. ListSubscriptionsResponse</a></span></dt><dt><span class="sect3"><a href="#d0e1797">3.5.22. ListPublishersRegistrations</a></span></dt><dt><span class="sect3"><a href="#d0e1878">3.5.23. ListPublisherRegistrationsResponse</a></span></dt><dt><span class="sect3"><a href="#d0e1952">3.5.24. ListPullPoints</a></span></dt><dt><span class="sect3"><a href="#d0e2033">3.5.25. ListPullPointsResponse</a></span></dt><dt><span class="sect3"><a href="#d0e2107">3.5.26. ListTopicNamespaces</a></span></dt><dt><span class="sect3"><a href="#d0e2147">3.5.27. ListTopicNamespacesResponse</a></span></dt><dt><span class="sect3"><a href="#d0e2206">3.5.28. AddTopicNamespace</a></span></dt><dt><span class="sect3"><a href="#d0e2243">3.5.29. AddTopicNamespaceResponse</a></span></dt><dt><span class="sect3"><a href="#d0e2268">3.5.30. RemoveTopicNamespace</a></span></dt><dt><span class="sect3"><a href="#d0e2302">3.5.31. RemoveTopicNamespaceResponse</a></span></dt></dl></dd></dl></dd><dt><span class="sect1"><a href="#d0e2324">4. Administration Guide of6 QCG-Notification</a></span></dt><dd><dl><dt><span class="sect2"><a href="#d0e2329">4.1. Prerequisites</a></span></dt><dd><dl><dt><span class="sect3"><a href="#d0e2337">4.1.1. QCG Core library</a></span></dt></dl></dd><dt><span class="sect2"><a href="#d0e2355">4.2. Building</a></span></dt><dt><span class="sect2"><a href="#d0e2416">4.3. Creating database for QCG-Notification- the7 PostgreSQL example</a></span></dt></dl></dd><dt><span class="sect1"><a href="# configuration">5. Configuration of QCG-Notification</a></span></dt><dd><dl><dt><span class="sect2"><a href="#d0e2506">5.1. Configuration File: qcg-ntfd.xml</a></span></dt><dt><span class="sect2"><a href="#moduleoptions">5.2. Module configuration</a></span></dt><dd><dl><dt><span class="sect3"><a href="#d0e2838">5.2.1. Publisher modules</a></span></dt></dl></dd><dt><span class="sect2"><a href="#d0e3097">5.3. WS-Topics management</a></span></dt><dt><span class="sect2"><a href="#d0e3125">5.4. Starting QCG-Notification</a></span></dt><dt><span class="sect2"><a href="#d0e3148">5.5. Stopping QCG-Notification</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e37"></a>1. Introduction</h2></div></div></div><p><span class="bold"><strong>QCG-Notification</strong></span> is a reference8 implementation of a set of industry Web Service specifications (<a class="link" href="#WS-Notification">< /a><a class="ulink" href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsn" target="_top">WS-Notification9 OASIS standard)</a>< a class="link" href="#WS-Notification"></a> for message push/pull-style notification,3 <div xml:lang="en" class="article" title="QCG Notification v. 3.0 Technical Guide and Manual"><div class="titlepage"><div><div><h2 class="title"><a id="idm1689856"/><span class="emphasis"><em>QCG Notification</em></span> v. 3.0 Technical Guide and 4 Manual</h2></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname">Bartosz</span> <span class="surname">Bosak</span></h3><code class="email"><<a class="email" href="mailto:bbosak@man.poznan.pl">bbosak@man.poznan.pl</a>></code></div><div class="author"><h3 class="author"><span class="firstname">Krzysztof</span> <span class="surname">Kurowski</span></h3><code class="email"><<a class="email" href="mailto:krzysztof.kurowski@man.poznan.pl">krzysztof.kurowski@man.poznan.pl</a>></code></div></div></div><div><p class="releaseinfo">3.0.3</p></div><div><p class="copyright">Copyright Š 2008-2013 Poznan Supercomputing and Networking Center</p></div></div><hr/></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="sect1"><a href="#idp32656">Introduction</a></span></dt><dd><dl><dt><span class="sect2"><a href="#idp35296">Motivations</a></span></dt><dt><span class="sect2"><a href="#idp8624">Purpose of the Document</a></span></dt><dt><span class="sect2"><a href="#idp38448">Status</a></span></dt></dl></dd><dt><span class="sect1"><a href="#idp39728">Terminology and WS-Notification Concept</a></span></dt><dd><dl><dt><span class="sect2"><a href="#idp41568">WS-Notification Concept</a></span></dt><dt><span class="sect2"><a href="#idp135856">UML-style Diagrams</a></span></dt></dl></dd><dt><span class="sect1"><a href="#idp167424">User Guide for a Publisher, Subscriber and 5 NotificationConsumer<span class="emphasis"><em> </em></span></a></span></dt><dd><dl><dt><span class="sect2"><a href="#idp168496">Prefixes and Namespaces</a></span></dt><dt><span class="sect2"><a href="#idp188128">Interaction with <span class="emphasis"><em>QCG Notification</em></span></a></span></dt><dt><span class="sect2"><a href="#ted">Topics, TopicExpressions and Dialects</a></span></dt><dt><span class="sect2"><a href="#idp217360">Extensions</a></span></dt><dt><span class="sect2"><a href="#idp237760">Methods Description</a></span></dt></dl></dd><dt><span class="sect1"><a href="#idp653040">Administration Guide of <span class="emphasis"><em>QCG 6 Notification</em></span></a></span></dt><dd><dl><dt><span class="sect2"><a href="#idp656032">Prerequisites</a></span></dt><dt><span class="sect2"><a href="#idp661776">Building</a></span></dt><dt><span class="sect2"><a href="#idp677424">Creating database for <span class="emphasis"><em>QCG Notification</em></span> - the 7 PostgreSQL example</a></span></dt></dl></dd><dt><span class="sect1"><a href="#idp698528">Configuration of <span class="emphasis"><em>QCG Notification</em></span></a></span></dt><dd><dl><dt><span class="sect2"><a href="#idp699840">Configuration File: <code class="filename">qcg-ntfd.xml</code></a></span></dt><dt><span class="sect2"><a href="#moduleoptions">Module configuration</a></span></dt><dt><span class="sect2"><a href="#idp866480">WS-Topics management</a></span></dt><dt><span class="sect2"><a href="#idp872368">Starting <span class="emphasis"><em>QCG Notification</em></span></a></span></dt><dt><span class="sect2"><a href="#idp877840">Stopping <span class="emphasis"><em>QCG Notification</em></span></a></span></dt></dl></dd></dl></div><div class="sect1" title="Introduction"><div class="titlepage"><div><div><h2 class="title"><a id="idp32656"/>Introduction</h2></div></div></div><p><span class="bold"><strong>QCG Notification</strong></span> is a reference 8 implementation of a set of industry Web Service specifications (<a class="link" href="#WS-Notification"><a class="ulink" href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsn">WS-Notification 9 OASIS standard)</a></a> for message push/pull-style notification, 10 10 using a topic-based publish/subscribe pattern. It supports standard 11 11 message exchanges to be implemented by any Web Service providers … … 16 16 service providers and requesters that participate in notifications, and an 17 17 XML model that describes topics (i.e., items of interest for 18 subscriptions.).</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e48"></a>1.1. Motivations</h3></div></div></div><p>Reliable notification and messaging services are key components in18 subscriptions.).</p><div class="sect2" title="Motivations"><div class="titlepage"><div><div><h3 class="title"><a id="idp35296"/>Motivations</h3></div></div></div><p>Reliable notification and messaging services are key components in 19 19 service-oriented architectures (SOA) and distributed computing. However, 20 20 early Web Services, such as those for getting stock or whether daily … … 32 32 standardization body, either implement only partially notification 33 33 standards or do not meet high performance requirements. Therefore, our 34 main motivation was to design and implement 35 <span class="emphasis"><em>QCG-Notification</em></span> to offer more advanced push/pull34 main motivation was to design and implement <span class="emphasis"><em>QCG 35 Notification</em></span> to offer more advanced push/pull 36 36 (synchronous/asynchronous) standard notification routines for QCG 37 Service Bus services as well as any third party Web Services.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e56"></a>1.2. Purpose of the Document</h3></div></div></div><p>The main goal of this document is to define a set of initial use38 cases, scenarios and specify software requirements for 39 <span class="emphasis"><em>QCG-Notification</em></span>, its programming application40 interface, functional units and the integration with both internal and41 externalmodules.</p><p>The document is aimed at software architects and programmers who37 Service Bus services as well as any third party Web Services.</p></div><div class="sect2" title="Purpose of the Document"><div class="titlepage"><div><div><h3 class="title"><a id="idp8624"/>Purpose of the Document</h3></div></div></div><p>The main goal of this document is to define a set of initial use 38 cases, scenarios and specify software requirements for <span class="emphasis"><em>QCG 39 Notification</em></span>, its programming application interface, 40 functional units and the integration with both internal and external 41 modules.</p><p>The document is aimed at software architects and programmers who 42 42 will be developing software components based on this document. Many 43 requirements and <span class="emphasis"><em>QCG -Notification </em></span>concept itself43 requirements and <span class="emphasis"><em>QCG Notification </em></span>concept itself 44 44 might be interesting for developers and end users of any Web 45 45 Services.</p><p>This document assumes that the reader has at least a basic 46 background in Web Service and SOA technologies.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e71"></a>1.3. Status</h3></div></div></div><p>This document is updated periodically on no particular47 schedule.</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e76"></a>2. Terminology and WS-Notification Concept</h2></div></div></div><p>The aim of this section is to capture high-level functionality of48 <span class="emphasis"><em>QCG -Notification</em></span> and/or interaction without providing49 excessive implementation or technical details of the system.</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e84"></a>2.1. WS-Notification Concept</h3></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e87"></a>2.1.1. WS-Notification Fundamentals</h4></div></div></div><p>Notification-based pattern is commonly used for46 background in Web Service and SOA technologies.</p></div><div class="sect2" title="Status"><div class="titlepage"><div><div><h3 class="title"><a id="idp38448"/>Status</h3></div></div></div><p>This document is updated periodically on no particular 47 schedule.</p></div></div><div class="sect1" title="Terminology and WS-Notification Concept"><div class="titlepage"><div><div><h2 class="title"><a id="idp39728"/>Terminology and WS-Notification Concept</h2></div></div></div><p>The aim of this section is to capture high-level functionality of 48 <span class="emphasis"><em>QCG Notification</em></span> and/or interaction without providing 49 excessive implementation or technical details of the system.</p><div class="sect2" title="WS-Notification Concept"><div class="titlepage"><div><div><h3 class="title"><a id="idp41568"/>WS-Notification Concept</h3></div></div></div><div class="sect3" title="WS-Notification Fundamentals"><div class="titlepage"><div><div><h4 class="title"><a id="idp42512"/>WS-Notification Fundamentals</h4></div></div></div><p>Notification-based pattern is commonly used for 50 50 interaction between distributed objects. WS-Notification is a family 51 51 of related specifications that standardizes notification concept and … … 55 55 and XML needed to express the basic roles involved in Web 56 56 services publish and subscribe for notification message 57 exchange.</p><p>Specification URL:</p><p><a class="ulink" href="http://docs.oasis-open.org/wsn/wsn-ws_base_notification-1.3-spec-pr-0.2.pdf" target="_top">http://docs.oasis-open.org/wsn/wsn-ws_base_notification-1.3-spec-os.pdf</a></p></dd></dl></div><div class="variablelist"><dl><dt><span class="term">WS-BrokeredNotification</span></dt><dd><p>Describes specific objectives for expanded version of57 exchange.</p><p>Specification URL:</p><p><a class="ulink" href="http://docs.oasis-open.org/wsn/wsn-ws_base_notification-1.3-spec-pr-0.2.pdf">http://docs.oasis-open.org/wsn/wsn-ws_base_notification-1.3-spec-os.pdf</a></p></dd></dl></div><div class="variablelist"><dl><dt><span class="term">WS-BrokeredNotification</span></dt><dd><p>Describes specific objectives for expanded version of 58 58 notification messages exchange with indirect NotificationBroker 59 service.</p><p>Specification URL:</p><p><a class="ulink" href="http://docs.oasis-open.org/wsn/wsn-ws_brokered_notification-1.3-spec-pr-0.2.pdf" target="_top">http://docs.oasis-open.org/wsn/wsn-ws_brokered_notification-1.3-spec-os.pdf</a></p></dd></dl></div><div class="variablelist"><dl><dt><span class="term"><a name="WS-topics"></a>WS-Topics</span></dt><dd><p>Defines mechanism to organize and categorize items of60 interest for subscriptions known as "topics".</p><p>Specification URL:</p><p><a class="ulink" href="http://docs.oasis-open.org/wsn/wsn-ws_topics-1.3-spec-pr-0.2.pdf" target="_top">http://docs.oasis-open.org/wsn/wsn-ws_topics-1.3-spec-os.pdf</a></p></dd></dl></div><p>The next subsections will present main notification concepts61 defined in the mentioned specifications.</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e130"></a>2.1.2. WS-BaseNotification</h4></div></div></div><p>The WS-BaseNotification document is a basic reference on which59 service.</p><p>Specification URL:</p><p><a class="ulink" href="http://docs.oasis-open.org/wsn/wsn-ws_brokered_notification-1.3-spec-pr-0.2.pdf">http://docs.oasis-open.org/wsn/wsn-ws_brokered_notification-1.3-spec-os.pdf</a></p></dd></dl></div><div class="variablelist"><dl><dt><span class="term"><a id="WS-topics"/>WS-Topics</span></dt><dd><p>Defines mechanism to organize and categorize items of 60 interest for subscriptions known as "topics".</p><p>Specification URL:</p><p><a class="ulink" href="http://docs.oasis-open.org/wsn/wsn-ws_topics-1.3-spec-pr-0.2.pdf">http://docs.oasis-open.org/wsn/wsn-ws_topics-1.3-spec-os.pdf</a></p></dd></dl></div><p>The next subsections will present main notification concepts 61 defined in the mentioned specifications.</p></div><div class="sect3" title="WS-BaseNotification"><div class="titlepage"><div><div><h4 class="title"><a id="idp54288"/>WS-BaseNotification</h4></div></div></div><p>The WS-BaseNotification document is a basic reference on which 62 62 all the other specifications in the standard WS-Notification family 63 63 depend. In fact, it defines precisely two important notification 64 64 roles/actors called respectively NotificationProducer and 65 65 NotificationConsumer. An example system architecture based on 66 WS-BaseNotification is presented below.</p><div class="figure"><a name="BaseEntities"></a><p class="title"><b>Figure 1. Web Services BaseNotification 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_baseentities.png" align="middle" width="324" alt="Web Services BaseNotification entities"></div></div></div><p><br class="figure-break">The basic terminology related to the WS-BaseNotification is66 WS-BaseNotification is presented below.</p><div class="figure"><a id="BaseEntities"/><p class="title"><strong>Figure 1. Web Services BaseNotification entities</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/smn_baseentities.png" style="text-align: middle" width="324" alt="Web Services BaseNotification entities"/></div></div></div><p><br class="figure-break"/>The basic terminology related to the WS-BaseNotification is 67 67 following:</p><div class="variablelist"><dl><dt><span class="term">Situation</span></dt><dd><p>Some occurrence known by a NotificationProducer. A 68 Situation is a reason of dispatching a Notification.</p></dd><dt><span class="term">Notification</span></dt><dd><p><a name="a"></a>An artifact of a Situation containing information68 Situation is a reason of dispatching a Notification.</p></dd><dt><span class="term">Notification</span></dt><dd><p><a id="a"/>An artifact of a Situation containing information 69 69 about that Situation. A Notification is represented as an XML 70 70 element and dispatched by a NotificationProducer.</p></dd><dt><span class="term">Subscription</span></dt><dd><p>Represents relations between a NotificationProducer and … … 87 87 messages produced on each topic. A new notification replaces 88 88 the previous related to the same topic and currently buffered 89 in CurrentMessages.</p></dd></dl></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e192"></a>2.1.3. WS-BrokeredNotification</h4></div></div></div><p>In a nutshell, the WS-BrokeredNotification specification is an89 in CurrentMessages.</p></dd></dl></div></div><div class="sect3" title="WS-BrokeredNotification"><div class="titlepage"><div><div><h4 class="title"><a id="idp73392"/>WS-BrokeredNotification</h4></div></div></div><p>In a nutshell, the WS-BrokeredNotification specification is an 90 90 extension of described above the WS-BaseNotification concept. However, 91 91 it introduces a new important notification role called 92 92 NotificationBroker and defines more advanced notification scenarios. 93 93 The figure below shows an example scenario and notification message 94 flow where NotificationBroker is present.</p><div class="figure"><a name="d0e198"></a><p class="title"><b>Figure 2. Web Services BrokeredNotification entities -95 QCG-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 and94 flow where NotificationBroker is present.</p><div class="figure"><a id="idp75376"/><p class="title"><strong>Figure 2. Web Services BrokeredNotification entities - QCG 95 Notification entities</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/smn_brokeredentities.png" style="text-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 … … 132 132 mechanisms defined by WS-BrokeredNotification and basic notification 133 133 routines defined by WS-BaseNotification are good enough to satisfy 134 distributed system needs. The example scenario is presented on <a class="link" href="#BaseEntities" title="Figure 1. Web Services BaseNotification entities">Figure 1</a>. For more advanced notification134 distributed system needs. The example scenario is presented on <a class="link" href="#BaseEntities" title="Figure 1. Web Services BaseNotification entities">Figure 1</a>. For more advanced notification 135 135 scenarios in service oriented systems we recommend to use notification 136 136 capabilities defined in WS-BrokeredNotification. One of the main 137 scenario defined by WS-BrokeredNotification is presented on <a class="link" href="#BrokeredEntities">Figure 2</a> .</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e270"></a>2.1.4. WS-Topics</h4></div></div></div><p>The third important notification specification document called137 scenario defined by WS-BrokeredNotification is presented on <a class="link" href="#BrokeredEntities">Figure 2</a> .</p></div><div class="sect3" title="WS-Topics"><div class="titlepage"><div><div><h4 class="title"><a id="idp98368"/>WS-Topics</h4></div></div></div><p>The third important notification specification document called 138 138 WS-Topics is strictly associated with WS-BaseNotification and 139 139 precisely defines a "topics" mechanism. Important definitions used in … … 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="d0e318"></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="d0e324"></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 id="idp109728"/><p class="title"><strong>Figure 3. Example Topic Namespace</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/smn_topicnamespace.png" style="text-align: middle" width="324" alt="Example Topic Namespace"/></div></div></div><br class="figure-break"/></div><div class="sect3" title="Base of QCG Notification"><div class="titlepage"><div><div><h4 class="title"><a id="idp112608"/>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 … … 153 153 scale Web Service based systems, SOA environments and it acts as a 154 154 core component in QCG Service Bus. To meet security requirements, 155 <span class="emphasis"><em>QCG -Notification</em></span> (or <span class="emphasis"><em>QCG-Notification155 <span class="emphasis"><em>QCG Notification</em></span> (or <span class="emphasis"><em>QCG Notification 156 156 Provider</em></span>) exposes well defined Web Service and programming 157 157 interfaces over QCG security mechanisms for dynamic notification, … … 159 159 the previous sections it can be used and integrated with various 160 160 external third party Web Services playing roles of a notification 161 Publisher, Subscriber or Consumer.</p><p>A flexible plug-in architecture of <span class="emphasis"><em>QCG -Notification161 Publisher, Subscriber or Consumer.</p><p>A flexible plug-in architecture of <span class="emphasis"><em>QCG Notification 162 162 </em></span>enables using different communication protocols for 163 163 messages transmission. Currently messages can be transported between 164 <span class="emphasis"><em>QCG -Notification</em></span> and third party entities not164 <span class="emphasis"><em>QCG Notification</em></span> and third party entities not 165 165 only through HTTP protocol, but also through XMPP (jabber) as well as 166 166 SMTP (e-mail) protocols. It is possible to variously mix channels of … … 168 168 WS-Client as a HTTP message can be distributed over XMPP to jabber 169 169 consumers.</p><p>Below we present a set of Web Service notification use cases 170 demonstrating capabilities offered by 171 <span class="emphasis"><em>QCG-Notification</em></span>.</p><div class="figure"><a name="notificationConsumers"></a><p class="title"><b>Figure 4. Notification with multiple Publishers and multiple 172 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 173 one of the basic notification flows supported by 174 <span class="emphasis"><em>QCG-Notification</em></span>. Depending on records, 175 Notifications produced by a Publisher and received by the 176 <span class="emphasis"><em>QCG-Notification</em></span> may or may not be dispatched to 177 concrete NotificationConsumer. Note, that Subscriptions represent 178 relationships between Topics and NotificationConsumers in this 179 scenario. Before any Notification is delivered to a 180 NotificationConsumer, a Subscriber has to send first a 181 SubscribeRequest message to <span class="emphasis"><em>QCG-Notification</em></span> in 182 which all parameters of a Subscription are specified. Main parameters 183 of a SubscribeRequest message are ConsumerReference and 184 TopicExpression defined according to the specific Dialect type. On the 185 other hand, before a Publisher starts sending Notifications it may be 186 obligated to register himself in 187 <span class="emphasis"><em>QCG-Notification</em></span>. The diagram below shows a 170 demonstrating capabilities offered by <span class="emphasis"><em>QCG 171 Notification</em></span>.</p><div class="figure"><a id="notificationConsumers"/><p class="title"><strong>Figure 4. Notification with multiple Publishers and multiple 172 NotificationConsumers</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/smn_example1.png" style="text-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 173 one of the basic notification flows supported by <span class="emphasis"><em>QCG 174 Notification</em></span>. Depending on records, Notifications produced 175 by a Publisher and received by the <span class="emphasis"><em>QCG 176 Notification</em></span> may or may not be dispatched to concrete 177 NotificationConsumer. Note, that Subscriptions represent relationships 178 between Topics and NotificationConsumers in this scenario. Before any 179 Notification is delivered to a NotificationConsumer, a Subscriber has 180 to send first a SubscribeRequest message to <span class="emphasis"><em>QCG 181 Notification</em></span> in which all parameters of a Subscription are 182 specified. Main parameters of a SubscribeRequest message are 183 ConsumerReference and TopicExpression defined according to the 184 specific Dialect type. On the other hand, before a Publisher starts 185 sending Notifications it may be obligated to register himself in 186 <span class="emphasis"><em>QCG Notification</em></span>. The diagram below shows a 188 187 sequence of events in order to initialize an asynchronous process of 189 notifications between a Publisher and a NotificationConsumer.</p><div class="figure"><a name="d0e378"></a><p class="title"><b>Figure 5. Message flows: creating a Subscription, notifying190 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 a188 notifications between a Publisher and a NotificationConsumer.</p><div class="figure"><a id="idp125872"/><p class="title"><strong>Figure 5. Message flows: creating a Subscription, notifying 189 NotificationConsumers</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/smn_example2.png" style="text-align: middle" width="324" alt="Message flows: creating a Subscription, notifying NotificationConsumers"/></div></div></div><br class="figure-break"/><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>A Subscriber sends the SubscribeRequest message with a 191 190 NotificationConsumer location and TopicExpression parameters to 192 <span class="emphasis"><em>QCG -Notification</em></span>.</p></li><li><p><span class="emphasis"><em>QCG-Notification</em></span> prepares appropriate193 records for a Subscription.</p></li><li ><p>A Publisher register himself in194 <span class="emphasis"><em>QCG-Notification</em></span> by sending the195 RegisterPublisher message.</p></li><li><p>A registered Publisher sends the Notify message on a196 specified Topic to a <span class="emphasis"><em>QCG -Notification197 </em></span>service.</p></li><li ><p><span class="emphasis"><em>QCG-Notification</em></span> checks if there are191 <span class="emphasis"><em>QCG Notification</em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>QCG Notification</em></span> prepares appropriate 192 records for a Subscription.</p></li><li class="listitem"><p>A Publisher register himself in <span class="emphasis"><em>QCG 193 Notification</em></span> by sending the RegisterPublisher 194 message.</p></li><li class="listitem"><p>A registered Publisher sends the Notify message on a 195 specified Topic to a <span class="emphasis"><em>QCG Notification 196 </em></span>service.</p></li><li class="listitem"><p><span class="emphasis"><em>QCG Notification</em></span> checks if there are 198 197 NotificationConsumers subscribed on a specified Topic. If so, 199 <span class="emphasis"><em>QCG -Notification</em></span> sends asynchronous200 Notifications to these NotifcationConsumers.</p></li></ol></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e416"></a>2.2. UML-style Diagrams</h3></div></div></div><p>The document uses UML-style use-case diagrams to illustrate198 <span class="emphasis"><em>QCG Notification</em></span> sends asynchronous 199 Notifications to these NotifcationConsumers.</p></li></ol></div></div></div><div class="sect2" title="UML-style Diagrams"><div class="titlepage"><div><div><h3 class="title"><a id="idp135856"/>UML-style Diagrams</h3></div></div></div><p>The document uses UML-style use-case diagrams to illustrate 201 200 high-level use cases. The following list is probably sufficient for this 202 version of the document:</p><div class="itemizedlist"><ul type="disc"><li><p>Stick figures represents actors or roles in a scenario. These203 can be human beings or software systems.</p></li><li ><p>Ellipses represent use cases, i.e. actions or units of204 functionality in a system.</p></li><li ><p>Lines between actors and use cases indicate a participation of201 version of the document:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>Stick figures represents actors or roles in a scenario. These 202 can be human beings or software systems.</p></li><li class="listitem"><p>Ellipses represent use cases, i.e. actions or units of 203 functionality in a system.</p></li><li class="listitem"><p>Lines between actors and use cases indicate a participation of 205 204 the actor in the use case. At this level, no direction or payload of 206 205 data flow is expressed by the lines between actors and use 207 206 cases.</p></li></ul></div><p>The document uses UML-style sequence diagrams to illustrate 208 207 detailed use case scenarios and later in the next sections. Meanings of 209 graphics in these diagrams are as follows:</p><div class="itemizedlist"><ul type="disc"><li><p>Boxes at the top of the diagram represent an actor in the210 scenario.</p></li><li ><p>Arrows with a solid head represent a message sent from one211 actor to another. The arrow points from sender to receiver.</p></li><li ><p>Arrows with a line head represent the return value of a208 graphics in these diagrams are as follows:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>Boxes at the top of the diagram represent an actor in the 209 scenario.</p></li><li class="listitem"><p>Arrows with a solid head represent a message sent from one 210 actor to another. The arrow points from sender to receiver.</p></li><li class="listitem"><p>Arrows with a line head represent the return value of a 212 211 message. The arrow points from the receiver of the earlier message 213 to the sender.</p></li><li ><p>A dotted line running down the diagram from a box indicates212 to the sender.</p></li><li class="listitem"><p>A dotted line running down the diagram from a box indicates 214 213 that arrows whose endpoints (tail or head) is on the line apply to 215 that actor.</p></li><li ><p>Intersections between arrows and dotted lines are216 meaningless.</p></li><li ><p>Vertical layout represents time. Messages (arrows) farther217 down on the page happen after messages higher on the page.</p></li><li ><p>Horizontal layout has no formal meaning. Since right-pointing214 that actor.</p></li><li class="listitem"><p>Intersections between arrows and dotted lines are 215 meaningless.</p></li><li class="listitem"><p>Vertical layout represents time. Messages (arrows) farther 216 down on the page happen after messages higher on the page.</p></li><li class="listitem"><p>Horizontal layout has no formal meaning. Since right-pointing 218 217 arrows look better, actors that initiate a scenario tend to appear 219 218 leftward of actors they send messages to.</p></li></ul></div><p>Sequence diagrams are used in this document for more concrete … … 222 221 clearly ordered message layout and connections among functional units. 223 222 The actors and messages in the sequence diagrams are more properly roles 224 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="d0e457"></a>2.2.1. `Main Use Cases</h4></div></div></div><div class="figure"><a name="d0e460"></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="d0e466"></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="d0e472"></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="d0e478"></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="d0e484"></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="d0e490"></a>2.2.2. Main Sequence Diagrams</h4></div></div></div><div class="figure"><a name="d0e493"></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="d0e499"></a>3. User Guide for a Publisher, Subscriber and225 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="d0e504"></a>3.1. Prefixes and Namespaces</h3></div></div></div><p>The following table presents namespaces tied with prefixes. The223 in a scenario and actions associated with that scenario.</p><div class="sect3" title="`Main Use Cases"><div class="titlepage"><div><div><h4 class="title"><a id="idp148672"/>`Main Use Cases</h4></div></div></div><div class="figure"><a id="idp149488"/><p class="title"><strong>Figure 6. Use case diagram for a Publisher</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/use_publisher.png" style="text-align: middle" width="432" alt="Use case diagram for a Publisher"/></div></div></div><br class="figure-break"/><div class="figure"><a id="idp151328"/><p class="title"><strong>Figure 7. Use case diagram for a Subscriber</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/use_subscriber.png" style="text-align: middle" width="432" alt="Use case diagram for a Subscriber"/></div></div></div><br class="figure-break"/><div class="figure"><a id="idp155376"/><p class="title"><strong>Figure 8. Use case diagram for a NotificationConsumer</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/use_consumer.png" style="text-align: middle" width="432" alt="Use case diagram for a NotificationConsumer"/></div></div></div><br class="figure-break"/><div class="figure"><a id="idp158128"/><p class="title"><strong>Figure 9. Use case diagram for QCG Notification</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/use_qcgnotification.png" style="text-align: middle" width="432" alt="Use case diagram for QCG Notification"/></div></div></div><br class="figure-break"/><div class="figure"><a id="idp160880"/><p class="title"><strong>Figure 10. Use case diagram for a QCG Notification Administrator</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/use_administrator.png" style="text-align: middle" width="432" alt="Use case diagram for a QCG Notification Administrator"/></div></div></div><br class="figure-break"/></div><div class="sect3" title="Main Sequence Diagrams"><div class="titlepage"><div><div><h4 class="title"><a id="idp163632"/>Main Sequence Diagrams</h4></div></div></div><div class="figure"><a id="idp164272"/><p class="title"><strong>Figure 11. General sequence diagram</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/seq_all.png" style="text-align: middle" width="327" alt="General sequence diagram"/></div></div></div><br class="figure-break"/></div></div></div><div class="sect1" title="User Guide for a Publisher, Subscriber and NotificationConsumer"><div class="titlepage"><div><div><h2 class="title"><a id="idp167424"/>User Guide for a Publisher, Subscriber and 224 NotificationConsumer<span class="emphasis"><em> </em></span></h2></div></div></div><div class="sect2" title="Prefixes and Namespaces"><div class="titlepage"><div><div><h3 class="title"><a id="idp168496"/>Prefixes and Namespaces</h3></div></div></div><p>The following table presents namespaces tied with prefixes. The 226 225 prefixes are used in example SOAP messages presented in the further 227 sections.</p><div class="table"><a name="d0e509"></a><p class="title"><b>Table 1. Prefixes and Namespaces</b></p><div class="table-contents"><table summary="Prefixes and Namespaces" border="1"><colgroup><col width="12%" align="left"><col width="88%"></colgroup><tbody><tr><td align="left"><span class="bold"><strong>Prefix</strong></span></td><td><span class="bold"><strong>Namespace</strong></span></td></tr><tr><td align="left">SOAP-ENV</td><td>http://schemas.xmlsoap.org/soap/envelope/</td></tr><tr><td align="left">SOAP-ENC</td><td>http://schemas.xmlsoap.org/soap/encoding/</td></tr><tr><td align="left">xsi</td><td>http://www.w3.org/2001/XMLSchema-instance</td></tr><tr><td align="left">xsd</td><td>http://www.w3.org/2001/XMLSchema</td></tr><tr><td align="left">wsa</td><td>http://www.w3.org/2005/08/addressing</td></tr><tr><td align="left">wsbf</td><td>http://docs.oasis-open.org/wsrf/bf-2</td></tr><tr><td align="left">wstop</td><td>http://docs.oasis-open.org/wsn/t-1</td></tr><tr><td align="left">wsr</td><td>http://docs.oasis-open.org/wsrf/r-2</td></tr><tr><td align="left">wsnt</td><td>http://docs.oasis-open.org/wsn/b-2</td></tr><tr><td align="left">wsntw</td><td>http://docs.oasis-open.org/wsn/bw-2</td></tr><tr><td align="left">wsnbr</td><td>http://docs.oasis-open.org/wsn/br-2</td></tr><tr><td align="left">smn-ext</td><td>http://schemas.qoscosgrid.org/ntf/2011/04/extensions</td></tr></tbody></table></div></div><br class="table-break"></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e582"></a>3.2. Interaction with <span class="emphasis"><em>QCG-Notification</em></span></h3></div></div></div><p>In the next subsections an issue of cooperation with228 <span class="emphasis"><em>QCG-Notification</em></span> is presented independently for a229 Publisher, Subscriber and NotificationConsumer. Although a conceptual230 style of interaction is described here in details, technical231 particularities of constructing messages are presented later.</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e592"></a>3.2.1. Publisher Interaction</h4></div></div></div><div class="figure"><a name="d0e595"></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 Publisher226 sections.</p><div class="table"><a id="idp169696"/><p class="title"><strong>Table 1. Prefixes and Namespaces</strong></p><div class="table-contents"><table summary="Prefixes and Namespaces" border="1"><colgroup><col width="70" style="text-align: left"/><col/></colgroup><tbody><tr><td style="text-align: left"><span class="bold"><strong>Prefix</strong></span></td><td><span class="bold"><strong>Namespace</strong></span></td></tr><tr><td style="text-align: left">SOAP-ENV</td><td>http://schemas.xmlsoap.org/soap/envelope/</td></tr><tr><td style="text-align: left">SOAP-ENC</td><td>http://schemas.xmlsoap.org/soap/encoding/</td></tr><tr><td style="text-align: left">xsi</td><td>http://www.w3.org/2001/XMLSchema-instance</td></tr><tr><td style="text-align: left">xsd</td><td>http://www.w3.org/2001/XMLSchema</td></tr><tr><td style="text-align: left">wsa</td><td>http://www.w3.org/2005/08/addressing</td></tr><tr><td style="text-align: left">wsbf</td><td>http://docs.oasis-open.org/wsrf/bf-2</td></tr><tr><td style="text-align: left">wstop</td><td>http://docs.oasis-open.org/wsn/t-1</td></tr><tr><td style="text-align: left">wsr</td><td>http://docs.oasis-open.org/wsrf/r-2</td></tr><tr><td style="text-align: left">wsnt</td><td>http://docs.oasis-open.org/wsn/b-2</td></tr><tr><td style="text-align: left">wsntw</td><td>http://docs.oasis-open.org/wsn/bw-2</td></tr><tr><td style="text-align: left">wsnbr</td><td>http://docs.oasis-open.org/wsn/br-2</td></tr><tr><td style="text-align: left">smn-ext</td><td>http://schemas.qoscosgrid.org/ntf/2011/04/extensions</td></tr></tbody></table></div></div><br class="table-break"/></div><div class="sect2" title="Interaction with QCG Notification"><div class="titlepage"><div><div><h3 class="title"><a id="idp188128"/>Interaction with <span class="emphasis"><em>QCG Notification</em></span></h3></div></div></div><p>In the next subsections an issue of cooperation with <span class="emphasis"><em>QCG 227 Notification</em></span> is presented independently for a Publisher, 228 Subscriber and NotificationConsumer. Although a conceptual style of 229 interaction is described here in details, technical particularities of 230 constructing messages are presented later.</p><div class="sect3" title="Publisher Interaction"><div class="titlepage"><div><div><h4 class="title"><a id="idp190224"/>Publisher Interaction</h4></div></div></div><div class="figure"><a id="idp190864"/><p class="title"><strong>Figure 12. Publisher interaction sequence diagram</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/seq_publisher.png" style="text-align: middle" width="445" alt="Publisher interaction sequence diagram"/></div></div></div><br class="figure-break"/><p>In the most general configuration of the service, a Publisher 232 231 has to be registered before it starts sending Notifications. In this 233 232 situation, a Publisher sends the RegisterPublisherRequest message to 234 <span class="emphasis"><em>QCG -Notification</em></span>. If everything goes well it233 <span class="emphasis"><em>QCG Notification</em></span>. If everything goes well it 235 234 receives the RegisterPublisherResponse message with a session ID. From 236 235 this time a Publisher is entitled for sending Notify messages - the … … 240 239 replaces the old one in CurrentMessages. After work, a Publisher 241 240 should unregister himself by sending DestroyRegistration. This message 242 has to include a session ID likewise.</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e606"></a>3.2.2. Subscriber interaction</h4></div></div></div><div class="figure"><a name="d0e609"></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 the243 SubscribeRequest message to <span class="emphasis"><em>QCG -Notification</em></span>.241 has to include a session ID likewise.</p></div><div class="sect3" title="Subscriber interaction"><div class="titlepage"><div><div><h4 class="title"><a id="idp195376"/>Subscriber interaction</h4></div></div></div><div class="figure"><a id="idp196016"/><p class="title"><strong>Figure 13. Subscriber interaction sequence diagram</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/seq_subscriber.png" style="text-align: middle" width="478" alt="Subscriber interaction sequence diagram"/></div></div></div><br class="figure-break"/><p>When a Subscriber wants to create a Subscription, it sends the 242 SubscribeRequest message to <span class="emphasis"><em>QCG Notification</em></span>. 244 243 This message should contain an address of NotificationConsumer and a 245 244 TopicExpression that specifies a Topic or a set of Topics on which … … 249 248 From the version 2.5.0 of the system, the Subscriber may specify XSLT 250 249 document that will be used to transform message content by certain 251 publishing modules. After creation of a Subscription 252 <span class="emphasis"><em>QCG-Notification</em></span> sends the SubscribeResponse253 message with a created Subscription ID. This ID should be attached to254 the UnsubscribeRequest message when a Subscription is not wanted and255 the Renew message when a Subscription should be refreshed. A256 Subscriber isallowed to create many equal Subscriptions.</p><p>If a scenario requires pull-style of notifications, a Subscriber250 publishing modules. After creation of a Subscription <span class="emphasis"><em>QCG 251 Notification</em></span> sends the SubscribeResponse message with a 252 created Subscription ID. This ID should be attached to the 253 UnsubscribeRequest message when a Subscription is not wanted and the 254 Renew message when a Subscription should be refreshed. A Subscriber is 255 allowed to create many equal Subscriptions.</p><p>If a scenario requires pull-style of notifications, a Subscriber 257 256 can create a set of PullPoints. In a such situation, it has to invoke 258 the CreatePullPoint method offered by <span class="emphasis"><em>QCG -Notification.257 the CreatePullPoint method offered by <span class="emphasis"><em>QCG Notification. 259 258 <span class="emphasis"><em>The response parameter of this method will be an address to 260 259 the newly created <span class="emphasis"><em>PullPoint resource (Subscribers can assign … … 262 261 PullPoint resource can be destroyed by the DestroyPullPoint message 263 262 sent directly to this resource. 264 </em></span></em></span></em></span></p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e631"></a>3.2.3. NotificationConsumer Interaction</h4></div></div></div><div class="figure"><a name="d0e635"></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 a263 </em></span></em></span></em></span></p></div><div class="sect3" title="NotificationConsumer Interaction"><div class="titlepage"><div><div><h4 class="title"><a id="idp202720"/>NotificationConsumer Interaction</h4></div></div></div><div class="figure"><a id="idp203488"/><p class="title"><strong>Figure 14. NotificationConsumer interaction sequence diagram</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/seq_consumer.png" style="text-align: middle" width="473" alt="NotificationConsumer interaction sequence diagram"/></div></div></div><p><br class="figure-break"/>The main capability of a NotificationConsumer is a 265 264 receiving of Notify messages. A NotificationConsumer can implement an 266 interface for receiving Notify messages sending by 267 <span class="emphasis"><em>QCG-Notification</em></span> or can be a client of a268 PullPoint. In the second case, a NotificationConsumer can invoke269 GetMessages method offered by a certain PullPoint. Messages buffered270 in the PullPoint will be removed from the buffer and delivered in271 GetMessagesResponseto the consumer.</p><p>On the other hand, when a NotificationConsumer wants to receive265 interface for receiving Notify messages sending by <span class="emphasis"><em>QCG 266 Notification</em></span> or can be a client of a PullPoint. In the 267 second case, a NotificationConsumer can invoke GetMessages method 268 offered by a certain PullPoint. Messages buffered in the PullPoint 269 will be removed from the buffer and delivered in GetMessagesResponse 270 to the consumer.</p><p>On the other hand, when a NotificationConsumer wants to receive 272 271 the last Notification message sent on a specific Topic, it can do this 273 by sending GetCurrentMessageRequest to 274 <span class="emphasis"><em>QCG-Notification</em></span>. Requested Notification will be275 supplied in the GetCurrentMessageResponse message.</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="ted"></a>3.3. Topics, TopicExpressions and Dialects</h3></div></div></div><p>Before start-up of a <span class="emphasis"><em>QCG-Notification</em></span>272 by sending GetCurrentMessageRequest to <span class="emphasis"><em>QCG 273 Notification</em></span>. Requested Notification will be supplied in 274 the GetCurrentMessageResponse message.</p></div></div><div xml:lang="" class="sect2" title="Topics, TopicExpressions and Dialects"><div class="titlepage"><div><div><h3 class="title"><a id="ted"/>Topics, TopicExpressions and Dialects</h3></div></div></div><p>Before start-up of a <span class="emphasis"><em>QCG Notification</em></span> 276 275 service, there should be defined Topic Namespaces in a system. Topic 277 276 Namespaces should be created (usually by Publishers) and delivered to 278 a<span class="emphasis"><em> QCG -Notification</em></span> administrator in a form of XML277 a<span class="emphasis"><em> QCG Notification</em></span> administrator in a form of XML 279 278 documents. A following record presents a sample Topic Namespace 280 279 identified by … … 298 297 </wstop:Topic> 299 298 </wstop:Topic> 300 </wstop:TopicNamespace></pre><p><span class="emphasis"><em>QCG -Notification </em></span>supports three types of299 </wstop:TopicNamespace></pre><p><span class="emphasis"><em>QCG Notification </em></span>supports three types of 301 300 dialects: <span class="emphasis"><em>Simple</em></span>, <span class="emphasis"><em>Concrete</em></span> and 302 301 <span class="emphasis"><em>Full</em></span>. If a message refer to Topics, it has to … … 307 306 select an appropriate Topic Namespace, the first part of TopicExpression 308 307 should be presented in a form of a prefix that refers to this 309 namespace.</p><p>For more details see: <a class="ulink" href="http://docs.oasis-open.org/wsn/wsn-ws_topics-1.3-spec-pr-0.2.pdf" target="_top">http://docs.oasis-open.org/wsn/wsn-ws_topics-1.3-spec-os.pdf</a>310 and check out examples of methods in the <a class="link" href="#methodsdescription">section 3.4.</a></p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e685"></a>3.4. Extensions</h3></div></div></div><p>The Oasis standard for notifications doesn't define details for308 namespace.</p><p>For more details see: <a class="ulink" href="http://docs.oasis-open.org/wsn/wsn-ws_topics-1.3-spec-pr-0.2.pdf">http://docs.oasis-open.org/wsn/wsn-ws_topics-1.3-spec-os.pdf</a> 309 and check out examples of methods in the <a class="link" href="#methodsdescription">section 3.4.</a></p></div><div class="sect2" title="Extensions"><div class="titlepage"><div><div><h3 class="title"><a id="idp217360"/>Extensions</h3></div></div></div><p>The Oasis standard for notifications doesn't define details for 311 310 lower Levels of functionality so an architect of system is obligated to 312 introduce some extensions and clarifications. In the 313 <span class="emphasis"><em>QCG-Notification </em></span>scenario there are several314 messages that have to be expanded with additional information written as315 embedded XML. Some of these extensions are related with other Oasis316 standards but some are quite new. Technical details are described in the317 su ccessive subsections.</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e693"></a>3.4.1. TopicExpression</h4></div></div></div><p><span class="emphasis"><em>QCG-Notification </em></span>remote peers have to use311 introduce some extensions and clarifications. In the <span class="emphasis"><em>QCG 312 Notification </em></span>scenario there are several messages that have to 313 be expanded with additional information written as embedded XML. Some of 314 these extensions are related with other Oasis standards but some are 315 quite new. Technical details are described in the successive 316 subsections.</p><div class="sect3" title="TopicExpression"><div class="titlepage"><div><div><h4 class="title"><a id="idp219296"/>TopicExpression</h4></div></div></div><p><span class="emphasis"><em>QCG Notification </em></span>remote peers have to use 318 317 an appropriate TopicExpression XML element. The schema of this element 319 is defined according to Oasis standard in<a class="ulink" href="http://docs.oasis-open.org/wsn/b-2.xsd" target="_top"></a><a class="ulink" href="http://docs.oasis-open.org/wsn/b-2.xsd" target="_top">320 http://docs.oasis-open.org/wsn/b-2.xsd</a>< a class="ulink" href="http://docs.oasis-open.org/wsn/b-2.xsd" target="_top"></a>. Please note318 is defined according to Oasis standard in<a class="ulink" href="http://docs.oasis-open.org/wsn/b-2.xsd"><a class="ulink" href="http://docs.oasis-open.org/wsn/b-2.xsd"> 319 http://docs.oasis-open.org/wsn/b-2.xsd</a></a>. Please note 321 320 here that the Nofity and GetCurrentMessageRequest messages contain a 322 321 Topic element which contains a required @Dialect attribute. Also … … 324 323 with the WSDL document, a @Dialect from the Topic element is 325 324 significant. It is not necessary but preferred to attach the same 326 @Dialect in the TopicExpression element against.</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e704"></a>3.4.2. <span class="emphasis"><em>QCG-Notification</em></span> Extensions</h4></div></div></div><p><span class="emphasis"><em>QCG-Notification</em></span> introduces some extensions325 @Dialect in the TopicExpression element against.</p></div><div class="sect3" title="QCG Notification Extensions"><div class="titlepage"><div><div><h4 class="title"><a id="idp222320"/><span class="emphasis"><em>QCG Notification</em></span> Extensions</h4></div></div></div><p><span class="emphasis"><em>QCG Notification</em></span> introduces some extensions 327 326 to WSDL as well as schema documents related to the Oasis standard. The 328 327 following schema defines these extensions. The first three elements … … 376 375 </xsd:simpleType> 377 376 378 <!-- ================= QCG -Notification manager : ListPullPoints ================== -->377 <!-- ================= QCG Notification manager : ListPullPoints ================== --> 379 378 380 379 <xsd:complexType name="ListSubscriptionsFilter"> … … 436 435 </xsd:element> 437 436 438 <!-- ================= QCG -Notification manager : ListPublishersRegistrations ================== -->437 <!-- ================= QCG Notification manager : ListPublishersRegistrations ================== --> 439 438 440 439 <xsd:complexType name="ListPublishersRegistrationsFilter"> … … 495 494 </xsd:element> 496 495 497 <!-- ================= QCG -Notification manager : ListPullPoints ================== -->496 <!-- ================= QCG Notification manager : ListPullPoints ================== --> 498 497 499 498 <xsd:complexType name="ListPullPointsFilter"> … … 555 554 </xsd:element> 556 555 557 <!-- ================= QCG -Notification manager : ListTopicNamespaces ================== -->556 <!-- ================= QCG Notification manager : ListTopicNamespaces ================== --> 558 557 559 558 <xsd:complexType name="ListTopicNamespacesFilter"> … … 597 596 </xsd:element> 598 597 599 <!-- ================= QCG -Notification manager : AddTopicNamespace ================== -->598 <!-- ================= QCG Notification manager : AddTopicNamespace ================== --> 600 599 601 600 <xsd:element name="AddTopicNamespace"> … … 618 617 </xsd:element> 619 618 620 <!-- ================= QCG -Notification manager : RemoveTopicNamespace ================== -->619 <!-- ================= QCG Notification manager : RemoveTopicNamespace ================== --> 621 620 622 621 <xsd:element name="RemoveTopicNamespace"> … … 640 639 </xsd:element> 641 640 642 </xsd:schema></pre></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e715"></a>3.5. Methods Description</h3></div></div></div><p>The main idea of this chapter is to present the types of messages643 used in the <span class="emphasis"><em>QCG -Notification</em></span> scenario as well as641 </xsd:schema></pre></div></div><div class="sect2" title="Methods Description"><div class="titlepage"><div><div><h3 class="title"><a id="idp237760"/>Methods Description</h3></div></div></div><p>The main idea of this chapter is to present the types of messages 642 used in the <span class="emphasis"><em>QCG Notification</em></span> scenario as well as 644 643 introduce how to construct and interpret these messages. The majority of 645 them is two-way style and initiated by 646 <span class="emphasis"><em>QCG-Notification</em></span> clients. Exception is the Notify647 message that is one-way style. In the first phase it is transported from648 a Publisher to <span class="emphasis"><em>QCG-Notification</em></span> and in the second649 it is transported from <span class="emphasis"><em>QCG-Notification</em></span> to650 subscribed NotificationConsumers.</p><p>All supported by <span class="emphasis"><em>QCG-Notification</em></span> message651 types are presented and explained below.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><div class="itemizedlist"><ul type="disc"><li><p>The key information are thick;</p></li><li><p>A base of the messages structure is a delivered WSDL file,652 however there are also extensions;</p></li><li ><p>For all messages it is important to set a correct644 them is two-way style and initiated by <span class="emphasis"><em>QCG 645 Notification</em></span> clients. Exception is the Notify message that is 646 one-way style. In the first phase it is transported from a Publisher to 647 <span class="emphasis"><em>QCG Notification</em></span> and in the second it is 648 transported from <span class="emphasis"><em>QCG Notification</em></span> to subscribed 649 NotificationConsumers.</p><p>All supported by <span class="emphasis"><em>QCG Notification</em></span> message 650 types are presented and explained below.</p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>The key information are thick;</p></li><li class="listitem"><p>A base of the messages structure is a delivered WSDL file, 651 however there are also extensions;</p></li><li class="listitem"><p>For all messages it is important to set a correct 653 652 WS-Addressing Action property which should be the same as SOAP 654 Action.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e749"></a>3.5.1. SubscribeRequest</h4></div></div></div><p>SubscribeRequest is sent by a Subscriber to655 <span class="emphasis"><em>QCG-Notification</em></span>. The message should contain656 information about a NotificationConsumer and an expression defining657 Topic or Topics that the Subscription will affect. If a message658 processing is successful, a Subscription is created. It is possible to659 create many equal Subscriptions by sending numerously the same660 SubscribeRequestmessage.</p><pre class="programlisting">SOAP-ENV:Envelope ... >653 Action.</p></li></ul></div></div><div class="sect3" title="SubscribeRequest"><div class="titlepage"><div><div><h4 class="title"><a id="idp245776"/>SubscribeRequest</h4></div></div></div><p>SubscribeRequest is sent by a Subscriber to <span class="emphasis"><em>QCG 654 Notification</em></span>. The message should contain information about 655 a NotificationConsumer and an expression defining Topic or Topics that 656 the Subscription will affect. If a message processing is successful, a 657 Subscription is created. It is possible to create many equal 658 Subscriptions by sending numerously the same SubscribeRequest 659 message.</p><pre class="programlisting">SOAP-ENV:Envelope ... > 661 660 <SOAP-ENV:Header> 662 661 <wsa:Action SOAP-ENV:mustUnderstand="1"> … … 689 688 </wsnt:InitialTerminationTime> 690 689 <smn-ext:XSLTTranslation> 691 <![ CDATA[<span class="bold"><strong>690 <![[CDATA<span class="bold"><strong> 692 691 <?xml version="1.0" encoding="ISO-8859-1"?> 693 692 <xsl:stylesheet version 1.0" … … 707 706 </wsnt:Subscribe> 708 707 </SOAP-ENV:Body> 709 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:708 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 710 709 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/bw-2/ 711 710 NotificationProducer/SubscribeRequest. <span class="emphasis"><em>If differ, a 712 fault will be returned.</em></span></em></span></p></li><li ><p><span class="emphasis"><em>//wsnt:Subscribe/wsnt:ConsumerReference/wsa:Address</em></span></p><p>A Consumer address. It is significant to specify a correct711 fault will be returned.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:Subscribe/wsnt:ConsumerReference/wsa:Address</em></span></p><p>A Consumer address. It is significant to specify a correct 713 712 prefix (http, https, xmpp). The prefix should be adequate to the 714 expected type of connection between 715 <span class="emphasis"><em>QCG-Notification</em></span> and NotificationConsumer(s):716 http for anonymous, https for ssl-based and xmpp for sending717 notifications to jabber clients.</p></li><li><p><span class="emphasis"><em>//wsnt:Subscribe/wsnt:Filter</em></span></p><p>In this element, a Subscriber defines filtering parameters713 expected type of connection between <span class="emphasis"><em>QCG 714 Notification</em></span> and NotificationConsumer(s): http for 715 anonymous, https for ssl-based and xmpp for sending notifications 716 to jabber clients.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:Subscribe/wsnt:Filter</em></span></p><p>In this element, a Subscriber defines filtering parameters 718 717 to the Subscription being created. In other words, it identifies a 719 718 type of Notifications that should be forwarded to the selected 720 Notification Consumer.</p></li><li ><p><span class="emphasis"><em>//wsnt:Subscribe/wsnt:Filter/wsnt:TopicExpression</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>This element defines Topic or Topics719 Notification Consumer.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:Subscribe/wsnt:Filter/wsnt:TopicExpression</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>This element defines Topic or Topics 721 720 that Subscription should affect. Topics should come from supported 722 721 Topic Namespaces that are also defined for the element. … … 725 724 TopicExpression element and assigned to some prefix (e.g. tns) or 726 725 (2) using inline form (e.g. 727 {http://schemas.qoscosgrid.org/ntf/2011/04/sample/myhousetopics}//*).</em></span></em></span></p></li><li ><p><span class="emphasis"><em>//wsnt:Subscribe/wsnt:Filter/wsnt:TopicExpression/@Dialect</em></span></p><p>URI that specifies a TopicExpression Dialect type. Allowed726 {http://schemas.qoscosgrid.org/ntf/2011/04/sample/myhousetopics}//*).</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:Subscribe/wsnt:Filter/wsnt:TopicExpression/@Dialect</em></span></p><p>URI that specifies a TopicExpression Dialect type. Allowed 728 727 Dialects types are as follows: 729 728 <span class="emphasis"><em>"http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple", 730 729 "http://docs.oasis-open.org/wsn/t-1/TopicExpression/Concrete", 731 "http://docs.oasis-open.org/wsn/t-1/TopicExpression/Full"</em></span></p></li><li ><p><span class="emphasis"><em>//wsnt:Subscribe/wsnt:Filter/wsnt:MessageContent</em></span></p><p>An optional element. If present, the MessageContent should730 "http://docs.oasis-open.org/wsn/t-1/TopicExpression/Full"</em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:Subscribe/wsnt:Filter/wsnt:MessageContent</em></span></p><p>An optional element. If present, the MessageContent should 732 731 define an XPath boolean expression that will be evaluated over 733 redistributed Notificatio mMessages to true or false. If such an732 redistributed Notification Messages to true or false. If such an 734 733 evaluation returns true, the message is forwarded, otherwise it is 735 734 not. The namespaces used in the expression may be defined inside … … 738 737 boolean(//{http://schemas.qoscosgrid.org/ntf/2011/04/sample/myhousemessage}State[text()="on"].The 739 738 Dialect should always be: 740 <span class="emphasis"><em>http://www.w3.org/TR/1999/REC-xpath-19991116</em></span></p></li><li ><p><span class="emphasis"><em>//wsnt:Subscribe/wsnt:InitialTerminationTime</em></span></p><p>An optional element. If present, must contain a Subscriber739 <span class="emphasis"><em>http://www.w3.org/TR/1999/REC-xpath-19991116</em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:Subscribe/wsnt:InitialTerminationTime</em></span></p><p>An optional element. If present, must contain a Subscriber 741 740 suggestion for the termination time of the Subscription being 742 741 created (expressed as a local time with timezone). If not present, 743 the termination time is determined automatically - 744 <span class="emphasis"><em>QCG-Notification <span class="emphasis"><em>specify a default time742 the termination time is determined automatically - <span class="emphasis"><em>QCG 743 Notification <span class="emphasis"><em>specify a default time 745 744 period</em></span></em></span> for the Subscription to be 746 valid.</p></li><li ><p><span class="emphasis"><em>//wsnt:Subscribe/smn-ext:XSLTTranslation</em></span></p><p>An optional element. Inside the XSLTTranslation a Subscriber745 valid.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:Subscribe/smn-ext:XSLTTranslation</em></span></p><p>An optional element. Inside the XSLTTranslation a Subscriber 747 746 may deliver an XSLT document that will be used by some publishing 748 747 modules to transform notification messages to a different form 749 748 (for example user readable). Note that an actual XSLT document 750 should be enclosed in <![ CDATA[ and ]]> markers.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e856"></a>3.5.2. SubscribeResponse</h4></div></div></div><p>In answer on SubscribeRequest there is sent the751 SubscribeResponse message. <span class="emphasis"><em>QCG -Notification</em></span>749 should be enclosed in <![[CDATA and ]]> markers.</p></li></ul></div></div><div class="sect3" title="SubscribeResponse"><div class="titlepage"><div><div><h4 class="title"><a id="idp272320"/>SubscribeResponse</h4></div></div></div><p>In answer on SubscribeRequest there is sent the 750 SubscribeResponse message. <span class="emphasis"><em>QCG Notification</em></span> 752 751 deliver in this message a reference to the created Subscription. This 753 752 ID can be used for manipulation and to remove the Subscription.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > … … 774 773 </wsnt:SubscribeResponse> 775 774 </SOAP-ENV:Body> 776 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:775 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 777 776 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/bw-2/ 778 777 NotificationProducer/SubscribeResponse. <span class="emphasis"><em>If differ, a 779 fault will be returned.</em></span></em></span></p></li><li ><p><span class="emphasis"><em>//wsnt:SubscribeResponse/wsnt:SubscriptionReference/wsa:Address</em></span></p><p>An address of a SubscriptionManager interface. In the780 current solution it is the <span class="emphasis"><em>QCG -Notification</em></span>781 service address.</p></li><li ><p><span class="emphasis"><em>//wsnt:SubscribeResponse/wsnt:SubscriptionReference/</em></span></p><p><span class="emphasis"><em>wsa:ReferenceParameters/SubscriptionID</em></span></p><p>An extensive element in xsd:any that contains Subscription782 ID. At this time it is at most 32 char long string.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e904"></a>3.5.3. RenewRequest</h4></div></div></div><p>When a Subscriber wants to renew a Subscription, it can send the783 RenewRequest message to <span class="emphasis"><em>QCG -Notification</em></span>. The778 fault will be returned.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:SubscribeResponse/wsnt:SubscriptionReference/wsa:Address</em></span></p><p>An address of a SubscriptionManager interface. In the 779 current solution it is the <span class="emphasis"><em>QCG Notification</em></span> 780 service address.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:SubscribeResponse/wsnt:SubscriptionReference/</em></span></p><p><span class="emphasis"><em>wsa:ReferenceParameters/SubscriptionID</em></span></p><p>An extensive element in xsd:any that contains Subscription 781 ID. At this time it is at most 32 char long string.</p></li></ul></div></div><div class="sect3" title="RenewRequest"><div class="titlepage"><div><div><h4 class="title"><a id="idp283376"/>RenewRequest</h4></div></div></div><p>When a Subscriber wants to renew a Subscription, it can send the 782 RenewRequest message to <span class="emphasis"><em>QCG Notification</em></span>. The 784 783 message should contain the Subscription ID element and a new 785 termination time sugges ation.</p><pre class="programlisting"><SOAP-ENV:Envelope ... >784 termination time suggestion.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > 786 785 <SOAP-ENV:Header> 787 786 <wsa:Action SOAP-ENV:mustUnderstand="1"> … … 801 800 </wsnt:Renew> 802 801 </SOAP-ENV:Body> 803 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:802 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 804 803 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/bw-2/ 805 804 SubscriptionManager/RenewRequest. <span class="emphasis"><em>If differ, a fault 806 will be returned.</em></span></em></span></p></li><li ><p>//wsnt:Renew/wsnt:TerminationTime</p><p>A Subscriber suggestion for the new termination time of the805 will be returned.</em></span></em></span></p></li><li class="listitem"><p>//wsnt:Renew/wsnt:TerminationTime</p><p>A Subscriber suggestion for the new termination time of the 807 806 Subscription being renewed (expressed as a local time with 808 timezone).</p></li><li ><p><span class="emphasis"><em>//wsnt:Renew/smn-ext:SubscriptionID</em></span></p><p>A Subscription ID that was received in the SubscribeResponse809 message.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e945"></a>3.5.4. RenewResponse</h4></div></div></div><p>An answer to the RenewRequest message is RenewResponse. The807 timezone).</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:Renew/smn-ext:SubscriptionID</em></span></p><p>A Subscription ID that was received in the SubscribeResponse 808 message.</p></li></ul></div></div><div class="sect3" title="RenewResponse"><div class="titlepage"><div><div><h4 class="title"><a id="idp293232"/>RenewResponse</h4></div></div></div><p>An answer to the RenewRequest message is RenewResponse. The 810 809 message contains a termination time for the renewed 811 810 Subscription.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > … … 827 826 </wsnt:RenewResponse> 828 827 </SOAP-ENV:Body> 829 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:828 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 830 829 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/bw-2/ 831 830 SubscriptionManager/RenewResponse. <span class="emphasis"><em>If differ, a fault 832 will be returned.</em></span></em></span></p></li><li ><p><span class="emphasis"><em>//wsnt:RenewResponse/wsnt:TerminationTime</em></span></p><p>A new termination time for the renewed Subscription833 (expressed as UTC Time).</p></li></ul></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//wsnt:RenewResponse/wsnt:CurrentTime</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>A834 </em></span>QCG-Notification's</em></span> time when the835 Subscription was renewing (expressed as UTC Time).</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e989"></a>3.5.5. UnsubscribeRequest</h4></div></div></div><p>When a Subscriber wants to terminate a Subscription, it has to836 send the UnsubscribeRequest message to 837 <span class="emphasis"><em>QCG-Notification</em></span>. The parameter attached to this838 request is aSubscription ID.</p><pre class="programlisting"><SOAP-ENV:Envelope ... >831 will be returned.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:RenewResponse/wsnt:TerminationTime</em></span></p><p>A new termination time for the renewed Subscription 832 (expressed as UTC Time).</p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//wsnt:RenewResponse/wsnt:CurrentTime</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>A </em></span>QCG 833 Notification's</em></span> time when the Subscription was renewing 834 (expressed as UTC Time).</p></li></ul></div></div><div class="sect3" title="UnsubscribeRequest"><div class="titlepage"><div><div><h4 class="title"><a id="idp303536"/>UnsubscribeRequest</h4></div></div></div><p>When a Subscriber wants to terminate a Subscription, it has to 835 send the UnsubscribeRequest message to <span class="emphasis"><em>QCG 836 Notification</em></span>. The parameter attached to this request is a 837 Subscription ID.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > 839 838 <SOAP-ENV:Header> 840 839 <wsa:Action SOAP-ENV:mustUnderstand="1"> … … 851 850 </wsnt:Unsubscribe> 852 851 </SOAP-ENV:Body> 853 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:852 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 854 853 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/bw-2/ 855 854 SubscriptionManager/UnsubscribeRequest. <span class="emphasis"><em>If differ, a 856 fault will be returned.</em></span></em></span></p></li><li ><p><span class="emphasis"><em>//wsnt:Unsubscribe/smn-ext:SubscriptionID</em></span></p><p>A Subscription ID that was received in the SubscribeResponse857 message.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1022"></a>3.5.6. UnsubscribeResponse</h4></div></div></div><p>UnsubscribeResponse is returned to a Subscriber after855 fault will be returned.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:Unsubscribe/smn-ext:SubscriptionID</em></span></p><p>A Subscription ID that was received in the SubscribeResponse 856 message.</p></li></ul></div></div><div class="sect3" title="UnsubscribeResponse"><div class="titlepage"><div><div><h4 class="title"><a id="idp312400"/>UnsubscribeResponse</h4></div></div></div><p>UnsubscribeResponse is returned to a Subscriber after 858 857 successfully processing the UnsubscribeRequest message.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > 859 858 <SOAP-ENV:Header> … … 868 867 </wsnt:UnsubscribeResponse> 869 868 </SOAP-ENV:Body> 870 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:869 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 871 870 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/bw-2/ 872 871 SubscriptionManager/UnsubscribeResponse. <span class="emphasis"><em>If differ, a 873 fault will be returned.</em></span></em></span></p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1043"></a>3.5.7. RegisterPublisherRequest</h4></div></div></div><p>In order to sending Notifications, a Publisher can be obligated874 to register himself previo sly in875 <span class="emphasis"><em>QCG-Notification</em></span>. For this purpose, it sends the876 RegisterPublisherRequest message to 877 <span class="emphasis"><em>QCG-Notification</em></span>.</p><pre class="programlisting"><SOAP-ENV:Envelope ... >872 fault will be returned.</em></span></em></span></p></li></ul></div></div><div class="sect3" title="RegisterPublisherRequest"><div class="titlepage"><div><div><h4 class="title"><a id="idp318544"/>RegisterPublisherRequest</h4></div></div></div><p>In order to sending Notifications, a Publisher can be obligated 873 to register himself previously in <span class="emphasis"><em>QCG 874 Notification</em></span>. For this purpose, it sends the 875 RegisterPublisherRequest message to <span class="emphasis"><em>QCG 876 Notification</em></span>.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > 878 877 <SOAP-ENV:Header> 879 878 <wsa:Action SOAP-ENV:mustUnderstand="1"> … … 893 892 </wsnbr:RegisterPublisher> 894 893 </SOAP-ENV:Body> 895 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:894 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 896 895 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/brw-2/ 897 896 RegisterPublisher/RegisterPublisherRequest. <span class="emphasis"><em>If differ, a 898 fault will be returned.</em></span></em></span></p></li><li ><p><span class="emphasis"><em>//wsnbr:RegisterPublisher/wsnbr:Demand</em></span></p><p>Determine a demand-based pattern. At this time this pattern897 fault will be returned.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//wsnbr:RegisterPublisher/wsnbr:Demand</em></span></p><p>Determine a demand-based pattern. At this time this pattern 899 898 isn't supported so default <span class="emphasis"><em>false</em></span> is the sole 900 accepted value.</p></li><li ><p><span class="emphasis"><em>//wsnbr:RegisterPublisher/wsnbr:InitialTerminationTime</em></span></p><p>An optional element. If present, must contain the requester899 accepted value.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnbr:RegisterPublisher/wsnbr:InitialTerminationTime</em></span></p><p>An optional element. If present, must contain the requester 901 900 suggestion for the termination time of the Registration being 902 901 created (expressed as a local time with timezone). If not present, 903 the termination time is determined automatically - 904 <span class="emphasis"><em>QCG-Notification <span class="emphasis"><em>specify the default time902 the termination time is determined automatically - <span class="emphasis"><em>QCG 903 Notification <span class="emphasis"><em>specify the default time 905 904 period</em></span></em></span> for the Registration to be valid. 906 Every Notify message renews the termination time.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1096"></a>3.5.8. RegisterPublisherResponse</h4></div></div></div><p>In a response to a successful registration process,907 <span class="emphasis"><em>QCG -Notification</em></span> sends RegisterPublisherResponse.905 Every Notify message renews the termination time.</p></li></ul></div></div><div class="sect3" title="RegisterPublisherResponse"><div class="titlepage"><div><div><h4 class="title"><a id="idp331408"/>RegisterPublisherResponse</h4></div></div></div><p>In a response to a successful registration process, 906 <span class="emphasis"><em>QCG Notification</em></span> sends RegisterPublisherResponse. 908 907 This message contains a reference to the created Registration. The 909 908 attached ID is necessary to send any Notification message.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > … … 929 928 </wsnbr:RegisterPublisherResponse> 930 929 </SOAP-ENV:Body> 931 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:930 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 932 931 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/brw-2/RegisterPublisher/RegisterPublisherResponse. 933 932 <span class="emphasis"><em>If differ, a fault will be 934 returned.</em></span></em></span></p></li><li ><p><span class="emphasis"><em>//wsnbr:RegisterPublisherResponse/wsnbr:PublisherRegistrationReference/wsa:Address</em></span></p><p>An address of a PublisherRegistration Manager interface. In935 the current solution it is the 936 <span class="emphasis"><em>QCG-Notification</em></span> service address.</p></li><li><p><span class="emphasis"><em>//wsnbr:RegisterPublisherResponse/wsnbr:PublisherRegistrationReference/wsa:ReferenceParameters/RegisterPublisherID</em></span></p><p>An extensive element in xsd:any that contains a Publisher933 returned.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//wsnbr:RegisterPublisherResponse/wsnbr:PublisherRegistrationReference/wsa:Address</em></span></p><p>An address of a PublisherRegistration Manager interface. In 934 the current solution it is the <span class="emphasis"><em>QCG 935 Notification</em></span> service address.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnbr:RegisterPublisherResponse/wsnbr:PublisherRegistrationReference/wsa:ReferenceParameters/RegisterPublisherID</em></span></p><p>An extensive element in xsd:any that contains a Publisher 937 936 Registration ID. It defines a session that is created after 938 937 registration and removed by sending the DestroyRegistration 939 message. At this time it is at most 32 char long string.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1141"></a>3.5.9. Notify</h4></div></div></div><p>Notify consists of one or many NotificationMessages. Any of them938 message. At this time it is at most 32 char long string.</p></li></ul></div></div><div class="sect3" title="Notify"><div class="titlepage"><div><div><h4 class="title"><a id="idp343184"/>Notify</h4></div></div></div><p>Notify consists of one or many NotificationMessages. Any of them 940 939 is a separate Notification message and is processed independently. 941 940 NotificationMessage should define a single Topic it concerns. … … 974 973 </wsnt:Notify> 975 974 </SOAP-ENV:Body> 976 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:975 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 977 976 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/bw-2/NotificationConsumer/Notify. 978 977 <span class="emphasis"><em>If differ, a fault will be 979 returned.</em></span></em></span></p></li><li ><p><span class="emphasis"><em>//wsnt:Notify</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>A set of Notification980 messages.</em></span></em></span></p></li><li ><p><span class="emphasis"><em>//wsnt:Notify/wsnt:NotificationMessage</em></span></p><p>A single Notification message.</p></li><li><p><span class="emphasis"><em>//wsnt:Notify/wsnt:NotificationMessage/wsnt:Topic</em></span></p><p>The content of this element is an expression that defines978 returned.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:Notify</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>A set of Notification 979 messages.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:Notify/wsnt:NotificationMessage</em></span></p><p>A single Notification message.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:Notify/wsnt:NotificationMessage/wsnt:Topic</em></span></p><p>The content of this element is an expression that defines 981 980 exactly one Topic in a specified Dialect type. The Topic should be 982 981 supported. The Topic may be defined in two ways: (1) using … … 984 983 is defined in a Topic element and assigned to some prefix (e.g. 985 984 tns) or (2) using inline form (e.g. 986 {http://schemas.qoscosgrid.org/ntf/2011/04/sample/myhousetopics}House/Kitchen/Light).</p></li><li ><p><span class="emphasis"><em>//wsnt:Notify/wsnt:NotificationMessage/wsnt:Topic/@Dialect</em></span></p><p>URI that specifies TopicExpression Dialect type. Allowed985 {http://schemas.qoscosgrid.org/ntf/2011/04/sample/myhousetopics}House/Kitchen/Light).</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:Notify/wsnt:NotificationMessage/wsnt:Topic/@Dialect</em></span></p><p>URI that specifies TopicExpression Dialect type. Allowed 987 986 Dialect types are as follows: 988 987 <span class="emphasis"><em>"http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple", 989 988 "http://docs.oasis-open.org/wsn/t-1/TopicExpression/Concrete", 990 "http://docs.oasis-open.org/wsn/t-1/TopicExpression/Full".</em></span></p></li><li ><p><span class="emphasis"><em>//wsnt:Notify/wsnt:NotificationMessage/wsnt:ProducerReference/wsa:Address</em></span></p><p>A Notification producer (Publisher) address.</p></li><li><p><span class="emphasis"><em>//wsnt:Notify/wsnt:NotificationMessage/wsnt:Message</em></span></p><p>A Notify message content. Currently supported are messages991 shorter than 4096 bytes.</p></li><li ><p><span class="emphasis"><em>//wsnt:Notify/smn-ext:RegisterPublisherID</em></span></p><p>A Publisher Registration ID that was received in the992 RegisterPublisherResponse message.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1225"></a>3.5.10. DestroyRegistrationRequest</h4></div></div></div><p>A Publisher can terminate a Registration by sending the993 DestroyRegistrationRequest message to 994 <span class="emphasis"><em>QCG-Notification</em></span>. The parameter attached to this995 request is aPublisher Registration ID.</p><pre class="programlisting"><SOAP-ENV:Envelope ... >989 "http://docs.oasis-open.org/wsn/t-1/TopicExpression/Full".</em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:Notify/wsnt:NotificationMessage/wsnt:ProducerReference/wsa:Address</em></span></p><p>A Notification producer (Publisher) address.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:Notify/wsnt:NotificationMessage/wsnt:Message</em></span></p><p>A Notify message content. Currently supported are messages 990 shorter than 4096 bytes.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:Notify/smn-ext:RegisterPublisherID</em></span></p><p>A Publisher Registration ID that was received in the 991 RegisterPublisherResponse message.</p></li></ul></div></div><div class="sect3" title="DestroyRegistrationRequest"><div class="titlepage"><div><div><h4 class="title"><a id="idp365152"/>DestroyRegistrationRequest</h4></div></div></div><p>A Publisher can terminate a Registration by sending the 992 DestroyRegistrationRequest message to <span class="emphasis"><em>QCG 993 Notification</em></span>. The parameter attached to this request is a 994 Publisher Registration ID.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > 996 995 <SOAP-ENV:Header> 997 996 <wsa:Action SOAP-ENV:mustUnderstand="1"> … … 1007 1006 </wsnbr:DestroyRegistration> 1008 1007 </SOAP-ENV:Body> 1009 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1008 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1010 1009 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/brw-2/ 1011 1010 PublisherRegistrationManager/DestroyRegistrationRequest. 1012 1011 <span class="emphasis"><em>If differ, a fault will be 1013 returned.</em></span></em></span></p></li><li ><p><span class="emphasis"><em>//wsnbr:DestroyRegistration/smn-ext:RegisterPublisherID</em></span></p><p>A Publisher Registration ID that was received in a1014 RegisterPublisherResponse message.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1258"></a>3.5.11. DestroyRegistrationResponse</h4></div></div></div><p>DestroyRegistrationResponse is returned to a Publisher after a1012 returned.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//wsnbr:DestroyRegistration/smn-ext:RegisterPublisherID</em></span></p><p>A Publisher Registration ID that was received in a 1013 RegisterPublisherResponse message.</p></li></ul></div></div><div class="sect3" title="DestroyRegistrationResponse"><div class="titlepage"><div><div><h4 class="title"><a id="idp373904"/>DestroyRegistrationResponse</h4></div></div></div><p>DestroyRegistrationResponse is returned to a Publisher after a 1015 1014 successful process of destroying a Publisher Registration, in a 1016 1015 response to the DestroyRegistration message.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > … … 1025 1024 </wsn-br:DestroyRegistrationResponse> 1026 1025 </SOAP-ENV:Body> 1027 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1026 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1028 1027 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/brw-2/ 1029 1028 PublisherRegistrationManager/DestroyRegistrationResponse. 1030 1029 <span class="emphasis"><em>If differ, a fault will be 1031 returned.</em></span></em></span></p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1279"></a>3.5.12. CreatePullPointRequest</h4></div></div></div><p>In scenarios where the pull-style of notifications delivery is1030 returned.</em></span></em></span></p></li></ul></div></div><div class="sect3" title="CreatePullPointRequest"><div class="titlepage"><div><div><h4 class="title"><a id="idp380096"/>CreatePullPointRequest</h4></div></div></div><p>In scenarios where the pull-style of notifications delivery is 1032 1031 needed, Subscribers can create PullPoints. To do this, a Subscriber 1033 sends the CreatePullPointRequest message to <span class="emphasis"><em>QCG -Notification1032 sends the CreatePullPointRequest message to <span class="emphasis"><em>QCG Notification 1034 1033 PullPoint</em></span>.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > 1035 1034 <SOAP-ENV:Header> … … 1044 1043 </wsnt:CreatePullPoint> 1045 1044 </SOAP-ENV:Body> 1046 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1045 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1047 1046 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/bw-2/CreatePullPoint/CreatePullPointRequest. 1048 1047 <span class="emphasis"><em>If differ, a fault will be 1049 returned.</em></span></em></span></p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1303"></a>3.5.13. CreatePullPointResponse</h4></div></div></div><p>The CreatePullPointResponse message is returned in a response to1048 returned.</em></span></em></span></p></li></ul></div></div><div class="sect3" title="CreatePullPointResponse"><div class="titlepage"><div><div><h4 class="title"><a id="idp384240"/>CreatePullPointResponse</h4></div></div></div><p>The CreatePullPointResponse message is returned in a response to 1050 1049 the request of PullPoint creation. This message contains a reference 1051 1050 to the just created PullPoint. </p><pre class="programlisting"><SOAP-ENV:Envelope ... > … … 1064 1063 </wsnt:CreatePullPointResponse> 1065 1064 </SOAP-ENV:Body> 1066 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1065 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1067 1066 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/bw-2/CreatePullPoint/CreatePullPointResponse. 1068 1067 <span class="emphasis"><em>If differ, a fault will be 1069 returned.</em></span></em></span></p></li><li ><p><span class="emphasis"><em>//wsnt:CreatePullPointResponse/wsa:Address</em></span></p><p>An logical address of the created PullPoint.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1333"></a>3.5.14. GetMessages</h4></div></div></div><p>A Pull-style NotificationConsumer can get messages buffered in a1068 returned.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:CreatePullPointResponse/wsa:Address</em></span></p><p>An logical address of the created PullPoint.</p></li></ul></div></div><div class="sect3" title="GetMessages"><div class="titlepage"><div><div><h4 class="title"><a id="idp394048"/>GetMessages</h4></div></div></div><p>A Pull-style NotificationConsumer can get messages buffered in a 1070 1069 PullPoint by invoking the GetMessages method. It sends the 1071 1070 GetMessagesRequest message directly to the specified PullPoint. The … … 1085 1084 </wsnt:GetMessages> 1086 1085 </SOAP-ENV:Body> 1087 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1086 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1088 1087 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/bw-2/PullPoint/GetMessagesRequest. 1089 1088 <span class="emphasis"><em>If differ, a fault will be 1090 returned.</em></span></em></span></p></li></ul></div><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//wsnt:GetMessages/wsnt:MaximumNumber</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>An optional element. It defines a1089 returned.</em></span></em></span></p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//wsnt:GetMessages/wsnt:MaximumNumber</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>An optional element. It defines a 1091 1090 maximal number of messages that will be gotten from the 1092 PullPoint.</em></span></em></span></p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1366"></a>3.5.15. GetMessagesResponse</h4></div></div></div><p>GetMessagesResponse, a response message to GetMessages, consists1091 PullPoint.</em></span></em></span></p></li></ul></div></div><div class="sect3" title="GetMessagesResponse"><div class="titlepage"><div><div><h4 class="title"><a id="idp403232"/>GetMessagesResponse</h4></div></div></div><p>GetMessagesResponse, a response message to GetMessages, consists 1093 1092 of a set of Notifications received from the PullPoint. 1094 1093 </p><pre class="programlisting"><SOAP-ENV:Envelope ... > … … 1126 1125 </wsnt:GetMessagesResponse> 1127 1126 </SOAP-ENV:Body> 1128 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1127 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1129 1128 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/bw-2/PullPoint/GetMessagesResponse. 1130 1129 <span class="emphasis"><em>If differ, a fault will be 1131 returned.</em></span></em></span></p></li><li ><p>//wsnt:GetMessagesResponse</p><p>A set of Notification messages. The number of messages is1130 returned.</em></span></em></span></p></li><li class="listitem"><p>//wsnt:GetMessagesResponse</p><p>A set of Notification messages. The number of messages is 1132 1131 restricted by the wsnt:MaximumNumber parameter defined in the 1133 GetMessagesRequest message.</p></li><li ><p><span class="emphasis"><em>//wsnt:GetMessagesResponse/wsnt:NotificationMessage</em></span></p><p>A single Notification message.</p></li><li><p><span class="emphasis"><em>//wsnt:GetMessagesResponse/wsnt:NotificationMessage/wsnt:Topic</em></span></p><p>The content of this element is an expression that defines1132 GetMessagesRequest message.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:GetMessagesResponse/wsnt:NotificationMessage</em></span></p><p>A single Notification message.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:GetMessagesResponse/wsnt:NotificationMessage/wsnt:Topic</em></span></p><p>The content of this element is an expression that defines 1134 1133 exactly one Topic in a specified Dialect type. The Topic should 1135 be supported.</p></li><li ><p><span class="emphasis"><em>//wsnt:GetMessagesResponse/wsnt:NotificationMessage/wsnt:Topic/@Dialect</em></span></p><p>URI that specifies a TopicExpression Dialect type. Allowed1134 be supported.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:GetMessagesResponse/wsnt:NotificationMessage/wsnt:Topic/@Dialect</em></span></p><p>URI that specifies a TopicExpression Dialect type. Allowed 1136 1135 Dialect types are as follows: 1137 1136 <span class="emphasis"><em>"http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple", 1138 1137 "http://docs.oasis-open.org/wsn/t-1/TopicExpression/Concrete", 1139 "http://docs.oasis-open.org/wsn/t-1/TopicExpression/Full".</em></span></p></li><li ><p><span class="emphasis"><em>//wsnt:GetMessagesResponse/wsnt:NotificationMessage/wsnt:ProducerReference/wsa:Address</em></span></p><p>A Notification producer (Publisher) address.</p></li><li><p><span class="emphasis"><em>//wsnt:GetMessagesResponse/wsnt:NotificationMessage/wsnt:Message</em></span></p><p>A Notify message content. Currently supported are messages1140 shorter than 4096 bytes.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1443"></a>3.5.16. DestroyPullPointRequest</h4></div></div></div><p>A PullPoint can be destroyed by invoking a DestroyPullPoint1138 "http://docs.oasis-open.org/wsn/t-1/TopicExpression/Full".</em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:GetMessagesResponse/wsnt:NotificationMessage/wsnt:ProducerReference/wsa:Address</em></span></p><p>A Notification producer (Publisher) address.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:GetMessagesResponse/wsnt:NotificationMessage/wsnt:Message</em></span></p><p>A Notify message content. Currently supported are messages 1139 shorter than 4096 bytes.</p></li></ul></div></div><div class="sect3" title="DestroyPullPointRequest"><div class="titlepage"><div><div><h4 class="title"><a id="idp422992"/>DestroyPullPointRequest</h4></div></div></div><p>A PullPoint can be destroyed by invoking a DestroyPullPoint 1141 1140 method. An empty request message should be sent directly to the 1142 1141 PullPoint.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > … … 1152 1151 </wsnt:DestroyPullPoint> 1153 1152 </SOAP-ENV:Body> 1154 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1153 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1155 1154 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/bw-2/PullPoint/DestroyPullPointRequest. 1156 1155 <span class="emphasis"><em>If differ, a fault will be 1157 returned.</em></span></em></span></p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1464"></a>3.5.17. DestroyPullPointResponse</h4></div></div></div><p>A response to a DestroyPullPointRequest message is an empty1156 returned.</em></span></em></span></p></li></ul></div></div><div class="sect3" title="DestroyPullPointResponse"><div class="titlepage"><div><div><h4 class="title"><a id="idp430000"/>DestroyPullPointResponse</h4></div></div></div><p>A response to a DestroyPullPointRequest message is an empty 1158 1157 DestroyPullPointResponse message.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > 1159 1158 <SOAP-ENV:Header> … … 1168 1167 </wsnt:DestroyPullPointResponse> 1169 1168 </SOAP-ENV:Body> 1170 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1169 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1171 1170 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/bw-2/PullPoint/DestroyPullPointResponse. 1172 1171 <span class="emphasis"><em>If differ, a fault will be 1173 returned.</em></span></em></span></p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1485"></a>3.5.18. GetCurrentMessageRequest</h4></div></div></div><p>GetCurrentMessageRequest is useful especially when a new1172 returned.</em></span></em></span></p></li></ul></div></div><div class="sect3" title="GetCurrentMessageRequest"><div class="titlepage"><div><div><h4 class="title"><a id="idp435616"/>GetCurrentMessageRequest</h4></div></div></div><p>GetCurrentMessageRequest is useful especially when a new 1174 1173 NotificationConsumer is connecting and want to get the last published 1175 1174 Notification Message on a specified Topic. Single GetCurrentMessage … … 1191 1190 </wsnt:GetCurrentMessage> 1192 1191 </SOAP-ENV:Body> 1193 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1192 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1194 1193 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/bw-2/ 1195 1194 NotificationProducer/GetCurrentMessageRequest. <span class="emphasis"><em>If 1196 differ, a fault will be returned</em></span></em></span>.</p></li><li ><p><span class="emphasis"><em>//wsnt:GetCurrentMessage/wsnt:Topic</em></span></p><p>The content of this element is an expression that defines1195 differ, a fault will be returned</em></span></em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:GetCurrentMessage/wsnt:Topic</em></span></p><p>The content of this element is an expression that defines 1197 1196 exactly one Topic in a specified Dialect type. The topic should be 1198 1197 supported. The Topic may be defined in two ways: (1) using … … 1200 1199 is defined in a Topic element and assigned to some prefix (e.g. 1201 1200 tns) or (2) using inline form (e.g. 1202 {http://schemas.qoscosgrid.org/ntf/2011/04/sample/myhousetopics}House/Kitchen/Light.</p></li><li ><p><span class="emphasis"><em>//wsnt:GetCurrentMessage/wsnt:Topic/@Dialect</em></span></p><p>URI that specifies TopicExpression Dialect's type. Allowed1201 {http://schemas.qoscosgrid.org/ntf/2011/04/sample/myhousetopics}House/Kitchen/Light.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:GetCurrentMessage/wsnt:Topic/@Dialect</em></span></p><p>URI that specifies TopicExpression Dialect's type. Allowed 1203 1202 dialect's types are as follows: 1204 1203 <span class="emphasis"><em>"http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple", 1205 1204 "http://docs.oasis-open.org/wsn/t-1/TopicExpression/Concrete", 1206 1205 "http://docs.oasis-open.org/wsn/t-1/TopicExpression/Full". 1207 </em></span></p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1532"></a>3.5.19. GetCurrentMessageResponse</h4></div></div></div><p>In a response to GetCurrentMessageRequest1208 <span class="emphasis"><em>QCG-Notification</em></span> prepares1209 GetCurrentMessageResponse. This message includes the content of the1210 last NotificationGetCurrentMessageRequest refers to.</p><pre class="programlisting"><SOAP-ENV:Envelope ... >1206 </em></span></p></li></ul></div></div><div class="sect3" title="GetCurrentMessageResponse"><div class="titlepage"><div><div><h4 class="title"><a id="idp448864"/>GetCurrentMessageResponse</h4></div></div></div><p>In a response to GetCurrentMessageRequest <span class="emphasis"><em>QCG 1207 Notification</em></span> prepares GetCurrentMessageResponse. This 1208 message includes the content of the last Notification 1209 GetCurrentMessageRequest refers to.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > 1211 1210 <SOAP-ENV:Header> 1212 1211 <wsa:Action SOAP-ENV:mustUnderstand="1"> … … 1235 1234 </wsnt:GetCurrentMessageResponse> 1236 1235 </SOAP-ENV:Body> 1237 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1236 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1238 1237 <span class="emphasis"><em>http://docs.oasis-open.org/wsn/bw-2/ 1239 1238 NotificationProducer/GetCurrentMessageResponse. <span class="emphasis"><em>If 1240 differ, a fault will be returned</em></span></em></span>.</p></li><li ><p><span class="emphasis"><em>//wsnt:GetCurrentMessageResponse/smn-ext:GetCurrentMessage</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>The element that contains current1239 differ, a fault will be returned</em></span></em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:GetCurrentMessageResponse/smn-ext:GetCurrentMessage</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>The element that contains current 1241 1240 Notification and information related to this 1242 notification.</em></span></em></span></p></li><li><p><span class="emphasis"><em>//wsnt:GetCurrentMessageResponse/smn-ext:GetCurrentMessage/smn-ext:NotifyTime</em></span></p><p>The time when notification was received by 1243 <span class="emphasis"><em>QCG-Notification</em></span>; expressed as universal time 1244 (UTC).</p></li><li><p><span class="emphasis"><em>//wsnt:GetCurrentMessageResponse/wsnt:ProducerReference/wsa:Address</em></span></p><p>A Notification producer (Publisher) address.</p></li><li><p><span class="emphasis"><em>//wsnt:GetCurrentMessageResponse/smn-ext:GetCurrentMessage/smn-ext:Message</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>An extensive element. The content of 1241 notification.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:GetCurrentMessageResponse/smn-ext:GetCurrentMessage/smn-ext:NotifyTime</em></span></p><p>The time when notification was received by <span class="emphasis"><em>QCG 1242 Notification</em></span>; expressed as universal time (UTC).</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:GetCurrentMessageResponse/wsnt:ProducerReference/wsa:Address</em></span></p><p>A Notification producer (Publisher) address.</p></li><li class="listitem"><p><span class="emphasis"><em>//wsnt:GetCurrentMessageResponse/smn-ext:GetCurrentMessage/smn-ext:Message</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>An extensive element. The content of 1245 1243 this element is the last Notification message published to the 1246 1244 Topic specified in GetCurrentMessageRequest. Currently supported 1247 are messages shorter than 4096 bytes.</em></span></em></span></p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1598"></a>3.5.20. ListSubscriptions</h4></div></div></div><p>The first method from the the group of administrative methods.1245 are messages shorter than 4096 bytes.</em></span></em></span></p></li></ul></div></div><div class="sect3" title="ListSubscriptions"><div class="titlepage"><div><div><h4 class="title"><a id="idp465952"/>ListSubscriptions</h4></div></div></div><p>The first method from the the group of administrative methods. 1248 1246 It may be invoked to get an information about available subscriptions 1249 in the <span class="emphasis"><em>QCG -Notification</em></span> service. The method1247 in the <span class="emphasis"><em>QCG Notification</em></span> service. The method 1250 1248 consists of various filtering parameters.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > 1251 1249 <SOAP-ENV:Header> … … 1294 1292 </smn-ext:ListSubscriptions> 1295 1293 </SOAP-ENV:Body> 1296 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1294 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1297 1295 <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/ListSubscriptionsRequest. 1298 1296 <span class="emphasis"><em>If differ, a fault will be 1299 returned</em></span></em></span>.</p></li><li ><p><span class="emphasis"><em>//smn-ext:ListSubscriptions/smn-ext:Filter</em></span></p><p>The expanding element from1300 <span class="emphasis"><em>QCG-Notification</em></span> schema. It consists of a1301 number of optional filtering parameters.</p></li><li><p><span class="emphasis"><em>//smn-ext:ListSubscriptions/smn-ext:Filter/SubscriptionID</em></span></p><p>A Subscription identifier. Thanks to this parameter1297 returned</em></span></em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListSubscriptions/smn-ext:Filter</em></span></p><p>The expanding element from <span class="emphasis"><em>QCG 1298 Notification</em></span> schema. It consists of a number of 1299 optional filtering parameters.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListSubscriptions/smn-ext:Filter/SubscriptionID</em></span></p><p>A Subscription identifier. Thanks to this parameter 1302 1300 Subscriptions may be simply filtered on the basis of Subscription 1303 ID. The value is at most 32 char long string.</p></li><li ><p><span class="emphasis"><em>/smn-ext:ListSubscriptions/smn-ext:Filter/smn-ext:ConsumerReference/wsa:Address</em></span></p><p>The parameter that enables filtering Subscriptions based on1304 addresses of Notification Consumers.</p></li><li ><p><span class="emphasis"><em>/smn-ext:ListSubscriptions/smn-ext:Filter/smn-ext:CreationTimeMin</em></span></p><p><span class="emphasis"><em>/smn-ext:ListSubscriptions/smn-ext:Filter/smn-ext:CreationTimeMax</em></span></p><p><span class="emphasis"><em>/smn-ext:ListSubscriptions/smn-ext:Filter/smn-ext:TerminationTimeMin1301 ID. The value is at most 32 char long string.</p></li><li class="listitem"><p><span class="emphasis"><em>/smn-ext:ListSubscriptions/smn-ext:Filter/smn-ext:ConsumerReference/wsa:Address</em></span></p><p>The parameter that enables filtering Subscriptions based on 1302 addresses of Notification Consumers.</p></li><li class="listitem"><p><span class="emphasis"><em>/smn-ext:ListSubscriptions/smn-ext:Filter/smn-ext:CreationTimeMin</em></span></p><p><span class="emphasis"><em>/smn-ext:ListSubscriptions/smn-ext:Filter/smn-ext:CreationTimeMax</em></span></p><p><span class="emphasis"><em>/smn-ext:ListSubscriptions/smn-ext:Filter/smn-ext:TerminationTimeMin 1305 1303 </em></span></p><p><span class="emphasis"><em>/smn-ext:ListSubscriptions/smn-ext:Filter/smn-ext:TerminationTimeMax</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>All these elements define filtering 1306 1304 parameters related to lifetime of a Subscription, respectively: … … 1308 1306 time and maximal termination time. The content of these elements 1309 1307 is a time expressed as a local time with a 1310 timezone.</em></span></em></span></p></li><li ><p><span class="emphasis"><em>/smn-ext:ListSubscriptions/smn-ext:Filter/wsnt:Filter</em></span></p><p>The same parameter as the parameter specified in the1308 timezone.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>/smn-ext:ListSubscriptions/smn-ext:Filter/wsnt:Filter</em></span></p><p>The same parameter as the parameter specified in the 1311 1309 Subscribe message. In this method it is utilized to filter 1312 1310 Subscriptions on the basis of notification filtering 1313 parameters.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1700"></a>3.5.21. ListSubscriptionsResponse</h4></div></div></div><p>The message is sent in the response to ListSubscriptions. It1314 includes a list of information sets about available and pro pably1311 parameters.</p></li></ul></div></div><div class="sect3" title="ListSubscriptionsResponse"><div class="titlepage"><div><div><h4 class="title"><a id="idp492144"/>ListSubscriptionsResponse</h4></div></div></div><p>The message is sent in the response to ListSubscriptions. It 1312 includes a list of information sets about available and probably 1315 1313 filtered Subscriptions.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > 1316 1314 <SOAP-ENV:Header> … … 1357 1355 </smn-ext:ListSubscriptionsResponse> 1358 1356 </SOAP-ENV:Body> 1359 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1357 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1360 1358 <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/ListSubscriptionsResponse. 1361 1359 <span class="emphasis"><em>If differ, a fault will be 1362 returned</em></span></em></span>.</p></li><li ><p><span class="emphasis"><em>//smn-ext:ListSubscriptionsResponse</em></span></p><p>This element contains a list of subscriptions received from1363 <span class="emphasis"><em>QCG -Notification</em></span> (propably also filtered on1360 returned</em></span></em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListSubscriptionsResponse</em></span></p><p>This element contains a list of subscriptions received from 1361 <span class="emphasis"><em>QCG Notification</em></span> (probably also filtered on 1364 1362 the basis of the smn-ext:Filter element sent in 1365 ListSubscriptions).</p></li><li ><p><span class="emphasis"><em>//smn-ext:ListSubscriptionsResponse/smn-ext:Subscription</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>The element provides information about a1366 single Subscription.</em></span></em></span></p></li><li ><p><span class="emphasis"><em>//smn-ext:ListSubscriptionsResponse/smn-ext:Subscription/SubscriptionID</em></span></p><p>A Subscription identifier. The value is at most 32 char long1367 string.</p></li><li ><p><span class="emphasis"><em>/smn-ext:ListSubscriptionsResponse/smn-ext:Subscription/smn-ext:ConsumerReference/wsa:Address</em></span></p><p>An address of Notification Consumer declared in a1368 Subscription.</p></li><li ><p><span class="emphasis"><em>/smn-ext:ListSubscriptionsResponse/smn-ext:Subscription/smn-ext:CreationTime</em></span></p><p><span class="emphasis"><em>/smn-ext:ListSubscriptionsResponse/smn-ext:Subscription/smn-ext:TerminationTime</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>Creation time and termination time of a1363 ListSubscriptions).</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListSubscriptionsResponse/smn-ext:Subscription</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>The element provides information about a 1364 single Subscription.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListSubscriptionsResponse/smn-ext:Subscription/SubscriptionID</em></span></p><p>A Subscription identifier. The value is at most 32 char long 1365 string.</p></li><li class="listitem"><p><span class="emphasis"><em>/smn-ext:ListSubscriptionsResponse/smn-ext:Subscription/smn-ext:ConsumerReference/wsa:Address</em></span></p><p>An address of Notification Consumer declared in a 1366 Subscription.</p></li><li class="listitem"><p><span class="emphasis"><em>/smn-ext:ListSubscriptionsResponse/smn-ext:Subscription/smn-ext:CreationTime</em></span></p><p><span class="emphasis"><em>/smn-ext:ListSubscriptionsResponse/smn-ext:Subscription/smn-ext:TerminationTime</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>Creation time and termination time of a 1369 1367 Subscription. The content of these elements is a time expressed as 1370 UTC time.</em></span></em></span></p></li><li ><p><span class="emphasis"><em>/smn-ext:ListSubscriptionsResponse/smn-ext:Subscription/wsnt:Filter</em></span></p><p>The same parameter as the parameter specified in the1368 UTC time.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>/smn-ext:ListSubscriptionsResponse/smn-ext:Subscription/wsnt:Filter</em></span></p><p>The same parameter as the parameter specified in the 1371 1369 Subscribe message. It specifies Notification filtering parameters 1372 of a Subscription.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1797"></a>3.5.22. ListPublishersRegistrations</h4></div></div></div><p>The next method from the the group of administrative methods. It1373 may be utilized to list Publishers Registrations. The method consists1374 ofseveral filtering parameters.</p><pre class="programlisting"><SOAP-ENV:Envelope ... >1370 of a Subscription.</p></li></ul></div></div><div class="sect3" title="ListPublishersRegistrations"><div class="titlepage"><div><div><h4 class="title"><a id="idp517664"/>ListPublishersRegistrations</h4></div></div></div><p>The next method from the group of administrative methods. It may 1371 be utilized to list Publishers Registrations. The method consists of 1372 several filtering parameters.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > 1375 1373 <SOAP-ENV:Header> 1376 1374 <wsa:Action SOAP-ENV:mustUnderstand="1"> … … 1406 1404 </smn-ext:ListPublishersRegistrations> 1407 1405 </SOAP-ENV:Body> 1408 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1406 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1409 1407 <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/ListPublishersRegistrationsRequest. 1410 1408 <span class="emphasis"><em>If differ, a fault will be 1411 returned</em></span></em></span>.</p></li><li ><p><span class="emphasis"><em>//smn-ext:ListPublishersRegistrations/smn-ext:Filter</em></span></p><p>The element from <span class="emphasis"><em>QCG-Notification</em></span>1412 schema. It consists of optional filtering parameters.</p></li><li ><p><span class="emphasis"><em>//smn-ext:ListPublishersRegistrations/smn-ext:Filter/PublisherRegistrationID</em></span></p><p>A Publisher Registration identifier. This parameter enables1409 returned</em></span></em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListPublishersRegistrations/smn-ext:Filter</em></span></p><p>The element from <span class="emphasis"><em>QCG Notification</em></span> 1410 schema. It consists of optional filtering parameters.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListPublishersRegistrations/smn-ext:Filter/PublisherRegistrationID</em></span></p><p>A Publisher Registration identifier. This parameter enables 1413 1411 filtering of Publisher Registrations based on Publishers 1414 Registrations ID. The value is at most 32 char long string.</p></li><li ><p><span class="emphasis"><em>/smn-ext:ListPublishersRegistrations/smn-ext:Filter/smn-ext:PublisherReference/wsa:Address</em></span></p><p>This element enables filtering based on an addresses of1412 Registrations ID. The value is at most 32 char long string.</p></li><li class="listitem"><p><span class="emphasis"><em>/smn-ext:ListPublishersRegistrations/smn-ext:Filter/smn-ext:PublisherReference/wsa:Address</em></span></p><p>This element enables filtering based on an addresses of 1415 1413 Publishers. Depending on configuration, this address may be held 1416 in the <span class="emphasis"><em>QCG -Notification</em></span> service as an address1414 in the <span class="emphasis"><em>QCG Notification</em></span> service as an address 1417 1415 sent in the From element of WSA Header of RegisterPublisher 1418 message or an IP address of a Publisher.</p></li><li ><p><span class="emphasis"><em>/smn-ext:ListPublishersRegistrations/smn-ext:Filter/smn-ext:CreationTimeMin</em></span></p><p><span class="emphasis"><em>/smn-ext:ListPublishersRegistrations/smn-ext:Filter/smn-ext:CreationTimeMax</em></span></p><p><span class="emphasis"><em>/smn-ext:ListPublishersRegistrations/smn-ext:Filter/smn-ext:TerminationTimeMin1416 message or an IP address of a Publisher.</p></li><li class="listitem"><p><span class="emphasis"><em>/smn-ext:ListPublishersRegistrations/smn-ext:Filter/smn-ext:CreationTimeMin</em></span></p><p><span class="emphasis"><em>/smn-ext:ListPublishersRegistrations/smn-ext:Filter/smn-ext:CreationTimeMax</em></span></p><p><span class="emphasis"><em>/smn-ext:ListPublishersRegistrations/smn-ext:Filter/smn-ext:TerminationTimeMin 1419 1417 </em></span></p><p><span class="emphasis"><em>/smn-ext:ListPublishersRegistrations/smn-ext:Filter/smn-ext:TerminationTimeMax</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>The elements define filtering parameters 1420 1418 related to lifetime of a Publisher Registration, respectively: … … 1422 1420 time and maximal termination time. The content of these elements 1423 1421 is a time expressed as a local time with a 1424 timezone.</em></span></em></span></p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1878"></a>3.5.23. ListPublisherRegistrationsResponse</h4></div></div></div><p>The response message to ListPublishersRegistrations. It includes1422 timezone.</em></span></em></span></p></li></ul></div></div><div class="sect3" title="ListPublisherRegistrationsResponse"><div class="titlepage"><div><div><h4 class="title"><a id="idp538736"/>ListPublisherRegistrationsResponse</h4></div></div></div><p>The response message to ListPublishersRegistrations. It includes 1425 1423 a list of information sets about Publishers Registrations.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > 1426 1424 <SOAP-ENV:Header> … … 1455 1453 </smn-ext:ListPublishersRegistrationsResponse> 1456 1454 </SOAP-ENV:Body> 1457 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1455 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1458 1456 <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/ListPublishersRegistrationsResponse. 1459 1457 <span class="emphasis"><em>If differ, a fault will be 1460 returned</em></span></em></span>.</p></li><li ><p><span class="emphasis"><em>//smn-ext:ListPublishersRegistrationsResponse</em></span></p><p>The element contains a list of Publishers Registrations1461 received from <span class="emphasis"><em>QCG -Notification</em></span> (propably also1458 returned</em></span></em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListPublishersRegistrationsResponse</em></span></p><p>The element contains a list of Publishers Registrations 1459 received from <span class="emphasis"><em>QCG Notification</em></span> (probably also 1462 1460 filtered on the basis of the smn-ext:Filter element sent in a 1463 ListPublishersRegistrations message).</p></li><li ><p><span class="emphasis"><em>//smn-ext:ListPublishersRegistrationsResponse/smn-ext:PublisherRegistration</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>The element provides information about a1464 single Publisher Registration.</em></span></em></span></p></li><li ><p><span class="emphasis"><em>//smn-ext:ListPublishersRegistrationsResponse/smn-ext:PublisherRegistration/PublisherRegistrationID</em></span></p><p>A Publisher Registration identifier. The value is at most 321465 char long string.</p></li><li ><p><span class="emphasis"><em>/smn-ext:ListPublishersRegistrationsResponse/smn-ext:PublisherRegistration/smn-ext:PublisherReference/wsa:Address</em></span></p><p>An address of Publisher. It may be an address defined in a1461 ListPublishersRegistrations message).</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListPublishersRegistrationsResponse/smn-ext:PublisherRegistration</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>The element provides information about a 1462 single Publisher Registration.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListPublishersRegistrationsResponse/smn-ext:PublisherRegistration/PublisherRegistrationID</em></span></p><p>A Publisher Registration identifier. The value is at most 32 1463 char long string.</p></li><li class="listitem"><p><span class="emphasis"><em>/smn-ext:ListPublishersRegistrationsResponse/smn-ext:PublisherRegistration/smn-ext:PublisherReference/wsa:Address</em></span></p><p>An address of Publisher. It may be an address defined in a 1466 1464 From element of WSA Header of a RegisterPublisher message or an IP 1467 address of a publisher.</p></li><li ><p><span class="emphasis"><em>/smn-ext:ListPublishersRegistrationsResponse/smn-ext:PublisherRegistration/smn-ext:CreationTime</em></span></p><p><span class="emphasis"><em>/smn-ext:ListPublishersRegistrationsResponse/smn-ext:PublisherRegistration/smn-ext:TerminationTime</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>Creation time and termination time of a1465 address of a publisher.</p></li><li class="listitem"><p><span class="emphasis"><em>/smn-ext:ListPublishersRegistrationsResponse/smn-ext:PublisherRegistration/smn-ext:CreationTime</em></span></p><p><span class="emphasis"><em>/smn-ext:ListPublishersRegistrationsResponse/smn-ext:PublisherRegistration/smn-ext:TerminationTime</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>Creation time and termination time of a 1468 1466 Publisher Registration. The content of these elements is a time 1469 expressed as UTC time.</em></span></em></span></p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1952"></a>3.5.24. ListPullPoints</h4></div></div></div><p>The next administrative method. It enables listing of available1467 expressed as UTC time.</em></span></em></span></p></li></ul></div></div><div class="sect3" title="ListPullPoints"><div class="titlepage"><div><div><h4 class="title"><a id="idp558320"/>ListPullPoints</h4></div></div></div><p>The next administrative method. It enables listing of available 1470 1468 PullPoints. The method consists of several optional filtering 1471 1469 parameters.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > … … 1503 1501 </smn-ext:ListPullPoints> 1504 1502 </SOAP-ENV:Body> 1505 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1503 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1506 1504 <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/ListPullPointsRequest. 1507 1505 <span class="emphasis"><em>If differ, a fault will be 1508 returned</em></span></em></span>.</p></li><li ><p><span class="emphasis"><em>//smn-ext:ListPullPoints/smn-ext:Filter</em></span></p><p>The element from <span class="emphasis"><em>QCG-Notification</em></span>1509 schema. It consists of optional filtering parameters.</p></li><li ><p><span class="emphasis"><em>//smn-ext:ListPullPoints/smn-ext:Filter/smn-ext:PullPointID</em></span></p><p>A PullPoint identifier. This parameter enables filtering of1506 returned</em></span></em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListPullPoints/smn-ext:Filter</em></span></p><p>The element from <span class="emphasis"><em>QCG Notification</em></span> 1507 schema. It consists of optional filtering parameters.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListPullPoints/smn-ext:Filter/smn-ext:PullPointID</em></span></p><p>A PullPoint identifier. This parameter enables filtering of 1510 1508 PullPoints based on PullPoint ID. The value is at most 32 char 1511 long string.</p></li><li ><p><span class="emphasis"><em>/smn-ext:ListPullPoints/smn-ext:Filter/smn-ext:PullPointReference/wsa:Address</em></span></p><p>This element enables filtering based on an addresses of1509 long string.</p></li><li class="listitem"><p><span class="emphasis"><em>/smn-ext:ListPullPoints/smn-ext:Filter/smn-ext:PullPointReference/wsa:Address</em></span></p><p>This element enables filtering based on an addresses of 1512 1510 PullPoint. The PullPoint address is assigned after creation of a 1513 PullPoint in <span class="emphasis"><em>QCG -Notification</em></span> and returned1514 inside CreatePullPointResponse.</p></li><li ><p><span class="emphasis"><em>/smn-ext:ListPullPoints/smn-ext:Filter/smn-ext:CreationTimeMin</em></span></p><p><span class="emphasis"><em>/smn-ext:ListPullPoints/smn-ext:Filter/smn-ext:CreationTimeMax</em></span></p><p><span class="emphasis"><em>/smn-ext:ListPullPoints/smn-ext:Filter/smn-ext:TerminationTimeMin1511 PullPoint in <span class="emphasis"><em>QCG Notification</em></span> and returned 1512 inside CreatePullPointResponse.</p></li><li class="listitem"><p><span class="emphasis"><em>/smn-ext:ListPullPoints/smn-ext:Filter/smn-ext:CreationTimeMin</em></span></p><p><span class="emphasis"><em>/smn-ext:ListPullPoints/smn-ext:Filter/smn-ext:CreationTimeMax</em></span></p><p><span class="emphasis"><em>/smn-ext:ListPullPoints/smn-ext:Filter/smn-ext:TerminationTimeMin 1515 1513 </em></span></p><p><span class="emphasis"><em>/smn-ext:ListPullPoints/smn-ext:Filter/smn-ext:TerminationTimeMax</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>The elements define filtering parameters 1516 1514 related to PullPoint lifetime, respectively: minimal creation … … 1518 1516 termination time. The content of these elements is a time 1519 1517 expressed as a local time with a 1520 timezone.</em></span></em></span></p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2033"></a>3.5.25. ListPullPointsResponse</h4></div></div></div><p>The response message to ListPullPoints. It includes a list of1518 timezone.</em></span></em></span></p></li></ul></div></div><div class="sect3" title="ListPullPointsResponse"><div class="titlepage"><div><div><h4 class="title"><a id="idp579120"/>ListPullPointsResponse</h4></div></div></div><p>The response message to ListPullPoints. It includes a list of 1521 1519 information sets about filtered Pullpoints.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > 1522 1520 <SOAP-ENV:Header> … … 1551 1549 </smn-ext:ListPullPointsResponse> 1552 1550 </SOAP-ENV:Body> 1553 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1551 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1554 1552 <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/ListPullPointsResponse. 1555 1553 <span class="emphasis"><em>If differ, a fault will be 1556 returned</em></span></em></span>.</p></li><li ><p><span class="emphasis"><em>//smn-ext:ListPullPointsResponse</em></span></p><p>The element contains a list of PullPoints received from1557 <span class="emphasis"><em>QCG -Notification</em></span> (propably also previously1554 returned</em></span></em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListPullPointsResponse</em></span></p><p>The element contains a list of PullPoints received from 1555 <span class="emphasis"><em>QCG Notification</em></span> (probably also previously 1558 1556 filtered on the basis of the smn-ext:Filter element sent in a 1559 ListPullPoints message).</p></li><li ><p><span class="emphasis"><em>//smn-ext:ListPullPointsResponse/smn-ext:PullPoint</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>The element provides particular1560 information about a single PullPoint.</em></span></em></span></p></li><li ><p><span class="emphasis"><em>//smn-ext:ListPullPointsResponse/smn-ext:PullPoint/PullPointID</em></span></p><p>A PullPoint identifier. The value is at most 32 char long1561 string.</p></li><li ><p><span class="emphasis"><em>/smn-ext:ListPullPointsResponse/smn-ext:PullPoint/smn-ext:PullPointReference/wsa:Address</em></span></p><p>An address of PullPoint. For particular PullPoint it is the1562 same ad ress as the address from a corresponding1563 CreatePullPointResponse message.</p></li><li ><p><span class="emphasis"><em>/smn-ext:ListPullPointsResponse/smn-ext:PullPoint/smn-ext:CreationTime</em></span></p><p><span class="emphasis"><em>/smn-ext:ListPullPointsResponse/smn-ext:PullPoint/smn-ext:TerminationTime</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>Creation time and termination time of a1557 ListPullPoints message).</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListPullPointsResponse/smn-ext:PullPoint</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>The element provides particular 1558 information about a single PullPoint.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListPullPointsResponse/smn-ext:PullPoint/PullPointID</em></span></p><p>A PullPoint identifier. The value is at most 32 char long 1559 string.</p></li><li class="listitem"><p><span class="emphasis"><em>/smn-ext:ListPullPointsResponse/smn-ext:PullPoint/smn-ext:PullPointReference/wsa:Address</em></span></p><p>An address of PullPoint. For particular PullPoint it is the 1560 same address as the address from a corresponding 1561 CreatePullPointResponse message.</p></li><li class="listitem"><p><span class="emphasis"><em>/smn-ext:ListPullPointsResponse/smn-ext:PullPoint/smn-ext:CreationTime</em></span></p><p><span class="emphasis"><em>/smn-ext:ListPullPointsResponse/smn-ext:PullPoint/smn-ext:TerminationTime</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>Creation time and termination time of a 1564 1562 PullPoint. The content of these elements is a time expressed as 1565 UTC time.</em></span></em></span></p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2107"></a>3.5.26. ListTopicNamespaces</h4></div></div></div><p>An administrative method. It is designed to listing available1563 UTC time.</em></span></em></span></p></li></ul></div></div><div class="sect3" title="ListTopicNamespaces"><div class="titlepage"><div><div><h4 class="title"><a id="idp598336"/>ListTopicNamespaces</h4></div></div></div><p>An administrative method. It is designed to listing available 1566 1564 Topic Namespaces and Topics assigned to this namespaces.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > 1567 1565 <SOAP-ENV:Header> … … 1581 1579 </smn-ext:ListTopicNamespaces> 1582 1580 </SOAP-ENV:Body> 1583 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1581 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1584 1582 <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/ListTopicNamespacesRequest. 1585 1583 <span class="emphasis"><em>If differ, a fault will be 1586 returned</em></span></em></span>.</p></li><li ><p><span class="emphasis"><em>//smn-ext:ListTopicNamespaces/smn-ext:Filter</em></span></p><p>The element from <span class="emphasis"><em>QCG-Notification</em></span>1587 schema. It consists of optional filtering parameters.</p></li><li ><p><span class="emphasis"><em>//smn-ext:ListPullPoints/smn-ext:Filter/smn-ext:targetNamespace</em></span></p><p>A targetNamespace of a TopicNamespace. This parameter1584 returned</em></span></em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListTopicNamespaces/smn-ext:Filter</em></span></p><p>The element from <span class="emphasis"><em>QCG Notification</em></span> 1585 schema. It consists of optional filtering parameters.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListPullPoints/smn-ext:Filter/smn-ext:targetNamespace</em></span></p><p>A targetNamespace of a TopicNamespace. This parameter 1588 1586 enables filtering of TopicNamespaces based on their 1589 targetNamespace names.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2147"></a>3.5.27. ListTopicNamespacesResponse</h4></div></div></div><p>The response message to ListTopicNamespaces. The message1587 targetNamespace names.</p></li></ul></div></div><div class="sect3" title="ListTopicNamespacesResponse"><div class="titlepage"><div><div><h4 class="title"><a id="idp609184"/>ListTopicNamespacesResponse</h4></div></div></div><p>The response message to ListTopicNamespaces. The message 1590 1588 consists of information sets for each filtered TopicNamespace. A 1591 1589 single set includes targetNamespaces and a list of topics.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > … … 1617 1615 </smn-ext:ListTopicNamespacesResponse> 1618 1616 </SOAP-ENV:Body> 1619 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1617 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1620 1618 <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/ListTopicNamespacesResponse. 1621 1619 <span class="emphasis"><em>If differ, a fault will be 1622 returned</em></span></em></span>.</p></li><li ><p><span class="emphasis"><em>//smn-ext:ListTopicNamespacesResponse</em></span></p><p>The element contains a list of information about1623 TopicNamespaces received from 1624 <span class="emphasis"><em>QCG-Notification</em></span> (optionally filtered onthe1625 basis of thesmn-ext:Filter element sent in a ListTopicNamespaces1626 message).</p></li><li ><p><span class="emphasis"><em>//smn-ext:ListTopicNamespacesResponse/smn-ext:TopicNamespace</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>The element provides particular1620 returned</em></span></em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListTopicNamespacesResponse</em></span></p><p>The element contains a list of information about 1621 TopicNamespaces received from <span class="emphasis"><em>QCG 1622 Notification</em></span> (optionally filtered on the basis of the 1623 smn-ext:Filter element sent in a ListTopicNamespaces 1624 message).</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListTopicNamespacesResponse/smn-ext:TopicNamespace</em></span></p><p><span class="emphasis"><em><span class="emphasis"><em>The element provides particular 1627 1625 information about a single 1628 TopicNamespace.</em></span></em></span></p></li><li ><p><span class="emphasis"><em>//smn-ext:ListTopicNamespacesResponse/smn-ext:TopicNamespace/smn-ext:targetNamespace</em></span></p><p>A targetNamespace identifying single TopicNamespace. The1629 value should be compliant with anyURI.</p></li><li ><p><span class="emphasis"><em>/smn-ext:ListTopicNamespacesResponse/smn-ext:TopicNamespace/smn-ext:Topic</em></span></p><p>A list of topics belonging to a TopicNamespace. Each listed1630 topic is proce ded by a targetNamespace so it is uniq.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2206"></a>3.5.28. AddTopicNamespace</h4></div></div></div><p>An administrative method. The method may be invoked to add a new1631 TopicNamespace to the <span class="emphasis"><em> IQCG-Notification</em></span>.</p><pre class="programlisting"><SOAP-ENV:Envelope ... >1626 TopicNamespace.</em></span></em></span></p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:ListTopicNamespacesResponse/smn-ext:TopicNamespace/smn-ext:targetNamespace</em></span></p><p>A targetNamespace identifying single TopicNamespace. The 1627 value should be compliant with anyURI.</p></li><li class="listitem"><p><span class="emphasis"><em>/smn-ext:ListTopicNamespacesResponse/smn-ext:TopicNamespace/smn-ext:Topic</em></span></p><p>A list of topics belonging to a TopicNamespace. Each listed 1628 topic is proceeded by a targetNamespace so it is Unix.</p></li></ul></div></div><div class="sect3" title="AddTopicNamespace"><div class="titlepage"><div><div><h4 class="title"><a id="idp624752"/>AddTopicNamespace</h4></div></div></div><p>An administrative method. The method may be invoked to add a new 1629 TopicNamespace to the <span class="emphasis"><em>QCG Notification</em></span>.</p><pre class="programlisting"><SOAP-ENV:Envelope ... > 1632 1630 <SOAP-ENV:Header> 1633 1631 <wsa:Action SOAP-ENV:mustUnderstand="1"> … … 1651 1649 </smn-ext:AddTopicNamespace> 1652 1650 </SOAP-ENV:Body> 1653 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1651 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1654 1652 <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/AddTopicNamespaceRequest. 1655 1653 <span class="emphasis"><em>If differ, a fault will be 1656 returned</em></span></em></span>.</p></li><li ><p><span class="emphasis"><em>//smn-ext:AddTopicNamespaces/wstop:TopicNamespace</em></span></p><p>The element defining a single Topic Namespace. It cames from1657 WS-Topics schema.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2243"></a>3.5.29. AddTopicNamespaceResponse</h4></div></div></div><p>A response message to a AddTopicNamespaceRequest. It is empty1658 and only confirms successful laddition of a TopicNamespace to the1659 <span class="emphasis"><em>QCG -Notification</em></span> service. </p><pre class="programlisting"><SOAP-ENV:Envelope ... >1654 returned</em></span></em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:AddTopicNamespaces/wstop:TopicNamespace</em></span></p><p>The element defining a single Topic Namespace. It cames from 1655 WS-Topics schema.</p></li></ul></div></div><div class="sect3" title="AddTopicNamespaceResponse"><div class="titlepage"><div><div><h4 class="title"><a id="idp634272"/>AddTopicNamespaceResponse</h4></div></div></div><p>A response message to a AddTopicNamespaceRequest. It is empty 1656 and only confirms successful addition of a TopicNamespace to the 1657 <span class="emphasis"><em>QCG Notification</em></span> service. </p><pre class="programlisting"><SOAP-ENV:Envelope ... > 1660 1658 <SOAP-ENV:Header> 1661 1659 <wsa:Action SOAP-ENV:mustUnderstand="1"> … … 1669 1667 </smn-ext:AddTopicNamespaceResponse> 1670 1668 </SOAP-ENV:Body> 1671 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1669 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1672 1670 <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/AddTopicNamespaceResponse.</em></span><span class="emphasis"><em><span class="emphasis"><em> 1673 If differ, a fault will be returned.</em></span></em></span></p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2268"></a>3.5.30. RemoveTopicNamespace</h4></div></div></div><p>The next administrative method. It is used to remove a1674 TopicNamespace from the <span class="emphasis"><em>QCG -Notification</em></span> system.1671 If differ, a fault will be returned.</em></span></em></span></p></li></ul></div></div><div class="sect3" title="RemoveTopicNamespace"><div class="titlepage"><div><div><h4 class="title"><a id="idp640752"/>RemoveTopicNamespace</h4></div></div></div><p>The next administrative method. It is used to remove a 1672 TopicNamespace from the <span class="emphasis"><em>QCG Notification</em></span> system. 1675 1673 Note that the removing may be only temporary (active to the restart of 1676 1674 the system) if the TopicNamespace file is protected by disabling write … … 1690 1688 </smn-ext:RemoveTopicNamespace> 1691 1689 </SOAP-ENV:Body> 1692 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1690 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1693 1691 <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/RemoveTopicNamespaceRequest. 1694 1692 <span class="emphasis"><em>If differ, a fault will be 1695 returned</em></span></em></span>.</p></li><li ><p><span class="emphasis"><em>//smn-ext:RemoveTopicNamespaces/smn-ext:targetNamespace</em></span></p><p>The targetNamespace name of a TopicNamespace dedicated to1696 remove - anyURI.</p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2302"></a>3.5.31. RemoveTopicNamespaceResponse</h4></div></div></div><p>A response message to a RemoveTopicNamespaceRequest. It is empty1697 and confirms the successful ldeletion of a TopicNamespace.1693 returned</em></span></em></span>.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn-ext:RemoveTopicNamespaces/smn-ext:targetNamespace</em></span></p><p>The targetNamespace name of a TopicNamespace dedicated to 1694 remove - anyURI.</p></li></ul></div></div><div class="sect3" title="RemoveTopicNamespaceResponse"><div class="titlepage"><div><div><h4 class="title"><a id="idp649600"/>RemoveTopicNamespaceResponse</h4></div></div></div><p>A response message to a RemoveTopicNamespaceRequest. It is empty 1695 and confirms the successful deletion of a TopicNamespace. 1698 1696 </p><pre class="programlisting"><SOAP-ENV:Envelope ... > 1699 1697 <SOAP-ENV:Header> … … 1708 1706 </smn-ext:RemoveTopicNamespaceResponse> 1709 1707 </SOAP-ENV:Body> 1710 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be:1708 </SOAP-ENV:Envelope></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//SOAP-ENV:Header/wsa:Action</em></span></p><p>For this message should always be: 1711 1709 <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/RemoveTopicNamespaceResponse.</em></span><span class="emphasis"><em><span class="emphasis"><em> 1712 If differ, a fault will be returned.</em></span></em></span></p></li></ul></div></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2324"></a>4. Administration Guide of1713 <span class="emphasis"><em>QCG-Notification</em></span></h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2329"></a>4.1. Prerequisites</h3></div></div></div><p>In order to build and install1714 <span class="emphasis"><em>QCG-Notification</em></span>, an administrator has to1715 appropriately configure operating system. There is some dependencies to1716 external software that should be satisfied.</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2337"></a>4.1.1. QCG Core library</h4></div></div></div><p><span class="emphasis"><em>QCG-Notification</em></span> is based on the1710 If differ, a fault will be returned.</em></span></em></span></p></li></ul></div></div></div></div><div class="sect1" title="Administration Guide of QCG Notification"><div class="titlepage"><div><div><h2 class="title"><a id="idp653040"/>Administration Guide of <span class="emphasis"><em>QCG 1711 Notification</em></span></h2></div></div></div><div class="sect2" title="Prerequisites"><div class="titlepage"><div><div><h3 class="title"><a id="idp656032"/>Prerequisites</h3></div></div></div><p>In order to build and install <span class="emphasis"><em>QCG 1712 Notification</em></span>, an administrator has to appropriately configure 1713 operating system. There is some dependencies to external software that 1714 should be satisfied.</p><div class="sect3" title="QCG Core library"><div class="titlepage"><div><div><h4 class="title"><a id="idp657808"/>QCG Core library</h4></div></div></div><p><span class="emphasis"><em>QCG Notification</em></span> is based on the 1717 1715 <span class="emphasis"><em>QCG Core</em></span> library developed by the 1718 1716 <span class="emphasis"><em>QCG</em></span> team. QCG Core is a common utility library 1719 1717 providing set of basic modules used by other components within QCG 1720 Project. For more information see QCG Core documentation.</p><p>The QCG Core library should be properly configured prior to the1721 preparation of <span class="emphasis"><em>QCG -Notification</em></span>.</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2355"></a>4.2. Building</h3></div></div></div><p>Before you compile <span class="emphasis"><em>QCG-Notification</em></span>, you need1718 Project. For more information see QCG Core documentation.</p><p>The QCG Core library should be properly configured in prior to 1719 preparation of <span class="emphasis"><em>QCG Notification</em></span>.</p></div></div><div class="sect2" title="Building"><div class="titlepage"><div><div><h3 class="title"><a id="idp661776"/>Building</h3></div></div></div><p>Before you compile <span class="emphasis"><em>QCG Notification</em></span>, you need 1722 1720 to run the configuration script first. It will try to check if all the 1723 1721 requirements are met and whether needed third party software is 1724 1722 available. Simply type the following command:</p><pre class="programlisting">$ ./configure</pre><p>There are several options that can be passed to the script. If you 1725 1723 type the --help parameter you will see all available options. These are 1726 the most important ones:</p><div class="itemizedlist"><ul type="disc"><li><p>--prefix=DIR</p><p>specifies directory where1727 <span class="emphasis"><em>QCG-Notification</em></span> will be installed.</p><p>Default: /opt/qcg</p></li><li><p>--with-qcg-core=PFX</p><p>specifies where QCG Core library is installed.</p><p>Default: no default value. qcg-core-config script is used to1728 determine necessary paths</p></li><li ><p>--with-client</p><p>Determine if the test client program should be build</p></li><li><p>--with-consumer</p><p>Determine if the test NotificationConsumer service should be1729 build</p></li><li ><p>--with-addressing-handler</p><p>Determine if the test Web Services Addressing handler1724 the most important ones:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>--prefix=DIR</p><p>specifies directory where <span class="emphasis"><em>QCG 1725 Notification</em></span> will be installed.</p><p>Default: /opt/qcg</p></li><li class="listitem"><p>--with-qcg-core=PFX</p><p>specifies where QCG Core library is installed.</p><p>Default: no default value. qcg-core-config script is used to 1726 determine necessary paths</p></li><li class="listitem"><p>--with-client</p><p>Determine if the test client program should be build</p></li><li class="listitem"><p>--with-consumer</p><p>Determine if the test NotificationConsumer service should be 1727 build</p></li><li class="listitem"><p>--with-addressing-handler</p><p>Determine if the test Web Services Addressing handler 1730 1728 service should be build</p></li></ul></div><p>After successful configuration step, compiling and 1731 installing of <span class="emphasis"><em>QCG -Notification</em></span> should be a1729 installing of <span class="emphasis"><em>QCG Notification</em></span> should be a 1732 1730 straightforward process:</p><pre class="programlisting">$ make 1733 $ make install</pre><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The installation step should be done either as1734 <code class="filename">root</code> or the user that will execute 1735 <span class="emphasis"><em>QCG-Notification</em></span> service, assuming he has1736 necessary privileges to do this.</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2416"></a>4.3. Creating database for <span class="emphasis"><em>QCG-Notification</em></span> - the1737 PostgreSQL example</h3></div></div></div><p><span class="emphasis"><em>QCG -Notification</em></span> can be run in two basic1731 $ make install</pre><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The installation step should be done either as 1732 <code class="filename">root</code> or the user that will execute <span class="emphasis"><em>QCG 1733 Notification</em></span> service, assuming he has necessary privileges 1734 to do this.</p></div></div><div class="sect2" title="Creating database for QCG Notification - the PostgreSQL example"><div class="titlepage"><div><div><h3 class="title"><a id="idp677424"/>Creating database for <span class="emphasis"><em>QCG Notification</em></span> - the 1735 PostgreSQL example</h3></div></div></div><p><span class="emphasis"><em>QCG Notification</em></span> can be run in two basic 1738 1736 modes related to the database connection: without database or with 1739 1737 database. Although the first option is sufficient for simple scenarios, 1740 it reduces the overall functionality of the 1741 <span class="emphasis"><em>QCG-Notification</em></span> (e.g. disable PullPoints). 1742 Therefore using the database is recomended and can be often 1743 essential.</p><p>You will find more detailed description of administrative tasks in 1738 it reduces the overall functionality of the <span class="emphasis"><em>QCG 1739 Notification</em></span> (e.g. disable PullPoints). Therefore using the 1740 database is recomended and can be often essential.</p><p>You will find more detailed description of administrative tasks in 1744 1741 PostgreSQL tutorial. However, the following basic steps are needed to 1745 set up a database and appropriate tables for 1746 <span class="emphasis"><em>QCG-Notification</em></span> assuming that you have already1747 setup aPostgreSQL database:</p><p>By default, the first database user created will also be named1742 set up a database and appropriate tables for <span class="emphasis"><em>QCG 1743 Notification</em></span> assuming that you have already setup a 1744 PostgreSQL database:</p><p>By default, the first database user created will also be named 1748 1745 <code class="filename">postgres</code>. In order to create a user for 1749 <span class="emphasis"><em>QCG -Notification</em></span> usage, for instance1746 <span class="emphasis"><em>QCG Notification</em></span> usage, for instance 1750 1747 <code class="filename">qcg-ntf</code>, type the following:</p><pre class="programlisting">$ createuser -U postgres -W qcg-ntf -P</pre><p>If you use a password then remember to supply it in 1751 1748 <code class="filename">qcg-ntfd.xml</code> configuration file. Create a database, 1752 1749 for example <code class="filename">qcg-ntf</code>, by typing the following 1753 1750 command:</p><pre class="programlisting">$ createdb qcg-ntf</pre><p>and set up a table structure using the 1754 <code class="filename">qcg-ntf-psql.sql</code> file from 1755 <span class="emphasis"><em>QCG-Notification</em></span> distribution - it can be found in1751 <code class="filename">qcg-ntf-psql.sql</code> file from <span class="emphasis"><em>QCG 1752 Notification</em></span> distribution - it can be found in 1756 1753 <code class="filename">/opt/qcg/share/tools</code> directory by default.</p><pre class="programlisting">$ psql -d qcg-ntf -U qcg-ntf < qcg-ntf-psql.sql</pre><p>Eventually you need to add this database as the ODBC Data Source 1757 1754 Name. You can do this by editing system-wide configuration file (e.g. 1758 1755 <code class="filename">/etc/odbc.ini)</code> or <code class="filename">.odbc.ini</code> in 1759 home directory of the user that will be used to start 1760 <span class="emphasis"><em>QCG-Notification</em></span>.</p><p>Assuming that ODBC are installed in /usr/local/lib and the choosed1761 name for <span class="emphasis"><em>QCG -Notification</em></span> is1756 home directory of the user that will be used to start <span class="emphasis"><em>QCG 1757 Notification</em></span>.</p><p>Assuming that ODBC are installed in /usr/local/lib and the choosed 1758 name for <span class="emphasis"><em>QCG Notification</em></span> is 1762 1759 <code class="filename">qcg-ntf</code> the configuration file should looks 1763 1760 simmilar to the following:</p><pre class="programlisting">[qcg-ntf] 1764 Description = QCG -Notification database1761 Description = QCG Notification database 1765 1762 Driver = /usr/local/lib/libodbcpsql.so 1766 1763 Setup = /usr/local/lib/libodbcpsqlS.so … … 1774 1771 DebugFile = odbc.debug</pre><p>You can also try some GUI tools to set up and manage ODBC and 1775 1772 databases. Check out if the following tools are available on your 1776 machine:</p><pre class="programlisting">$ DataManager</pre><pre class="programlisting">$ ODBCConfig</pre></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="configuration"></a>5. Configuration of <span class="emphasis"><em>QCG-Notification</em></span></h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2506"></a>5.1. Configuration File: <code class="filename">qcg-ntfd.xml</code></h3></div></div></div><pre class="programlisting"><sm:QCGCore1773 machine:</p><pre class="programlisting">$ DataManager</pre><pre class="programlisting">$ ODBCConfig</pre></div></div><div class="sect1" title="Configuration of QCG Notification"><div class="titlepage"><div><div><h2 class="title"><a id="idp698528"/>Configuration of <span class="emphasis"><em>QCG Notification</em></span></h2></div></div></div><div class="sect2" title="Configuration File: qcg-ntfd.xml"><div class="titlepage"><div><div><h3 class="title"><a id="idp699840"/>Configuration File: <code class="filename">qcg-ntfd.xml</code></h3></div></div></div><pre class="programlisting"><sm:QCGCore 1777 1774 xmlns:sm="http://schemas.qoscosgrid.org/core/2011/04/config" 1778 1775 xmlns="http://schemas.qoscosgrid.org/ntf/2011/04/config" … … 1786 1783 </sm:ModuleManager> 1787 1784 1788 <sm:Service xsi:type="ntfd" description="QCG -Notification">1785 <sm:Service xsi:type="ntfd" description="QCG Notification"> 1789 1786 <sm:Logger> 1790 1787 <sm:Filename>/opt/qcg/var/log/qcg-ntf/qcg-ntfd.log</sm:Filename> … … 1824 1821 <TopicNsDir>/opt/qcg/etc/topicns</TopicNsDir> 1825 1822 <StrictCorrectnessCheckingEnabled>false</StrictCorrectnessCheckingEnabled> 1823 <DisableCurrentMessages>false</DisableCurrentMessages> 1826 1824 <SubscriptionManager> 1827 1825 <ContentFilteringEnabled>true</ContentFilteringEnabled> … … 1862 1860 1863 1861 </Configuration> 1864 </sm:QCGCore></pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>//sm:ModuleManager/sm:Directory1862 </sm:QCGCore></pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>//sm:ModuleManager/sm:Directory 1865 1863 <span class="emphasis"><em>[string]</em></span></em></span></p><p>Directories with modules that will be used in the 1866 service.</p></li><li ><p><span class="emphasis"><em>//sm:Service1864 service.</p></li><li class="listitem"><p><span class="emphasis"><em>//sm:Service 1867 1865 <span class="emphasis"><em>[sm:QCGBaseServiceType]</em></span></em></span></p><p>Configuration of the services. It is possible to configure 1868 many instances of the service in the one configuration file.</p></li><li ><p><span class="emphasis"><em>//sm:Service/sm:Logger</em></span>1869 [sm:LoggerType]</p><p>Configuration of the logging.</p></li><li ><p><span class="emphasis"><em>//sm:Service/sm:Logger/sm:FileName1870 <span class="emphasis"><em>[string]</em></span></em></span></p><p>A log file path.</p></li><li ><p><span class="emphasis"><em>//sm:Service/sm:Logger/sm:Level1866 many instances of the service in the one configuration file.</p></li><li class="listitem"><p><span class="emphasis"><em>//sm:Service/sm:Logger</em></span> 1867 [sm:LoggerType]</p><p>Configuration of the logging.</p></li><li class="listitem"><p><span class="emphasis"><em>//sm:Service/sm:Logger/sm:FileName 1868 <span class="emphasis"><em>[string]</em></span></em></span></p><p>A log file path.</p></li><li class="listitem"><p><span class="emphasis"><em>//sm:Service/sm:Logger/sm:Level 1871 1869 <span class="emphasis"><em>[enumeration]</em></span></em></span></p><p>DEBUG, INFO, NOTICE, WARNING, ERROR, CRIT, EMERG - filter less 1872 important messages.</p></li><li ><p><span class="emphasis"><em>//sm:Service/sm:Transport</em></span>1870 important messages.</p></li><li class="listitem"><p><span class="emphasis"><em>//sm:Service/sm:Transport</em></span> 1873 1871 [sm:TransportType]</p><p>This element aggregates configuration of transport modules. At 1874 1872 least one module of type ecm* should by specified in this place. For 1875 1873 full list of supported ecm* modules see the QCG Core 1876 documentation</p></li><li ><p><span class="emphasis"><em>//sm:Service/sm:Transport/sm:Module[@type=sm:ecm_gsoap.service]</em></span></p><p>Basic configuration of the Web Service interface. The most1874 documentation</p></li><li class="listitem"><p><span class="emphasis"><em>//sm:Service/sm:Transport/sm:Module[@type=sm:ecm_gsoap.service]</em></span></p><p>Basic configuration of the Web Service interface. The most 1877 1875 important configuration covers such aspects as host and port where 1878 1876 the service will be listening. The instruction of using other 1879 options is located in QCG Core documentation.</p></li><li ><p><span class="emphasis"><em>//sm:Service/sm:Transport/sm:Module[@type=smn:ntf-service-gsoap]</em></span></p><p>Define ntf-service-gsoap module as a default module for the1880 service. This option shouldn't be changed.</p></li><li ><p><span class="emphasis"><em>//sm:Service/sm:Authentication</em></span>1877 options is located in QCG Core documentation.</p></li><li class="listitem"><p><span class="emphasis"><em>//sm:Service/sm:Transport/sm:Module[@type=smn:ntf-service-gsoap]</em></span></p><p>Define ntf-service-gsoap module as a default module for the 1878 service. This option shouldn't be changed.</p></li><li class="listitem"><p><span class="emphasis"><em>//sm:Service/sm:Authentication</em></span> 1881 1879 [sm:AuthenticationType]</p><p>Configuration of authentication modules for the service. For 1882 1880 full list of supported authentication modules see the QCG Core 1883 1881 documentation (the most basic are: sm:atc_transport_http for 1884 1882 anonymous communication and sm:atc_transport_https for SSL based 1885 communication).</p></li><li ><p><span class="emphasis"><em>//sm:Service/sm:Module/[@type=smn:ntf-publisher*]</em></span></p><p>Initialization and configuration of the modules for the1886 Publisher side of <span class="emphasis"><em>QCG -Notification</em></span>. The1887 following modules are currently supported:</p><div class="itemizedlist"><ul type="circle"><li><p>smn:ntf-publisher-gsoap-anonymous for anonymous SOAP1888 communication;</p></li><li ><p>smn:ntf-publisher-gsoap-ssl for SSL based SOAP1889 communication;</p></li><li ><p>smn:ntf-publisher-xmpp for XMPP communication;</p></li><li><p>smn:ntf-publisher-smtp for SMTP communication;</p></li></ul></div><p>For details see the <a class="link" href="#moduleoptions" title="5.2. Module configuration">Section1890 5.2</a>.</p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar1891 </em></span>[smn:NotificationsVarType]</p><p>Various notification settings closely related to 1892 QCG-Notification service implementation.</p></li><li><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:TopicNsDir1883 communication).</p></li><li class="listitem"><p><span class="emphasis"><em>//sm:Service/sm:Module/[@type=smn:ntf-publisher*]</em></span></p><p>Initialization and configuration of the modules for the 1884 Publisher side of <span class="emphasis"><em>QCG Notification</em></span>. The 1885 following modules are currently supported:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>smn:ntf-publisher-gsoap-anonymous for anonymous SOAP 1886 communication;</p></li><li class="listitem"><p>smn:ntf-publisher-gsoap-ssl for SSL based SOAP 1887 communication;</p></li><li class="listitem"><p>smn:ntf-publisher-xmpp for XMPP communication;</p></li><li class="listitem"><p>smn:ntf-publisher-smtp for SMTP communication;</p></li></ul></div><p>For details see the <a class="link" href="#moduleoptions" title="Module configuration">Section 1888 5.2</a>.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar 1889 </em></span>[smn:NotificationsVarType]</p><p>Various notification settings closely related to QCG 1890 Notification service implementation.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:TopicNsDir 1893 1891 <span class="emphasis"><em>[string]</em></span></em></span></p><p>Location of the directory with files containing Topic 1894 definitions.</p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:StrictCorrectnessCheckingEnabled</em></span>1892 definitions.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:StrictCorrectnessCheckingEnabled</em></span> 1895 1893 [boolean]</p><p>true, false - determines a strict validation of incoming 1896 1894 messages; if true, it allows receiving detailed information about 1897 1895 faults but it causes greatest delays; if false, then faults 1898 processing is minimal and delays are smaller. Default: false</p></li><li><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:SubscriptionManager/ 1899 </em></span>[smn:SubscriptionManagerType]</p><p>Settings related to Subscriptions management.</p></li><li><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:SubscriptionManager/smn:ContentFilteringEnabled</em></span> 1896 processing is minimal and delays are smaller. Default: false</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:DisableCurrentMessages</em></span> 1897 [boolean]</p><p>true, false - enable or disable support for CurrentMessages; 1898 If set to true, the last notification messages wouldn't be stored in 1899 a buffer for the gathering by the GetCurrentMessage method. Default: 1900 false</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:SubscriptionManager/ 1901 </em></span>[smn:SubscriptionManagerType]</p><p>Settings related to Subscriptions management.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:SubscriptionManager/smn:ContentFilteringEnabled</em></span> 1900 1902 [boolean]</p><p>true, false - determines if a content filtering of 1901 1903 notification messages can be used; if true, Subscribers can specify 1902 content filters in their Subscriptions, if false, it is dis sallowed.1903 Default: true</p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:SubscriptionManager/smn:SubscriptionPolicy</em></span>1904 content filters in their Subscriptions, if false, it is disallowed. 1905 Default: true</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:SubscriptionManager/smn:SubscriptionPolicy</em></span> 1904 1906 [enumeration]</p><p>DUPLICATE, DELETE_OLD, RETURN_FAULT - parameter defines an 1905 1907 action which should be taken when a Subscriber wants to create a 1906 1908 Subscription with the same parameters as the parameters of already 1907 1909 existing Subscription. Default: <span class="bold"><strong>DELETE_OLD 1908 (before the version 2.6.2 it was DUPLICATE)</strong></span></p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:SubscriptionManager/smn:DialectConsistencyRequired</em></span>1910 (before the version 2.6.2 it was DUPLICATE)</strong></span></p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:SubscriptionManager/smn:DialectConsistencyRequired</em></span> 1909 1911 [boolean]</p><p>true, false - determines if a Subscription covers the Notify 1910 1912 messages with a different Topics Dialect than the Topic Dialect of … … 1913 1915 Notify messages with simpler Dialects (i.e. Subscription with Full 1914 1916 type of Dialect covers notifications sent with Concrete or Simple 1915 type). Default: true</p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:SubscriptionManager/smn:SubscriptionPeriod</em></span>1917 type). Default: true</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:SubscriptionManager/smn:SubscriptionPeriod</em></span> 1916 1918 [integer]</p><p>A default time period for a Subscription to be valid; in 1917 1919 minutes; if negative the Subscription time checking will be 1918 1920 disabled. Default: <span class="bold"><strong>43200 (before the version 1919 2.6.2 it was 10)</strong></span></p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:SubscriptionManager/smn:RefreshRate</em></span>1921 2.6.2 it was 10)</strong></span></p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:SubscriptionManager/smn:RefreshRate</em></span> 1920 1922 [integer]</p><p>A time period between successive Subscription Manager 1921 1923 refreshing events (events when outdated Subscriptions are deleted); 1922 1924 the time period is measured in seconds; if value is set to 0 or 1923 1925 negative then the periodical refreshing is disabled. Default: 1924 3600</p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PublisherManager/1925 </em></span>[smn:PublisherManagerType]</p><p>Settings related to Publishers management.</p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PublisherManager/smn:RegistrationRequired</em></span>1926 3600</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PublisherManager/ 1927 </em></span>[smn:PublisherManagerType]</p><p>Settings related to Publishers management.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PublisherManager/smn:RegistrationRequired</em></span> 1926 1928 [boolean]</p><p>true, false - determines a requirement of Publishers 1927 1929 Registrations; if true, a Publisher has to register himself before 1928 sending notifications; if false, it has not. Default: false</p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PublisherManager/smn:RegistrationPeriod</em></span>1930 sending notifications; if false, it has not. Default: false</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PublisherManager/smn:RegistrationPeriod</em></span> 1929 1931 [integer]</p><p>A default time period for a Publisher Registration to be 1930 1932 valid; in minutes; if negative the Registration time checking will 1931 1933 be disabled. <span class="bold"><strong>Default: 43200 (before the 1932 version 2.6.2 it was 10)</strong></span></p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PublisherManager/smn:RefreshRate</em></span>1934 version 2.6.2 it was 10)</strong></span></p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PublisherManager/smn:RefreshRate</em></span> 1933 1935 [integer]</p><p>A time period between successive Publisher Manager refreshing 1934 1936 events (events when outdated Publishers are deleted); the time 1935 1937 period is measured in seconds; if value is set to 0 or negative then 1936 the periodical refreshing is disabled. Default: 3600</p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PullPointManager/1937 </em></span>[smn:PullPointManagerType]</p><p>Settings related to PullPoints management.</p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PullPointManager/smn:PullPointsEnabled1938 the periodical refreshing is disabled. Default: 3600</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PullPointManager/ 1939 </em></span>[smn:PullPointManagerType]</p><p>Settings related to PullPoints management.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PullPointManager/smn:PullPointsEnabled 1938 1940 <span class="emphasis"><em>[boolean]</em></span></em></span></p><p>true, false - determines if PullPoints for pull style of 1939 notifications can be used. Default: true</p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PullPointManager/smn:PullPointSize</em></span>1941 notifications can be used. Default: true</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PullPointManager/smn:PullPointSize</em></span> 1940 1942 [integer]</p><p>A maximal number of messages that can be buffered in a single 1941 1943 PullPoint; if negative then the number of messages is unbounded. 1942 1944 Default: <span class="bold"><strong>1000 (before the version 2.6.2 it was 1943 100)</strong></span></p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PullPointManager/smn:PullPointPeriod</em></span>1945 100)</strong></span></p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PullPointManager/smn:PullPointPeriod</em></span> 1944 1946 [integer]</p><p>A default time period for a PullPoint to be valid; in minutes; 1945 1947 if negative the PullPoint time checking will be disabled. Default: 1946 1948 <span class="bold"><strong>43200 (before the version 2.6.2 it was 1947 10)</strong></span></p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PullPointManager/smn:RefreshRate</em></span>1949 10)</strong></span></p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:PullPointManager/smn:RefreshRate</em></span> 1948 1950 [integer]</p><p>A time period between successive PullPoint Manager refreshing 1949 1951 events (events when outdated PullPoints are deleted); the time 1950 1952 period is measured in seconds; if value is set to 0 or negative then 1951 the periodical refreshing is disabled. Default: 3600</p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:Publishing/1952 </em></span>[smn:PublishingType]</p><p>A group of settings related to Publishing procedure.</p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:Publishing/smn:NotificationsBufferEnabled1953 the periodical refreshing is disabled. Default: 3600</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:Publishing/ 1954 </em></span>[smn:PublishingType]</p><p>A group of settings related to Publishing procedure.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:Publishing/smn:NotificationsBufferEnabled 1953 1955 </em></span>[boolean]</p><p>true, false - determines if Notifications Buffer should be 1954 1956 enabled; Notifications Buffer is used for resending Notifications if 1955 1957 those weren't sent successfully at the first attempt. Default: 1956 true</p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:Publishing/smn:NotificationsBufferSize1958 true</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:Publishing/smn:NotificationsBufferSize 1957 1959 </em></span>[integer]</p><p>A maximal number of Notifications that can be buffered in 1958 1960 Notifications Buffer. Default: <span class="bold"><strong>10000 (before 1959 the version 2.6.2 it was 1000)</strong></span></p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:Publishing/smn:NotificationsResendingRate1961 the version 2.6.2 it was 1000)</strong></span></p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:Publishing/smn:NotificationsResendingRate 1960 1962 </em></span>[integer]</p><p>A time period between successive notification resending 1961 1963 procedures; in seconds; if 0 or negative then the resending will be 1962 disabled. Default: 60</p></li><li ><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:Publishing/smn:MaxSendTries</em></span>1963 [integer]</p><p>A maximal number of consecutive unsuccessful ltries of sending1964 disabled. Default: 60</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:Publishing/smn:MaxSendTries</em></span> 1965 [integer]</p><p>A maximal number of consecutive unsuccessful tries of sending 1964 1966 notification; unsuccessful tries of sending notifications are 1965 1967 counted independently for every Subscription; a certain Subscription 1966 will be dela ted if its counter become equal to1968 will be delayed if its counter become equal to 1967 1969 <span class="emphasis"><em>MaxSendTries</em></span>; if value is set to 0 or negative 1968 then this option is disabled. Default: 5</p></li><li ><p><span class="emphasis"><em>//smn:Core/Database/DatabaseEnabled1970 then this option is disabled. Default: 5</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/Database/DatabaseEnabled 1969 1971 <span class="emphasis"><em>[boolean]</em></span></em></span></p><p>true, false - determines if a database should be enabled; in 1970 the simplest configuration, <span class="emphasis"><em>QCG -Notification</em></span>1972 the simplest configuration, <span class="emphasis"><em>QCG Notification</em></span> 1971 1973 can be used also without a database connection, however many options 1972 will be then unavailable. Default: true</p></li><li ><p><span class="emphasis"><em>//smn:Core/Database/DSN1974 will be then unavailable. Default: true</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/Database/DSN 1973 1975 <span class="emphasis"><em>[string]</em></span></em></span></p><p>Data Source Name of a database. Note, that you should use ODBC 1974 DSN <span class="bold"><strong>not</strong></span> the database name.</p></li><li ><p><span class="emphasis"><em>//smn:Core/Database/User1975 <span class="emphasis"><em>[string]</em></span></em></span></p><p>A database user name.</p></li><li ><p><span class="emphasis"><em>//smn:Core/Database/Password1976 <span class="emphasis"><em>[string]</em></span></em></span></p><p>A password for a database user.</p></li><li ><p><span class="emphasis"><em>//smn:Core/Database/CleanAtStart1976 DSN <span class="bold"><strong>not</strong></span> the database name.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/Database/User 1977 <span class="emphasis"><em>[string]</em></span></em></span></p><p>A database user name.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/Database/Password 1978 <span class="emphasis"><em>[string]</em></span></em></span></p><p>A password for a database user.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Core/Database/CleanAtStart 1977 1979 <span class="emphasis"><em>[boolean]</em></span></em></span></p><p>true, false - determines whether all information stored in a 1978 database should be cleaned at starting of the QCG -Notification1979 service.</p></li></ul></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="moduleoptions"></a>5.2. Module configuration</h3></div></div></div><p>Modules are located in the PREFIX/*/lib/modules directories and1980 are loaded during the<span class="emphasis"><em> QCG -Notification</em></span> run time.1980 database should be cleaned at starting of the QCG Notification 1981 service.</p></li></ul></div></div><div class="sect2" title="Module configuration"><div class="titlepage"><div><div><h3 class="title"><a id="moduleoptions"/>Module configuration</h3></div></div></div><p>Modules are located in the PREFIX/*/lib/modules directories and 1982 are loaded during the<span class="emphasis"><em> QCG Notification</em></span> run time. 1981 1983 Module definitions are specified in appropriate sections of the 1982 configuration file.</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2838"></a>5.2.1. Publisher modules</h4></div></div></div><p>As it was discussed in the previous sections, in a typical1984 configuration file.</p><div class="sect3" title="Publisher modules"><div class="titlepage"><div><div><h4 class="title"><a id="idp791232"/>Publisher modules</h4></div></div></div><p>As it was discussed in the previous sections, in a typical 1983 1985 brokered notification scenario there are two types of communication 1984 1986 and notification channels that need to be setup. The first one is a 1985 1987 communication channel between Subscriber/Publisher clients and 1986 <span class="emphasis"><em>QCG -Notification. </em></span>This type of communication is1988 <span class="emphasis"><em>QCG Notification. </em></span>This type of communication is 1987 1989 currently completely based on QCG Core library.</p><p>The second type is an outgoing communication between 1988 <span class="emphasis"><em>QCG -Notification</em></span> and NotificationConsumers and it1989 is particular for <span class="emphasis"><em>QCG -Notification</em></span>. In this1990 situation <span class="emphasis"><em>QCG -Notification</em></span> plays a role of a1990 <span class="emphasis"><em>QCG Notification</em></span> and NotificationConsumers and it 1991 is particular for <span class="emphasis"><em>QCG Notification</em></span>. In this 1992 situation <span class="emphasis"><em>QCG Notification</em></span> plays a role of a 1991 1993 Notification Publisher. At this time, supported modules for this 1992 1994 channel utilize a Web Service interface, XMPP interface and SMTP 1993 interface.</p><div class="itemizedlist"><ul type="disc"><li><p><span class="bold"><strong>Publisher Anonymous WS1995 interface.</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="bold"><strong>Publisher Anonymous WS 1994 1996 transport</strong></span></p><p><span class="emphasis"><em><span class="emphasis"><em>This type of transport is recommended 1995 1997 only for internal, secure network environments or … … 1999 2001 <smn:SendTimeout>10</smn:SendTimeout> 2000 2002 <smn:NotifyTopicConversion>WSN</smn:NotifyTopicConversion> 2001 </Module></pre></li><li ><p><span class="bold"><strong>Publisher SSL WS transport and2003 </Module></pre></li><li class="listitem"><p><span class="bold"><strong>Publisher SSL WS transport and 2002 2004 authentication</strong></span></p><pre class="programlisting"><Module xsi:type="smn:ntf-publisher-gsoap-ssl"> 2003 2005 <smn:UseWSA>true</smn:UseWSA> … … 2009 2011 <smn:TrustedCAPath>/opt/qcg/etc/ssl/certs/qcg-ntf/ca.pem</smn:TrustedCAPath> 2010 2012 <smn:NotifyTopicConversion>WSN</smn:NotifyTopicConversion> 2011 </Module></pre><div class="itemizedlist"><ul type="circle"><li><p dir="lro"><span class="emphasis"><em>//smn:UseWSA2012 <span class="emphasis"><em>[bo lean]</em></span></em></span></p><p>Determine if WS-Addressing should be used.</p></li><li><p dir="lro"><span class="emphasis"><em>//smn:RecvTimeout2013 </Module></pre><div class="itemizedlist"><ul class="itemizedlist"><li dir="lro" class="listitem"><p dir="lro"><span class="emphasis"><em>//smn:UseWSA 2014 <span class="emphasis"><em>[boolean]</em></span></em></span></p><p>Determine if WS-Addressing should be used.</p></li><li dir="lro" class="listitem"><p dir="lro"><span class="emphasis"><em>//smn:RecvTimeout 2013 2015 <span class="emphasis"><em>[positiveInteger]</em></span></em></span></p><p>The timeout in seconds for stall on the recv function. 2014 If negative, time is measured in microseconds.</p></li><li ><p dir="lro"><span class="emphasis"><em>//smn:SendTimeout2016 If negative, time is measured in microseconds.</p></li><li dir="lro" class="listitem"><p dir="lro"><span class="emphasis"><em>//smn:SendTimeout 2015 2017 <span class="emphasis"><em>[positiveInteger]</em></span></em></span></p><p>The timeout in seconds for stall on the send function. 2016 If negative, time is measured in microseconds.</p></li><li ><p dir="lro"><span class="emphasis"><em>//smn:X509CertKeyFile2018 If negative, time is measured in microseconds.</p></li><li dir="lro" class="listitem"><p dir="lro"><span class="emphasis"><em>//smn:X509CertKeyFile 2017 2019 <span class="emphasis"><em>[string]</em></span></em></span></p><p>A path to the file with both X509 certificate and 2018 private key. Mandatory argument.</p></li><li ><p><span class="emphasis"><em>//smn:X509KeyPass2019 <span class="emphasis"><em>[string]</em></span></em></span></p><p>An optional password to X509 private key.</p></li><li ><p><span class="emphasis"><em>//smn:TrutedCAFile2020 private key. Mandatory argument.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:X509KeyPass 2021 <span class="emphasis"><em>[string]</em></span></em></span></p><p>An optional password to X509 private key.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:TrutedCAFile 2020 2022 <span class="emphasis"><em>[string]</em></span></em></span></p><p>A path to the file with trusted CAs certificates. 2021 2023 Either TrustedCAFile or TrustedCAPath must be 2022 specified.</p></li><li ><p><span class="emphasis"><em>//smn:TrutedCAPath2024 specified.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:TrutedCAPath 2023 2025 <span class="emphasis"><em>[string]</em></span></em></span></p><p>A path to the directory with the files with trusted 2024 2026 CAs certificates. Either TrustedCAFile or TrustedCAPath must 2025 be specified.</p></li><li ><p><span class="emphasis"><em>//smn:NotifyTopicConversion2027 be specified.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:NotifyTopicConversion 2026 2028 <span class="emphasis"><em>[enumeration]</em></span></em></span></p><p>WSN, WSN_WITH_ADDITIONAL_NS, INLINE, LACK - defines a 2027 2029 type of conversion that will be applied (if needed) to the 2028 Topic element of Notify messages.</p></li></ul></div></li><li ><p><span class="bold"><strong>Publisher XMPP2030 Topic element of Notify messages.</p></li></ul></div></li><li class="listitem"><p><span class="bold"><strong>Publisher XMPP 2029 2031 transport</strong></span></p><p><span class="bold"><strong><span class="emphasis"><em>The XMPP publisher module 2030 2032 can send two versions of notifications via XMPP. The first version … … 2033 2035 version of notifications is selected automatically when the XSLT 2034 2036 document was provided in Subscribe message: the XSLT document will 2035 be used to transform the message to the apropriate 2036 form.</em></span></strong></span></p><pre class="programlisting"><sm:Module xsi:type="smn:ntf-publisher-xmpp"> 2037 <smn:Jid>qcgaccount@xmppserver.qcg.com/qcg-resource</smn:Jid> 2038 <smn:Password>qcgpass</smn:Password> 2037 be used to transform the message to the appropriate 2038 form.</em></span></strong></span></p><pre class="programlisting"><sm:Module xsi:type="smn:ntf-publisher-xmpp"> 2039 2039 <smn:Server>xmppserver.qcg.com</smn:Server> 2040 2040 <smn:Port>5222</smn:Port> 2041 <smn:Username>qcgaccount</smn:Username> 2042 <smn:Password>qcgpass</smn:Password> 2043 <smn:Jid>qcgaccount@xmppserver.qcg.com</smn:Jid> 2044 <smn:ResourceName>QCGNtfXmppPublisher</smn:ResourceName> 2041 2045 <smn:Encryption>TLS</smn:Encryption> 2042 2046 <smn:CertFingerprint>00112233445566778899AABBCCDDEE</smn:CertFingerprint> 2043 2047 <smn:NotifyTopicConversion>WSN</smn:NotifyTopicConversion> 2044 </sm:Module></pre><div class="itemizedlist"><ul type="circle"><li><p><span class="emphasis"><em>//smn:Jid 2045 <span class="emphasis"><em>[string]</em></span></em></span></p><p>JID of the XMPP account consisting of account name, 2046 domain and resource.</p></li><li><p dir="lro"><span class="emphasis"><em>//smn:Password 2047 <span class="emphasis"><em>[string]</em></span></em></span></p><p>The secret key for the XMPP account.</p></li><li><p dir="lro"><span class="emphasis"><em>//smn:Server 2048 </sm:Module></pre><div class="itemizedlist"><ul class="itemizedlist"><li dir="lro" class="listitem"><p dir="lro"><span class="emphasis"><em>//smn:Server 2048 2049 <span class="emphasis"><em>[string]</em></span></em></span></p><p>Hostname of the XMPP server on which the XMPP account 2049 is set up. Optional element, if not set, the connection will 2050 be established basing on Jid.</p></li><li><p dir="lro"><span class="emphasis"><em>//smn<span class="emphasis"><em>:Port 2050 is set up.</p></li><li dir="lro" class="listitem"><p dir="lro"><span class="emphasis"><em>//smn<span class="emphasis"><em>:Port 2051 2051 [positiveInteger]</em></span></em></span></p><p>Port number of the XMPP server. Default is 2052 5222.</p></li><li><p><span class="emphasis"><em>//smn:Encryption 2052 5222.</p></li><li dir="lro" class="listitem"><p dir="lro"><span class="emphasis"><em>//smn:Username<span class="emphasis"><em>[string]</em></span></em></span></p><p>Username used for the XMPP account.</p></li><li dir="lro" class="listitem"><p dir="lro"><span class="emphasis"><em>//smn:Password<span class="emphasis"><em>[string]</em></span></em></span></p><p>The secret key for the XMPP account.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Jid 2053 <span class="emphasis"><em>[string]</em></span></em></span></p><p>JID of the XMPP account</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:ResourceName 2054 <span class="emphasis"><em>[string]</em></span></em></span></p><p>Resource name used by publisher's client 2055 connection.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Encryption 2053 2056 <span class="emphasis"><em>[string]</em></span></em></span></p><p>Encryption to use. By default it's "none". Use "TLS" 2054 2057 for STARTTLS connection encryption. Use "SSL" for old-style 2055 SSL encryption (typically port 5223).</p></li><li ><p><span class="emphasis"><em>//smn:CertFingerprint2058 SSL encryption (typically port 5223).</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:CertFingerprint 2056 2059 <span class="emphasis"><em>[string]</em></span></em></span></p><p>MD5 fingerprint of the encryption certificate used by 2057 2060 the XMPP server. Upon mismatch, the connection will fail. 2058 Use empty string to accept any certificate.</p></li><li ><p><span class="emphasis"><em>//smn:NotifyTopicConversion2061 Use empty string to accept any certificate.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:NotifyTopicConversion 2059 2062 <span class="emphasis"><em>[enumeration]</em></span></em></span></p><p>WSN, WSN_WITH_ADDITIONAL_NS, INLINE, LACK - defines a 2060 2063 type of conversion that will be applied (only if needed) to 2061 the Topic element of Notify messages. Default is WSN.</p></li></ul></div></li><li><p><span class="bold"><strong>Publisher SMTP2062 transport</strong></span></p><p><span class="bold"><strong><span class="emphasis"><em>Simil larly to the XMPP2064 the Topic element of Notify messages.</p></li></ul></div></li><li class="listitem"><p><span class="bold"><strong>Publisher SMTP 2065 transport</strong></span></p><p><span class="bold"><strong><span class="emphasis"><em>Similarly to the XMPP 2063 2066 publisher module, the SMTP module utilizes the XSLT documents to 2064 2067 transform the content of the notification to the human-friendly … … 2074 2077 <smn:Trace>false</smn:Trace> 2075 2078 <smn:SendTimeout>10</smn:SendTimeout> 2076 </sm:Module> </pre><div class="itemizedlist"><ul type="circle"><li><p dir="lro"><span class="emphasis"><em>//smn:Server2077 <span class="emphasis"><em>[string]</em></span></em></span></p><p>URL of the SMTP server. Mandatory element.</p></li><li><p dir="lro"><span class="emphasis"><em>//smn:User2079 </sm:Module> </pre><div class="itemizedlist"><ul class="itemizedlist"><li dir="lro" class="listitem"><p dir="lro"><span class="emphasis"><em>//smn:Server 2080 <span class="emphasis"><em>[string]</em></span></em></span></p><p>URL of the SMTP server. Mandatory argument.</p></li><li dir="lro" class="listitem"><p dir="lro"><span class="emphasis"><em>//smn:User 2078 2081 <span class="emphasis"><em>[string]</em></span></em></span></p><p>Name of the account on SMTP server. Optional 2079 element.</p></li><li><p dir="lro"><span class="emphasis"><em>//smn:Password2082 argument.</p></li><li dir="lro" class="listitem"><p dir="lro"><span class="emphasis"><em>//smn:Password 2080 2083 <span class="emphasis"><em>[string]</em></span></em></span></p><p>The secret key for the account. Optional 2081 element.</p></li><li><p><span class="emphasis"><em>//smn:Encryption2084 argument.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Encryption 2082 2085 <span class="emphasis"><em>[string]</em></span></em></span></p><p>Used to enable encryption. The only supported type of 2083 encryption is "TLS". Optional element, if not present,2084 encryption will be switched off.</p></li><li><p><span class="emphasis"><em>//smn:TrutedCAFile2086 encryption is "TLS". If not present, encryption will be 2087 switched off. Optional argument.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:TrutedCAFile 2085 2088 <span class="emphasis"><em>[string]</em></span></em></span></p><p>A path to the file with trusted CAs certificates. 2086 Optional element.</p></li><li><p><span class="emphasis"><em>//smn:TrutedCAPath2089 Optional argument.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:TrutedCAPath 2087 2090 <span class="emphasis"><em>[string]</em></span></em></span></p><p>A path to the directory with the files with trusted 2088 CAs certificates. Optional element.</p></li><li><p><span class="emphasis"><em>//smn:From2091 CAs certificates. Optional argument.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:From 2089 2092 <span class="emphasis"><em>[string]</em></span></em></span></p><p>Defines a name that will be placed in From field of 2090 the e-mail message. Optional element. Default is 2091 "QCG-Notification".</p></li><li><p><span class="emphasis"><em>//smn:Subject 2093 the e-mail message. Optional argument.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Subject 2092 2094 <span class="emphasis"><em>[string]</em></span></em></span></p><p>Defines a Subject of the e-mail message. Optional 2093 element. Default is "QCG-Notification message".</p></li><li><p><span class="emphasis"><em>//smn:Trace2094 <span class="emphasis"><em>[boolean]</em></span></em></span></p><p>Switches trace logging. Optional element, default is2095 false.</p></li><li ><p><span class="emphasis"><em>//smn:SendTimeout2095 argument.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:Trace 2096 <span class="emphasis"><em>[boolean]</em></span></em></span></p><p>Switches trace logging. Optional argument, default is 2097 false.</p></li><li class="listitem"><p><span class="emphasis"><em>//smn:SendTimeout 2096 2098 <span class="emphasis"><em>[int]</em></span></em></span></p><p>The timeout in seconds for stall on the send function. 2097 Optional element, default is 10.</p></li></ul></div></li></ul></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3097"></a>5.3. WS-Topics management</h3></div></div></div><p>In the current release, a topics management in2098 <span class="emphasis"><em>QCG-Notification</em></span> is relatively simple. The first2099 step is a preparation of an XML document with a Topic Namespace2100 definition. This step can be done by one of the peers cooperating with2101 <span class="emphasis"><em>QCG-Notification</em></span>. Then the document should be2102 delivered to the computer where <span class="emphasis"><em>QCG-Notification</em></span> is2103 installed. It can be done in two ways: the document may be copied2104 manually by QCG-Notification administrator to TopicNamespaces directory2105 in prior to <span class="emphasis"><em>a QCG-Notification</em></span> startup or it can be2106 send through the <span class="emphasis"><em>QCG-Notification</em></span> interface when2107 <span class="emphasis"><em>QCG -Notification</em></span> is already runing. In the last2099 Optional argument, default is 10.</p></li></ul></div></li></ul></div></div></div><div class="sect2" title="WS-Topics management"><div class="titlepage"><div><div><h3 class="title"><a id="idp866480"/>WS-Topics management</h3></div></div></div><p>In the current release, a topics management in <span class="emphasis"><em>QCG 2100 Notification</em></span> is relatively simple. The first step is a 2101 preparation of an XML document with a Topic Namespace definition. This 2102 step can be done by one of the peers cooperating with <span class="emphasis"><em>QCG 2103 Notification</em></span>. Then the document should be delivered to the 2104 computer where <span class="emphasis"><em>QCG Notification</em></span> is installed. It 2105 can be done in two ways: the document may be copied manually by QCG 2106 Notification administrator to TopicNamespaces directory in prior to 2107 <span class="emphasis"><em>a QCG Notification</em></span> startup or it can be send 2108 through the <span class="emphasis"><em>QCG Notification</em></span> interface when 2109 <span class="emphasis"><em>QCG Notification</em></span> is already running. In the last 2108 2110 case, the TopicNamespaces are stored also in a files in TopicNamespace 2109 2111 directory so they can be automatically loaded after restart of the 2110 2112 service. The TopicNamespaces loaded from files may be protected from 2111 unwanted removal by unset ing write permissions for a certain2113 unwanted removal by unsetting write permissions for a certain 2112 2114 file.</p><p>An XML document describing a sample topic namespace is presented 2113 in the <a class="link" href="#ted" title=" 3.3. Topics, TopicExpressions and Dialects">Section 3.3</a>.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3125"></a>5.4. Starting <span class="emphasis"><em>QCG-Notification</em></span></h3></div></div></div><p>To start <span class="emphasis"><em>QCG-Notification</em></span> as a daemon2114 type:</p><pre class="programlisting">$ ./qcg-ntfd</pre><p>If you start <span class="emphasis"><em>QCG -Notification</em></span> with parameter2115 in the <a class="link" href="#ted" title="Topics, TopicExpressions and Dialects">Section 3.3</a>.</p></div><div class="sect2" title="Starting QCG Notification"><div class="titlepage"><div><div><h3 class="title"><a id="idp872368"/>Starting <span class="emphasis"><em>QCG Notification</em></span></h3></div></div></div><p>To start <span class="emphasis"><em>QCG Notification</em></span> as a daemon 2116 type:</p><pre class="programlisting">$ ./qcg-ntfd</pre><p>If you start <span class="emphasis"><em>QCG Notification</em></span> with parameter 2115 2117 -h you will get an optional parameters list:</p><pre class="programlisting">$ ./qcg-ntfd -h 2116 2118 usage: ./qcg-ntfd [-d] [-z config_file] … … 2120 2122 -z config_file configuration file, default is /opt/qcg/etc/qcg-ntfd.xml 2121 2123 -v print version information 2122 -h print this help</pre><p>Once you run 2123 <span class="emphasis"><em>QCG-Notification</em></span> as a daemon, a log file is 2124 created. Using various log levels, you can log less or more 2125 details.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3148"></a>5.5. Stopping <span class="emphasis"><em>QCG-Notification</em></span></h3></div></div></div><p>At the moment, shutdown is performed simply by sending 2124 -h print this help</pre><p>Once you run <span class="emphasis"><em>QCG 2125 Notification</em></span> as a daemon, a log file is created. Using 2126 various log levels, you can log less or more details.</p></div><div class="sect2" title="Stopping QCG Notification"><div class="titlepage"><div><div><h3 class="title"><a id="idp877840"/>Stopping <span class="emphasis"><em>QCG Notification</em></span></h3></div></div></div><p>At the moment, shutdown is performed simply by sending 2126 2127 <code class="filename">SIGINT</code> signal to the service, e.g.:</p><pre class="programlisting">$ kill -SIGINT `pidof qcg-ntfd`</pre></div></div></div> 2127 2128 }}}