• Jolt Servers—one or more Jolt servers listen for network connections from clients, translate Jolt messages, multiplex multiple clients into a single process, and submit and retrieve requests to and from Oracle Tuxedo-based applications running on one or more Oracle Tuxedo servers.
• Jolt Class Library—the Jolt class library is a Java package containing the class files that implement the Jolt API. These classes enable Java applications and applets to invoke Oracle Tuxedo services. The Jolt class library includes functionality to set, retrieve, manage, and invoke communication attributes, notifications, network connections, transactions, and services.
• JoltBeans—Oracle JoltBeans provides a JavaBeans-compliant interface to Oracle Jolt. JoltBeans are Beans components that you can use in JavaBeans-enabled integrated development environments (IDEs) to construct Oracle Jolt clients. Jolt Beans consists of two sets of Java Beans: JoltBeans toolkit (a JavaBeans-compliant interface to Oracle Jolt that includes the JoltServiceBean, JoltSessionBean, and JoltUserEventBean) and Jolt GUI beans, which consist of Jolt-aware Abstract Window Toolkit (AWT) and Swing-based beans.
• Jolt Repository—a central repository contains definitions of Oracle Tuxedo services. These repository definitions are used by Jolt at run time to access Oracle Tuxedo services. You can export services to a Jolt client application or unexport services by hiding the definitions from the Jolt client. Using the Repository Editor, you can test new and existing Oracle Tuxedo services independently of the client applications.
• Jolt Internet Relay—the Jolt Internet Relay is a component that routes messages from a Jolt client to a Jolt Server Listener (JSL) or Jolt Server Handler (JSH). This component eliminates the need for the JSH and Oracle Tuxedo to run on the same machine as the Web server. The Jolt Internet Relay consists of the Jolt Relay (JRLY) and the Jolt Relay Adapter (JRAD).
• Java-based API for simplified development—with its Java-based API, Oracle Jolt simplifies application design by providing well-designed object interfaces. Jolt supports the Java 2 Software Development Kit (SDK) and is fully compatible with Java threads. Jolt enables Java programmers to build graphical front-ends that use the Oracle Tuxedo application and transaction services without having to understand detailed transactional semantics or rewrite existing Oracle Tuxedo applications.
• Pure Java client development—using Jolt, you can build a pure Java client that runs in any Java-enabled browser. Jolt automatically converts from Java to native Oracle Tuxedo data types and buffers, and from Oracle Tuxedo back to Java. As a pure Java client, your applet or application does not need resident client-side libraries or installation; thus, you can download client applications from the network.
• Easy access to Oracle Tuxedo services through Jolt Repository—the Oracle Jolt Repository facilitates Java application development by managing and presenting Oracle Tuxedo service definitions that you can use in your Java client. A Jolt Repository bulk loading utility lets you quickly integrate your existing Oracle Tuxedo services into the Jolt development environment. Jolt and Oracle Tuxedo simplify network and application scalability, while encouraging the reuse of application components.
• GUI-Based maintenance and distribution of Oracle Tuxedo services—the Jolt Repository Editor lets you manage Oracle Tuxedo service definitions such as service names, inputs and outputs. The Jolt Repository Editor provides support for different input and output names for services defined in the Jolt Repository.
• Encryption for secure transaction processing—Oracle Jolt allows you to encrypt data transmitted between Jolt clients and the JSL/JSH. Jolt encryption helps ensure secure Internet transaction processing.
• Added security through Internet Relay—network administrators can use the Oracle Jolt Internet Relay component to separate their Web server and Oracle Tuxedo application server. Web servers are generally considered insecure because they often exist outside a corporate firewall. Using the Jolt Internet Relay, you can locate your Oracle Tuxedo server in a secure location or environment on your network, yet still handle transactions from Jolt clients on the Internet.
• Event Subscription Support—Jolt Event Subscription enables you to receive event notifications from Oracle Tuxedo services and Oracle Tuxedo clients. Jolt Event Subscription lets you subscribe to two types of Oracle Tuxedo application events:
• Unsolicited Event Notifications—a Jolt client can receive these notifications when an Oracle Tuxedo client or service subscribes to unsolicited events and an Oracle Tuxedo client issues a broadcast or a directly targeted message.
• Brokered Event Notifications—the Jolt client receives these notifications through the Oracle Tuxedo Event Broker. The Jolt client receives these notifications only when it subscribes to an event and any Oracle Tuxedo client or server posts an event.The end-to-end view of the Oracle Jolt architecture, as well as related Oracle Tuxedo components and their interactions, is illustrated in the figure “Oracle Jolt Architecture” on page 1‑6.Using Figure 1‑1 as an example, a simple banking application might have services such as INQUIRY, WITHDRAW, TRANSFER, and DEPOSIT. Typically, service requests are implemented in C or COBOL as a sequence of calls to a program library. Accessing a library from a native program means installing the library for the specific combination of CPU and operating system release on the client machine, a situation that Java was expressly designed to avoid. The Jolt Server implementation acts as a proxy for the Jolt client, invoking the Oracle Tuxedo service on behalf of the client. The Oracle Jolt Server accepts requests from the Jolt clients and maps those requests into Oracle Tuxedo service requests.Figure 1‑1 Oracle Jolt ArchitectureFigure 1‑2 illustrates the Jolt Server and Jolt Repository components.Figure 1‑2 Jolt Server and Repository ComponentsWhen developing a Jolt client application, you only need to know about the classes that Jolt provides and the Oracle Tuxedo services that are exported by the Jolt Repository. Jolt hides the underlying application details. To use Jolt and the Jolt Class Library, you do not need to understand: the underlying transactional semantics, the language in which the services were coded, buffer manipulation, the location of services, or the names of databases used.Figure 1‑3 shows the flow of activity from a Jolt client to and from the Oracle Tuxedo system. The call-out numbers correspond to descriptions of the activity in the table “Using the Jolt Class Library” on page 1‑8.Table 1‑1 briefly describes the flow of activity involved in using the Jolt Class Library to access Oracle Tuxedo services, as shown in the previous figure “Using the Jolt Class Library to Access Oracle Tuxedo Services.”
Table 1‑1 Using the Jolt Class Library Figure 1‑4 illustrates how the Jolt Repository brokers Oracle Tuxedo services to multiple Jolt client applications. (Four Oracle Tuxedo services are shown; however, the WITHDRAW service is not defined in the repository and the TRANSFER service is defined but not exported.)The Jolt Internet Relay is a component that routes messages from a Jolt client to the Jolt Server. The Jolt Internet Relay consists of the Jolt Relay (JRLY) and the Jolt Relay Adapter (JRAD). JRLY is a stand-alone software component that routes Jolt messages to the Jolt Relay Adapter. Requiring only minimal configuration to work with Jolt clients, the Jolt Relay eliminates the need for the Oracle Tuxedo system to run on the same machine as the Web server.The JRAD is an Oracle Tuxedo system server, but does not include any Oracle Tuxedo services. It requires command-line arguments to allow it to work with the JSH and the Oracle Tuxedo system. JRAD receives client requests from JRLY, and forwards the request to the appropriate JSH. Replies from the JSH are forwarded back to the JRAD, which sends the response back to the JRLY. A single Jolt Internet Relay (JRLY/JRAD pair) handles multiple clients concurrently.The main steps for creating and deploying a Jolt client, are described in the following procedure and in the figure “Creating a Jolt Application” on page 1‑13.For information about installing Oracle Tuxedo and creating an Oracle Tuxedo application, refer to Installing the Oracle Tuxedo System and Setting Up an Oracle Tuxedo Application.Refer to Installing the Oracle Tuxedo System.For information about configuring the Jolt Repository Editor and making Oracle Tuxedo services available to Jolt, see Chapter 4, “Using the Jolt Repository Editor”Figure 1‑5 Creating a Jolt Application