BEA rides Java toward SOA
Manageability shines in complementary WebLogic and AquaLogic ESB releases
WebLogic has added some self-management features. It can tune itself based on usage patterns and available resources, and when it encounters serious problems, it can issue alerts and shut itself down gracefully. The management console enables an admin to specify certain executables to be run in such cases before the shutdown completes. Likewise, special startup modules can be inserted into the boot-up routine.
One of the key distinguishing features of enterprise-grade application servers is their support for clusters, which we’ve already seen WebLogic provides. Important aspects of clusters are the ability to replicate data in real time and provide robust fail-over in the event a node becomes unavailable. WebLogic has extensive support for fail-over not only to other nodes but to mirrored clusters, including caching of data so that transactions in progress during the failure can complete without error. WebLogic’s caching of this data or of any other data, unfortunately, does not yet implement the JCache standard; this is planned for a future release, however.
One feature BEA most touts in this release is what it calls “side-by-side deployment” of certain kinds of apps. This feature enables a site to deploy a revised version of an EJB onto a working WebLogic server. The server then will begin migrating the existing, older EJB’s connections to the new version. As new sessions start up, they automatically go to the new version, which means that at some point the older version is ready for retirement. The seamlessness of this approach greatly facilitates updates to running applications in circumstances where two versions can coexist temporarily.
This feature, however, isn't as robust as its corresponding implementation on IBM’s WebSphere product. For example, the migration to the new revision is forced. There is no way to permit the two versions to coexist in side-by-side deployment. For most sites, this will represent no problem, but sites that host software for different clients or different departments within the parent company might very well want to keep multiple versions running without a coerced migration to the latest revision.
BEA has done a good job integrating WebLogic with emerging enterprise Java Frameworks. It offers specific integration with Spring and the Beehive project from Apache, both of which attempt to simplify J2EE-style development. An upcoming release of WebLogic will include support for the open source Tomcat container in the management console.
Overall, WebLogic 9.1 is a superior product that extends BEA’s established reputation for high-quality, enterprise-class app servers. However, I am disappointed to see that BEA has not pushed its product out to anywhere near the platforms it supported in the previous release, 8.1. For example, as of press time, WebLogic does not run on either Intel EM64T or AMD64-based systems, nor on Suse Linux or Solaris x86. These concerns aside, BEA should be at the head of any short list of enterprise servers. Only Solaris x86 can be viewed as a niche in this set of platforms.
These concerns aside, BEA should be at the head of any short list of enterprise servers. However, features should be checked carefully. For example, IBM’s WebSphere, in my estimation, provides greater expansion options for demanding enterprise applications, due in part to extensions that enable true partitioning, advanced batch processing on clusters, high-performance computing, and extensive integration with Big Blue’s database and data warehousing product lines.