Hello, 
I'm developing a JEE application to run on Glassfish: 
Database (javaDB, MS SQL, MySQL or Oracle) 
EJB layer with JPA (Toplink essentials - from Glassfish) for 
database access 
JSF/Icefaces based web UI accessing the EJB layer 
The application will have a lot of concurrent web client, so I want to 
run it on different physical servers and use a load-balancer. My 
problem is now how to keep the applications synchronized. I intend to 
set up multiple servers, each running Glassfish with my EAR app 
installed. Whenever on one of the servers data is added to or removed 
from the database (via JPA, no direct SQL queries), this change should 
be reflected in the JPA layer on the other servers. I've been looking 
around for solutions to this, but couldn't find anything I really like 
(the full Toplink from Oracle claims to have a solution, but don't 
know). Doing a refresh before every access to a JPA entity could work, 
but is far from efficient. 
Are there any patterns, libraries, ... that could help here? 
Thanks a lot!