Mail Archive Home | enhydra List | January 2006 Index
| <-- Date Index --> | <-- Thread Index --> |
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 --> |
Powered by MHonArc.
Copyright © 1999-2005, ObjectWeb Consortium | contact | webmaster.