The list of commercially available MDA-compliant tools is a short but growing list. Two of the market leaders are OptimalJ from Compuware Corporation and ArcStyler from Interactive Objects Software. Both products are sophisticated, enterprise-level MDA offerings pursuing the MDA vision for the next generation of software development tools.
A trial version of OptimalJ Professional Edition is available from the Compuware Web site at http://www.compuware.com. A community edition of ArcStyler can be downloaded from http://www.io-software.com.
Although both tools support platforms other than J2EE, it is interesting that both have a Java bias. This is a common trend: Java is supported by more code generators than any other language. It would be nice to believe this fact is a result of the willingness of the Java community to embrace cutting-edge software engineering methods, though skeptics might argue it is a sign of serious shortcomings in both Java and J2EE.
In keeping with the stated preference for using software that is freely available to demonstrate the concepts discussed within this book, we use the services of an open source MDA tool.
It is perhaps an indication of the growing acceptance of the viability of MDA that an open source MDA product has emerged. AndroMDA, pronounced Andromeda, is the product of considerable hard work by its founder, Matthias Bohlen, and his dedicated team of contributors.
Matthias's first release of the tool went under the name of UML2EJB and focused on generating EJB from UML models. The success of the tool prompted a widening of scope, and the development team moved away from pure EJB generation toward an MDA-compliant tool. The result of their efforts was a revamped UML2EJB, subsequently renamed AndroMDA to reflect its MDA approach.
AndroMDA is freely available for download from the product's Web site: http://www.andromda.org. Full instructions for installing and running AndroMDA come with the software.
The AndroMDA distribution also includes a complete example that can be deployed into the JBoss application server. Rather than walk through a similar example, we look under the hood of AndroMDA to see how the product transforms models into code. This information will help familiarize you with the product and provide an insight into how AndoMDA can be customized to perform your own PIM-to-PSM mappings.