OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

wsn message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: New issue: Identifying a registered publisher


We've just identified a problem in application pattern for registering
publishers that means it is difficult/impossible to reliably implement the
intended behaviour;

Consider a simple JAX-RPC application that does not expose a web service
endpoint and wishes to insert notification messages into a
NotificationBroker that requires registration.
The application calls RegisterPublisher passing in the list of topics they
wish to publish on, with demandBased=false and does not specify a
ProducerReference since it is not a web service. The
RegisterPublisherResponse then returns the app an EPR to the
PublisherRegistrationManager containing the registrationID in the reference

The problem comes when the application issues a Notify operation against
the NB - at no point do we state in the specs how the application
identifies itself as having registered as part of the Notify operation,
which makes it impossible to enforce 'requiresRegistration'.

We can't tell the application to put the returned EPR in the header of the
Notify message since this will result in the Notify operation being called
against the PRM. Another option might be for the application to provide the
returned EPR as the ProducerReference of the Notify operation, however this
doesn't get the WS-A information into the SOAP header where it can be acted
upon (for example where the WS-A header might have a reference property
that is read by a proxy to route the request to a particular server).

I would like to propose the following solution;
Modify the RegisterPublisherResponse so that 2 EPRs are returned - the
first one as we have today, and the second an EPR to the NotificationBroker
(or NC aspect of the NB if we prefer) with which the publisher has been
registered. This second EPR must then be provided in the header of any
Notify operation related to that registration. The second EPR is optional
if the RegisterPublisher operation specifies demandBased=true since a
demand based publisher does not drive the Notify operation.

This seems to solve the two problems with the other options I discussed
above - summarized by;
* Identifying the publisher as having registered when they Notify
* Getting the EPR into the header where the WS-A information can be acted



Matt Roberts
IBM WebSphere Messaging Design and Development
Hursley Park, England. +44 1962 815444
MP 211 / DE3H22

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]