The IBM iSeries (known as AS/400) is a highly integrated, reliable server platform that allows businesses to run multiple operating environments simultaneously. Their integrity and security characteristics allow them to be used in many critical applications.
RPG has evolved from being a simple Report Program Generator, (from which it got its name) into a powerful application development procedural language on iSeries machines. Currently it is supported on the ILE (Integrated Language Environment) on iSeries.
Host servers handle requests from client PCs or other devices running an application as illustrated in Figure 1 to enable printing a document and other tasks. The iSeries and AS/400 computers are full function servers capable of performing many tasks at once, including file, database, applications, mail, print, multimedia, fax and wireless communications. Each task server runs as a separate job on the system, and each server job sends and receives data streams on a socket connection.
One of these host servers is the Remote Command and Distributed program call server. This server runs the programs on an iSeries or AS/400 system.
IBM's Toolbox for JAVA has a multitude of packages that handle different functionalities. For example, Access classes manage sign-on information, create and maintain socket connections, and send and receive data, while Command Call classes run iSeries and AS/400 batch commands.
IBM's iSeries adapter uses the Access classes, and Program Call classes to call the RPG program. Data conversion classes provide the capability to convert numeric and character data between iSeries or AS/400 and Java formats.
Figure 1. Overview of AS/400 client - server architecture
While OS/400 running on an AS/400 is capable of handling many types of tasks, the iSeries adapter only uses the Remote Command and Distributed program call server. This server runs the programs on the AS/400 system.
A diagram of the iSeries adapter connection of the client to the server is shown in Figure 2.
Figure 2. Diagram of the iSeries adapter's connections
The data queues on iSeries allow fast communications between jobs. Therefore, it is an excellent way to synchronize and pass data between jobs. With data queues on iSeries:
Each message on a keyed data queue has a key associated with it. A message can be taken off the queue only by specifying the key that is associated with it.