hi Lofi,
Hard to tell, we need Matthias to come back from holiday, after that he
will have to evaluate the current status and we will discuss how to
move onto the next milestone.
My guess is that since the OCL translation is ready to be included with
the next release we are going to move quickly, but an estimate on when
is impossible because of what I just explained.
All the rest of changes are minor compared to that one, bugfixes and
enhancements.
Moving from 2.x to 3.x is a must, especially for cartridge developers.
Again, I cannot estimate the amount of trouble it will cause at your
side, but I can explain the changes involved:
AndroMDA 2.x
|
AndroMDA 3.x
|
CartridgeHelper class: contains most of the
logic to provide features to to the template objects. One class
containing all the logic.
|
You will need to model your cartridge in UML,
for each modeled object there will be a facade generated that can
render services, it will be like each UML element exposed in the
templates is intelligent. You can call platform specific methods on the
objects, you might consider these facades to be the PSM elements that
have been generated from the PIM. Anyway, no more cartridge helper
classes.
|
|
Supports translation of OCL into Java code in
the facades, this code will check the pre/post conditions and
invariants on all cartridge facades.
|
|
Supports translation of OCL into EJB-QL and
Hibernate-QL, very handy to express your finder methods in the UML and
remaining on the PIM level
|
Uses velocity as templating engine
|
Supports any template engine. Integration is
very simple do.
|
Supports Netbeans MDR
|
Will support more metadata repositories in the
future.
|
XMI 1.1,1.2
|
XMI 1.1,1.2
|
UML 1.4
|
UML 1.4, UML 1.3 is planned, UML 2.0 is planned
|
|
QVT is planned
|
|
Future cartridges will probably not be
compatible with earlier versions, but it depends. Currently under
development (but no commitment): WebServices, WebWork, .Net, ...
(people please do not ask for the binaries, they will be committed when
they're done)
|
|
|
so basically point #1 is the one you are interested in, but all the
others will affect your development too and will make it easier to
complete the development.
- you will need to use the andromda-meta cartridge to model your
cartridge in UML, with each PSM level element + the services it provides
- have andromda generate the facades from it
- implement the services in these facades
- use these object in your templates, your templates will almost
read like English when your finished
this is roughly what you need to do, it took me 2 months to complete
the first AndroMDA 3.x compliant bpm4struts cartridge, but this
includes actual changes to AndroMDA 3.x itself too, and the learning
curve to get in deep with XMI (JMI API) .. depending on the complexity
of your cartridge this may vary.
I am very busy lately (next 6 weeks) but you can always post your
questions and see what I can do.
good luck
-- Wouter
Lofi Dewanto wrote:
Hi Community,
I would like to know, whether it will be a new version
M02 in couple of weeks or so? Or in general, is the 3.x already
stable for a cartridge development? As I see that the development
is getting faster and faster :-)
In the meantime I managed to extend my EnhydraXMLC (presentation
layer) cartridge, so it also has a TreeNavigator, Perspective, etc.
and before I'm just too far from the 3.x (I still use 2.x), I think I
should see the 3.x :-)
Can someone from the team tell me, how much trouble is that to upgrade
from 2.x to 3.x (cartridge development)?
Thank you!
|