Just say Java?

Several companies are lining up with Sun Microsystems' Java 2 Enterprise Edition programming language that explicitly exploits Internet technology to provide an alternative to Microsoft.

In Chicago, it’s the Cubs or the White Sox. In underwear, it’s boxers or briefs. In Web services platforms, it’s Java or Microsoft Windows.

When Microsoft launched its .Net program, the personal computing monolith strode onto turf already occupied by such computing notables as IBM, Sun Microsystems and Oracle. As Web services move from hype to reality in the business world, the battle continues to heat up between Microsoft’s Windows-based .Net platform and systems based on the Java 2 Platform, Enterprise Edition (J2EE) such as IBM’s WebSphere or WebLogic from BEA Systems in San Jose, Calif..

But unlike choosing a favorite baseball team, selecting an applications platform is far from a clear-cut process.

In fact, there are a confusing array of options to be considered, such as deciding between one large software vendor or opting instead to cobble together multiple systems or outsource that process, says Ted Schadler, analyst with Forrester Research, Cambridge, Mass., and author of “Java or Windows,” a July 2003 report that examines the differences between the two systems.

The viability of .Net alternatives also varies with a manufacturer’s existing operations—just as laws of physics govern bodies in motion, the laws of legacy systems set limits on future possibilities.

Break it down

That’s one reason many companies wind up with both Java-based and .Net platforms deployed somewhere within their operations, says Schadler.

“Applications are what drive purchasing, not platforms,” he comments. “If a department wants an application, and it only runs on one type of platform, then you wind up with that platform.”

The application-driven approach also has its major drawbacks, primarily because multi-platform support is expensive, says principal analyst Shawn Willett, of Current Analysis, a Sterling, Va., research firm.. “You can have two platforms, but it is going to create a lot more work for you,” he comments. “And it’s going to be more expensive, both in terms of upfront costs and ongoing support.”

The major debate Willett sees among companies moving into Web Services today is whether to pick an architecture and implement it throughout the company or pick the best of breed applications and allow their requirements to determine the underlying architecture.

“Web Services have made it easier to communicate between systems,” he says. “But there is still some complexity involved.”

Given that the general IT trend is toward centralized decision making, simplification and cost-cutting, says Forrester’s Schadler, companies need to make a strategic decision today to plan the architecture of the future. “The one-off project-led decision making is what got us into the state of confusion we’re facing today,” he says.

Some companies are taking a “green field” approach and building everything on a single platform. In his report, Schadler cites Harley Davidson’s deployment of BEA’s WebLogic system, which it enhanced with a Java framework developed in house to create services based on Simple Object Access Protocol. The company has used the system to develop a dealership contact service for customer relationship management and an application to handle Internet Protocol-based phone queries.

The more typical manufacturer needs to look at what its most important applications are today, and what computing platforms are already deployed before making a decision on how best to ultimately work toward a single architecture—and which system to use.

Schadler advises larger companies to consider dividing their operations into domains based on function, and allowing each domain to choose the logical Web Services application platform.

Cup of Joe?

There are inherent advantages to J2EE-based systems, in addition to the more circumstantial matters, but even these need to be put in context, analysts say.

For example, the Java alternatives are considered to be more reliable and more scaleable, primarily because they are based on Unix computing platforms.

“The people who have Java app servers say, ‘We run on Unix, and because we run on Unix boxes that are high performing, you are going to get higher performance off Java app servers,’ ” says Willet. “But is it because of Java or because they run on big Unix boxes that are more powerful?”

Vendors such as BEA enable dozens of nodes in a cluster, while Windows is limited to eight.

Microsoft had a well-earned reputation for being reliability challenged, particularly in the days of the Windows NT Server 4.0, but the company has improved its scalability and reliability with Windows Server 2003, says Schadler, to the point where it can handle Fortune 100 businesses.

The other big advantage to Java-based systems is that there are far more applications available on Java than on Windows, including leading apps such as Siebel and SAP.

