Java Application Servers Simplify Web DevelopmentJava Application Servers Simplify Web Development

BEA Systems, iPlanet, and Sybase are the leading proponents of J2EE specification

information Staff, Contributor

July 26, 2001

10 Min Read
information logo in a gray background | information

The hot spot in Java development today isn't the Java language or its programming tools. It's the accompanying application server. J2EE, EJBs and XML are all hot points for these development and deployment platforms, which vary greatly.

Here, we review three Java 2 Enterprise Edition application servers: BEA Systems Inc.'s WebLogic 5.1 and 6.0, iPlanet E-Commerce Solutions' iPlanet Application Server 6.0, and Sybase Inc.'s EAS. While all three packages disappointed us, BEA WebLogic's problems were the most manageable.

BEA WebLogic 5.1 and 6.0
While our main bout of testing was run using BEA's interim WebLogic 5.1 release, we did manage to get a look at its recent 6.0 release prior to publication. The direction that BEA is moving is worthy of the No. 1 market slot in application servers, but we still found a number of gotchas that your development staff will need to watch for.

Our most immediate gripe is with BEA's new Web-based management utility. In WebLogic 5.1, the management and deployment tools were poorly implemented and unstable, possibly due to their roots as Swing GUIs. The new management tools are browser-based, easy to get started and use, but wracked with a number of problems. For example, the management console often corrupted the WebLogic config file, causing the server to restart improperly.

That's bad, but it gets worse. The management utility has no way to alert you that the server restarted badly or to allow access to fix the problem. We wound up editing the config files manually. This became such a common occurrence that we decided to keep a library of working config files, so that we could roll back to any point in the boot-config-deploy process. Additionally, the management tool was noticeably slower at some tasks than its predecessor, and its associated Help files were copious but not indexed for text searching--again, a common feature that really should have been there.

On the upside, the management tools now have a much better deployment tool over what was available in 5.1. In addition, BEA has made remote management easier by adding support for Simple Network Management Protocol management information bases directly within the management interface. This allows for excellent customization and the possibility of a nice snapshot of both physical and software server statistics. Security has also been beefed up, to include not only the usual goodies (SSL and single-sign-on for multiple client types) but also a Service Provider Interface (SPI) that allows easy integration of third-party security tools.

On the Java front, version 6.0 fully supports software developers' kit version 1.2 and beyond; we ran all of our 1.3 code against it without any trouble. It's also J2EE certified and, in an especially nice touch, had support for some of the evolving Enterprise JavaBeans (EJB) 2.0 specification, the only entry tested here to do so. It also carries integrated internationalization support for easy deployment of global Web pages. And in a sweet touch, BEA has added multicast support to server synchronization.

Integration with third-party component software also is nice. Naturally, WebLogic has tight integration with BEA's Tuxedo transaction server and the WebGain Java development tool suite, primarily because BEA owns both of them.

Never fear, however, as WebLogic also has relationships with IBM's VisualAge for Java, PowerJ, Forte's IE/EE, Jprobe, and a number of other Java development-tool platforms. In all, you can be productive with WebLogic using almost any Java development platform you like. That's a very nice feature, as it reduces the learning curve associated with deploying a new application-server environment.

Overall, BEA was a bit touchy in terms of "crashability," but still a solid application-serving platform. Installation is fast and easy; administration is also easy, aside from the flaky config files; and the server supports the very latest standards in the Java spectrum. In addition, it doesn't tie you into specific front-end or back-end platforms, but remains open to third-party add-ons, of which there are a number in the works both commercially and via the open-source movement. We're not crazy about BEA's expensive licensing scheme, especially when it comes to development licenses, but the final result is well worth the effort.

iPlanet Application Server 6.0
The alliance of Sun and Netscape that spawned iPlanet has been churning out a number of back-end software packages: everything from Web servers to Policy Server, Directory Server, and even dedicated electronic bill presentment and payment systems (EBPP) and market-exchange servers. And while the snappily named iPlanet Application Server hasn't gotten gobs of attention, it's a viable alternative in an increasingly competitive field.

On the management front, iPlanet takes a tack similar to BEA's with its graphical management interface in addition to its command-line tools. Unfortunately, also like BEA, you're better off sticking with the command line. The GUI isn't only slow, it's missing a number of features. For instance, you can create a data source in the GUI but you can't delete it there. You literally need to edit the registry--ouch! The GUI also is prone to crashing; we believe this is due to its Swing origins, but regardless, the sheer number of crashes we went through almost invalidates the tool as a management asset.

The command-line tools, however, are excellent. All features are available here and developers and system administrators can easily run automated tweaks to a large number of servers this way.

As an application development and deployment aid, Application Server very much wants to suck you into its rather nicely layered approach to component application construction. The company starts with Management and Policy Services (such as Lightweight Directory Access Protocol directory services); adds Web Services upon which application and integration services are built; and then adds Communication Services, which include E-mail, messaging, wireless, and more. Upon those you add Portal Services such as personalization and presentation. Finally, there are Commerce Services, which include their electronic bill presentment and marketplace packages. Overall, this is a well-rounded suite, built on the latest open standards.

