[hibernate-issues] [Hibernate-JIRA] Commented: (EJB-255) Remoting capabilities

Andy DePue (JIRA) noreply at atlassian.com
Thu Dec 28 16:52:44 EST 2006


    [ http://opensource.atlassian.com/projects/hibernate/browse/EJB-255?page=comments#action_25734 ] 

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_remote.html
> http://www.solarmetric.com/Software/Documentation/3.2.0RC2/docs/ref_guide_remotepm.html
> 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.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira





More information about the hibernate-issues mailing list