Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jwt-dev] Feedback on GMF analysis

Dear all,

I would like to share my "personnal" vision on our study of GMF technology and 
its relevance in the case of the JWT project (and its extension).

My opinion is the following (to be short):

- EMF is quite mature and is fine to be used. But it is definitely the core of 
a GMF designer. In the case of JWT, the fact that the meta-model is UML-AD 
based, may lead to some problems for the implementation of a BPMN extension 
(as we have seen with the And/Xor stuff).

- GMF Runtime is also quite mature now. The problem I personnaly found is with 
the GMF tooling which is quite buggy and not as user-friendly as I would like 
it to be. GMF is quite complex. The learning curve seems to be quite huge (as 
it is based on GEF, which itself is based on JFace/SWT and Eclipse/PDE, 
Eclipse/JDT, and so on ;-)).

- GMF is based on models extensively. In particular, it imposes a clear 
separation between the business model (BPMN or UML-AD) and its graphical 
representation. This leads to a better overall design. For example, location 
of elements is stored separetely from elements themselves. We have seen in 
JWT that we are facing similar problems when considering swimlanes.

- GMF makes generic/extensible designers irrelevant somewhat since it has been 
specifically design to ease the making of specific  designers. I mean, if you 
need a new designer, GMF makes it "easy" to create a new specific one from 
scratch. Therefore making a GMF designer extensible/generic may sound strange 
in this context. 

- GMF provides from scratch many cool stuff (ArrangeAll, Print Preview, Snap 
to Grid, Snap to Object, Cut/Paste, Undo, and so on). Those stuff must be 
provided by JWT, at least.


Conclusion: IMHO, there is no equivalent AFAIK, of GMF/Eclipse. Therefore, 
whenever you need a designer (such as JWT), your single option is making one 
from scratch (or using some API that may help a bit). In that case, you are 
free to use the technology you want, and in particular, web ones. But unless 
you need also an IDE (as it is the case with the Bonita designer, designing a 
Business Process also involve coding in Java), Eclipse is a must. In that 
case, the trend is definitely towards GMF-based specific designers. I 
personnaly find that GMF has a lot of weak points (in particular the tooling 
which is both buggy and undocumented) but there is no equivalent currently 
AFAIK.

Finally, considering JWT, since its purpose is to provide an extensible 
designer, it is quite fine to make it using GEF only (and not GMF). On the 
other side, JWT will have to provide much more features in order to get a 
benefit extending it instead of creating an ad-hoc  GMF-based designer from 
scratch.

Regards.
-- 
Pierre Vignéras
Bull, Architect of an Open World TM
*BPM Team*, Bull R&D
1, rue de Provence
38130 Echirolles (France)
Direct Line: +33-4-76-29-74-06

*Orchestra*, The BPEL open source project: http://orchestra.ow2.org
*Bonita*, The XPDL open source project: http://bonita.ow2.org


Back to the top