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