Models Bringing Compaq NonStop Himalaya server reliability and transactional power to enterprise Java environments Compaq enables companies to combine the strengths of Java technology with the reliability and transaction and object management strengths of Compaq NonStop Himalaya servers Introduction From its stronghold in Internet client-side applications, Java technology is making major inroads into enterprise server-side applications. This is a natural step, as Java environments present companies with a low-cost and highly effective way to extend existing computing systems. Java technology integrates easily with existing computing platforms and can be made to take advantage of the specific strengths of those platforms. For customers of Compaq NonStop Himalaya servers, this compelling proposition means that: Customers can bring the virtually unlimited scalability, continuous availability, and transactional integrity of the Compaq NonStop Himalaya platform to enterprise Java transaction processing, business intelligence, and Internet-based applications. Existing Pathway, Compaq NonStop TUXEDO, and other Compaq NonStop Himalaya server applications can be extended to the Internet and other delivery channels in an extremely flexible and efficient manner. This paper examines the role of emerging Java application servers and illustrates how the (Compaq NonStop TSJ) solution enables companies to combine the flexibility and productivity of Java solutions with the reliability and the transaction and object management strengths of Compaq NonStop Himalaya servers. Creating a state-of-the-art transactional Java environment Server-side Java applications are gaining a robust execution infrastructure enabled by Java application servers. The phenomenal growth of networks and especially the Internet have forever changed the way software is developed and distributed. Using component technology to create self-contained software modules, or components, programmers are producing powerful object-oriented applications that execute across heterogeneous networks. The Java- programming language in particular has risen to prominence in the component arena because of its efficient object-based development paradigm and its platform independence. Java-based applications can be developed once and run practically anywhere with no changes, thus contributing to more efficient use of programming resources and avoidance of vendor "lock in." Admired for the portability, modularity, and security benefits it has brought to client-side Web applications, Java technology is now being embraced on the server side for all the same reasons and more. However, given the reliability and scalability requirements of enterprise computing, companies interested in developing and deploying server-side Java applications need to pay close attention to the infrastructures on which the components of these applications will be executed. Emerging role of Java application servers More than just a programming language, Java technology is comprised of a runtime environment (enabled by a Java Virtual Machine) and a set of enterprise services. With Java technology gaining popularity on the server side, a new kind of application server, called a Java application server (JAS), is emerging to provide the requisite infrastructure for the execution of these services. The most difficult part of providing an enterprise JAS is not in supplying the Java interfaces that the application programmer sees; it is in supporting those interfaces with a robust, transactional, fault-tolerant, and scalable Infrastructure. A JAS acts as a messenger between an existing computing platform and a Java environment. Hence, a JAS has the potential to fulfill two important roles: Enable the strengths, or "personality," of the underlying platform to be expressed in a Java environment (for example, the platform's innate scalability, fault tolerance, transaction protection mechanisms, or object management facilities). Apply these strengths to the execution of enterprise Java services for accessing database resources, providing transaction support, locating and managing the execution of Java components in a distributed environment, and so on. The Compaq NonStop TSJ solution: A unique transactional advantage Compaq has added JAS capabilities to the Compaq NonStop Himalaya platform, leveraging the significant investments in component technologies that the company has made over the past several years. The resulting Compaq NonStop TSJ product bundle is a business-critical execution environment for distributed Java Applications, with a distinct transactional advantage. The Compaq NonStop TSJ solution enables customers to: Create new Java-based enterprise applications that combine Java portability with Compaq NonStop Himalaya server robustness. Access any application running on a Compaq NonStop Himalaya server from a Java environment. Extend Compaq NonStop Himalaya server applications to new delivery mechanisms, including the Internet. DA - 10568 Worldwide Version 4 September 4, 2003 Page 1
Bundle of key Compaq products The Compaq NonStop TSJ solution is a bundle of four key Compaq products that work together to provide the most demanding functions of an enterprise JAS. These products include: Compaq NonStop Java Object Request Broker/MP (Compaq NonStop JORB/MP) software, which provides the execution infrastructure for distributed Java applications. Compaq NonStop Java Transaction Service/Object Transaction Service (Compaq NonStop JTS/OTS) software, which provides transactional inter-operability with other JTS- and OTS-compliant systems and transaction integrity for applications enabled with the Compaq NonStop TSJ solution. Compaq NonStop Server for Java software, which provides the Java Virtual Machine. Compaq itp Web Server software, which provides a platform for secure, scalable, and fault-tolerant Web serving. Unique benefit of Compaq NonStop TSJ solution The most difficult part of providing an enterprise JAS is not in supplying the Java interfaces that the application programmer sees (that is, the tip of the iceberg); rather, it is in supporting those interfaces in a fault-tolerant and scalable transactional infrastructure (that is, the bulk of the iceberg hidden beneath the waterline). The Compaq NonStop TSJ solution is able to provide this robust infrastructure by invoking Compaq's proven transaction services: Compaq NonStop Transaction Services/MP (Compaq NonStop TS/MP), Compaq NonStop Transaction Manager/MP (Compaq NonStop TM/MP), and Compaq NonStop DOM/MP software (see "Below the waterline: Compaq's business-critical transaction infrastructure"). This unique benefit is what distinguishes the Compaq NonStop TSJ solution from other JAS solutions. With the Compaq NonStop TSJ solution, Pathway server classes can be treated as distributed components in a Java application. Similarly, Java servlets (small server-side Java applications) can be created that extend Compaq NonStop Himalaya server-based applications with all their expandability, reliability, and performance to the Internet. Below the waterline: Compaq's business-critical transaction infrastructure The Compaq NonStop TSJ solution is a de facto, high-performance transaction processing monitor. Here's why: Compaq has developed a flexible transaction processing infrastructure built around its Compaq NonStop TS/MPand Compaq NonStop TM/MP software. This infrastructure reflects 25 years of transaction processing expertise and underpins many of the world's highest performance and most critical transaction processing environments including systems that handle the majority of the world's stocktrades and automated teller machine transactions. Residing on top of the Compaq NonStop Kernel operating system, Compaq NonStop TS/MP and Compaq NonStop TM/MP software provide transaction services and facilities for the following Compaq middleware "personalities": Compaq Pathway/TS, Compaq NonStop TUXEDO, and Compaq NonStop DOM/MP products. Pathway/TS and Compaq NonStop TUXEDO software are transaction processing monitors, while Compaq NonStop DOM/MP software is Compaq's CORBA 2.3-compliant object transaction processing monitor. Compaq NonStop DOM/MP software enables Compaq NonStop Himalaya servers to be used in a standards-based, multi-vendor, distributed object computing environment. It also allows object "wrappers" to be placed around existing applications for legacy integration with emerging distributed object computing environments, including Java. Inheriting performance and reliability benefits Compaq NonStop TS/MP, Compaq NonStop TM/MP, and Compaq NonStop DOM/MP software represent the bulk of the iceberg below the Java interfaces supported by the Compaq NonStop TSJ solution. This solution resides on top of the Compaq NonStop DOM/MP application and thus inherits the strengths of the Compaq NonStop Himalaya transaction infrastructure, such as the ability to dynamically balance workloads across multiple CPUs for optimal use of server resources, as well as the ability to transparently recover from most faults in less than a second, while maintaining complete transactional integrity. Invoking Compaq NonStop transaction services in a Java environment The Compaq NonStop TSJ solution uses a Java specific implementation of the Compaq NonStop DOM/MP Product Compaq NonStop JORB/MP software to deliver the advantages of this proven transaction infrastructure in a Java environment without special application programming. Developers simply write applications in Java, and Compaq NonStop JORB/MP software invokes Compaq NonStop DOM/MP services in a Java environment. DA - 10568 Worldwide Version 4 September 4, 2003 Page 2
Compaq's solution: Java technology with a business-critical heart The Compaq NonStop TSJ solution combines Compaq NonStop Himalaya and CORBA technologies to enable business-critical, server-side Java applications across heterogeneous networks. The Compaq NonStop TSJ solution takes advantage of the scalability, continuous availability, and transaction management capabilities of the Compaq NonStop Himalaya platform to provide robust support for Java Components and applications as robust as the support that Compaq NonStop Himalaya servers have traditionally provided for any other application. At the same time, it employs an enterprise-class CORBA-compliant object transaction manager (OTM) to provide inter-operability across platforms and incorporates secure application services for running applications over the Internet. Here is how the four key products that constitute the Compaq NonStop TSJ solution Compaq NonStop JORB/MP, Compaq NonStop JTS/OTS, Compaq NonStop Server for Java, and itp WebServer software cooperate to execute the functions of a business-critical JAS. Comprehensive object transaction management: Compaq NonStop JORB/MP software The business-critical heart and the component technology brain of the Compaq NonStop TSJ solution is its Java- based, CORBA-compliant object request broker (ORB), the Compaq NonStop JORB/MP product. As an execution platform, Compaq NonStop JORB/MP software: Provides Java bindings to services for locating objects, sending messages between them, and managing their execution in a distributed environment. Enables Java applications to inherit the Compaq NonStop system fundamentals of scalability, reliability, and manageability. Built on the robust and proven OTM infrastructure of Compaq NonStop DOM/MP software, Compaq NonStop JORB/MP software supports inter-operability across heterogeneous networked computing platforms that use CORBA -compliant ORBs and other Java ORBs. This includes allowing applications on platforms other than the Compaq NonStop Himalaya platform to inter-operate with Compaq NonStop Himalaya server based applications. This seamless interaction is enabled by the use of CORBA's standard Internet Inter-ORB Protocol (IIOP) interfaces. Developing and deploying Java components Through Compaq NonStop JORB/MP software, the Compaq NonStop TSJ solution facilitates the development of distributed Java objects by providing developers with a CORBA-compliant Interface Definition Language (IDL) compiler. IDL defines types of objects, their attributes, the methods they export, and the method parameters. A CORBA object uses IDL to inform potential clients of its available operations (that is, the "behavior" of the object) and how to invoke them. Compaq NonStop JORB/MP software's IDL compiler processes the IDL files and produces Java language skeletons for implementation server classes. A programmer then creates the desired server classes by supplying the Java code that implements the methods in the skeletons. The IDL compiler also generates all the code necessary to enable transparent client interactions with potentially remote objects. Compaq NonStop JORB/MP software also provides the language bindings for the Java programming language, as well as CORBA-compliant naming and event services that enable objects to advertise services and register or unregister their interest in specific events. Finally, Compaq NonStop JORB/MP software lets programmers develop and test their applications on any Java Virtual Machine through a Java only implementation called JORB Lite. Leveraging Compaq's premium transaction processing services Through Compaq NonStop JORB/MP software (by way of Compaq NonStop DOM/MP, Compaq NonStop TS/MP, and Compaq NonStop TM/MP software), the Compaq NonStop TSJ solution enables Java environments to benefit from the premium transaction processing services inherent to the Compaq NonStop Himalaya platform. The Compaq NonStop TSJ solution can, for example, take advantage of such valuable Compaq NonStop Himalaya platform services as dynamic load balancing and comprehensive transaction protection. On the Compaq NonStop Himalaya platform, processes can be distributed across multiple CPUs for optimal throughput. As a result, applications can be scaled (and protected from process or system failure) by replicating processes on a single node or by adding server processes on other nodes. The Compaq NonStop TSJ solution allows application server processes to run as Compaq NonStop TS/MP server pools (see figure 2). Thus, several processes act as a logical server, and the least busy server receives any new work the result being automatic load balancing that is completely transparent to the application. Transaction protection At the same time, Compaq NonStop Server for Java software provides complete transaction protection through its links to Compaq NonStop TM/MP software, the Compaq NonStop Himalaya platform's parallel, distributed transaction manager. Essentially, Compaq NonStop TM/MP software ensures that transactions are completed or do not happen at all. Compaq NonStop TM/MP software coordinates updates to Enscribe or Compaq NonStop SQL databases and provides mechanisms for sub-second recovery to ensure database consistency in the event of hardware or software failures. DA - 10568 Worldwide Version 4 September 4, 2003 Page 3
Transactional inter-operability Compaq NonStop TM/MP software also extends its transaction protection services to databases that are shared among the Compaq NonStop TSJ, Pathway/TS, and Compaq NonStop TUXEDO applications. This opens the door to seamless transactional inter-operability among applications in the three environments. Harnessing CORBA and Java transaction services: Compaq NonStop JTS/OTS software In addition to Compaq NonStop JORB/MP software, with its powerful ORB and OTM services, the Compaq NonStop TSJ solution also incorporates Compaq NonStop JTS/OTS software, which implements CORBA Object Transaction Service (OTS) and Sun Microsystems's Java Transaction Service (JTS) specifications. In supporting OTS, the Compaq NonStop TSJ solution is able to support transaction processing across multiple OTS-compliant objects distributed across a variety of systems from multiple vendors. Support for JTS, the standard transaction management API for Java environments, enables Java mapping of the OTS interfaces for application portability. Providing an enterprise-class runtime platform: Compaq NonStop Server for Java software Java technology is designed to execute identically on a wide range of hardware platforms. It does this through an architecture-neutral software platform known as a Java Virtual Machine, which translates Java instructions for the underlying platform's operating system to execute according to the strengths or limitations of the platform. In the case of Compaq NonStop Himalaya servers, Java code executes the same as it would on any other server platform, but with the full availability, scalability, and manageability that the parallel, fault-tolerant Compaq NonStop Himalaya platform provides to any Compaq NonStop Software application. The Compaq NonStop TSJ solution incorporates Compaq NonStop Server for Java software, which provides: The requisite Java Virtual Machine The full Java Development Kit Java Database Connectivity (JDBC) support A Data Definition Language (DDL) dictionary utility that generates Java source code to automate Java applications to Pathway and other Compaq NonStop Software server classes. Along with providing a robust execution platform for standalone and distributed Java applications, Compaq NonStop Server for Java software helps extend server-side Java applications, or servlets, to the Web. Taking enterprise applications safely to the Internet: itp WebServer software Companies are Internet-enabling their enterprise applications for a combination of excellent reasons. These include reducing networking costs through adding intranet and Internet capabilities and providing customers, partners, and employees with easy access to informational or transactional services. Java technology was designed to take full advantage of networked environments such as the Internet; thus, the ability to Internet-enable legacy applications has become a defining function of a JAS. As a point of distinction, the Compaq NonStop TSJ solution is designed to securely Internet-enable business-critical applications. The first steps have already been discussed how the Compaq NonStop TSJ solution bolsters the reliability and scalability of Java technology to make it suitable for business-critical computing, and how it leverages Java and component technology to speed the development of distributed applications. The goal is to cost-effectively extend the reach of applications via business-critical Java servlets on the Web. The Compaq NonStop TSJ solution incorporates a fourth product, itp WebServer software, which provides a full range of services for running enterprise applications on the Web. Designed to scale and to ensure application availability, itp WebServer software can be used to serve HTML pages or to run Common Gateway Interface (CGI) scripts and Java servlets. DA - 10568 Worldwide Version 4 September 4, 2003 Page 4
High-reliability, high-performance Web access to business-critical resources In conjunction with Compaq NonStop Server for Java software, the itp WebServer product allows the creation of Java servlet extensions that access Compaq NonStop Himalaya server-based databases and services. By invoking the Compaq NonStop Himalaya platform's transaction processing infrastructure including Compaq NonStop TS/MP and Compaq NonStop TM/MP software itp WebServer servlets inherit this infrastructure's robustness and scalability. Web applications have typically been written in C and implemented via CGI scripts. The Compaq NonStop TSJ solution allows customers to instead implement servlets using the Java programming language so that they execute much more quickly and make fewer overhead demands on the server. As with all applications that benefit from the Compaq NonStop TSJ solution, itp WebServer processes are implemented as Pathway server classes that can be replicated across multiple processors and nodes. As a result, large volumes of concurrent Web transactions are executed concurrently for sustained high performance. Transactional security on the Web As an option, itp WebServer software can provide the necessary security apparatus for deploying enterprise applications on the Web. Sensitive transactions can be protected using public-key security for server and direct access authentication, and leading industry certificate authorities are supported. Netscape Secure Sockets Layer (SSL) 3.0 provides data encryption, ensures message integrity, and supports optional client authentication. Ticketing for user session tracking is also supported. Inheriting performance and reliability benefits Compaq NonStop TS/MP, Compaq NonStop TM/MP, and Compaq NonStop DOM/MP software represent the bulk of the iceberg below the Java interfaces supported by the Compaq NonStop TSJ solution. This solution resides on top of the Compaq NonStop DOM/MP application and thus inherits the strengths of the Compaq NonStop Himalaya transaction infrastructure, such as the ability to dynamically balance workloads across multiple CPUs for optimal use of server resources, as well as the ability to transparently recover from most faults in less than a second, while maintaining complete transactional integrity. Summary The Compaq NonStop TSJ solution takes on the role of a standards-based JAS, combining Java ease, flexibility, and portability; CORBA-compliant component technologies; and the Compaq NonStop Himalaya platform's open transaction services and facilities. The Compaq NonStop TSJ solution provides the following business benefits: Business-critical applications can be expressed as Java servlets for extension to the Internet. Enterprise Java environments can be integrated into the robust transaction processing capabilities of the Compaq NonStop Himalaya platform and into the availability and scalability of Compaq NonStop Himalaya servers scalable to millions of users and thousands of concurrent transactions. Customers can rapidly and inexpensively construct reliable component-based applications that execute across heterogeneous networks. Customers can protect and extend their existing business-critical Compaq NonStop system computing investments. The Compaq NonStop TSJ solution fulfills the mission of a JAS geared for business-critical computing. Even as Java and the Internet extend the value of business-critical applications, they are making high availability and scalability more important than ever. Distributed network computing, electronic commerce, and Internet-enabled direct customer communications all demand the kind of robust infrastructure that Compaq NonStop Himalaya servers have traditionally supplied. Compaq's investments in component technologies and Java solutions are now paying immense dividends as customers embrace new enterprise application development and computing paradigms. Copyright 2003 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained. DA - 10568 Worldwide Version 4 September 4, 2003 Page 5