In-Depth

Kicking the Tires on Compuware OptimalJ

Why Compuware’s application-lifecycle toolset helps set it apart from competitors

One of Compuware’s most prominent product lines is its software development lifecycle (SDL) practice. Compuware’s SDL offerings collectively comprise one of Compuware’s most bankable product lines, too.

There’s a reason for that, says Wayne Kernochan, an analyst with consultancy Illuminata Inc.: managing the software development lifecycle is a misleadingly complex enterprise—so much so, Kernochan argues, that it amounts to what some project managers call an "inherently complex" problem.

Few applications conform to the lifecycle template—requirements analysis, design, coding, testing, deployment, runtime, and sunsetting—that enterprise IT organizations have scripted out for them. This is particularly true in the case of Java and J2EE applications, Kernochan observes, and it’s one reason why Compuware’s SDL toolset has proven to be a popular offering for J2EE lifecycle management.

"Java development is usually complex and difficult—one study quoted by Compuware suggests that 70 percent of today’s enterprise Java applications development efforts fail; my research suggests that large Java development projects can take 40 percent longer—start to finish—than need be," he indicates, pointing to Java’s complicated Web architecture (populated with interdependent Java Server Pages (JSP), Enterprise Java Beans (EJB), client code, servlets, and back-end databases and middleware) as the main source of complexity:

"The trick is to use tools that recognize and deal with the sources of that complexity—for example, standards to provide a common programming ‘template’ where appropriate, and design tools to break apart complex problems into smaller, more manageable, more standardized segments at the start."

It’s in this respect, Kernochan argues, that Compuware’s OptimalJ has an excellent story to tell. OptimalJ is a model-driven, pattern-based (MDPB) tool that provides complete out-of-the-box support for the Object Management Group’s Model-Driven Architecture (MDA). MDPBs by themselves are promising tools, at least from an SDL perspective, Kernochan says.

"These [tools] improve speed-to-value, not in the case where higher-level class libraries and tools can eliminate complexity, but in the case where they cannot," he writes. "Moreover, MDPBs improve application quality by constraining the programmer within the structure of the design, which has deep [architectural] knowledge built in."

With respect to OptimalJ specifically, Kernochan says, it’s a flexible solution that adheres to J2EE standards and so gives users an option to work with all major J2EE development tools and components. More to the point, he argues, OptimalJ is both a distributed- and a mainframe-friendly play. "OptimalJ straddles the mainframe and Linux/Unix worlds, with support for existing/legacy CICS and MQSeries—via integration with WebSphere MQ—applications," Kernochan writes.

OptimalJ also supports the OASIS Web Services-Security (WSS) standard, along with other Web services standards, which make it an SOA-ready play, too. It also gives users options over and beyond those marketed by other prominent vendors, Kernochan says. "OptimalJ can integrate existing Java applications with new ones … and can optimize Java code via the OptimalJ Package Structure Analysis (PSA) tool. In other words, while an IBM Rational may lean towards IBM design tools and middleware, Compuware is pretty agnostic. It has, as one example, just announced Eclipse support," he argues.

What’s more, he indicates, OptimalJ’s MDA implementation seems to be as flexible as its application tooling and Web services connectivity options. "OptimalJ has a specific way of leveraging MDA that breaks apart the architecture design and application design for simpler programming," Kernochan says, explaining that the Compuware tool lets organizations use pre-generated architecture or platform that’s specific to their environment, on top of which they can "fold" the application design details.

Not surprisingly, OptimalJ is tightly coupled with or otherwise tied into the rest of Compuware’s stack—including with its QACenter (a software quality-assurance-testing tool) as well as its broader offerings, initiatives such as Application Performance Assurance and Continuous Integrated Testing.

"What makes Compuware unique is … a combination of this integration—in particular, integration that links testing and runtime application monitoring for much faster fixes to inherently-complex applications—and more than a decade of down-and-dirty experience with supporting customers’ nasty bugs —especially in the Year 2000 effort and on mainframes," Kernochan argues.

"Of the obvious competitors, IBM’s application lifecycle products are split between Rational and Tivoli, and do not communicate well yet—especially between runtime and testing … HP’s Mercury unit does not have a development toolset to pair with … and Telelogic is too new to the scene to have ‘chops’ in application-lifecycle support."

The bottom line of all of this, Kernochan concludes, is that Compuware is much more than just a mainframe software survivor. "Inside the battered hulk of Compuware, the mainframe utility vendor, lives a core application-lifecycle solution that remains differentiated and useful," he contends. "This solution, with OptimalJ as its center and QACenter as a star among its peripheral testing/application management outliers, offers a unique combination of data-center experience, third-party support, and full lifecycle support. These features are of greatest use in inherently-complex applications. The good news for Compuware is that SOA does not reduce the number of inherently-complex applications that your organization has to deal with."

There’s an interesting footnote here, too, says Kernochan. Compuware is perhaps best known as a provider of application performance and testing solutions. Testing is an integral, if underappreciated, part of application lifecycle support, Kernochan argues. "Dressing testing up as ‘quality management’ really hasn’t helped to raise its reputation in customers’ eyes. Nevertheless, both testing—because it cannot be avoided, it had best be done as well as possible—and application-lifecycle support are as important in SOA architectures as they were in the old data-center days. Perhaps more so, because if SOAs result in speeding up application development, IT will have to run harder in testing to maintain the same level of software quality for inherently-complex applications," he comments.

"[W]hile many of its potential competitors struggle to gain experience linking runtime to testing, Compuware continues to offer one well-crafted application-lifecycle toolset."

About the Author

Stephen Swoyer is a Nashville, TN-based freelance journalist who writes about technology.

Must Read Articles