Have you considered the use of JavaSpaces ?

JavaSpaces is a distributed shared memory service that can be used for
sharing and exchanging information between distributed entities.
It actually virtualizes the access for the underling store mechanism which
can be an In memory space , JDBC persistent space etc.
The api is very simple it contains 3 main api with different combinations of
those api's. Those api's let you write , read or take information from the
space.
Since it provides an object level interface it can store any object within
the space ( it uses a simple mapping mechanism for storing the object in
RDBMS ).

We enhanced this technology to do exactly what you had described in you
email.
You could use an in memory space in each of your nodes and access via local
calls. A replication service peeks up the updates on each of the nodes and
replicate them to the other space peers with in the network. You could
specify different policies, filters for replications etc.

If you do not wish to use the space api directly we provide a distributed
collection framework which simply provides you with an interface of a list ,
hash or set. This collections are shared and uses the space as their
underling sharing mechanism. In this way you could maintain a collection of
object in your application which will be synchronized and shared with your
other node in a transparent manner.

If you are not familiar with this technology I would suggest that you would
refer to the sun JINI home page www.sun.com/JINI or www.jini.org.
You could alternatively use our implementation www.gigasaces.com. Since it
provides a simple installation, reach examples and documentation often users
find it easier to learn about the technology using our implementation.

If hope this helped.

Regards
Nati S.




-----Original Message-----
From: A mailing list for Enterprise JavaBeans development
[mailto:[EMAIL PROTECTED]]On Behalf Of Jason Carreira
Sent: Monday, January 28, 2002 9:37 PM
To: [EMAIL PROTECTED]
Subject: Re: How to share data between clients?

> -----Original Message-----
> From: Anatole Kulick [mailto:[EMAIL PROTECTED]]
>
> Hi Prasad,
>
> Obviously you can save this info in DB, but it is overkill,
> especially if
> info is temporary. Maybe I have to change topic to: " How to share
> temporary, continuously changing data between  clients in EJB's?"
>
> Anatole
>
> >

Then it's really a question of how the data is used. If it needs to be used
across a cluster, then you need a coherent cache, like Tangosol has been
touting these last couple of weeks. If it's just some local cached data that
doesn't need to be shared and synchronized across a cluster, then there's
another idea I've been playing with: an in memory database. You could use
hsql (formerly Hypersonic SQL) in its in-memory only version with a
connection pool managed by the app server. Then you could save temporary
data in a SQL compliant very-fast in-memory store, and retrieve it anywhere
you want. If you wanted to get fancy, you might even have Entity EJBs mapped
to the in-memory database, although that's probably overkill for almost any
situation.

Later,

Jason

=========================
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".

===========================================================================
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".

Reply via email to