New Java environment focuses on up-front modeling
- By Jack Vaughan
When the Java language was introduced in the mid-1990s, many programmers welcomed it as an opportunity to use a platform-independent language. Application development managers welcomed it as well.
The software promised to increase productivity by easing the implementation of object systems. Java perhaps did betoken a stronger use of more manageable components than was often the case in C++. But, as the J2EE component platform has grown from the basic Java language, it has come to be viewed by some application development managers as a productivity drain.
This is the setting for the latest release of Compuware's OptimalJ application development environment, recently updated as Version 2.2. Compuware OptimalJ employs the so-called Model Driven Architecture (MDA) to generate working J2EE code from various descriptions. MDA seeks to improve portability, and cut down development time, by employing design models. Designers and developers can create a Web service using OptimalJ by elevating a generated Session Bean to a Web service.
As a result, OptimalJ will automatically generate a Web Service Definition Language (WSDL) file that other applications can use to invoke the new Web service. For existing Web services, OptimalJ automatically generates the Session Bean code needed to invoke the foreign Web service based on the imported WSDL file.
OptimalJ 2.2 also supports Borland's JBuilder integrated development environment (IDE) in addition to the NetBeans IDE.
Despite its long tools lineage, particularly in 4GLs via its Uniface development environment, Compuware was somewhat late to the Java party. Rather than fight in the runtime arena when OptimalJ came to market in 2001 -- BEA and IBM app servers are widely viewed as holding the lion's share of that market, and useful Java IDEs such as JBuilder and NetBeans were also well established -- Compuware deliberately fashioned its solution -- which deploys to major Java app servers from several vendors -- as a combined design-develop-deploy environment. As the company would have it, OptimalJ can be viewed as a second-generation Java tool. Like recent BEA and Sun releases, there is a major emphasis in this release on easier development of integration-related tasks.
Franco Flore, senior product manager of Compuware's application development and integration products, said Version 2.2 extends the integration capabilities of the product. "And we've used MDA as a way of integrating apps," he noted.
Developers may like to wrestle with problems, but the goal of this software is to render wrestling unnecessary. While the company does aim to impress development managers with this trait, there is still room for developer creativity, Flore indicated.
"We generate an application for you. We try to shield the developer from the complexity of the J2EE program. But rules need to be added and integration points need to be extended," said Flore. "You may need, for example, to add business logic around [an EJB] message bean."
Parts of the code form a guarded block, "but there are free spaces where developers can extend applications if needed," he added.
An important aspect of OptimalJ for developers is in the interaction the software allows between the model and the working code. Developers often muse that the designer's model usually ends up bearing little resemblance to the finished products. As a result, many developers take a jaundiced view of models. With OptimalJ, the model can be a more accurate representation of reality, Flore indicated, as changes in code are reflected back to the model, and vice versa.
For other Programmers Report articles, please go to http://www.adtmag.com/article.asp?id=6265
Jack Vaughan is former Editor-at-Large at Application Development Trends magazine.