In-Depth

Java IDEs further coverage of life cycle

Increased return on investment (ROI), along with faster time to deployment, is the name of the game when it comes to developing applications in Java. And Java Integrated Development Environment (IDE) vendors are taking some big steps to help developers accomplish this.

IBM and Borland have changed the rules of the game by providing a life-cycle management solution in their respective Java IDEs. Life-cycle management here means that their tools include everything a developer needs for an entire development project -- from visual development, creation, publishing and UDDI discovery, to testing and debugging.

Version 5 of IBM’s WebSphere Studio Application Developer, which is built on open-source Eclipse technology, boasts a complete end-to-end development life cycle. It features support for J2EE 1.3 standards, has the ability to work with either J2EE 1.2 or 1.3, better support for testing, and includes performance improvements, analysis tools and a UDDI registry, among other things. “Whatever you need, it’s there and it is integrated,” promises Sridhar Iyengar, distinguished engineer in IBM’s application integration and middleware department in Raleigh, N.C.

Borland’s latest release of JBuilder also includes life-cycle management tools, namely requirements management, modeling, profiling and deployment tools. Version 9, released in May, also features paramatisable Smart Code templates, Web services wizards, improved JavaDoc Insight, the ability to export to Apache Ant and support for automatic deployment using a variety of application servers. In addition, it incorporates Borland Optimizeit Suite 5.5, a performance assurance solution.

Oracle is following close behind IBM and Borland, according to IDC’s Rikki Kirzner, who tracks application development and deployment in the firm’s Mountain View, Calif., offices. Oracle9i JDeveloper Version 9.0.3 focuses on integrated end-to-end development and targets a broad group of users -- Java coders, those who do not want to use an IDE and those who do not know Java well, noted Ted Farrell, director of strategy for Oracle9i JDeveloper.

Oracle’s latest release enhances four specific areas: full support for the latest J2EE 1.3 specifications, enhanced Web services support, built-in integration with open-source tools and the new MyJDeveloper Extension Manager. Whereas other competitors try to mix and match features and price to compete at different levels of the market, Oracle takes a different approach with MyJDeveloper.

The company found that although the product offers a lot of functionality, it is rare for a developer to use all of it. Because of that, Oracle ships its JDeveloper IDE with every feature it has for $995 and leaves it up to each individual developer to choose which features to turn on and which to turn off. MyJDeveloper “allows different developers to build their own IDE customized to what they like and what they’re working on,” said Farrell.

Oracle believes it has a good mix of features for designing, compiling, testing and debugging code, and concentrates on providing those features in a tight environment, Farrell said. Then the company partners with other companies to provide extensions for source code management and other areas.

With an approach similar to Oracle’s, Sun Microsystems’ SunONE Studio also places among the top Java IDEs. Rather than concentrating on providing a complete, end-to-end life-cycle management solution, however, Sun recognizes where its strengths lie and relies on third-party vendors to fill the gaps with their own strengths and best-of-breed tools.

Released in October, SunONE Studio 4 Update 1, like IBM’s WebSphere Studio, is based on an open-source platform. But while IBM’s offering is based on Eclipse, Sun’s is based on NetBeans. The differences between the two lie in the licensing model and in the technology, according to Jeff Anders, Sun’s group marketing manager in Menlo Park, Calif.

The licensing model for NetBeans is the Sun public license, Anders noted. “You can do with it what you want. It’s a very open, unrestricted license,” he said. He classifies Eclipse’s licensing model as tighter control over what project is allowed to branch off. With regard to technology, he added, Eclipse is more of a wing part of the Java user interface while NetBeans is pure Java.

IBM’s Iyengar believes the major difference between Eclipse and NetBeans lies in their organization. Eclipse was formed by a consortium of companies, including SAP, Hewlett-Packard and IBM, he said. “The NetBeans organization body is quite different.” He added that Eclipse has a much stronger group of vendors and partners building on the technology.

Developers could probably argue about the differences for days, if not weeks, but IBM and Sun concur that both Eclipse and NetBeans are open-source tool integration platforms. As such, each provides an open set of application programming interfaces to create applications. And both allow for third-party add-ons. That is what Sun capitalizes on.

An IDE newcomer

Three-year-old JetBrains Inc., with headquarters in Prague, Czech Republic, recently moved into the top five Java IDEs with its IntelliJ Idea product, according to IDC’s Kirzner, who classifies IDEs based on revenue and percent of market share. JetBrains was founded with the goal of delivering high-quality development tools, noted president and CTO Eugene Belyaev. IntelliJ Idea follows a common set of disciplines that programmers already use and, like the open-source culture, allows developers to choose the features they want and implement them right away, Belyaev said.

IntelliJ Idea concentrates heavily on code refactoring. “Everything in the IDE -- every single little feature -- knows that it’s operating on the code. It’s not just Java code; it’s Java code with patterns, with special conventions,” Belyaev explained. Because of this, the product provides on-the-fly analysis. “The IDE finds errors and corrects them, or understands that you are trying to do something but didn’t complete it. It’s pretty intelligent. [People] get the impression that the IDE thinks.”

Version 3.0 features new code refactorings, intention actions, code inspection, enhanced JSP and XML support, EJB support, method hierarchy and method call hierarchy browsers, code completion and highlighting in JavaDoc comments, local version control and an open API, among other things. Like Sun, JetBrains knows its strengths and concentrates on those areas. “The core IDE is a developer- or coder-centric tool,” Belyaev acknowledged. “It doesn’t try to support all life-cycle management application tools.”

Despite its apparent unfriendliness to life-cycle management, IntelliJ Idea is able to compete with the major offerings from IBM, Borland, Oracle and Sun. In fact, Hewlett-Packard’s (HP) OpenView Division is using IntelliJ Idea in its development. The Mount Laurel, N.J.-based division builds enterprise software that enables adaptive management of the enterprise through OpenView. It uses IntelliJ for developing the components that are implemented in Java, noted Bruce Kratz, the division’s director of engineering.