“There is a tremendously large number of apps that run on Java stack that don’t run on Windows stack,” says Schradler. “They might run on the Windows operating system but not on Windows stack. If someone is buying an application, they are likely to get it on Java. For example, every one of the Web Service management systems run on Java, not Windows.”

An operating system is one part of a complete software stack, which can also include application server, development tools, databases, security and systems management, among other elements.

While Java-based systems have a larger application base, Windows-based systems have more available tools, says Willet. Java-based systems are considered more complex, requiring greater programming skill, he notes.

Even that contrast is becoming less sharp, however, as Java system vendors design toolkits that are intended for application developers, not infrastructure architects. Schadler cites BEA’s WebLogic Workshop, Oracle’s Jdeveloper and Sun’s new Project Rave as examples, along with the IBM-led Eclipse project. Eclipse is an open platform for tool integration being built by an open consortium of tool providers that makes source code available royalty free.

So what are the real differences between these systems, and how can a manufacturer decide which path to take?

Rock-hard apps

Application needs are the primary driver, especially for manufacturers who may have very specific—and niche—application needs, analysts advise.

“Most people, by their own choice or inadvertently, have an application infrastructure already in place,” says Willet. “Whether it came along with the application software or it’s something that over time has evolved organically, they need to look at that. If they want to get the savings of a unified infrastructure, they have to migrate in that direction.”

But if legacy systems or overriding application needs don’t determine whether a Java approach is warranted, there are what Schadler calls “persistent differences” between Windows and Java that should be considered:

Java is more flexible, running on any operating system, while .Net only runs on Windows. That makes the Windows option more consistent, since there are no platform deviations, but businesses that want to support multiple operating systems would be wiser to look at Java-based options.

Windows aims at making software simple, while Java is focused on making it complete. Schadler says this makes sense, since Microsoft is selling software units while most of the Java system vendors—Sun, IBM and Oracle, for instance—are trying to sell hardware, apps or services. Companies that don’t have a lot of systems developers would be smarter to look at Windows systems.

Microsoft’s market power will enable it to price .Net software more cheaply than Java products. In addition, Windows developers are easier to find and less costly to employ than Java programmers.

Java systems will have more enterprise support because enterprises need to offer multi-platform options for their customers. Companies that need to integrate a lot of existing applications will find Java more useful in this regard.

There are also persistent risks in the Windows vs. Java choice—including the reality that Microsoft isn’t going out of business and a Java vendor might. On the other hand, many companies resent being under the thumb of a single powerful vendor, such as Microsoft, which can implement sudden unexpected price increases.

That “single vendor” risk isn’t totally obviated by choosing Java, since that standard remains under Sun’s control, says Willett, and requires Sun and the Java community to approve any advances.

Just Java

Among the Java options are BEA’s WebLogic, IBM’s WebSphere, Oracle’s 9j and Sun Microsystems’ One products. All four vendors are engaged in building—or buying the pieces of—complete service-oriented infrastructure platforms, says Schadler, who rates IBM’s stack as “the most complete heterogeneous” available.

IBM has a slight advantage over its competitors among companies that already deploy its mainframe computers, the analysts agree.

“Part of IBM is the big giant IBM Global Services consulting and professional services arm,” says Willett. “They are going to be well-trained on WebSphere but they will work in anybody’s platform. It’s almost a double-edged sword, however. Competitors have pointed out that customers pay a lot of money for professional services—that when you buy IBM, you buy a whole army of IBM people to make what they have work. If you talk to BEA or Microsoft, they will say IBM needs all that because, while WebSphere has tons of products, they don’t all work together or aren’t compatible.”

BEA, the only Java vendor that just sells a software package and not applications, services or hardware, does offer “a pretty unified platform,” says Willett, with an application server, integration, portal and development tool merged into WebLogic Platform 8.1. That approach “appeals to anyone who wants to cut cost and reduce development time,” he says.

See sidebar to this article: Microsoft Windows vs. Java

More in Control