> Do any of the EJB servers out there support "eventing" back down to the client.
We are using Ejipt (a part of Allaire's JRun now) & the JMS server and are
very satisfied, but any vendor with a JMS server component should do.
> For instance if a client application had a grid displayed with x rows of data,
> maybe each being an EJB object, or the grid as a whole was an EJB object, is
> there any way to "register an interest" on any updates to the underlying data,
> i.e. when another process updates the data, we want to know about it, and keep
> the data shown in-sync for all clients. Would this functionality have to be
> hand-coded, or is there support in any commercially available EJB servers??
You would have to publish a message from inside your Entity bean (or
in your session bean updates if you don't do entity beans). And your client
code would have to register it's interest in specific topics/messages. Also,
if your underlying datastore can be updated outside your architecture, you
have other things to worry about.
I don't know of any application servers that automatically produce JMS
messages on standard EJB events (e.g. committing transactions, loading,
storing, creating, removing) but that might be a cool feature.
-----
Brief, rough description of our architecture as it pertains to this:
-----
Our gui components make requests through a proxy layer that
insulates the gui from the server completely and keeps a cache
of all detail objects retrieved from the server (Our detail objects
are the client side representation of domain objects).
The proxy object goes through session beans which do the right
thing (either direct JDBC for read-only lists or find operations
on entity beans for single item access or updates) and return
individual detail objects or collections of them.
We have a dispatcher entity bean that has a topic name as it's
primary key. Other domain objects (entity beans in our case) find
the appropriate dispatcher entity bean (by topic name) and send
an add/update/remove events to it which then publishes it as JMS
messages.
Meanwhile on the client, our proxy object also has a connector to the
JMS server and listens for events (JMS messages). The proxy then
updates it's local cache of detail objects and notifies any gui components
that have registered themselves as listeners.
The gui components can then update themselves as needed when they
received cacheListener events (add/update/remove kind of events).
Doug
--
Douglas W Sjoquist
[EMAIL PROTECTED]
http://www.sunetos.com
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".