Browse Prior Art Database

Method to allow pub/sub broker to register the subscriptions in bulk at deploy time using static registration method

IP.com Disclosure Number: IPCOM000199916D
Publication Date: 2010-Sep-21
Document File: 6 page(s) / 144K

Publishing Venue

The IP.com Prior Art Database

Abstract

In a publish/subscribe model if one client wants to register a subscription on a topic, then the client needs to create an associated session and a subscriber on that topic. If the same client is interested in ‘n’ number of ‘unrelated’ topics then the client needs to create ‘n’ number of subscriber instances one by one for each topic.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 46% of the total text.

Page 1 of 6

Method to allow pub/sub broker to register the subscriptions in bulk at deploy time using static registration method

In order to achieve the objective of bulk subscriptions, it is important that we try to make the subscription activity independent of the subscribers being actually available.

That will provide greater flexibility during migration, redo of the subscription activities.

We describe the implementation in the form of following three cases.

Implementation details :

Case 1:

In order to decouple broker and subscriber from the registration step, we can utilize the deploy method of broker to send the registration request at the deploy time.

The WebSphere Message broker currently provides facility to deploy various artifacts like message flows, message sets ,

                  ar files, xsl stylesheets etc. We allow the subscription registration task through this deployment descriptor , which will enable us to send an aggregated request to broker for the set of subscription topics. We can collate all the topics that needs to be registered into an xml file in the following format and validate it against the product xsd file to ensure that all members in the subscription list are valid requests.

< Reg xmlns:xsi =" http://www.w3.org/2001/XMLSchema-instance " xsi:noNamespaceSchemaLocation =" BulkReg.xsd ">

RegSub <

/

j

Command >

…<

           Topic >

…<

/

/

             SubPoint >

<

/

          Filter >

…<

/

             SubName >

…<

/

               SubIdentity >

…<

/

                SubUserData >

…<

/

            RegOpt >

<

/

               QMgrName >

…<

/

QName >

<

/

psc >

<

/

   Subscribe >
< Subscribe id="uniqueID" >

DeRegSub <

/

Command >

          Topic >

<

/

<

/

             SubPoint >

<

/

          Filter >

…<

/

             SubName >

<

/

               SubIdentity >

<

/

SubUserData >

1

Page 2 of 6

<

/

RegOpt >

<

       psc > <

/

/

Subscribe >

<

   SubscribeList > <

/

/

Reg >

Sample XSD to validate the XML is provided here

<xsd:schema xmlns:xsd="http://www.w3.org

/2001

/XMLSchema">

<

/xsd:sequence>

<

/xsd:complexType>

<

/xsd:element>

<

/xsd:sequence>

<

/xsd:complexType>

<

/xsd:element>

<

/xsd:sequence>

<

/xsd:complexType>

<

/xsd:element>

<

/xsd:choice>

<

/xsd:complexType>

<

/xsd:element>

2

Page 3 of 6

<

/xsd:sequence>

<

/xsd:complexType>

<

/xsd:element>

<

/xsd:sequence>

<

/xsd:complexType>

<

/xsd:element>

<

/xsd:schema>

Such topics will need to be anticipated in your business environment. When broker receives such xml file over the deployment operation, it would store it in it registry and would notify the a new component called 'Subscription Analyser'. The subscription analyzer would read the deployed xml file,

            arse it to identify and segregate the individual subscription requests by looking at the

folder . When there are multiple <

p

p

                                      sc> elements under the same Subscribe folder is found , then the flow will interpret it as multiple topic subscription requested by the same subscriber. Finally, these individual requests are put onto the broker's pub-sub queue, SBCQ (SYSTEM.BROKER.CONTROL.QUEUE) for the internal pub-sub control flow to perform the necessary subscript...