Connectors are middleware components that simplify moving parts of an integrated environment between platforms and operating systems. This gives you flexibility to set up and restructure heterogeneous environments. Connectors make it easy for an application on one operating system to use a resource that runs remotely on another instance of the same operating system or on a different operating system altogether.
Figure 19-3 shows an application that uses an API (Application Programming Interface) to communicate with a database server on the same operating system instance.
Figure 19-3. Application and database on one operating system
Figure 19-4 shows how a connector permits the database server to be moved to another operating system.
Figure 19-4. Application and database server on separate operating systems
The two operating systems need not be the same. Operating system B could be any operating system that supports the database server, and Operating system A could be any operating system for which there is a connector to that database server. For example, Operating system A could be Linux and Operating system B could be another Linux or a UNIX system with DB2 UDB. Operating system B could also be a traditional mainframe operating system, for example, z/OS with DB2 as the database server. The application is not aware that it is talking through the database connector to the database server.
Connectors handle the complexities of the higher- and lower-level protocols for communicating with the remote resource. To the application, it is transparent that the resource is not running under the same operating system. Connecting to back-end servers is especially attractive when using HiperSockets or Guest LANs.
Many software vendors provide connector technology for their applications, although the term connector is not always used. The following sections give an overview of the IBM connectors.
19.3.1 Connector examples
Connectors give you a lot of freedom for the layout of application environments. The following examples all exploit connectors:
Example: Linux with a traditional mainframe operating system
An application on Linux can use a traditional mainframe operating system as a back-end. Figure 19-5 illustrates this possibility.
Figure 19-5. Example: Linux application with a database server on z/OS
Connecting to a traditional back-end can be a strategic decision for an integrated environment that draws on the strengths of both Linux and the traditional mainframe operating system. This is essentially the setup that StoreCompany has implemented for its Internet sales project.
Example: Linux with a non-mainframe back-end
Linux on the mainframe can also use a database server on a non-mainframe system. Figure 19-6 illustrates this possibility.
Figure 19-6. Example: Linux application with a database server on UNIX
Using a UNIX back-end with Linux on the mainframe can be an intermediate solution in a staged consolidation where the DB2 UDB database server is migrated later to a Linux image on the mainframe.
Example: Traditional mainframe operating system with a Linux back-end
Linux can be the back-end for an application on a traditional mainframe operating system. Figure 19-7 illustrates this possibility.
Figure 19-7. Example: Linux as a back-end system for VSE/ESA
If the data is created by an application on the Linux system, it can be advantageous to maintain it on that system.
19.3.2 Java connectors to z/OS and VSE/ESA
There are connectors for different environments, including connectors that connect applications on different Linux images and connectors that are based on languages other than Java.
This section describes some of the connectors that apply to our context of Linux on the mainframe: connectors that connect Java applications on Linux to resources on traditional mainframe operating systems. Because of their portability, Java applications are of particular significance in heterogeneous environments. The Java applications can easily be moved between platforms that support a Java virtual machine, and the connectors provide the integration with other operating systems in the environment.
Table 19-2 summarizes the IBM connectors to mainframe operating systems that can run in Java environments on Linux.
Connectors to z/OS
The connectors to z/OS enable applications on Linux on the mainframe to exploit z/OS resources. Figure 19-8 summarizes the available IBM connectors.
Figure 19-8. Connectors to z/OS
The Linux and z/OS images could be, but do not need to be, on the same machine.
Figure 19-9 illustrates how StoreCompany connects a Linux Web application server to its z/OS DB2 server to implement an online catalog.
Figure 19-9. StoreCompany example for using a DB2 connector
An online sale would also trigger a communication from the Web application via the CICS connector to a CICS server on z/OS. This communication has been omitted from the diagram.
In a consolidated environment, you can take advantage of the virtual communication methods. For example, on z/VM, you can define multiple separate Guest LANs without having to invest in additional hardware. Figure 19-9 shows two separate Guest LANs.
Connectors to VSE/ESA
Connectors to VSE/ESA enable applications on Linux on the mainframe to exploit VSE/ESA resources, including native VSE/ESA resources, such as VSAM files, the VSE/ESA libraries, or the VSE/ESA spooler (VSE/POWER).
Conversely, applications for Linux on the mainframe enrich existing VSE/ESA environments. VSE/ESA does not provide a Java environment. With Linux on the mainframe, you can run Java-based applications or Java-based application servers, such as the IBM WebSphere Application Server (WAS), in close integration with VSE/ESA applications. Figure 19-10 summarizes the available IBM connectors.
Figure 19-10. Connectors to VSE/ESA
The Linux and VSE/ESA images in Figure 19-10 could be, but do not need to be, on the same machine.
Figure 19-11 shows an example of an integrated server environment where a number of Linux images run on z/VM. The environment includes several firewalls in Linux images and an initial firewall server outside the mainframe. One Linux image runs a WAS that provides dynamic Web content from data in a VSE/ESA VSAM back-end.
Figure 19-11. Example for using e-business connectors
The Linux images are connected through several Guest LANs that provide point-to-point connections between each firewall and the image drawn adjacent to it. WAS supports an e-business connector that connects to a connector server with access to VSAM on the VSE/ESA back-end.