En informática , la comunicación avanzada de programa a programa o APPC es un protocolo que los programas informáticos pueden utilizar para comunicarse a través de una red . APPC se encuentra en la capa de aplicación del modelo OSI y permite las comunicaciones entre programas en diferentes ordenadores, desde portátiles y estaciones de trabajo hasta ordenadores de gama media y host. APPC se define como VTAM LU 6.2 (unidad lógica tipo 6.2)
APPC se desarrolló en 1982 como un componente de la Arquitectura de Red de Sistemas (SNA) de IBM . [1] Se desarrollaron varias API para lenguajes de programación como COBOL , PL/I , C o REXX .
El software APPC está disponible para muchos sistemas operativos IBM y no IBM, ya sea como parte del sistema operativo o como un paquete de software independiente. APPC funciona como traductor entre los programas de aplicación y la red. Cuando una aplicación de su computadora pasa información al software APPC, APPC traduce la información y la pasa a una interfaz de red, como una tarjeta adaptadora LAN. La información viaja a través de la red a otra computadora, donde el software APPC recibe la información de la interfaz de red. APPC traduce la información nuevamente a su formato original y la pasa a la aplicación asociada correspondiente.
APPC se utiliza principalmente en instalaciones IBM que ejecutan sistemas operativos como z/OS (anteriormente MVS y luego OS/390), z/VM (anteriormente VM/CMS), z/TPF , IBM i (anteriormente OS/400), OS/2 , AIX y z/VSE (anteriormente DOS/VSE). Microsoft también incluye soporte para SNA en Host Integration Server de Microsoft . Los principales productos de software de IBM también incluyen soporte para APPC, incluidos CICS , Db2 , CIM y WebSphere MQ .
A diferencia de TCP/IP , en el que ambos interlocutores de la comunicación siempre tienen un papel claro (uno siempre es el servidor y el otro siempre el cliente), APPC es un protocolo peer to peer . Los interlocutores de la comunicación en APPC son iguales, cada aplicación puede ser tanto servidor como cliente por igual. El papel y el número de sesiones paralelas entre los interlocutores se negocian en sesiones CNOS (Change Number Of Session) con un modo de registro especial (por ejemplo, en IBM, 'snasvcmg'). La transmisión de los datos se realiza entonces mediante 'sesiones de datos', cuyos modos de registro se pueden determinar en detalle desde el administrador de VTAM (por ejemplo, longitud de los bloques de datos, codificación, etc.).
Los arquitectos de APPC también se dieron cuenta de que se podía utilizar para proporcionar servicios de sistema operativo en computadoras remotas. Se formó un grupo de arquitectura independiente para utilizar APPC con el fin de permitir que los programas de una computadora utilicen de forma transparente los servicios de gestión de datos de las computadoras remotas. Para cada uno de estos usos, el administrador de comunicaciones conversacionales de la arquitectura de gestión de datos distribuidos (DDM) crea una sesión APPC y la utiliza en modo cliente-servidor . Se definieron los formatos y protocolos de mensajes para acceder y gestionar archivos orientados a registros, archivos orientados a flujos, bases de datos relacionales (como la arquitectura base de la arquitectura de bases de datos relacionales distribuidas (DRDA)) y otros servicios. IBM y otros proveedores implementaron una variedad de productos DDM y DRDA.
Con la creciente prevalencia de TCP/IP, APPC ha disminuido, aunque muchos sistemas IBM tienen traductores, como Enterprise Extender (RFC 2353), para permitir el envío de tráfico con formato APPC a través de redes IP. [2]
No debe confundirse APPC con el sistema de nombre similar APPN (Advanced Peer-to-Peer Networking). APPC gestiona la comunicación entre programas y opera en las capas de aplicación y presentación. Por el contrario, APPN gestiona la comunicación entre máquinas, incluido el enrutamiento, y opera en las capas de transporte y red.