[Ace-users] Best of Breed TAO Notification Service Usage for
rrr6399 at futuretek.com
Sun Aug 12 14:24:50 CDT 2007
I've been using TAO's Notification service for the classic pub/sub
problem (publisher pushes events to all subscribers) with great success.
(Thanks for the great capability!) I've also been thinking about how one
might use it for P2P communication (similar to JMS's P2P capability)
where the publisher only wants the event to go to one subscriber. I
don't want to rely on the subscribers to be trusted to change their
filters to only listen to event that belong to them.
This would be the use case:
1.) The client of a service starts a transaction with a service by
requesting a new transaction (possibly on a publicly available
new-service-request "factory" channel).
2.) The service sends the sensitive replies to the requesting client,
but may also send data to consumers (say a logging consumer) interested
in generally useful data events.
Looking at examples in books like "Enterprise Integration Patterns", it
appears that a new temporary "private" channel needs to be setup between
the client and the service say with a subscriber limit of 1 (to make
sure a malicious consumer didn't subscribe to that channel). So either
the client or the service (probably) would create this channel and then
tell the other to subscribe to it. Then the channel would be destroyed
once the client disconnected. It'd be up to the service to send the
client-only data to one channel and generally useful data to the more
permanent generally-useful-data channel.
Is this the typical way of carrying out these types of transactions
using a pure notification-service-based approach or is there some more
elegant or preferred way of doing this? (In the past, I've mixed the
event service with a standard CORBA RPC approach, but wanted to see what
it'd take to use only one approach this time.)
More information about the Ace-users