Corporate Info | News | Solutions | Products | Partners | Services | Events | Download | How To Buy
WebLogic Java Adapter for Mainframe User Guide Doc Home | BEA WebLogic Java Adapter for Mainframe User Guide | Previous Topic | Next Topic | Contents | Index

Understanding the BEA WebLogic Java Adapter for Mainframe Solution

Businesses around the world are using BEA WebLogicTM Server as the deployment platform for Java-based e-commerce applications. These applications support a wide range of business transactions, from simply displaying the content of a web page to processing secure, online financial transactions. As the complexity of web-based applications evolve, the business transactions supported by these applications may require direct integration with IBM mainframe applications in order to complete. Storing up transactions for the mainframe and executing them periodically in batch mode is not sufficient. To meet the rigorous demands for fast and flawless execution of customer service requests, the business transactions must integrate with mainframe applications in real-time. BEA WebLogic Java Adapter for Mainframe (JAM) built on WebLogic Server meets these demands.

This section discusses the following topics:

- The BEA WebLogic Enterprise Application Integration Solution

- BEA WebLogic Java Adapter for Mainframe Overview

The BEA WebLogic Enterprise Application Integration Solution

Corporations have become increasingly dependent on technology, investing heavily in applications and business models to meet their specific business needs. As more complex and disparate technology is added to the business environment, the need for a method of integrating these applications into a unified set of business processes has become increasingly important. Companies have invested millions of dollars in "best-of-breed" business models that are unable to work together as a unified system: The company's inventory control business application, human resources application and sales automation applications operate in unique ways and cannot communicate with each other without complex and often tenuous connections.

Instead of developing new applications that may or may not function as well as top-of-the-line prepackaged business applications, business managers are demanding that seamless bridges be built between existing business applications to bind them into a single, unified enterprise application. Enterprise application integration (EAI) provides the solution to this problem by allowing the unrestricted sharing of data and business processes among any connection applications and data sources in the enterprise without the necessity of changing the original applications or data structures.

Enterprise Application Integration: A Step Beyond the Middleware Solution

The need for integration between various enterprise applications has historically been solved with middleware, which provides only point-to-point linkage that requires complex links and significant alterations to source code and target systems. An EAI solution is a platform that allows all transaction information to be immediately available in any form and from any location in the enterprise and makes every application, database, transaction table, method available at any time. It is implemented by providing a set of integration-level application semantics that provide a common way for business processes and data to communicate across applications.

This solution focuses on the integration, reuse, and distribution of both business-level processes and data, and it seeks to mask the underlying configuration and functional complexities from users so that they need only an understanding of the applications they are integrating, not the integration system itself. A new generation of application servers allow developers to build and reuse business processes

The BEA EAI Solution on WebLogic Server

Integration requires an open, business-level view of the data and processes in an Enterprise Resource Planning (ERP) system in which the integration points are based on business objects, such as invoice, employee, customer, sales order, and purchase order. Leveraging various interfaces in an integration solution requires complex middleware technology and target application expertise. Figure 1-1 provides a graphic overview of the components of the BEA EAI solution on WebLogic Server.

Figure 1-1 The BEA EAI Solution on WebLogic Server

Currently, most advanced middleware vendors provide adapters to one or more of these interfaces. However, these offerings typically solve only a particular type of integration problem and usually introduce more proprietary technology into the integration solution. Consequently, the ideal integration solution is an industry standards-based abstraction layer that hides the complexities of the various interfaces and provides an open, business-level view of your third party applications. The BEA EAI leverages the strength, flexibility, and scalability of BEA WebLogic ServerTM. Figure 1-1 provides a visual over view of the BEA EAI Solution on WebLogic Server.

Understanding the WebLogic Sever Integration Environment

BEA WebLogic Sever is an open, extensible, standards-based application server platform that is used for assembling, deploying, and managing distributed applications. The BEA WebLogic product group includes application servers and related products that are designed to solve the urgent IT challenges of e-commerce and Web-ready applications. BEA WebLogic products provide the maximum flexibility in component-based application development, deployment, and management, while protecting IT investments through their unmatched adherence to industry standards. WebLogic is a rich, high-performance, fully integrated Java platform for enterprise applications. With WebLogic, you can:

