I have written a subscription manager for savan C implementation. According to the Ws eventing specification the subscription clients subscribe for a eventing topic which is a web service hosted somewhere. It can handle it’s own subscriptions or it can delegate the subscription management to another web service(subscription manager service).
In implementing this I used the following technique. If the subscription manager service and topic service reside in the same axis2c engine container then when a subscription is received to the topic service, the subscriber list of the subscription manager is updated by simply getting the subsription manager service from the configuration context by name. If the subscription service and topic service reside in two differnt axis2c engine instances then use soap to communicate between them through tcp transport.
I initially thought that whether the topic service and subscription manager service reside in the same engine or not should be transparent when I doing the coding, by using an internal transport(yet to be developed) . If the two serivce are in the same service container then it should automatically infer to use internal transport instead of tcp. But since I have the subscriber list as a service parameter value I could be content with the previous techinique I explained.
My subscription manager support following functions