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.
AquaLogic 2.1
If WebLogic represents the Java side of BEA, AquaLogic is where Web services and SOA are found. The “Aqua” prefix and the
company’s campaign to “think liquid” refer to the integration of enterprise data via Web services -- specifically, the data
is no longer frozen in various applications. The product line is a blend of new offerings and existing software that’s been
repackaged. At the heart of it all is AquaLogic 2.1, the ESB that BEA is promoting in the face of stiff competition. (We reviewed
most of its competitors last July.)