Managing the Stack in Java Platform

As the complexity of enterprise applications grows with the increased offerings in the Java platform, the management of the different building blocks that constitute the application also becomes very complex. The challenge in managing applications in the enterprise is posed from many fronts. Organizationally, the corporation has to decide whether they manage all the IT services for the applications in-house, or leverage the benefits of outsourcing to meet the needs of their environment. Typically the hosting of applications and the management of the lowest tier of the stack - the hardware - is outsourced. Next comes the management of the OS itself - administration of releases, patches, configuration, etc. Above this layer is the application server layer. While the administration of the app server is closely tied to the OS, it has its own nuances and warrants a separate treatise. Above this layer is the management of the application. And finally, as the Java EE platform converges around SOA, the management of services is at the top of the stack. While there are many other layers that actually exist in a typical enterprise, for the purposes of this discussion let's concentrate on the ones mentioned so far.

When it comes to managing hardware, typically the hardware vendor (or supporting vendors) provides the tools to do so. IBM is the most prevalent example of a company that still operates the IT departments of a large percentage of companies that run Java EE applications. In the case of IBM, the Tivoli suite is commonly used to manage the lowest layer of the stack. OS management tools are typically provided from the OS vendor. However, offerings from other vendors allow a more "adaptive approach" to managing the OS releases, patches, and the network of deployments. An example of such a company is Aduva (www.aduva.com) with their OnStage product. Aduva's product automates the system deployment and management of Linux- and Solaris-based systems and applications, with one of the main features being the capability to learn, compile, and utilize customer-specific system environment dependencies.

As we move up to the app server layer, there is an obvious paradox. While all the Java EE app servers are united in their support of the ever-evolving Java standards, the management of each server is, of course, unique to the vendor. In the app server marketplace, there is a large variance in the maturity of the offerings provided by the vendor to support the product. For example, while IBM has lagged significantly in their support of the Java APIs until they caught up with WebSphere 5, they have always had ample support for managing the administration of their product. This is not surprising, as the support and professional services arm of IBM is quite formidable. On the other hand, BEA is one of the companies that have always been at the forefront as far as the Java platform is concerned. However, the administration tools have been quite primitive, and there is no real professional service arm to brag about. This has created an opportunity for other players to grab a chance to provide support for their substantial user base.

ARCTURUS Technologies, Inc. (www.arcturustech.com), is a vendor that saw the opportunity and created a solution to adaptively monitor and tune WebLogic environments through their AutoPilot product. Similar to what Aduva does in the Linux OS space, ARCTURUS' product uses a knowledge engineering base to proactively configure and reconfigure WebLogic deployments.

Let us take a look at the top layer of our stack in the remaining space on this page. Management of Web services is an obvious challenge in the brave new service-oriented world. While the standards around this space in the Java and .NET platforms are maturing, the ability to adapt to change in the service configurations is something that cannot be addressed by basic standards. In this space too, vendors are coming up with offerings to ease the pain. An example is RedRabbit Software (www.redrabbitsoftware.com) with its Corona Enterprise Suite, which provides features for management and "self-healing" of service-oriented applications.

The challenge for most enterprises is to choose the optimal mix of vendor products to address the needs of their particular stack, and to be able to adapt organizationally to make the best use of the offerings that they buy from these vendors.

© 2008 SYS-CON Media