Communication avancée de programme à programme IBM - IBM Advanced Program-to-Program Communication
En informatique , Advanced Program to Program Communication ou APPC est un protocole que les programmes informatiques peuvent utiliser pour communiquer sur un réseau . APPC est à la couche application dans le modèle OSI , il permet les communications entre les programmes sur différents ordinateurs, des portables et des postes de travail aux ordinateurs de milieu de gamme et hôtes. APPC est défini comme VTAM LU 6.2 (unité logique de type 6.2)
APPC a été développé en 1982 en tant que composant d' IBM de systèmes Architecture Network (SCN). Plusieurs API ont été développées pour des langages de programmation tels que COBOL , PL / I , C ou REXX .
Le logiciel APPC est disponible pour de nombreux systèmes d'exploitation IBM et non IBM différents, soit en tant que partie du système d'exploitation, soit en tant que progiciel distinct. APPC sert de traducteur entre les programmes d'application et le réseau. Lorsqu'une application sur votre ordinateur transmet des informations au logiciel APPC, APPC les traduit et les transmet à une interface réseau, telle qu'une carte adaptateur LAN. Les informations voyagent à travers le réseau vers un autre ordinateur, où le logiciel APPC reçoit les informations de l'interface réseau. APPC traduit les informations dans leur format d'origine et les transmet à l'application partenaire correspondante.
APPC est principalement utilisé par les installations IBM exécutant des systèmes d'exploitation tels que z / OS (anciennement MVS puis OS / 390), z / VM (anciennement VM / CMS), z / TPF , IBM i (anciennement OS / 400), OS / 2 , AIX et z / VSE (anciennement DOS / VSE). Microsoft inclut également la prise en charge de SNA dans le serveur d'intégration hôte de Microsoft . Les principaux produits logiciels IBM incluent également la prise en charge d'APPC, notamment CICS , DB2 , CIM et WebSphere MQ .
Contrairement à TCP / IP , dans lequel les deux partenaires de communication possèdent toujours un rôle clair (l'un est toujours serveur et d'autres toujours le client), APPC est un protocole peer-to-peer . Les partenaires de communication dans APPC sont égaux, chaque application peut être à la fois serveur et client de la même manière. Le rôle, et le nombre de sessions parallèles entre les partenaires, est négocié sur des sessions CNOS (Change Number Of Session) avec un mode de journalisation spécial (par exemple chez IBM, 'snasvcmg'). La transmission des données se fait ensuite par «sessions de données», leurs modes de journalisation peuvent être déterminés en détail depuis l'administrateur VTAM (par exemple longueur des blocs de données, codage etc.).
Il était également évident pour les architectes d'APPC qu'il pouvait être utilisé pour fournir des services de système d'exploitation sur des ordinateurs distants. Un groupe d'architecture distinct a été formé pour utiliser APPC afin de permettre aux programmes sur un ordinateur d'utiliser de manière transparente les services de gestion de données d'ordinateurs distants. Pour chacune de ces utilisations, une session APPC est créée et utilisée de manière client-serveur par le gestionnaire de communications conversationnelles de l' architecture de gestion des données distribuées (DDM). Des formats de message et des protocoles ont été définis pour accéder et gérer les fichiers orientés enregistrement, les fichiers orientés flux, les bases de données relationnelles (en tant qu'architecture de base de l'architecture de base de données relationnelle distribuée (DRDA)) et d'autres services. Divers produits DDM et DRDA ont été mis en œuvre par IBM et d'autres fournisseurs.
Avec la prévalence croissante de TCP / IP, APPC a décliné, bien que de nombreux systèmes IBM disposent de traducteurs, tels que Enterprise Extender ( RFC 2353 ), pour permettre l'envoi de trafic au format APPC sur les réseaux IP.
APPC ne doit pas être confondu avec l' APPN (Advanced Peer-to-Peer Networking). APPC gère la communication entre les programmes, fonctionnant au niveau des couches application et présentation. En revanche, APPN gère la communication entre les machines, y compris le routage, et opère au niveau des couches de transport et de réseau.