- Accelerate Your Development Time

- Build For the Enterprise

- Scale and Manage as Your Needs Grow

  Note: Refer to the BEA WebLogicTM product documentation on the Product Documentation page at http://www.oracle.com/technology/documentation/index.html for the most up-to-date information on WebLogic solutions.

Accelerate Your Development Time

WebLogic isolates your developers and applications from disparities among Java platforms and database interfaces, and from low-level programming complexities like sockets and thread management. These kinds of resources belong in the server infrastructure, not in your application. WebLogic helps you get your application in users' hands quickly in the following ways:

- Builds reusable components easily by supporting both Enterprise JavaBeans and classic JavaBeans.

- Develops server-side Java for your website by supporting Java-standard Servlets for dispatching Java business logic in HTTP and dynamically constructing HTML responses.

- Supports more users with scalable RMI by offering the first high-performance implementation of Java Remote Method Invocation (RMI), over a multiplexed, bi-directional connection for optimal performance and scalability. With RMI, an application can invoke methods on objects stored in any remote JVM as if those objects existed locally.

- Reduces client overhead with multitier JDBC by allowing Java applications, including Internet applets, to use a single JDBC-compliant interface to access multiple databases. With pure Java clients, native code is not needed on the client machine. WebLogic JDBC enhances performance with data caching and multiplexed database connections, and it supports DBMS security and transactions.

- Simplifies event notification and management by offering a true "server-push" event model-as efficient, subject-based event notification solution for applications needing near-realtime information about changing conditions. An event-enabled application no longer needs to continuously check a connection in order to receive notification of remote events. When an event is submitted, WebLogic either notifies clients that have registered interest in the event or performs an action on behalf of those clients. Server-side content-based filtering allows you to limit interruptions on the client.

Build For the Enterprise

You want to build applications that last. You want to build them fast, and you want to leverage your existing databases, applications, systems, and infrastructure. To accomplish these goals, BEA WebLogic helps you:

- Develop business components with Enterprise JavaBeans to provide a component model that uses entity and session beans, which means WebLogic automates database components (entities), as well as classic transaction model components (sessions). WebLogic EJB offers you:

  - Automatic persistence (database and file access)

  - Automatic, declarative transaction models

  - Client authentication and access control at the method level

  - Resource management for threads, network, and database connections

  - Bean caching

  - Bean life-cycle management for creating, finding, and destroying beans

  - Concurrency control

  - External configuration of bean runtime properties

- Support all clients with the same business components. WebLogic supports multiple programming models: web and intranet-based HTML clients, browser-based applets, intranet and LAN-based desktop clients, as well as legacy environments, such as COM/ActiveX and CORBA.

  Standard Java Servlets can isolate the presentation logic from the EJB business logic for the HTML client so that desktop applications written in Java, Visual Basic, PowerBuilder, and other IDEs can access EJB components directly, providing identical business logic to these clients. Combining EJB with the multiple client models supported by WebLogic gives you complete flexibility in choosing and mixing application models.

- Increase reliability with transparent fault tolerance using WebLogic clusters. In addition to transparent scaling with load balancing across multiple servers for JNDI-based services, clusters provide redundancy that allows application clients to continue functioning even in the event of a server or network failure. In the WebLogic model, non-persistent conversational and stateless JNDI-based services are essentially immune to server or JNDI instance failures.

  WebLogic offers a variety of load-balancing and failover models that can be configured to meet the needs of the application. WebLogic's intelligent "SmartStubs" for RMI and EJB objects can select any one of the servers in a cluster during a name binding. Servlet session management is handled through the standard Java Session Management API rather than a proprietary solution.

