News: Sun Embraces UML Modeling for Java
Sun execs tell IDN that their next version of Java Studio Enterprise (version 7) tools will include native UML support, as well as a group of "blueprints" for how best to use models as part of Java development. Sun's support for UML will also extend to the next version of the NetBeans Open Source IDE for Java, execs said.
- Posted by: tom donohue
- Posted on: November 22 2004 14:42 EST
What "blueprints" would you like to see?
Read more: Sun Embraces UML Modeling for Java
- Hmm by Stepan Samarin on November 24 2004 13:35 EST
- MDR support? by Rudie Ekkelenkamp on November 24 2004 17:19 EST
- Modeling Tools for 2005 by Gary Struthers on November 24 2004 17:22 EST
- UML + MDA to go! by Lofi Dewanto on November 25 2004 14:47 EST
Well, ok, one more modeling tool, no problem. IMO, it'd be hard to compete with Together CC(I believe it's number 1 in the world of UML modeling).
I don't really understand what is meant by "blueprints". We already have zillions of patterns out there, what kind of blueprints they are talking about? Best ways of building J2EE stacks?
Presumably they are the same blueprints that have been a part of J2EE for several years.
I think This is very useful to beginners, and believe, there is a lot of people always searching for blueprints and asking about blueprints.
I would be interested to know if the UML support will be based on the Meta Data Repository (since this is used by Netbeans). And wich UML metamodel will be supported (UML1.4?).
Class diagrams of J2EE Blueprints, if that’s what they mean is a tiny step considering Anrdomda already has open source transforms to generate EJB’s from UML.
Sun should be making announcements about Query View Transformations and annotation support for round trip modeling. Bill Gates says Microsoft is “putting an immense amount into” model driven software so I can expect to create models that will generate .Net code. What’s needed now is a QVT spec with tool support.
What’s needed now is a QVT spec with tool support.
... but Sun cannot provide a QVT specification, since the specification process is controlled by the OMG. At most they can provide a proposal for that specification and submit it to the OMG.
IMO, UML (especially in combination with MDA) is very useful and important. The problem with many developers is that they think that they need to use every single diagrams in UML. Folks, just KISS and don't use everything ;) Use what you need to use.
Many developers think, if they use UML, it is one huge step somewhere. Nope. UML diagrams will be saved on XMI file and:
XMI file == XML file
What does this means to you as developers?
1. You all already know about XML, nothing new, nothing special.
2. You can transform XML to another XML (Remember XSLT?)! And this is very important! Imagine you describe a "Person" with all its properties in a XML file. You can transform it into many different stuffs:
- Person.java with all its setXXX and getXXX.
- Generate all the EJBHome and EJBObject files for EJB.
- Generate all the other XML files (Deployment Descriptors) for Web Service, EJB, whatsoever.
This is very powerful!
-> You describe your software in one standardized file.
-> You can transform/generate many things out of it.
-> UML + MDA tools!
So, for all of you who think that UML + MDA are not for you, try EJOSA:
Use AndroMDA within your Enterprise (Open Source) Applications:
Information how you can integrate your model into your compile-build development cycle:
Read the full documentation of EJOSA: http://prdownloads.sourceforge.net/ejosa/ejosa-revo2.2-doc.pdf?download
-> Check out the very simple example of how UML + MDA can help you to be more productive (included in EJOSA download "dev-converter").
Check this discussion about MDA (also why AndroMDA is the best, IMO): http://www.theserverside.com/news/thread.tss?thread_id=26853
So, it's a very wise step for Sun to move forward to UML (and MDA)! At the end, I would like to see the JCP will go for this way:
At the moment for a JSR, you need:
1. API (Specification).
2. Reference Implementation of that API.
3. TCK (Test Compatibility Kit).
+ What I really love to see:
4. Standardized UML Profile with its AndroMDA Cartridge.
Why? It makes us developers a lot more easier if we have to upgrade! Imagine the ugrade from EJB 2.1 to 3.0:
- If you use UML + standardized UML Profile for EJB and AndroMDA Cartridge, you only need to regenerate your codes (EJB 3.0 uses attributes instead of those EJBObject, etc. but who cares?). The whole "logic" stays the same: a Person in EJB 2.1 is still a Person in EJB 3.0, correct? So, JSR must always include a standardized UML Profile (DSL) for that area and an AndroMDA cartridge to generate the codes, we need! Can you imagine, how nice our work ("application developers") would be? :-)
So, go for it Sun! Use UML + AndroMDA Cartridge!
I use AndroMDA as well. AndroMDA cartridges are meant to be interim solutions for model transformation that will eventually be replaced by QVT. OMG is expected to release QVT in the next few months and if it’s not a disappointment, it will become the standard.
I can imagine AndroMDA cartridges peacefully coexisting with QVT but I hope Sun will be ready for the QVT release and roll out transformations for J2EE components.
Using QVT is of course the best way, since it's standardized. What I don't like to hear is that if someone says: "Ahh... wait a bit we need to wait until QVT is becoming stable...". How long should we wait? 1 year, 2 years, 3 years?
My answer: nope. Go now and use AndroMDA! At the end I (as application developer) don't care about in what "language" (AndroMDA, QVT, ...) the cartridges will be done. I only want use them. The JSR should provide us with these cartridges... :-)
Hi Gary,Using QVT is of course the best way, since it's standardized. What I don't like to hear is that if someone says: "Ahh... wait a bit we need to wait until QVT is becoming stable...". How long should we wait? 1 year, 2 years, 3 years? My answer: nope. Go now and use AndroMDA! At the end I (as application developer) don't care about in what "language" (AndroMDA, QVT, ...) the cartridges will be done. I only want use them. The JSR should provide us with these cartridges... :-)Cheers,Lofi.
I cannat agree more (regarding QVT)!!!
QVT isn't even in sight. There has been a request for proposal back in 2003, but I have not seen anything since then (besides the proposal of the QVT partner group). Taking into account how long the OMG took to adopt UML 2.0 (b.t.w. is the task finalization force already done with it ...?), we cannot expect QVT to become a standard in the next view years!
Of course, it is not the only open source / freeware solution in the fields of model driven software development. There are also the Open ArchitecturewWre Framework (looked at it, tried it out, works very well), and iQgen from a company called innoQ (haven't tried it yet).
I don't want to judge or compare any of the tools/frameworks mentioned here (i.e. AndroMDA ,oAW, iQGen), since I only worked with oAW intensively, just had a "quick look" at AndroMDA, and only read the iQGen docs. Maybe someone has worked with them in real life projects and can give a comparision (pro/cons) of these (or other) tools.
The oAW Framework ist available at http://sourceforge.net/projects/architecturware/
The iQgen Generator is available at http://www.innoq.com/iqgen/
agree with you too! :-)
I have a student working on a comparison (different aspects) of all Open Source MDA tools at the moment... Hope to get the result in the beginning of next year...
BTW.: http://www.innoq.com/iqgen is *not* an Open Source project :-)