|
Across the Boards - APPX Peer-to-Peer Communications
APPX Operation in DetailThere are three main issues to understanding the character of the APPX co-processing solution: the idea of an APPX session, send and receive modes, and the asynchronous nature of processing by two peers in an APPX session.
The session
Send and receive modes Under normal conditions the state of the session is controlled by the sender. The sender remains the sender until it explicitly becomes the receiver by issuing an APPX Receive. The other peer automatically becomes the sender in when this happens (this is known as turnaround). The receiving peer may anticipate this turn of control or it may wait until it is told explicitly by APPX that a turnaround has occurred. The receiving peer anticipates the turn if it knows exactly how many records will be sent. Without anticipation, many records may be sent in response to a simple query, and the turnaround might be indicated by a simple "end of file" condition. Both approaches are used in the sample application.
Asynchronous processing Asynchronous processing occurs because the two peers run in parallel on different machines. In addition, issuing an APPX Send does not necessarily physically send anything to the peer. Sends are buffered and blocked for transmission efficiency just as writes to a tape drive are. A group of records is sent only when the buffer is full or when synchronization is needed, or is explicitly requested by the application. For instance, when the sender becomes the receiver, any records left in the buffer are physically sent so that the other peer can receive them and then become the sender in turn. While APPX provides primitives for forcing synchronization, the vast majority of applications require only the implicit synchronization performed automatically by APPX. In most applications, a sender will immediately become a receiver after completing its task, and APPX automatically takes care of synchronization.
Other APPX Features APPX support many different types of communications devices. In addition to terminal oriented devices such as 3270 emulators and coax cards, APPX supports LU6.2 and TCP/IP native communications. These provide the highest performance links available. The use of these different communications links is largely transparent to the APPX application, and an APPX application can be deployed using a variety of host connects, as appropriate for each installation. Providing high performance, wide support and ease of use is the embedded TN3270 emulator available in Across the Boards. APPX can use the TN3270 support in structured field mode, providing excellent throughput, from anywhere that a TN3270 connection can be established to the host. The TN3270 session exists independently of any other 3270 emulation on the client PC, and so does not interfere with other users. The APPX Router provides a high-speed gateway between the mainframe and the client PCs. Using LU6.2 to connect to the mainframe and TCP/IP to connect to the PCs, it provides the best communication option for both systems. In addition, the APPX Router offloads work from the mainframe, and adds additional security and access control for users coming in via TCP/IP connections. As always, use of the APPX Router is largely transparent to the APPX applications. In conjunction with the APPX Router, APPX provides for link level encryption and authentication on APPX sessions, providing solid security for deploying APPX applications over the Internet. APPX supports both sessions initiated from the PC and from the mainframe. From the mainframe an APPX application can initiate a session to a PC connected via a terminal (e.g. 3270) device, LU6.2 or TCP/IP. The host can also start a session to the PC via the APPX Router. Sessions can also be started from host to host. Like all other portions of Across the Boards, APPX is thread safe can support hundreds of simultaneous sessions for server applications as easily as a single session for a client application. APPX can be used in web (and other) servers to access mainframe data.
|