- Integrate with existing applications and databases by facilitating EJB integration of legacy applications and databases into new applications. EJBs can "wrap" non-Java applications to make it easy to migrate heterogeneous applications to an easy-to-maintain standard. Once a legacy application is wrapped inside Enterprise JavaBeans, the business logic of the legacy application can be converted to Java when business needs dictate, without impacting new applications or clients.

  Similarly, Enterprise JavaBeans can access existing databases directly or through legacy transaction systems to provide data and processing to new applications in a component-centric paradigm. As you migrate your legacy applications to Java or to new systems, the Enterprise JavaBeans insulate client applications from changes.

- Automate database and transaction programming by providing automatic database access for bean developers. Using EJB "container-managed" persistence, the WebLogic EJB container provides the mapping from the user-developed bean to the underlying database. Datatype conversion, if any, is automatic. WebLogic also automatically handles transaction boundaries. The EJB developer specifies how the bean should relate to a transaction-start a transaction, participate in a transaction, and ignore a transaction.

- Lower costs with reusable components by offering multiple programming and component models. By designing applications with distinct presentation, business logic, and data/legacy application integration tiers, you can achieve a high degree of leverage and reuse. For example, common session Enterprise JavaBeans that contain the logic for business transactions can be shared by HTML clients, Java application clients, Visual Basic/C++ clients, and others.

  The same Enterprise JavaBeans can be used in many variants of the application. And because business process information has been abstracted away from the specifics of a single application interface, those business components can be reused over and over again in new applications, to significantly reduce cost over the life cycle of your enterprise applications.

Scale and Manage as Your Needs Grow

Scale and manage WebLogic as your needs grow with the following features:

- Zero administration clients (ZAC) makes it very easy to deploy client-side code to users. When you use a WebLogic server as an application dispenser, authorized users can use any browser to request the desired application from WebLogic. When the client-side application is installed, it is automatically updated with any changes you publish through the WebLogic Publisher Wizard, a graphical, easy-to-use interface that takes you step-by-step through the publishing process. Your end-users do not have to manually install anything.

- Graphical management console for monitoring and managing a WebLogic configuration. You can see what your WebLogic Servers are doing, where the hot spots are, what your dynamic runtime environment looks like, and what resources specific applications or users are consuming.

- Security that provides optional support for Secure Sockets Layer (SSL) to ensure the integrity and privacy of network communications. Security services support X.509 certificates and access control lists (ACLs) to authenticate participants and manage access to network services. WebLogic includes the RSA security algorithms to ensure SSL compatibility with industry-standard browsers.

- Standard Internet protocols that allow network communications to flow over HTTP or CORBA IIOP, which can be used across firewalls or to connect CORBA-enabled clients or servers.

- Global naming. WebLogic uses the Java-standard JNDI interface with whatever LDAP-compliant directory technology your corporation chooses for managed objects, users, database connections and other resources under its control.

- Load balancing that permits server-side components to be dynamically relocated across machines for load leveling. Requests can be balanced across multiple servers that are providing EJB or RMI components, or running servlets for web clients.

- Fault tolerance. In a WebLogic cluster, requests for JNDI, EJB, or RMI automatically failover to another cluster member in the event of an individual server failure. Since HTTP sessions can be saved to a persistent store as a database or file system, WebLogic can provide long-lived sessions as well as fault-tolerant sessions to a web community of users.

- Exception logging that automatically logs diagnostic information and provides interfaces for applications to log their own exception conditions. Logs can be viewed remotely from a web browser using common log format.

WebLogic Application Servers

An application server is the engine that runs the applications that drive e-commerce. Application servers are software programs deployed on high-performance computers that act as go-betweens and service enablers, connecting browsers on desktops with the back-end systems and databases of e-businesses over the Internet. As companies increasingly leverage intranets and extranets as well as the Internet as new business environments, their networked applications need to be dynamically linked to other applications and data sources, and easily deployed and managed across machines and networks that are themselves in flux.

With the industry's most comprehensive suite of transaction and application servers, BEA provides an end-to-end transaction platform for building a solid, easy-to-manage e-commerce system engineered for rapidly launching high-value services to increase competitive advantage.

