Changes between Version 15 and Version 16 of technicalGuideAndManual

Show
Ignore:
Timestamp:
07/20/12 14:50:39 (12 years ago)
Author:
bartek
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • technicalGuideAndManual

    v15 v16  
    11{{{ 
    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.6 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">&lt;<a class="email" href="mailto:bbosak@man.poznan.pl">bbosak@man.poznan.pl</a>&gt;</code></div><div class="author"><h3 class="author"><span class="firstname">Krzysztof</span> <span class="surname">Kurowski</span></h3><code class="email">&lt;<a class="email" href="mailto:krzysztof.kurowski@man.poznan.pl">krzysztof.kurowski@man.poznan.pl</a>&gt;</code></div></div></div><div><p class="releaseinfo">2.6.3</p></div><div><p class="copyright">Copyright &copy; 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 and 
    5     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 of QCG 
    6     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 - the 
    7       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.&nbsp;Introduction</h2></div></div></div><p><span class="bold"><strong>QCG Notification</strong></span> is a reference 
     2<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.6 Technical Guide and 
     3    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">&lt;<a class="email" href="mailto:bbosak@man.poznan.pl">bbosak@man.poznan.pl</a>&gt;</code></div><div class="author"><h3 class="author"><span class="firstname">Krzysztof</span> <span class="surname">Kurowski</span></h3><code class="email">&lt;<a class="email" href="mailto:krzysztof.kurowski@man.poznan.pl">krzysztof.kurowski@man.poznan.pl</a>&gt;</code></div></div></div><div><p class="releaseinfo">2.6.3</p></div><div><p class="copyright">Copyright &copy; 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 and 
     4    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 of 
     5    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 - the 
     6      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.&nbsp;Introduction</h2></div></div></div><p><span class="bold"><strong>QCG-Notification</strong></span> is a reference 
    87    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-Notification 
    98    OASIS standard)</a><a class="link" href="#WS-Notification"></a> for message push/pull-style notification, 
     
    3231      standardization body, either implement only partially notification 
    3332      standards or do not meet high performance requirements. Therefore, our 
    34       main motivation was to design and implement <span class="emphasis"><em>QCG 
    35       Notification</em></span> to offer more advanced push/pull 
     33      main motivation was to design and implement 
     34      <span class="emphasis"><em>QCG-Notification</em></span> to offer more advanced push/pull 
    3635      (synchronous/asynchronous) standard notification routines for QCG 
    3736      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.&nbsp;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 
     37      cases, scenarios and specify software requirements for 
     38      <span class="emphasis"><em>QCG-Notification</em></span>, its programming application 
     39      interface, functional units and the integration with both internal and 
     40      external modules.</p><p>The document is aimed at software architects and programmers who 
    4241      will be developing software components based on this document. Many 
    43       requirements and <span class="emphasis"><em>QCG Notification </em></span>concept itself 
     42      requirements and <span class="emphasis"><em>QCG-Notification </em></span>concept itself 
    4443      might be interesting for developers and end users of any Web 
    4544      Services.</p><p>This document assumes that the reader has at least a basic 
    4645      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.&nbsp;Status</h3></div></div></div><p>This document is updated periodically on no particular 
    4746      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.&nbsp;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 
     47    <span class="emphasis"><em>QCG-Notification</em></span> and/or interaction without providing 
    4948    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.&nbsp;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.&nbsp;WS-Notification Fundamentals</h4></div></div></div><p>Notification-based pattern is commonly used for 
    5049        interaction between distributed objects. WS-Notification is a family 
     
    9291        NotificationBroker and defines more advanced notification scenarios. 
    9392        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&nbsp;2.&nbsp;Web Services BrokeredNotification entities - QCG 
    95             Notification entities</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/smn_brokeredentities.png" align="middle" width="324" alt="Web Services BrokeredNotification entities - QCG Notification entities"></div></div></div><p><br class="figure-break">Note, that there are some important enlargements and 
     93        flow where NotificationBroker is present.</p><div class="figure"><a name="d0e198"></a><p class="title"><b>Figure&nbsp;2.&nbsp;Web Services BrokeredNotification entities - 
     94            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 and 
    9695        modifications in the WS-BrokeredNotificatison terminology. Below the 
    9796        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 
     
    145144              TopicExpression. The specification defines four Dialects: 
    146145              <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&nbsp;3.&nbsp;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.&nbsp;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 
     146              <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&nbsp;3.&nbsp;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.&nbsp;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 
    148147        implementation of WS-BaseNotification, WS-BrokeredNotification and 
    149148        WS-Topics OASIS industry standards. As a consistent and highly 
     
    153152        scale Web Service based systems, SOA environments and it acts as a 
    154153        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 Notification 
     154        <span class="emphasis"><em>QCG-Notification</em></span> (or <span class="emphasis"><em>QCG-Notification 
    156155        Provider</em></span>) exposes well defined Web Service and programming 
    157156        interfaces over QCG security mechanisms for dynamic notification, 
     
    159158        the previous sections it can be used and integrated with various 
    160159        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 Notification 
     160        Publisher, Subscriber or Consumer.</p><p>A flexible plug-in architecture of <span class="emphasis"><em>QCG-Notification 
    162161        </em></span>enables using different communication protocols for 
    163162        messages transmission. Currently messages can be transported between 
    164         <span class="emphasis"><em>QCG Notification</em></span> and third party entities not 
     163        <span class="emphasis"><em>QCG-Notification</em></span> and third party entities not 
    165164        only through HTTP protocol, but also through XMPP (jabber) as well as 
    166165        SMTP (e-mail) protocols. It is possible to variously mix channels of 
     
    168167        WS-Client as a HTTP message can be distributed over XMPP to jabber 
    169168        consumers.</p><p>Below we present a set of Web Service notification use cases 
    170         demonstrating capabilities offered by <span class="emphasis"><em>QCG 
    171         Notification</em></span>.</p><div class="figure"><a name="notificationConsumers"></a><p class="title"><b>Figure&nbsp;4.&nbsp;Notification with multiple Publishers and multiple 
     169        demonstrating capabilities offered by 
     170        <span class="emphasis"><em>QCG-Notification</em></span>.</p><div class="figure"><a name="notificationConsumers"></a><p class="title"><b>Figure&nbsp;4.&nbsp;Notification with multiple Publishers and multiple 
    172171          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&nbsp;4.&nbsp;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 
     172        one of the basic notification flows supported by 
     173        <span class="emphasis"><em>QCG-Notification</em></span>. Depending on records, 
     174        Notifications produced by a Publisher and received by the 
     175        <span class="emphasis"><em>QCG-Notification</em></span> may or may not be dispatched to 
     176        concrete NotificationConsumer. Note, that Subscriptions represent 
     177        relationships between Topics and NotificationConsumers in this 
     178        scenario. Before any Notification is delivered to a 
     179        NotificationConsumer, a Subscriber has to send first a 
     180        SubscribeRequest message to <span class="emphasis"><em>QCG-Notification</em></span> in 
     181        which all parameters of a Subscription are specified. Main parameters 
     182        of a SubscribeRequest message are ConsumerReference and 
     183        TopicExpression defined according to the specific Dialect type. On the 
     184        other hand, before a Publisher starts sending Notifications it may be 
     185        obligated to register himself in 
     186        <span class="emphasis"><em>QCG-Notification</em></span>. The diagram below shows a 
    187187        sequence of events in order to initialize an asynchronous process of 
    188188        notifications between a Publisher and a NotificationConsumer.</p><div class="figure"><a name="d0e378"></a><p class="title"><b>Figure&nbsp;5.&nbsp;Message flows: creating a Subscription, notifying 
    189189          NotificationConsumers</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/smn_example2.png" align="middle" width="324" alt="Message flows: creating a Subscription, notifying NotificationConsumers"></div></div></div><br class="figure-break"><div class="orderedlist"><ol type="1"><li><p>A Subscriber sends the SubscribeRequest message with a 
    190190            NotificationConsumer location and TopicExpression parameters to 
    191             <span class="emphasis"><em>QCG Notification</em></span>.</p></li><li><p><span class="emphasis"><em>QCG Notification</em></span> prepares appropriate 
    192             records for a Subscription.</p></li><li><p>A Publisher register himself in <span class="emphasis"><em>QCG 
    193             Notification</em></span> by sending the RegisterPublisher 
    194             message.</p></li><li><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><p><span class="emphasis"><em>QCG Notification</em></span> checks if there are 
     191            <span class="emphasis"><em>QCG-Notification</em></span>.</p></li><li><p><span class="emphasis"><em>QCG-Notification</em></span> prepares appropriate 
     192            records for a Subscription.</p></li><li><p>A Publisher register himself in 
     193            <span class="emphasis"><em>QCG-Notification</em></span> by sending the 
     194            RegisterPublisher message.</p></li><li><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><p><span class="emphasis"><em>QCG-Notification</em></span> checks if there are 
    197197            NotificationConsumers subscribed on a specified Topic. If so, 
    198             <span class="emphasis"><em>QCG Notification</em></span> sends asynchronous 
     198            <span class="emphasis"><em>QCG-Notification</em></span> sends asynchronous 
    199199            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.&nbsp;UML-style Diagrams</h3></div></div></div><p>The document uses UML-style use-case diagrams to illustrate 
    200200      high-level use cases. The following list is probably sufficient for this 
     
    221221      clearly ordered message layout and connections among functional units. 
    222222      The actors and messages in the sequence diagrams are more properly roles 
    223       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.&nbsp;`Main Use Cases</h4></div></div></div><div class="figure"><a name="d0e460"></a><p class="title"><b>Figure&nbsp;6.&nbsp;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&nbsp;7.&nbsp;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&nbsp;8.&nbsp;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&nbsp;9.&nbsp;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&nbsp;10.&nbsp;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.&nbsp;Main Sequence Diagrams</h4></div></div></div><div class="figure"><a name="d0e493"></a><p class="title"><b>Figure&nbsp;11.&nbsp;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.&nbsp;User Guide for a Publisher, Subscriber and 
     223      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.&nbsp;`Main Use Cases</h4></div></div></div><div class="figure"><a name="d0e460"></a><p class="title"><b>Figure&nbsp;6.&nbsp;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&nbsp;7.&nbsp;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&nbsp;8.&nbsp;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&nbsp;9.&nbsp;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&nbsp;10.&nbsp;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.&nbsp;Main Sequence Diagrams</h4></div></div></div><div class="figure"><a name="d0e493"></a><p class="title"><b>Figure&nbsp;11.&nbsp;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.&nbsp;User Guide for a Publisher, Subscriber and 
    224224    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.&nbsp;Prefixes and Namespaces</h3></div></div></div><p>The following table presents namespaces tied with prefixes. The 
    225225      prefixes are used in example SOAP messages presented in the further 
    226       sections.</p><div class="table"><a name="d0e509"></a><p class="title"><b>Table&nbsp;1.&nbsp;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.&nbsp;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" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e592"></a>3.2.1.&nbsp;Publisher Interaction</h4></div></div></div><div class="figure"><a name="d0e595"></a><p class="title"><b>Figure&nbsp;12.&nbsp;Publisher interaction sequence diagram</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/seq_publisher.png" align="middle" width="432" alt="Publisher interaction sequence diagram"></div></div></div><br class="figure-break"><p>In the most general configuration of the service, a Publisher 
     226      sections.</p><div class="table"><a name="d0e509"></a><p class="title"><b>Table&nbsp;1.&nbsp;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.&nbsp;Interaction with <span class="emphasis"><em>QCG-Notification</em></span></h3></div></div></div><p>In the next subsections an issue of cooperation with 
     227      <span class="emphasis"><em>QCG-Notification</em></span> is presented independently for a 
     228      Publisher, Subscriber and NotificationConsumer. Although a conceptual 
     229      style of interaction is described here in details, technical 
     230      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.&nbsp;Publisher Interaction</h4></div></div></div><div class="figure"><a name="d0e595"></a><p class="title"><b>Figure&nbsp;12.&nbsp;Publisher interaction sequence diagram</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/seq_publisher.png" align="middle" width="432" alt="Publisher interaction sequence diagram"></div></div></div><br class="figure-break"><p>In the most general configuration of the service, a Publisher 
    231231        has to be registered before it starts sending Notifications. In this 
    232232        situation, a Publisher sends the RegisterPublisherRequest message to 
    233         <span class="emphasis"><em>QCG Notification</em></span>. If everything goes well it 
     233        <span class="emphasis"><em>QCG-Notification</em></span>. If everything goes well it 
    234234        receives the RegisterPublisherResponse message with a session ID. From 
    235235        this time a Publisher is entitled for sending Notify messages - the 
     
    240240        should unregister himself by sending DestroyRegistration. This message 
    241241        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.&nbsp;Subscriber interaction</h4></div></div></div><div class="figure"><a name="d0e609"></a><p class="title"><b>Figure&nbsp;13.&nbsp;Subscriber interaction sequence diagram</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/seq_subscriber.png" align="middle" width="432" alt="Subscriber interaction sequence diagram"></div></div></div><br class="figure-break"><p>When a Subscriber wants to create a Subscription, it sends the 
    242         SubscribeRequest message to <span class="emphasis"><em>QCG Notification</em></span>. 
     242        SubscribeRequest message to <span class="emphasis"><em>QCG-Notification</em></span>. 
    243243        This message should contain an address of NotificationConsumer and a 
    244244        TopicExpression that specifies a Topic or a set of Topics on which 
     
    248248        From the version 2.5.0 of the system, the Subscriber may specify XSLT 
    249249        document that will be used to transform message content by certain 
    250         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 
     250        publishing modules. After creation of a Subscription 
     251        <span class="emphasis"><em>QCG-Notification</em></span> sends the SubscribeResponse 
     252        message with a created Subscription ID. This ID should be attached to 
     253        the UnsubscribeRequest message when a Subscription is not wanted and 
     254        the Renew message when a Subscription should be refreshed. A 
     255        Subscriber is allowed to create many equal Subscriptions.</p><p>If a scenario requires pull-style of notifications, a Subscriber 
    256256        can create a set of PullPoints. In a such situation, it has to invoke 
    257         the CreatePullPoint method offered by <span class="emphasis"><em>QCG Notification. 
     257        the CreatePullPoint method offered by <span class="emphasis"><em>QCG-Notification. 
    258258        <span class="emphasis"><em>The response parameter of this method will be an address to 
    259259        the newly created <span class="emphasis"><em>PullPoint resource (Subscribers can assign 
     
    263263        </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.&nbsp;NotificationConsumer Interaction</h4></div></div></div><div class="figure"><a name="d0e635"></a><p class="title"><b>Figure&nbsp;14.&nbsp;NotificationConsumer interaction sequence diagram</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="http://apps.man.poznan.pl/trac/qcg-notification/raw-attachment/wiki/technicalGuideAndManual/seq_consumer.png" align="middle" width="432" alt="NotificationConsumer interaction sequence diagram"></div></div></div><p><br class="figure-break">The main capability of a NotificationConsumer is a 
    264264        receiving of Notify messages. A NotificationConsumer can implement an 
    265         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 
     265        interface for receiving Notify messages sending by 
     266        <span class="emphasis"><em>QCG-Notification</em></span> or can be a client of a 
     267        PullPoint. In the second case, a NotificationConsumer can invoke 
     268        GetMessages method offered by a certain PullPoint. Messages buffered 
     269        in the PullPoint will be removed from the buffer and delivered in 
     270        GetMessagesResponse to the consumer.</p><p>On the other hand, when a NotificationConsumer wants to receive 
    271271        the last Notification message sent on a specific Topic, it can do this 
    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 class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="ted"></a>3.3.&nbsp;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 
     273        <span class="emphasis"><em>QCG-Notification</em></span>. Requested Notification will be 
     274        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.&nbsp;Topics, TopicExpressions and Dialects</h3></div></div></div><p>Before start-up of a <span class="emphasis"><em>QCG-Notification</em></span> 
    275275      service, there should be defined Topic Namespaces in a system. Topic 
    276276      Namespaces should be created (usually by Publishers) and delivered to 
    277       a<span class="emphasis"><em> QCG Notification</em></span> administrator in a form of XML 
     277      a<span class="emphasis"><em> QCG-Notification</em></span> administrator in a form of XML 
    278278      documents. A following record presents a sample Topic Namespace 
    279279      identified by 
     
    297297        &lt;/wstop:Topic&gt; 
    298298    &lt;/wstop:Topic&gt;                                                                                                                                                               
    299 &lt;/wstop:TopicNamespace&gt;</pre><p><span class="emphasis"><em>QCG Notification </em></span>supports three types of 
     299&lt;/wstop:TopicNamespace&gt;</pre><p><span class="emphasis"><em>QCG-Notification </em></span>supports three types of 
    300300      dialects: <span class="emphasis"><em>Simple</em></span>, <span class="emphasis"><em>Concrete</em></span> and 
    301301      <span class="emphasis"><em>Full</em></span>. If a message refer to Topics, it has to 
     
    309309      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.&nbsp;Extensions</h3></div></div></div><p>The Oasis standard for notifications doesn't define details for 
    310310      lower Levels of functionality so an architect of system is obligated to 
    311       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" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e693"></a>3.4.1.&nbsp;TopicExpression</h4></div></div></div><p><span class="emphasis"><em>QCG Notification </em></span>remote peers have to use 
     311      introduce some extensions and clarifications. In the 
     312      <span class="emphasis"><em>QCG-Notification </em></span>scenario there are several 
     313      messages that have to be expanded with additional information written as 
     314      embedded XML. Some of these extensions are related with other Oasis 
     315      standards but some are quite new. Technical details are described in the 
     316      successive subsections.</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e693"></a>3.4.1.&nbsp;TopicExpression</h4></div></div></div><p><span class="emphasis"><em>QCG-Notification </em></span>remote peers have to use 
    317317        an appropriate TopicExpression XML element. The schema of this element 
    318318        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"> 
     
    323323        with the WSDL document, a @Dialect from the Topic element is 
    324324        significant. It is not necessary but preferred to attach the same 
    325         @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.&nbsp;<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 
     325        @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.&nbsp;<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 
    326326        to WSDL as well as schema documents related to the Oasis standard. The 
    327327        following schema defines these extensions. The first three elements 
     
    375375   &lt;/xsd:simpleType&gt;   
    376376 
    377 &lt;!-- ================= QCG Notification manager : ListPullPoints ================== --&gt; 
     377&lt;!-- ================= QCG-Notification manager : ListPullPoints ================== --&gt; 
    378378 
    379379   &lt;xsd:complexType name="ListSubscriptionsFilter"&gt; 
     
    435435   &lt;/xsd:element&gt; 
    436436 
    437 &lt;!-- ================= QCG Notification manager : ListPublishersRegistrations ================== --&gt; 
     437&lt;!-- ================= QCG-Notification manager : ListPublishersRegistrations ================== --&gt; 
    438438 
    439439   &lt;xsd:complexType name="ListPublishersRegistrationsFilter"&gt; 
     
    494494   &lt;/xsd:element&gt; 
    495495 
    496 &lt;!-- ================= QCG Notification manager : ListPullPoints ================== --&gt; 
     496&lt;!-- ================= QCG-Notification manager : ListPullPoints ================== --&gt; 
    497497 
    498498   &lt;xsd:complexType name="ListPullPointsFilter"&gt; 
     
    554554   &lt;/xsd:element&gt; 
    555555 
    556 &lt;!-- ================= QCG Notification manager : ListTopicNamespaces ================== --&gt; 
     556&lt;!-- ================= QCG-Notification manager : ListTopicNamespaces ================== --&gt; 
    557557     
    558558   &lt;xsd:complexType name="ListTopicNamespacesFilter"&gt; 
     
    596596   &lt;/xsd:element&gt; 
    597597 
    598 &lt;!-- ================= QCG Notification manager : AddTopicNamespace ================== --&gt; 
     598&lt;!-- ================= QCG-Notification manager : AddTopicNamespace ================== --&gt; 
    599599 
    600600   &lt;xsd:element name="AddTopicNamespace"&gt; 
     
    617617   &lt;/xsd:element&gt; 
    618618 
    619 &lt;!-- ================= QCG Notification manager : RemoveTopicNamespace ================== --&gt; 
     619&lt;!-- ================= QCG-Notification manager : RemoveTopicNamespace ================== --&gt; 
    620620 
    621621   &lt;xsd:element name="RemoveTopicNamespace"&gt; 
     
    640640 
    641641&lt;/xsd:schema&gt;</pre></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e715"></a>3.5.&nbsp;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 
     642      used in the <span class="emphasis"><em>QCG-Notification</em></span> scenario as well as 
    643643      introduce how to construct and interpret these messages. The majority of 
    644       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 
     644      them is two-way style and initiated by 
     645      <span class="emphasis"><em>QCG-Notification</em></span> clients. Exception is the Notify 
     646      message that is one-way style. In the first phase it is transported from 
     647      a Publisher to <span class="emphasis"><em>QCG-Notification</em></span> and in the second 
     648      it is transported from <span class="emphasis"><em>QCG-Notification</em></span> to 
     649      subscribed NotificationConsumers.</p><p>All supported by <span class="emphasis"><em>QCG-Notification</em></span> message 
    650650      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, 
    651651              however there are also extensions;</p></li><li><p>For all messages it is important to set a correct 
    652652              WS-Addressing Action property which should be the same as SOAP 
    653               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.&nbsp;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 ... &gt; 
     653              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.&nbsp;SubscribeRequest</h4></div></div></div><p>SubscribeRequest is sent by a Subscriber to 
     654        <span class="emphasis"><em>QCG-Notification</em></span>. The message should contain 
     655        information about a NotificationConsumer and an expression defining 
     656        Topic or Topics that the Subscription will affect. If a message 
     657        processing is successful, a Subscription is created. It is possible to 
     658        create many equal Subscriptions by sending numerously the same 
     659        SubscribeRequest message.</p><pre class="programlisting">SOAP-ENV:Envelope ... &gt; 
    660660   &lt;SOAP-ENV:Header&gt; 
    661661    &lt;wsa:Action SOAP-ENV:mustUnderstand="1"&gt; 
     
    711711            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 correct 
    712712            prefix (http, https, xmpp). The prefix should be adequate to the 
    713             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><p><span class="emphasis"><em>//wsnt:Subscribe/wsnt:Filter</em></span></p><p>In this element, a Subscriber defines filtering parameters 
     713            expected type of connection between 
     714            <span class="emphasis"><em>QCG-Notification</em></span> and NotificationConsumer(s): 
     715            http for anonymous, https for ssl-based and xmpp for sending 
     716            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 parameters 
    717717            to the Subscription being created. In other words, it identifies a 
    718718            type of Notifications that should be forwarded to the selected 
     
    740740            suggestion for the termination time of the Subscription being 
    741741            created (expressed as a local time with timezone). If not present, 
    742             the termination time is determined automatically - <span class="emphasis"><em>QCG 
    743             Notification <span class="emphasis"><em>specify a default time 
     742            the termination time is determined automatically - 
     743            <span class="emphasis"><em>QCG-Notification <span class="emphasis"><em>specify a default time 
    744744            period</em></span></em></span> for the Subscription to be 
    745745            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 Subscriber 
     
    748748            (for example user readable). Note that an actual XSLT document 
    749749            should be enclosed in &lt;![CDATA[ and ]]&gt; 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.&nbsp;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> 
     750        SubscribeResponse message. <span class="emphasis"><em>QCG-Notification</em></span> 
    751751        deliver in this message a reference to the created Subscription. This 
    752752        ID can be used for manipulation and to remove the Subscription.</p><pre class="programlisting">&lt;SOAP-ENV:Envelope ... &gt; 
     
    777777            NotificationProducer/SubscribeResponse. <span class="emphasis"><em>If differ, a 
    778778            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 the 
    779             current solution it is the <span class="emphasis"><em>QCG Notification</em></span> 
     779            current solution it is the <span class="emphasis"><em>QCG-Notification</em></span> 
    780780            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 Subscription 
    781781            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.&nbsp;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 
     782        RenewRequest message to <span class="emphasis"><em>QCG-Notification</em></span>. The 
    783783        message should contain the Subscription ID element and a new 
    784784        termination time suggesation.</p><pre class="programlisting">&lt;SOAP-ENV:Envelope ... &gt; 
     
    830830            SubscriptionManager/RenewResponse. <span class="emphasis"><em>If differ, a fault 
    831831            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 Subscription 
    832             (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>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" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e989"></a>3.5.5.&nbsp;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">&lt;SOAP-ENV:Envelope ... &gt; 
     832            (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>A 
     833            </em></span>QCG-Notification's</em></span> time when the 
     834            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.&nbsp;UnsubscribeRequest</h4></div></div></div><p>When a Subscriber wants to terminate a Subscription, it has to 
     835        send the UnsubscribeRequest message to 
     836        <span class="emphasis"><em>QCG-Notification</em></span>. The parameter attached to this 
     837        request is a Subscription ID.</p><pre class="programlisting">&lt;SOAP-ENV:Envelope ... &gt; 
    838838   &lt;SOAP-ENV:Header&gt; 
    839839    &lt;wsa:Action SOAP-ENV:mustUnderstand="1"&gt; 
     
    871871            SubscriptionManager/UnsubscribeResponse. <span class="emphasis"><em>If differ, a 
    872872            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.&nbsp;RegisterPublisherRequest</h4></div></div></div><p>In order to sending Notifications, a Publisher can be obligated 
    873         to register himself previosly 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">&lt;SOAP-ENV:Envelope ... &gt; 
     873        to register himself previosly in 
     874        <span class="emphasis"><em>QCG-Notification</em></span>. For this purpose, it sends the 
     875        RegisterPublisherRequest message to 
     876        <span class="emphasis"><em>QCG-Notification</em></span>.</p><pre class="programlisting">&lt;SOAP-ENV:Envelope ... &gt; 
    877877   &lt;SOAP-ENV:Header&gt; 
    878878    &lt;wsa:Action SOAP-ENV:mustUnderstand="1"&gt; 
     
    900900            suggestion for the termination time of the Registration being 
    901901            created (expressed as a local time with timezone). If not present, 
    902             the termination time is determined automatically - <span class="emphasis"><em>QCG 
    903             Notification <span class="emphasis"><em>specify the default time 
     902            the termination time is determined automatically - 
     903            <span class="emphasis"><em>QCG-Notification <span class="emphasis"><em>specify the default time 
    904904            period</em></span></em></span> for the Registration to be valid. 
    905905            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.&nbsp;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. 
     906        <span class="emphasis"><em>QCG-Notification</em></span> sends RegisterPublisherResponse. 
    907907        This message contains a reference to the created Registration. The 
    908908        attached ID is necessary to send any Notification message.</p><pre class="programlisting">&lt;SOAP-ENV:Envelope ... &gt; 
     
    932932            <span class="emphasis"><em>If differ, a fault will be 
    933933            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. In 
    934             the current solution it is the <span class="emphasis"><em>QCG 
    935             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 Publisher 
     934            the current solution it is the 
     935            <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 Publisher 
    936936            Registration ID. It defines a session that is created after 
    937937            registration and removed by sending the DestroyRegistration 
     
    990990            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 the 
    991991            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.&nbsp;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">&lt;SOAP-ENV:Envelope ... &gt; 
     992        DestroyRegistrationRequest message to 
     993        <span class="emphasis"><em>QCG-Notification</em></span>. The parameter attached to this 
     994        request is a Publisher Registration ID.</p><pre class="programlisting">&lt;SOAP-ENV:Envelope ... &gt; 
    995995   &lt;SOAP-ENV:Header&gt; 
    996996    &lt;wsa:Action SOAP-ENV:mustUnderstand="1"&gt; 
     
    10301030            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.&nbsp;CreatePullPointRequest</h4></div></div></div><p>In scenarios where the pull-style of notifications delivery is 
    10311031        needed, Subscribers can create PullPoints. To do this, a Subscriber 
    1032         sends the CreatePullPointRequest message to <span class="emphasis"><em>QCG Notification 
     1032        sends the CreatePullPointRequest message to <span class="emphasis"><em>QCG-Notification 
    10331033        PullPoint</em></span>.</p><pre class="programlisting">&lt;SOAP-ENV:Envelope ... &gt; 
    10341034   &lt;SOAP-ENV:Header&gt; 
     
    12041204            "http://docs.oasis-open.org/wsn/t-1/TopicExpression/Concrete", 
    12051205            "http://docs.oasis-open.org/wsn/t-1/TopicExpression/Full". 
    1206             </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.&nbsp;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">&lt;SOAP-ENV:Envelope ... &gt; 
     1206            </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.&nbsp;GetCurrentMessageResponse</h4></div></div></div><p>In a response to GetCurrentMessageRequest 
     1207        <span class="emphasis"><em>QCG-Notification</em></span> prepares 
     1208        GetCurrentMessageResponse. This message includes the content of the 
     1209        last Notification GetCurrentMessageRequest refers to.</p><pre class="programlisting">&lt;SOAP-ENV:Envelope ... &gt; 
    12101210   &lt;SOAP-ENV:Header&gt; 
    12111211    &lt;wsa:Action SOAP-ENV:mustUnderstand="1"&gt; 
     
    12391239            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 current 
    12401240            Notification and information related to this 
    1241             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 <span class="emphasis"><em>QCG 
    1242             Notification</em></span>; expressed as universal time (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><p><span class="emphasis"><em>//wsnt:GetCurrentMessageResponse/smn-ext:GetCurrentMessage/smn-ext:NotifyTime</em></span></p><p>The time when notification was received by 
     1242            <span class="emphasis"><em>QCG-Notification</em></span>; expressed as universal time 
     1243            (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 
    12431244            this element is the last Notification message published to the 
    12441245            Topic specified in GetCurrentMessageRequest. Currently supported 
    12451246            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.&nbsp;ListSubscriptions</h4></div></div></div><p>The first method from the the group of administrative methods. 
    12461247        It may be invoked to get an information about available subscriptions 
    1247         in the <span class="emphasis"><em>QCG Notification</em></span> service. The method 
     1248        in the <span class="emphasis"><em>QCG-Notification</em></span> service. The method 
    12481249        consists of various filtering parameters.</p><pre class="programlisting">&lt;SOAP-ENV:Envelope ... &gt; 
    12491250   &lt;SOAP-ENV:Header&gt; 
     
    12951296            <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/ListSubscriptionsRequest. 
    12961297            <span class="emphasis"><em>If differ, a fault will be 
    1297             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 from <span class="emphasis"><em>QCG 
    1298             Notification</em></span> schema. It consists of a number of 
    1299             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 parameter 
     1298            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 from 
     1299            <span class="emphasis"><em>QCG-Notification</em></span> schema. It consists of a 
     1300            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 parameter 
    13001301            Subscriptions may be simply filtered on the basis of Subscription 
    13011302            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 on 
     
    13591360            <span class="emphasis"><em>If differ, a fault will be 
    13601361            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 from 
    1361             <span class="emphasis"><em>QCG Notification</em></span> (propably also filtered on 
     1362            <span class="emphasis"><em>QCG-Notification</em></span> (propably also filtered on 
    13621363            the basis of the smn-ext:Filter element sent in 
    13631364            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 a 
     
    14071408            <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/ListPublishersRegistrationsRequest. 
    14081409            <span class="emphasis"><em>If differ, a fault will be 
    1409             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> 
     1410            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> 
    14101411            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 enables 
    14111412            filtering of Publisher Registrations based on Publishers 
    14121413            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 of 
    14131414            Publishers. Depending on configuration, this address may be held 
    1414             in the <span class="emphasis"><em>QCG Notification</em></span> service as an address 
     1415            in the <span class="emphasis"><em>QCG-Notification</em></span> service as an address 
    14151416            sent in the From element of WSA Header of RegisterPublisher 
    14161417            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:TerminationTimeMin 
     
    14571458            <span class="emphasis"><em>If differ, a fault will be 
    14581459            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 Registrations 
    1459             received from <span class="emphasis"><em>QCG Notification</em></span> (propably also 
     1460            received from <span class="emphasis"><em>QCG-Notification</em></span> (propably also 
    14601461            filtered on the basis of the smn-ext:Filter element sent in a 
    14611462            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 a 
     
    15041505            <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/ListPullPointsRequest. 
    15051506            <span class="emphasis"><em>If differ, a fault will be 
    1506             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> 
     1507            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> 
    15071508            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 of 
    15081509            PullPoints based on PullPoint ID. The value is at most 32 char 
    15091510            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 of 
    15101511            PullPoint. The PullPoint address is assigned after creation of a 
    1511             PullPoint in <span class="emphasis"><em>QCG Notification</em></span> and returned 
     1512            PullPoint in <span class="emphasis"><em>QCG-Notification</em></span> and returned 
    15121513            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:TerminationTimeMin 
    15131514            </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 
     
    15531554            <span class="emphasis"><em>If differ, a fault will be 
    15541555            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 from 
    1555             <span class="emphasis"><em>QCG Notification</em></span> (propably also previously 
     1556            <span class="emphasis"><em>QCG-Notification</em></span> (propably also previously 
    15561557            filtered on the basis of the smn-ext:Filter element sent in a 
    15571558            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 particular 
     
    15821583            <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/ListTopicNamespacesRequest. 
    15831584            <span class="emphasis"><em>If differ, a fault will be 
    1584             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> 
     1585            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> 
    15851586            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 parameter 
    15861587            enables filtering of TopicNamespaces based on their 
     
    16191620            <span class="emphasis"><em>If differ, a fault will be 
    16201621            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 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 
     1622            TopicNamespaces received from 
     1623            <span class="emphasis"><em>QCG-Notification</em></span> (optionally filtered on the 
     1624            basis of the smn-ext:Filter element sent in a ListTopicNamespaces 
    16241625            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 particular 
    16251626            information about a single 
     
    16271628            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 listed 
    16281629            topic is proceded 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.&nbsp;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>IQCG Notification</em></span>.</p><pre class="programlisting">&lt;SOAP-ENV:Envelope ... &gt; 
     1630        TopicNamespace to the <span class="emphasis"><em>IQCG-Notification</em></span>.</p><pre class="programlisting">&lt;SOAP-ENV:Envelope ... &gt; 
    16301631   &lt;SOAP-ENV:Header&gt; 
    16311632    &lt;wsa:Action SOAP-ENV:mustUnderstand="1"&gt; 
     
    16551656            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.&nbsp;AddTopicNamespaceResponse</h4></div></div></div><p>A response message to a AddTopicNamespaceRequest. It is empty 
    16561657        and only confirms successfull addition of a TopicNamespace to the 
    1657         <span class="emphasis"><em>QCG Notification</em></span> service. </p><pre class="programlisting">&lt;SOAP-ENV:Envelope ... &gt; 
     1658        <span class="emphasis"><em>QCG-Notification</em></span> service. </p><pre class="programlisting">&lt;SOAP-ENV:Envelope ... &gt; 
    16581659   &lt;SOAP-ENV:Header&gt; 
    16591660    &lt;wsa:Action SOAP-ENV:mustUnderstand="1"&gt; 
     
    16701671            <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/AddTopicNamespaceResponse.</em></span><span class="emphasis"><em><span class="emphasis"><em> 
    16711672            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.&nbsp;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. 
     1673        TopicNamespace from the <span class="emphasis"><em>QCG-Notification</em></span> system. 
    16731674        Note that the removing may be only temporary (active to the restart of 
    16741675        the system) if the TopicNamespace file is protected by disabling write 
     
    17081709&lt;/SOAP-ENV:Envelope&gt;</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: 
    17091710            <span class="emphasis"><em>http://schemas.qoscosgrid.org/ntf/2011/04/QCGNotificationManager/RemoveTopicNamespaceResponse.</em></span><span class="emphasis"><em><span class="emphasis"><em> 
    1710             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.&nbsp;Administration Guide of <span class="emphasis"><em>QCG 
    1711     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.&nbsp;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" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2337"></a>4.1.1.&nbsp;QCG Core library</h4></div></div></div><p><span class="emphasis"><em>QCG Notification</em></span> is based on the 
     1711            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.&nbsp;Administration Guide of 
     1712    <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.&nbsp;Prerequisites</h3></div></div></div><p>In order to build and install 
     1713      <span class="emphasis"><em>QCG-Notification</em></span>, an administrator has to 
     1714      appropriately configure operating system. There is some dependencies to 
     1715      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.&nbsp;QCG Core library</h4></div></div></div><p><span class="emphasis"><em>QCG-Notification</em></span> is based on the 
    17151716        <span class="emphasis"><em>QCG Core</em></span> library developed by the 
    17161717        <span class="emphasis"><em>QCG</em></span> team. QCG Core is a common utility library 
    17171718        providing set of basic modules used by other components within QCG 
    17181719        Project. For more information see QCG Core documentation.</p><p>The QCG Core library should be properly configured prior to the 
    1719         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.&nbsp;Building</h3></div></div></div><p>Before you compile <span class="emphasis"><em>QCG Notification</em></span>, you need 
     1720        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.&nbsp;Building</h3></div></div></div><p>Before you compile <span class="emphasis"><em>QCG-Notification</em></span>, you need 
    17201721      to run the configuration script first. It will try to check if all the 
    17211722      requirements are met and whether needed third party software is 
    17221723      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 
    17231724      type the --help parameter you will see all available options. These are 
    1724       the most important ones:</p><div class="itemizedlist"><ul type="disc"><li><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><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 
     1725      the most important ones:</p><div class="itemizedlist"><ul type="disc"><li><p>--prefix=DIR</p><p>specifies directory where 
     1726            <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 to 
    17261727            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 be 
    17271728            build</p></li><li><p>--with-addressing-handler</p><p>Determine if the test Web Services Addressing handler 
    17281729            service should be build</p></li></ul></div><p>After successful configuration step, compiling and 
    1729       installing of <span class="emphasis"><em>QCG Notification</em></span> should be a 
     1730      installing of <span class="emphasis"><em>QCG-Notification</em></span> should be a 
    17301731      straightforward process:</p><pre class="programlisting">$ make 
    17311732$ 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 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" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2416"></a>4.3.&nbsp;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 
     1733        <code class="filename">root</code> or the user that will execute 
     1734        <span class="emphasis"><em>QCG-Notification</em></span> service, assuming he has 
     1735        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.&nbsp;Creating database for <span class="emphasis"><em>QCG-Notification</em></span> - the 
     1736      PostgreSQL example</h3></div></div></div><p><span class="emphasis"><em>QCG-Notification</em></span> can be run in two basic 
    17361737      modes related to the database connection: without database or with 
    17371738      database. Although the first option is sufficient for simple scenarios, 
    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 
     1739      it reduces the overall functionality of the 
     1740      <span class="emphasis"><em>QCG-Notification</em></span> (e.g. disable PullPoints). 
     1741      Therefore using the database is recomended and can be often 
     1742      essential.</p><p>You will find more detailed description of administrative tasks in 
    17411743      PostgreSQL tutorial. However, the following basic steps are needed to 
    1742       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 
     1744      set up a database and appropriate tables for 
     1745      <span class="emphasis"><em>QCG-Notification</em></span> assuming that you have already 
     1746      setup a PostgreSQL database:</p><p>By default, the first database user created will also be named 
    17451747      <code class="filename">postgres</code>. In order to create a user for 
    1746       <span class="emphasis"><em>QCG Notification</em></span> usage, for instance 
     1748      <span class="emphasis"><em>QCG-Notification</em></span> usage, for instance 
    17471749      <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 
    17481750      <code class="filename">qcg-ntfd.xml</code> configuration file. Create a database, 
    17491751      for example <code class="filename">qcg-ntf</code>, by typing the following 
    17501752      command:</p><pre class="programlisting">$ createdb qcg-ntf</pre><p>and set up a table structure using the 
    1751       <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 
     1753      <code class="filename">qcg-ntf-psql.sql</code> file from 
     1754      <span class="emphasis"><em>QCG-Notification</em></span> distribution - it can be found in 
    17531755      <code class="filename">/opt/qcg/share/tools</code> directory by default.</p><pre class="programlisting">$ psql -d qcg-ntf -U qcg-ntf &lt; qcg-ntf-psql.sql</pre><p>Eventually you need to add this database as the ODBC Data Source 
    17541756      Name. You can do this by editing system-wide configuration file (e.g. 
    17551757      <code class="filename">/etc/odbc.ini)</code> or <code class="filename">.odbc.ini</code> in 
    1756       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 
     1758      home directory of the user that will be used to start 
     1759      <span class="emphasis"><em>QCG-Notification</em></span>.</p><p>Assuming that ODBC are installed in /usr/local/lib and the choosed 
     1760      name for <span class="emphasis"><em>QCG-Notification</em></span> is 
    17591761      <code class="filename">qcg-ntf</code> the configuration file should looks 
    17601762      simmilar to the following:</p><pre class="programlisting">[qcg-ntf] 
    1761 Description     = QCG Notification database 
     1763Description     = QCG-Notification database 
    17621764Driver        = /usr/local/lib/libodbcpsql.so 
    17631765Setup         = /usr/local/lib/libodbcpsqlS.so 
     
    17711773DebugFile       = odbc.debug</pre><p>You can also try some GUI tools to set up and manage ODBC and 
    17721774      databases. Check out if the following tools are available on your 
    1773       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.&nbsp;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.&nbsp;Configuration File: <code class="filename">qcg-ntfd.xml</code></h3></div></div></div><pre class="programlisting">&lt;sm:QCGCore 
     1775      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.&nbsp;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.&nbsp;Configuration File: <code class="filename">qcg-ntfd.xml</code></h3></div></div></div><pre class="programlisting">&lt;sm:QCGCore 
    17741776  xmlns:sm="http://schemas.qoscosgrid.org/core/2011/04/config" 
    17751777  xmlns="http://schemas.qoscosgrid.org/ntf/2011/04/config" 
     
    17831785    &lt;/sm:ModuleManager&gt; 
    17841786 
    1785     &lt;sm:Service xsi:type="ntfd" description="QCG Notification"&gt; 
     1787    &lt;sm:Service xsi:type="ntfd" description="QCG-Notification"&gt; 
    17861788      &lt;sm:Logger&gt; 
    17871789        &lt;sm:Filename&gt;/opt/qcg/var/log/qcg-ntf/qcg-ntfd.log&lt;/sm:Filename&gt; 
     
    18811883          anonymous communication and sm:atc_transport_https for SSL based 
    18821884          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 the 
    1883           Publisher side of <span class="emphasis"><em>QCG Notification</em></span>. The 
     1885          Publisher side of <span class="emphasis"><em>QCG-Notification</em></span>. The 
    18841886          following modules are currently supported:</p><div class="itemizedlist"><ul type="circle"><li><p>smn:ntf-publisher-gsoap-anonymous for anonymous SOAP 
    18851887              communication;</p></li><li><p>smn:ntf-publisher-gsoap-ssl for SSL based SOAP 
    18861888              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.&nbsp;Module configuration">Section 
    18871889          5.2</a>.</p></li><li><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar 
    1888           </em></span>[smn:NotificationsVarType]</p><p>Various notification settings closely related to QCG 
    1889           Notification service implementation.</p></li><li><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:TopicNsDir 
     1890          </em></span>[smn:NotificationsVarType]</p><p>Various notification settings closely related to 
     1891          QCG-Notification service implementation.</p></li><li><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:TopicNsDir 
    18901892          <span class="emphasis"><em>[string]</em></span></em></span></p><p>Location of the directory with files containing Topic 
    18911893          definitions.</p></li><li><p><span class="emphasis"><em>//smn:Core/smn:NotificationsVar/smn:StrictCorrectnessCheckingEnabled</em></span> 
     
    19651967          then this option is disabled. Default: 5</p></li><li><p><span class="emphasis"><em>//smn:Core/Database/DatabaseEnabled 
    19661968          <span class="emphasis"><em>[boolean]</em></span></em></span></p><p>true, false - determines if a database should be enabled; in 
    1967           the simplest configuration, <span class="emphasis"><em>QCG Notification</em></span> 
     1969          the simplest configuration, <span class="emphasis"><em>QCG-Notification</em></span> 
    19681970          can be used also without a database connection, however many options 
    19691971          will be then unavailable. Default: true</p></li><li><p><span class="emphasis"><em>//smn:Core/Database/DSN 
     
    19731975          <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/CleanAtStart 
    19741976          <span class="emphasis"><em>[boolean]</em></span></em></span></p><p>true, false - determines whether all information stored in a 
    1975           database should be cleaned at starting of the QCG Notification 
     1977          database should be cleaned at starting of the QCG-Notification 
    19761978          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.&nbsp;Module configuration</h3></div></div></div><p>Modules are located in the PREFIX/*/lib/modules directories and 
    1977       are loaded during the<span class="emphasis"><em> QCG Notification</em></span> run time. 
     1979      are loaded during the<span class="emphasis"><em> QCG-Notification</em></span> run time. 
    19781980      Module definitions are specified in appropriate sections of the 
    19791981      configuration file.</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2838"></a>5.2.1.&nbsp;Publisher modules</h4></div></div></div><p>As it was discussed in the previous sections, in a typical 
     
    19811983        and notification channels that need to be setup. The first one is a 
    19821984        communication channel between Subscriber/Publisher clients and 
    1983         <span class="emphasis"><em>QCG Notification. </em></span>This type of communication is 
     1985        <span class="emphasis"><em>QCG-Notification. </em></span>This type of communication is 
    19841986        currently completely based on QCG Core library.</p><p>The second type is an outgoing communication between 
    1985         <span class="emphasis"><em>QCG Notification</em></span> and NotificationConsumers and it 
    1986         is particular for <span class="emphasis"><em>QCG Notification</em></span>. In this 
    1987         situation <span class="emphasis"><em>QCG Notification</em></span> plays a role of a 
     1987        <span class="emphasis"><em>QCG-Notification</em></span> and NotificationConsumers and it 
     1988        is particular for <span class="emphasis"><em>QCG-Notification</em></span>. In this 
     1989        situation <span class="emphasis"><em>QCG-Notification</em></span> plays a role of a 
    19881990        Notification Publisher. At this time, supported modules for this 
    19891991        channel utilize a Web Service interface, XMPP interface and SMTP 
     
    20792081                  <span class="emphasis"><em>[string]</em></span></em></span></p><p>Used to enable encryption. The only supported type of 
    20802082                  encryption is "TLS". Optional element, if not present, 
    2081                   encryption will be switched off. </p></li><li><p><span class="emphasis"><em>//smn:TrutedCAFile 
     2083                  encryption will be switched off.</p></li><li><p><span class="emphasis"><em>//smn:TrutedCAFile 
    20822084                  <span class="emphasis"><em>[string]</em></span></em></span></p><p>A path to the file with trusted CAs certificates. 
    20832085                  Optional element.</p></li><li><p><span class="emphasis"><em>//smn:TrutedCAPath 
     
    20922094                  false.</p></li><li><p><span class="emphasis"><em>//smn:SendTimeout 
    20932095                  <span class="emphasis"><em>[int]</em></span></em></span></p><p>The timeout in seconds for stall on the send function. 
    2094                   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.&nbsp;WS-Topics management</h3></div></div></div><p>In the current release, a topics management in <span class="emphasis"><em>QCG 
    2095       Notification</em></span> is relatively simple. The first step is a 
    2096       preparation of an XML document with a Topic Namespace definition. This 
    2097       step can be done by one of the peers cooperating with <span class="emphasis"><em>QCG 
    2098       Notification</em></span>. Then the document should be delivered to the 
    2099       computer where <span class="emphasis"><em>QCG Notification</em></span> is installed. It 
    2100       can be done in two ways: the document may be copied manually by QCG 
    2101       Notification administrator to TopicNamespaces directory in prior to 
    2102       <span class="emphasis"><em>a QCG Notification</em></span> startup or it can be send 
    2103       through the <span class="emphasis"><em>QCG Notification</em></span> interface when 
    2104       <span class="emphasis"><em>QCG Notification</em></span> is already runing. In the last 
     2096                  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.&nbsp;WS-Topics management</h3></div></div></div><p>In the current release, a topics management in 
     2097      <span class="emphasis"><em>QCG-Notification</em></span> is relatively simple. The first 
     2098      step is a preparation of an XML document with a Topic Namespace 
     2099      definition. This step can be done by one of the peers cooperating with 
     2100      <span class="emphasis"><em>QCG-Notification</em></span>. Then the document should be 
     2101      delivered to the computer where <span class="emphasis"><em>QCG-Notification</em></span> is 
     2102      installed. It can be done in two ways: the document may be copied 
     2103      manually by QCG-Notification administrator to TopicNamespaces directory 
     2104      in prior to <span class="emphasis"><em>a QCG-Notification</em></span> startup or it can be 
     2105      send through the <span class="emphasis"><em>QCG-Notification</em></span> interface when 
     2106      <span class="emphasis"><em>QCG-Notification</em></span> is already runing. In the last 
    21052107      case, the TopicNamespaces are stored also in a files in TopicNamespace 
    21062108      directory so they can be automatically loaded after restart of the 
     
    21082110      unwanted removal by unseting write permissions for a certain 
    21092111      file.</p><p>An XML document describing a sample topic namespace is presented 
    2110       in the <a class="link" href="#ted" title="3.3.&nbsp;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.&nbsp;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 
    2111       type:</p><pre class="programlisting">$ ./qcg-ntfd</pre><p>If you start <span class="emphasis"><em>QCG Notification</em></span> with parameter 
     2112      in the <a class="link" href="#ted" title="3.3.&nbsp;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.&nbsp;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 
     2113      type:</p><pre class="programlisting">$ ./qcg-ntfd</pre><p>If you start <span class="emphasis"><em>QCG-Notification</em></span> with parameter 
    21122114      -h you will get an optional parameters list:</p><pre class="programlisting">$ ./qcg-ntfd -h 
    21132115usage: ./qcg-ntfd [-d] [-z config_file] 
     
    21172119  -z config_file  configuration file, default is /opt/qcg/etc/qcg-ntfd.xml 
    21182120  -v              print version information 
    2119   -h              print this help</pre><p>Once you run <span class="emphasis"><em>QCG 
    2120       Notification</em></span> as a daemon, a log file is created. Using 
    2121       various log levels, you can log less or more details.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3148"></a>5.5.&nbsp;Stopping <span class="emphasis"><em>QCG Notification</em></span></h3></div></div></div><p>At the moment, shutdown is performed simply by sending 
     2121  -h              print this help</pre><p>Once you run 
     2122      <span class="emphasis"><em>QCG-Notification</em></span> as a daemon, a log file is 
     2123      created. Using various log levels, you can log less or more 
     2124      details.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3148"></a>5.5.&nbsp;Stopping <span class="emphasis"><em>QCG-Notification</em></span></h3></div></div></div><p>At the moment, shutdown is performed simply by sending 
    21222125      <code class="filename">SIGINT</code> signal to the service, e.g.:</p><pre class="programlisting">$ kill -SIGINT `pidof qcg-ntfd`</pre></div></div></div> 
    2123  
    21242126}}}