[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.tools.emf] Re: Attaching cdo adapters takes long time

Guys,

I've created the following bug:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=289371
Provide Dynamic content prefetching mechanism upon CDOResource load

to gather the requirements for this new prefetching mechanism.

From what I understand from Ekke's post, a big chunk of a CDOResource should be gathered upon load to reduce server round-trips while transferring Revision data. Is this right?

My doubt here is how different is that from the already provided prefetching mechanisms. See:

org.eclipse.emf.cdo.view.CDORevisionPrefetchingPolicy
org.eclipse.emf.cdo.session.CDOCollectionLoadingPolicy
org.eclipse.emf.cdo.view.CDOView.Options.getRevisionPrefetchingPolicy()

My initial idea is to provide some custom options that can be passed through:

org.eclipse.emf.ecore.resource.Resource.load(Map<?, ?>)

Please, post your thoughts about this new feature in the bugzilla.

Cheers,
Víctor.


Eike Stepper escribió:
Hi Ekke and Flo,

I understand your need for such prefetching (I think this is the term for what you seem to need). In your case you seem to want to load whole resources in one chunk and that should be possible with comparingly little effort. However, as the responsible for the prosper of an open framework I wonder if the new requirements should be broadened a bit to, e.g., enable the specification of prefetch rules per EClass or so. I'm aware that this is not exactly what you need and maybe it's generally inadequate. At this stage I'd just like to start a requirements discussion ;-)

Cheers
/Eike

----
http://thegordian.blogspot.com



ekke schrieb:
Florian Pirchner schrieb:
Hi Simon,

it would be great if you can tell me where i can find the logic in the cdo server which loads the model and decides what to load / transfer.

So i can write a patch and contribute a solution. Otherwise it is not really possible to use cdo in our project, because we have to reduce the network latency for our encapsulated models.

Thanks, Flo

some additional infos:

We're using EMF to store Business (SWT) Views.
This is done by redView (Riena EMF Dynamic Views for Business Applications)
redView will be open-sourced soon (EPL)


redView supports all SWT Widgets + some Nebula and uses Riena Ridgets with (Eclipse) Databinding

redView contains a WYSIWYG editor to be used from inside IDE
and redView also works from RCP clients where complete business views are rendered dynamically
based from EMF models


Our redView's are deep trees and of course if a user opens a Business View this should be fast ;-)

Flo spent much time to make redView run using CDO and it works great:
some RCP clients have redViews open, then the Business-View-Admin(Designer) does some design-changes
using redView's WYSIWYG editor from inside Eclipse IDE and after saving them to CDO server - the changes
are immediately visible to the users :-)
before using CDO the redViews (XMI) are part of a plug-in and after changing something, the admin
had to update one bundle from OSGI console and to refresh some others to provide the new views -
using CDO this is much easier and an eye-catcher demonstrating this :-)


If all RCP clients are working in a local network then CDO works fast,
but many clients may be working from other cities using high-speed DSL connection -
and in these cases CDO fails :-(
it takes a long long time to open a View. While opening the view we have to iterate over all objects
and this causes much network-traffic and consumes too much time.


Its great that CDO scales with large models, does lazy loading etc. and there are many use-cases where
this works well and perhaps is the main reason to use CDO.


But in our use-cases we have the need to iterate over all objects and we know that our model fits
into memory, because its a single business (SWT) view ;-)


I can imagine that there are many uses-cases where EMF is used with models where these models
have to be completely loaded at once over a network connection. loading step-by-step and only 1-level deep
doesnt work in these cases.


We have to find a soulution to load a model at once from CDO server - otherwise I have to cancel
the use of CDO, because of performance slowdown


so it would be great if Flo can get enough information to know where to patch CDO -
I really like the concepts of CDO and think its not an un-common use-case to need a whole
emf model from CDO server at once


thx for any help

--

ekke (ekkehard gentz)
independent software-architect
senior erp-consultant
eclipse | osgi | equinox | mdsd | oaw | emf | uml
max-josefs-platz 30, D-83022 rosenheim, germany
mailto:ekke@xxxxxxxxxxxxxxxx
homepage (de): http://gentz-software.de
blog (en): http://ekkes-corner.org
twitter: @ekkescorner
skype: ekkes-corner
Steuer-Nr: 156/220/30931 FA Rosenheim, UST-ID: DE189929490