BEA's transaction and application server family provides development and deployment solutions for e-commerce that stretch from front-end, simple HTML-based Web sites to mainframe-class systems. The marriage of BEA's application server and transaction processing server is a perfect combination of capabilities for the Internet Economy. BEA WebLogic ServerTM focuses on Web-based Java applications, while BEA eLink Platform and BEA WebLogic EnterpriseTM focus on managing high-volume, heterogeneous transactions. Together, they drive end-to-end e-business with unfailing reliability that both consumers and companies can count on.

The BEA WebLogic family of application servers includes:

- WebLogic Server

- WebLogic Enterprise

- WebLogic Express

  Figure 1-2 WebLogic Family of Application Servers

WebLogic Server

The award-winning BEA WebLogic ServerTM provides the performance, scalability, and high-availability required to power e-commerce and Internet business solutions. The server of choice for many e-businesses, it offers the following features:

- Standards leadership. WebLogic Server provides an industrial-strength set of services for building e-commerce applications using the Java 2 Enterprise edition (J2EE) standards, including enterprise JavaBeans (EJB) components. BEA WebLogic Server offers the most comprehensive implementation of Enterprise Java standards in the industry.

- Unlimited Scalability. WebLogic Server provides a highly scalable architecture featuring client connection sharing, resource pooling, and sophisticated clustering of both dynamic web pages and EJB components.

- Rapid Development. WebLogic Server is designed for enterprise e-business applications that demand the flexibility and security of server-side components in Java, while supporting the scalability, performance, and reliability essential to mission-critical solutions. WebLogic Server simplifies development of portable and scalable applications and provides rich interoperability with other applications and systems.

WebLogic Enterprise

For e-commerce solutions that require the greatest choice of development and deployment options and unlimited scalability, BEA WebLogic EnterpriseTM delivers a proven and scalable transaction platform that brings together the top industry standards with the power of component-based programming to create complete production-ready e-commerce solutions.

WebLogic Express

BEA WebLogic ExpressTM provides a solution for developing simple HTML front-end applications to a database for companies who want to develop new business logic in Java but not EJBs or components.

BEA WebLogic Java Adapter for Mainframe Overview

BEA WebLogic Java Adapter for Mainframe (JAM) is a set of software components that provides seamless bidirectional interactions between Java applications running on a WebLogic Server platform and either Customer Information Control System (CICS) applications, or Information Management System (IMS) applications running on a mainframe. With CICS, the Java application request/response operations interact using Distributed Program Links (DPL). With IMS, the Java application request/response operations interact using IMS implicit Application Program-to-Program Communication (APPC) support.

JAM Architecture

BEA WebLogic Java Adapter for Mainframe enables bidirectional connectivity between Java applications running on the WebLogic Application Server and Mainframe COBOL applications running in the CICS or IMS environments.

The JAM product provides the following features:

- Development tools

  The eGen COBOL Copybook utility translates COBOL copybooks to JAVA source that can be used as the basis for application development and data transformation.

- Runtime environment

  The Java Communications Resource Manager Gateway (JCRMGW) runs in a WebLogic Server instance and an SNA Communications Resource Manager (SNACRM) can run in the native UNIX/NT environment or distributed to the mainframe as an MVS APPC application. The SNACRM may also be distributed to another UNIX/NT system, separate from the WebLogic Server platform.

  Note: WebLogic Server is required and a third-party SNA stack is required if the SNACRM is not installed on a mainframe, but are sold separately.

In a typical scenario, existing mainframe COBOL applications are exposed to new or existing applications in the WebLogic Server environment. The development tools generate JAVA code from COBOL copybook source. The COBOL copybook contains the structure and size of the data that is passed between the WebLogic Server and mainframe applications. The source code generated from the copybook provides classes that can be extended by the application developer to perform discrete business operations. During runtime, the data passed between applications is stored in a data view object. This object provides set and access methods for all fields in the data buffer. The object also provides a method for converting the object to an XML document. The XML document can be used as input to other applications and, specifically, the WebLogic Process Integrator work flow engine. An XML schema can be generated from the original COBOL copybook for manipulation and transformation of XML documents.

The JAM architecture requires APPC-based communications with mainframe CICS and IMS. The product structure is flexible enough to allow TCP access to the mainframe, if certain product components are installed on the mainframe.

