Java complexity needs to be managed: report

The sheer complexity of server-based Java development may be hampering its deployment in enterprise networks, according to a recent report from Meta Group Inc.

Many large companies have picked Java as a key technology for building new server applications. But the combination of Java APIs and services, which are defined by the Java 2 Enterprise Edition (J2EE) specification and the application servers that host them, create a complicated framework for building and running applications.

According to Daniel Sholler, one of the report’s authors, this complexity will open up a lucrative market for RAD tools and add-in frameworks, but it will occur at the cost of the standard programming model.

“As organizations transition to Java on an enterprise scale, they are finding that many of the concepts that are exposed in the J2EE programming model are more difficult to utilize than corresponding facilities in client/server and other environments. While J2EE development is significantly easier than building the system on top of the naked OS, it exposes more complexity to the programmer than, say, Powerbuilder or other high productivity RAD-type environments,” he said.

The Stamford, Conn.-based analyst noted that this trend does not only apply to J2EE. The .Net framework has significant complexity as well, and tools are also appearing for that market such as Silverleap and Terra-Axis, Sholler said.

The Meta Group market evaluation says that Microsoft Corp.’s .Net will be the main Java rival in the enterprise for the next 18 months. Microsoft’s marketing consistently emphasizes the comparative simplicity of using .Net instead of Java to build Web services, which rely on standard protocols such as XML and Simple Object Access Protocol (SOAP) to share data easily. Java advocates counter that Web services can be built nearly as easily in Java, and that .Net currently lacks the sophistication to handle large-scale, distributed applications.

This argument is old news, according to Michael Flynn, senior product manager for developer tools at Microsoft Canada in Mississauga, Ont.

“We now have proof that it’s the opposite story,” Flynn said. “J2EE can’t compete at a performance level and scalability is superior for .Net today than for the Java virtual machine.”

Not surprisingly, David Harrah, marketing manager for the Java software group at Sun Microsystems in Santa Clara, Calif., disagrees.

“There’s a fine line between complexity and sophistication. There are lots of different things that you can do with J2EE because it’s a sophisticated, enterprise-class application environment. And that’s why it’s taken over the application server business over the last two years,” he said. “There is simply more that you can do with J2EE than with .Net and there are more sophisticated solutions to address.”

The Meta Group authors don’t expect big companies to abandon J2EE. Instead, these users need to build up Java expertise, partly through carefully focused Java development projects.

“Organizations are not shying away from Java, but they are recognizing that the transition to Java is not a simple one. Early projects were successful because they were executed by rocket scientists. However, getting all the programmers to be highly productive in the Java environment may require the utilization of special-purpose tools for certain kinds of tasks,” Sholler said.

The report also predicts the group of vendors in the Java application server market will continue to dwindle over the coming year, as smaller companies shut down or get acquired. Partly as a result, the report recommends that network executives base their choice of vendor more on market share and the vendor’s long-term viability than on any temporary technical superiority. BEA Systems Inc. and IBM Corp. are generally considered the leading application server vendors, and Meta Group predicts they will remain dominant.

The technical capabilities among the various vendors are “moving toward relative parity,” according to the report’s authors. For the next two to three years, the main differences between the application servers will be features, tools and frameworks to make development easier and faster.

– With files from IDG News Service