|
Re: [EMFStore] Updating the model on the server side based on clients modifications [message #1015927 is a reply to message #1015831] |
Mon, 04 March 2013 09:41 |
Maximilian Koegel Messages: 253 Registered: July 2009 |
Senior Member |
|
|
Hi,
EMFStore records the notifications on the client-side as so-called
operations. An operation can describe the result of several
notifications and is considered an atomic change. For example deleting
an EObject including all its cross-references to remaining EObjects is
an operation.
EMFStore stores the operations on the client side until a commit is
requested. On commit the operations are send to the server and used for
conflict detection (detecting overlapping changes) and for
synchronization of the model/graph on the server and other clients.
Maybe it makes sense for you to reuse EMFStore or parts of EMFStore.
Hope this helps, let me know if you have more questions!
Cheers,
Maximilian
Am 03.03.2013 13:31, schrieb Junior Lekane Nimpa:
> Hello everyone,
>
> I am trying to develop a library for Ecore models. To persist the
> models, I use a graph database that is stored on a Rexster server. As
> far as I know, the server supports multiple user access. I am looking
> for efficient ways to update the models on the server side based on the
> clients modifications.
>
> I watched the video on the homepage of EMFStore. It seems that the
> models on the server are updated after each modification of clients. I
> would like to know how this is achieved. I know that EMF supports
> notifications. So, I could register Adapter and listen to changes.But
> this could be ineffective in my opinion because notifications must first
> be sent over the network. In addition, a notification is sent for each
> modification on the model. When we know consider the fact that sereval
> users can work on the same model, reacting directly on the notification
> could lead to inconsistency.
> Another possibility that I am considering is to override the
> hashCode()-method. After a client has committed his changes, I could
> compute the hash of all EObjects of a model and compared them with the
> hash of objects that are stored in the library. Based on the differences
> I could update the graph. One disadvantage of this approach is that I
> won't know which property of an object was changed. I would have to do a
> whole comparison. The last possibility is brute force, which I want to
> avoid.
>
> Could someone (in the EMFStore team) tell me how I could update the
> server models?
> Any idea is welcome.
> Many thanks
> Junior
--
Maximilian Kögel
Get Professional Eclipse Support: http://eclipsesource.com/munich
|
|
|
Powered by
FUDForum. Page generated in 0.03798 seconds