The JCRMGW runs in WebLogic Server and is an eGen client gateway that communicates over TCP/IP to the SNACRM. The SNACRM can run on the same or separate platform other than the JCRMGW. When the SNACRM is running in the UNIX/NT environment, a third party SNA stack is required to enable SNA communications with the mainframe. The SNACRM could alternatively be installed on the mainframe running as a UNIX application under OS/390 UNIX, or as a native MVS APPC application. When the SNACRM is running under OS/390 UNIX or MVS, it does not require a third party SNA stack, but directly accesses VTAM for communications with CICS or IMS. Figure 1-2 illustrates the JAM architecture.

Figure 1-3 JAM Architecture

eGen COBOL Code Generator

The eGen COBOL code generator is the utility that generates Java source code from a COBOL copybook. A base Java application is provided on the JAM product CD-ROM so you can modify it to create custom Java applications. The generated code is dependent on the generation model chosen:

- Servlet only

- Client EJB (with optional servlet)

- Server EJB

- Java Class

The generated code provides for data accessors and conversions as well as miscellaneous functions. The generated servlet provides a basic form that matches the copybook. You can use this servlet for testing or proof of concept. For examples of using the eGen COBOL code generator, refer to Developing Java Applications and Programming Scenarios.

Java Communications Resource Manager Gateway

The Java Communications Resource Manager Gateway (JCRMGW) is the Java application that manages sessions providing access into and out of the Java environment. JCRMGW is an EJB component that runs on WebLogic Server Java Virtual Machine (JVM). JCRMGW processes Java-to-mainframe requests and responses in conjunction with the SNACRM. Requests coming from the mainframe are mapped to an EJB that services the request while requests going to the mainframe are mapped to a mainframe program that can be executed using a CICS DPL or started from an IMS queue.

JAM includes a utility that allows system managers to monitor the status of connections to the mainframe and to set traces on connections for diagnostic purposes.

System Network Architecture Communications Resource Manager

The SNACRM runs as a separate native process. It enables APPC conversations and DPL protocols to flow into and out of the Java environment and runs on the same platform as the SNA stack. The SNACRM obtains its configuration from the JCRMGW. If the Java gateway is running on a platform other than the one on which the SNACRM is running, the SNACRM should be started before WebLogic Server is started so it is monitoring the address specified in the JCRMGW configuration.

The SNACRM supports non-transactional IMS programs using the implicit APPC support for IMS. Implicit APPC is similar to the CICS/ESA DPL. Any IMS program that sends and receives messages to and from the IMS message queue can be used without change as either a client or a server.

In order for the SNACRM to properly operate within the JAM environment, the CICS remote domain must be prepared to conduct operations with the local domain. This includes:

- Establishing the Virtual Telecommunications Access Method (VTAM) configuration

- Configuring the CICS Local Unit (LU)

- Completing cross-platform definitions

- Setting stack traces

For more detailed information, refer to the BEA SNACRM Administration Guide accessible from the JAM online documentation in both HTML and PDF formats.

Supported Third-Party SNA Stack

A properly configured SNA protocol stack is required for the SNACRM to communicate with a mainframe if your SNACRM is not installed on the mainframe. (Refer to the BEA WebLogic Java Adapter for Mainframe Release Notes for a complete list of supported stacks.) The JCRMGW requires the following parameters from the SNA stack configuration:

- Local LU

  The local name of the SNACRM that is used by the mainframe CICS region.

- Remote LU

  An alias representing the mainframe partner application to be used by the SNACRM.

- Mode name

  SNA mode definitions provide session characteristics for given local/remote LU pair.

- MAX Sessions (optional)

  Sessions are required for connections to be made between two LU. MAX sessions should be high enough to handled the expected gateway traffic.

- Minimum Contention Winners (optional)

  This parameter is optional and determines priority of session activation.

Copyright © 2001 BEA Systems, Inc. All rights reserved. Required browser: Netscape 4.0 or higher, or Microsoft Internet Explorer 4.0 or higher.