What's nice is that while iPlanet offers all these features, the server doesn't lock you into anything. Development tools, for example, can be integrated via a straight command-line interface (which lets you use any tool under the sun); via a mixed approach that gives slightly tighter integration to a number of Java tools, including Jbuilder and Forte; and finally via a tight integration option for WebGain and Forte. This allows iPlanet to push its alliance partners' products without locking customers into any of them, which is a good strategy.

In addition, because the command-line mode lets developers work with what's comfortable to them, they're more efficient and they're able to easily create reliable, repeatable, and robust build-and-deploy scripts. As a manager, you really can't ask for much more in this department.

Unfortunately, while its management and third-party tool support is excellent, the Application Server itself has many bugs, some of them quite serious. An iPlanet Service Pack 3 was due out this summer to address some of these defects, but we're willing to bet it won't get them all. (In fact, an update was released shortly before we went to press, but too late to include in testing.) For one, the server doesn't properly remove session beans when they're no longer needed. This could be a serious problem, though iPlanet says it will be fixed soon. Also, if the application server crashes (which it does, and often, during development) you can't restart it if there are any open user sessions on the Web server. You need to kill both the application and the Web server and then restart.

Possibly the most dangerous defect revolves around stateful session bean fail-over. It's supposed to maintain a user's connection to the next server in the cluster, if the server that the client is using suddenly dies. The problem is, if a server in a cluster crashes while even one stateful session bean is resident, that bean will fall back onto the next App server in the cluster, causing that server to crash. So in a four-box cluster, Server A crashes while managing a stateful session bean; Server A falls back to Server B, which gets the same bean and then crashes, falling back to Server C, and so on. Iplanet officials say this will be fixed in the upcoming service pack, which we fervently hope is true.

Aside from this, however, iPlanet's clustering and load-balancing options were quite good. The product ships with both a Web and LDAP server, but doesn't force you to use either.

All in all, iPlanet has a nice, open strategy here with an excellent selection of back-end service add-ons, but its lack of attention to detail at the coding level gives us the willies.

The company will soon release its Enterprise Pro version of Application Server for $39,995 per CPU. The hefty price is for new features like the Unified Integration Framework. UIF lets you integrate data-mining capabilities into your Web application from sources such as IBM, PeopleSoft, SAP, Tuxedo, and others. The performance- and system-resource management for such functionality is significant, which worries us, given iPlanet's application-level performance during this test. A careful evaluation with your specific application requirements is required before going with iPlanet.

Sybase EAS
While Sybase is a smaller player even in the database market, the company has been selling both development and application-server software for some time. While its pricing is decent, there are a number of drawbacks to Sybase's Enterprise Application Server (EAS) that you should weigh carefully before purchasing.

For one thing, the company installs a vast amount of additional software during any installation of EAS. This should be customized to allow a stripped-down install. Sybase also puts you through quite a rigmarole in the installation, forcing you to first install EAS 3.5, then a 3.6.1 update. Even worse, should something happen to the 3.6.1 install, you can't simply roll back to 3.5 and reinstall the update; you must start everything from scratch.

Sybase is known for excellent management utilities for its database product line, and this also is true for EAS. Unlike every other vendor in this test, these tools never crashed on us, not once. They're also easy to use and quite fast. There are some smaller, bug-type problems that typically result in the system administrator having to restart the EAS service, but overall, the tools work very well.

Sybase's management excellence, however, is diametrically opposite to its bundled Java development tool, PowerJ. This may be the worst Java-development tool we've ever seen. In only a few minutes, we were able to crash the import utility and even the entire GUI-only integrated development environment (IDE) repeatedly. Even Sybase's bundled demo application crashed PowerJ!

Worse, while EAS is fully J2EE compliant, the Java Archive files created by PowerJ never passed Sun's J2EE verifier. Fortunately, although Sybase doesn't mention this very loudly, you aren't locked into PowerJ just because it ships with EAS. Other IDEs, like Metrowerks CodeWarrior or open-source apps like Ant, work just fine with EAS. On the downside, large commercial IDE players such as WebGain or Borland aren't even trying to integrate with Sybase because of the company's small market share.

The EAS server software, on the other hand, is stable and quick. It supports hot deployment, though we had a slightly easier time deploying code directly to the server using the central management tools. And unlike PowerJ, which couldn't tell the difference between J2EE-compliant code and a bowl of Froot Loops, EAS' deployment tools found errors in our sample app deployment descriptor that both WebLogic and iPlanet missed. EAS may be the most J2EE-compliant application server available.

On the downside, however, we ran into significant problems trying to deploy our large-scale test application, which often caused not only a restart of the EAS service, but a reboot of the entire server. Finally, to successfully install our large-scale test application we had to install an update to the 3.6.1 release that was specially sent to us from Sybase.

We liked EAS quite a bit, with its variety of load-balancing choices and a nice clustering feature with an easy install and the kind of cluster-management tools you'd expect from Sybase. And since it doesn't lock you into PowerJ, we expect EAS to be a nice application server choice once the deployment bug is fixed.

Read more about:

20012001
Never Miss a Beat: Get a snapshot of the issues affecting the IT industry straight to your inbox.

You May Also Like


More Insights