HP leaves the decision of which development tool to use up to each individual developer. Various developers were using Eclipse, JBuilder, TogetherSoft, Forté and Text Editor. When one started using IntelliJ Idea for refactoring, “it took on like a virus. It was a grassroots movement, with almost the whole organization wanting that particular tool,” Kratz explained.

JetBrains’ refactoring is what caught the division’s attention. None of the other tools had refactoring to the same level, according to Philip Zampino, senior software engineer. As a result of using IntelliJ Idea, “what used to take a couple of days to do thoroughly and completely takes only a matter of hours now,” he said.

Kratz was quick to point out another benefit of using IntelliJ Idea: the quick response of JetBrains’ developers to HP’s questions. That can be attributed to JetBrains’ Open Ideas Development philosophy, which sets it apart from the other Java IDE vendors. The company is committed to listening and responding to developers and their concerns and suggestions. This results in a rolling upgrade process with new features incorporated steadily. “We publish new builds every day,” JetBrains’ Belyaev said.

While HP’s Kratz and Zampino concede that IntelliJ Idea does not provide complete life-cycle management capabilities, it is not an issue for them. “It concentrates on what it does well, which is implement part of the life cycle. It continues on from there with source code integrations and test integrations and leaves those to the vendors who do those things well,” Kratz noted.

Ease of use

HP’s OpenView Division has realized greater accuracy, fewer bugs, shorter time to implementation and a large return on investment since adopting IntelliJ Idea. Additionally, the division realized all these things in a relatively short timeframe. “As the director of engineering, I can’t tell the team, ‘You don’t have to meet this week’s deadline because we have a new tool,’” Kratz said. The developers learned it on their own through pair programming, where they worked two people to a station. “They kind of taught each other, which means it’s probably a pretty easy tool to get to know,” Kratz added.

Ease of use is exactly what BEA Systems is striving for in its WebLogic Workshop IDE. In fact, the company designed its tool to be easy for any developer, regardless of skill level, to create, test and deploy enterprise-class Web services. The tool takes a platform approach so that no matter what kind of application a developer is building, they can sit down and be productive immediately in a way that is consistent across all those applications, said Carl Sjogreen, senior product marketing manager for WebLogic Workshop in Seattle.

WebLogic Workshop 8.1 features visual development, a simplified programming model and a runtime framework that company officials claim hides the complexities of J2EE. It is more than just a tool on top of low-level APIs, added Sjogreen. “It’s a tool and this framework that changes how you have to think about building an application.”

As with anything new, there are a few things a developer needs to learn to get started, such as the controls and using properties or meta data. The product includes a two-hour tutorial to walk developers through its major functions.

Certification authority GeoTrust, Wellesley, Mass., found that although it took three to four weeks to become proficient at WebLogic Workshop, “it is easy to hook up between a front-end message we define and the back-end SQL,” noted Doug Beattie, director of product management. “It doesn’t really require any development of Java code or XML; it’s very much a GUI-driven interface.”

Because it is so easy to use and takes a completely different approach, WebLogic Workshop is often not considered an IDE of the same caliber as WebSphere Studio, JBuilder, JDeveloper, SunONE Studio and IntelliJ Idea. JetBrains’ Belyaev believes WebLogic Workshop is mostly used for assembling an application from components. “It’s not a full-size Java IDE like the visual tools,” he said.

BEA Software’s Sjogreen admits that WebLogic Workshop is not considered a traditional IDE because of its focus. But, he said, the tool is relatively competitive with the core features of today’s Java IDEs, such as autocompletion and syntax highlighting. BEA’s focus on ease of use and consistency across the kinds of applications developers build is what is different.

“Traditional Java IDEs help you to build an application, but [they] don’t help you to integrate them,” pointed out Sjogreen.

Be that as it may, BEA seems to be leading the Java IDE marketplace in producing easier to use tools. IBM’s Iyengar noted that the usability of the tools is getting better. He attributes this to added capabilities to Java and the J2EE platform that require better tooling. Other leading vendors also acknowledge that their tools have become easier to use over the past few releases.

For the most part, Java IDEs try to follow the model that most developers would expect, including project, menu bar and an output window for debugging. Some IDEs try to stay a step or two ahead of the developer. But as Oracle’s Farrell pointed out, “All Java IDEs on the market today are still focused on people who know Java or J2EE. There are 8 million professional developers in the market and only about 20% know Java.”

There is obviously room for improvement in the Java IDE marketplace to make more developers more productive. Sun’s Anders acknowledged that IDEs always have room for improvement.

“The story’s about the comprehensiveness of the environment, the workflow between different groups that develop,” said IDC’s Kirzner. The leading Java IDE vendors are taking steps to address the comprehensiveness of the environment through life-cycle management. IBM and Sun, in particular, are embracing a platform-neutral perspective simply by being based on open-source code.

“There’s no vendor lock-in and no vendor lock-out,” noted Sun’s Anders in reference to SunONE Studio. “If you take the source code and move it to another IDE, there’s nothing stopping that. You can move it very easily.” In fact, both Sun and IBM have a number of customers using their respective solutions in a mixed development environment.

IDC’s Kirzner predicts more mergers and acquisitions in the coming days. “The breadth of the marketplace is putting weaker players on shakier ground,” she acknowledged, adding that future development will not be what it is today. She anticipates that 3GLs will become less important and code generation will become more automatic.

“IDEs will continue to be important, but they’ll be different than they are today,” she forecasted. “Some players will be able to evolve and change. The strongest ones will be there [at the end].”

Happy developing while you watch it play out.