[
http://opensource.atlassian.com/projects/hibernate/browse/EJB-255?page=co...
]
Andy DePue commented on EJB-255:
--------------------------------
Another approach to think about is to put an embedded DB on the client side and do some
kind of synchronization between the client DB and the server DB, which would have several
benefits: the client hits a local DB, saving tremendous network bandwidth, and load on the
backend DB. Also, and this is the biggest thing for us, the client would easily get
offline mode support. Hibernate provides some basic support for building a DB agnostic
replication system, but one still must do a lot of work to support something of this
nature (at least, the last time I checked). Of course, one could do replication at the DB
level, but this currently requires a commercial DB solution (I'm not aware of any good
open source DBs that can be a good enterprise level DB on the backend and replicate to a
smaller DB on the client). Being able to package up deltas at transaction boundaries and
queue them to be transmitted to the client/server would be huge. We have done some
replication using Hibernate, but we currently waste a lot of bandwidth serializing the
objects themselves. Maybe the XML output feature of Hibernate provides a solution here?
I haven't looked into it yet. I've thought it would be better if we could
serialized the dehydrated form (because in this form you don't need to serialize
unchanged but referenced objects), or ever better, serialize only the fields that have
changed. If supporting offline mode, conflict resolution on the server side (rather than
optimistic locking alone) would be desirable as well. The other thing one must support in
this scenario is only replicating data that the client is authorized to see (never
allowing sensitive data to leave the server to unauthorized parties).
Remoting capabilities
---------------------
Key: EJB-255
URL:
http://opensource.atlassian.com/projects/hibernate/browse/EJB-255
Project: Hibernate Entity Manager
Type: New Feature
Reporter: Dimitry Voytenko
I came across Kodo's implementation of remote persistent managers for both JPA and
JDO:
http://www.solarmetric.com/Software/Documentation/3.2.0RC2/docs/ref_guide...
http://www.solarmetric.com/Software/Documentation/3.2.0RC2/docs/ref_guide...
The solution looks pretty ellegant. The main idea behind it is that server and client
communicate b/w each other using object graphs (no proxies and no object serialization
required) and thus working with JDO/JPA objects on client looks exactly the same as on the
server, removing necessity of DTO objects in the majority of cases.
Have you ever thought about including similar functionality for Hibernate? I do believe
it could be a great peformance booster for many types of applications.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira