ObjectWeb Consortium
Search ObjectWeb Mail Archive: 

Advanced Search - Powered by Google


Mail Archive Home | enhydra List | January 2006 Index

<--  Date Index  --> <--  Thread Index  -->

MDA for Enhydra


Hi Alfred,

<quote>
UML currently does not have enough semantic elements for completely
describing a physical relational data structure with all its aspects
like keys, (clustered/unique) indizes, and all the necessary additional
information for mapping these structures to generated Java and SQL code.
We also investigated lots of things in the area of CWMI, MOF, Eclipse
projects for modelling, etc. but had no success to find something
appropriate to build upon.
</quote>

UML supports Stereotypes and Tagged Values for extension and you
can use OCL (Constraints) to validate your model. All of these
are supported by AndroMDA. Just take a look at Spring or Hibernate
Cartridge of AndroMDA, you'll surprise what you can do with UML ;-)

<quote>
DODS is mapping "relations to objects" (and not "objects to relations"
like all the other tools)...starting from a (hopefully) perfect and
performant physical database design and simply mapping every table to a
set of Java classes.
In our view this is the only task a mapping generator/runtime has to
fulfill and starting from bottom upwards in this area (at some point in
time of a project and of course after lots of basic analysis work...) is
the only chance to get results that perform and scale well. I could not
think of another approach for that for e.g. our workflow engine "Shark"
(which uses DODS) to handle more than 400 transactions per second and
more than 2 million process instances per day in an installation we
currently have...
</quote>

OK, this is surely another method of application development.
But anyway, the concept is the same (very simplified, I don't know the
detail of newer DODS since I used it a long time ago...):

DOML (XML) file -> generates Java, SQL scripts, XMI, PDF, etc.

DOML schema, which you plan to rework, is nothing else than a "language"
(also known as DSL, Domain Specific Language) to describe DODS use.
I call this DOML schema as a "language" named as "DODS-Language"
(DODS-L) in this thread, OK? ;-)

There are 3 things I want to explain here:

---

I) How can Enhydra team create DODS-L (the DOML schema file)?

1) After the MDA principle, you have options to create your "own"
language and you don't need to use UML for this purpose, so it's
acceptable to create DODS-L completely out of UML. Important is that you
use MOF (Meta Object Facility, a language to create a language,
therefore MOF stays in Meta-Meta Model, M3 layer in MOF architecture) to
describe DODS-L.

Check this article:
http://eleed.campussource.de/archive/1/81/
-> Figure 3 - MOF Four Layer Architecture

So in this case we will see:
UML, CWM and DODS-L (M2 layer in MOF architecture) are examples of
languages which are defined by MOF.

So, theoretically you can define DODS-L with the help of MOF.
- Advantages: standard, reuse all the mappings from
  MOF to other technologies such as XMI, JMI, CORBA IDL, ...
- Disadvantage against directly using UML to define DODS-L:
  you mostly cannot reuse available UML modelling tools directly.
  A workaround: you can use this UML2MOF tool + a MOF-Profile to
  transform your UML model to MOF model:
  http://mdr.netbeans.org/uml2mof/

This disadvantage makes me think twice before I create DODS-L
with the help of MOF. I need a better and more pragmatic way...

2) What about directly using UML + the extension mechanism of UML
(UML profile) to design and create the DODS-L?

I can use UML to create DOML Schema (DODS-L) like what these
articles said:
Part I: http://www-128.ibm.com/developerworks/xml/library/x-wxxm23/
Part II: http://www-128.ibm.com/developerworks/library/x-wxxm24/

AndroMDA also offers a XML Schema cartridge for this purpose
(generating XML Schema from a UML model):
http://www.andromda.org/andromda-xmlschema-cartridge/index.html

So, with the second way, Enhydra team can design and create the DODS-L
(DOML Schema) very easy:
- Use UML to design DODS-L using available UML editors like ArgoUML.
- Generate the correspondent XML Schema (DOML Schema) automatically.

Based on this generated XML Schema (DOML Schema) users of DODS can
describe their DOML file.

---

II) How can Enhydra users create their DOML file using DODS-L (based on
the DOML Schema, created in the first question)?

1) Create by hand using XML editor and validated against the DOML schema
above.

2) Use the available graphical editor from DODS for creating the
instance of DOML Schema == DOML file (like today). This tool can use the
DOML schema above to validate the DOML file.

---

III) Another approach for creating the DOML file for Enhydra users:

Create a new AndroMDA cartridge for DODS. This cartridge will allow
you to design your application with UML + UML profile and generate the
DOML file automatically (transformation from UML class model to DOML
file, for example) just like what Hibernate cartridge has done for
Hibernate OR/Mapping. Using this approach you can omit the creation of
DOML Schema since you define your language, the DODS-L, directly within
the extension of UML metamodel for the cartridge. Check the creation of
XMLC cartridge for more info...

This approach has a lot of advantages:
- No need to define your own graphical editor, just use UML editor.
- No need to build XML schema (DOML schema) to validate since the
  cartridge will validate the model.
- You can completely build an Enhydra application based on UML which
  is familiar to many application developers today.

Disadvantages:
- You have to use UML editor for creating the application.

---

Surely, Enhydra team can offer both possibilities just what Hibernate +
AndroMDA Hibernate cartridge have done. The Hibernate team who created
Hibernate has nothing to do with the AndroMDA team who created the
Hibernate cartridge. I think it will be very cool for Enhydra users,
since they can choose between the "classic-style" (using graphical editor for DODS, XML schema) and "model-driven" (using UML and AndroMDA
cartridge) development for XMLC and DODS...

So, I hope I can be a bit clearer and sorry for a VERY long email...
hope not to bored you :-)

<quote>
By the way: Wouldnt it be nice to merge the EJOSA homepage into
www.enhydra.org ?
</quote>

Yes, of course, EJOSA is based on Enhydra/Enhydra Enterprise anyway.
So, if Enhydra will support Geronimo, JOnAS, etc. EJOSA will follow ;-)

Greets,
--
---------------------------------------------------
Blasius Lofi Dewanto
---------------------------------------------------
OpenUSS - Open University Support System
http://openuss.sourceforge.net
---------------------------------------------------
E-Mail   : dewanto@xxxxxxxxxxxxxxx
---------------------------------------------------




<--  Date Index  --> <--  Thread Index  -->

Reply via email to:

Powered by MHonArc.

Copyright © 1999-2005, ObjectWeb Consortium | contact | webmaster.