BEA rides Java toward SOA

Manageability shines in complementary WebLogic and AquaLogic ESB releases

BEA Systems has redefined itself several times in its short history. Originally set up to sell the Tuxedo transaction manager, the company made a deft acquisition of the WebLogic application server in 1998, which it rode like a rocket to overwhelming market dominance. BEA soon lost focus, however, and permitted archrival IBM’s WebSphere to reclaim the lost ground.

During the past few years, the two companies have seesawed back and forth for market leadership, with IBM getting the best of it due to BEA’s ongoing indecision about how to position itself. The latter has variously touted itself as an e-commerce software vendor, a Java vendor, and a Web services tools purveyor.

BEA’s latest campaign, which exhorts users to “think liquid,” is supposed to emphasize the company’s Web services connection without abandoning its Java roots. This hybrid message is evident in BEA’s simultaneous release of its WebLogic 9.1 Java app server and its new AquaLogic 2.1 ESB (enterprise service bus). Both products demonstrate their substantial enterprise-grade heritage, although each has some limitations.

BEA is clearly trying to merge the Java servers and the ESB in pursuit of a compelling SOA story. Certainly from the standpoint of managing an SOA infrastructure, these products succeed.

WebLogic 9.1

Version 9.x of WebLogic was two years in the making -- a remarkably long period in an intensely competitive market. But the results are evident in this release’s greater scalability, enhanced management and configuration, smoother installation, and elegant management console.

BEA ships two separate versions of WebLogic: the entry-level WebLogic Express and the high-end, full-fledged server. The Express edition is an odd duck. It costs $495 and is a tiny subset of its larger sibling. In fact, it’s not even a full J2EE implementation, as it lacks support for EJB and JMS (Java Message Service). The ostensible goal of this release is to compete with free, midmarket open source offerings such as JBoss. However, a partial competitor such as WebLogic Express is not likely to be the best option here. JBoss is a much fuller option, as is WebSphere Server Express Edition 6, which is similarly priced but offers a full Java application server and development tools.

For my tests, I focused on the full enterprise version of WebLogic 9.1. This new release installs simply, with minimum of fuss, and comes up right away -- a considerable improvement over earlier versions. The console facilitates management not only of the server instance on which it’s running but of any instance within designated clusters. These clusters can be widely distributed -- with nodes at different physical locations -- rather than the traditional design of clusters, where all nodes share a common rack or are all located in the same datacenter.

All entries in the management console have links to clear and cogent explanations of the possible options. More vendors should adopt this thoughtful approach, which greatly facilitates the use of less commonly applied features. The ability to place notes in this supporting documentation would make this feature even more valuable.

The 9.x version of WebLogic includes WLST (WebLogic Scripting Tool), which is based on Jython, the Python-based scripting language that uses a Java syntax. WLST enables administrators to write extensive scripts for configuring and running MBeans -- the management entities for Java application server functions. The library of functions is extensive and truly facilitates management, especially of repetitive tasks.

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.

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.)

As an ESB, AquaLogic does a good job of providing the plumbing for Web services and other forms of interapplication networking. It supports multiple transports -- although not RMI (Remote Method Invocation), IIOP (Internet Inter-ORB Protocol), or CORBA. It can also interface with various true messaging middleware products. (It offers reliable messaging but doesn’t interface directly with message-queuing middleware.) XLST (XSL Transformation) transforms can be applied to EDI transactions for enterprises that still rely on that technology.

AquaLogic also provides the traditional enterprise features expected in ESBs, such as data transformations specified via XML configuration files, rules- and content-based routing, and on-the-fly encryption.

The ALSR (AquaLogic Service Registry), which is based on technology OEM’d from Systinet, complements this bus. ALSR provides an enterprise-wide UDDI 3.0 directory for facilitating location and access to corporate Web services. This registry stores data such as services, schemas, transformations, and policies. It can import items directly from the company’s WebLogic Workshop environment, which is used for development of Web services.

AquaLogic delivers most of what other ESBs offer today and somewhat less than what the top players do, notably Sonic Software’s. Where AquaLogic really shines, however, is as a management layer for SOA. The management console is remarkably clean, intuitive, and easy to navigate. As with the WebLogic console, most items have embedded links to help files that provide fairly detailed explanations. A wealth of sample apps and tutorials on BEA’s own Web site further facilitates use of these tools. At sites that use both Web­Logic and AquaLogic, the AquaLogic console can provide end-to-end management of the infrastructure.

A key point is that configuration and deployment of Web services is done without scripting. Rather, these activities rely purely on XML configuration files. BEA legitimately argues that using configuration rather than traditional tools greatly facilitates resource management. AquaLogic’s deployment environment eases the building and testing of configuration files, which BEA calls artifacts -- a word borrowed from application modeling. An undo feature makes it simple to reverse the changes, and its opposite, a hot-deploy option, enables immediate implementation if the testing validates the design.

Although these tools are easy to use, they lack the basic support found in true development products for the past two decades. For example, there is no diff utility that can tell you how an artifact has changed -- only that it has been modified. Moreover, artifacts cannot be locked, so two admins could inadvertently be modifying the same file -- a remarkable oversight. Finally, AquaLogic has no WSDL editor, meaning that changes in a Web service that go beyond simple configuration must be done using other tools and then be imported back into the environment.

Reports generated from logs, alerts, and errors are highly configurable and usable. An embedded database, from PointBase, enables storing of this data, which can also be persisted to the customer’s existing DBMS.

One final embedded item is peculiar: AquaLogic embeds a full implementation of WebLogic server. This design is required to support many of AquaLogic’s clustering and high-availability features, as well as its security resources. Oddly, the WebLogic server can be used as a full-fledged application server. BEA places no restrictions on this use, although it points out that this dual usage of the WebLogic will slow performance both for AquaLogic and the applications. However, if the needs of AquaLogic or the application are light, this might make for a comparatively economical configuration.

Overall, AquaLogic has a good management interface and prospects to grow into a serious ESB. However, it has not quite reached the levels of its direct competitors in this first release.

If the new mission statement for BEA is Java cum SOA, these two products help move the company squarely in that direction. The solid management features common to both products makes the combination of products particularly inviting.

InfoWorld Scorecard
Security (10.0%)
Value (10.0%)
Interoperability (30.0%)
Features (20.0%)
Scalability (15.0%)
Management (15.0%)
Overall Score (100%)
BEA AquaLogic 2.1 7.0 7.0 7.0 7.0 7.0 9.0 7.3
BEA WebLogic 9.1 8.0 9.0 9.0 9.0 8.0 8.0 9.0 8.6