Email This Page

APPC: Advanced Program to Program Communication (SNA LU6.2)

Advanced Program-to-Program Communication (APPC), a protocol in the presentation and session layer, is a programming interface standard that allows interconnected systems to communicate and share the processing of programs. Originally developed by IBM as a remote processing tool between Logic Unit (LU), APPC is now used to provide distributed services within a heterogeneous computing environment.

APPC software enables high-speed communication to take place between programs residing on different computers, and between workstations and midrange and mainframe computer servers. APPC allows user written programs to perform transactions in a Client-Server network.APPC is a standardized application programming interface which allows an application to use a pre-defined set of VERBS/API for sending and receiving data to/from another program located in a remote node. This set of verbs/API, can only be used with an LU 6.2, which is why the terms APPC, LU 6.2 and PU type 2.1 are very often used interchangeably because they all work together.

LU 6.2 is the set of SNA parameters used to support APPC when it runs in the SNA network. Basically, LU6.2 acts as an interface, or protocol boundary, between SNA and an end user's application. However, not all APPC communications is based on SNA. APPC also runs between two MVS or CMS program using mainframe system services. Under Anynet, APPC can also run over the TCP/IP protocol used by the Internet.
Protocol Structure - APPC: Advanced Program to Program Communications (SNA LU6.2)

APPC Functions and commands:

Sessions, Conversations and job management - A client generates a request. It is passed to the subsystem on the client node and is sent through the network to the subsystem on the server node. A subsystem component called the Attach Manager then either queues the request to a running program or starts a new server program.

Attach Manager and Transaction Programs:

Allocate - acquires temporary ownership of one of the sessions to the server node.

Deallocate - frees the session and ends the conversation.

Sending Data (or Objects)

Send_Data - moves a record of data from the application memory to buffers controlled by the subsystem.

Receive_and_Wait

Send_Error - Send_Error breaks the logical chain of incoming records. APPC is responsible for flushing any pending data (from the server node, the network, or the client node). As soon as possible, the client is notified of the problem with a characteristic return code on the next APPC operation.

Confirm - Any pending data is sent, and after the other program receives the data it gets an indication that Confirm is pending. If everything is acceptable, then the correct response is to call the Confirmed verb.

Higher Level Programming:

Send file (disk to network)
Send SQL table (DBMS to network)
Send stack (REXX)
Send hiperspace (MVS)
Send clipboard (Windows)


Related Protocols

SNA , APPN Sponsor Source

APPC is an IBM protocol IBM SNA .Reference

http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/gg242537.html?Open : A CM/2 APPC/APPN Tutorial
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg243669.html?Open : Inside APPN and HPR - The Essential Guide to the Next-Generation SNA