В вычислительной технике Advanced Program to Program Communication или APPC — это протокол , который компьютерные программы могут использовать для связи по сети . APPC находится на прикладном уровне в модели OSI , он обеспечивает связь между программами на разных компьютерах, от портативных и рабочих станций до компьютеров среднего уровня и хостов. APPC определяется как VTAM LU 6.2 (логический тип устройства 6.2)
APPC был разработан в 1982 году как компонент архитектуры системных сетей IBM (SNA). [1] Было разработано несколько API для таких языков программирования, как COBOL , PL/I , C или REXX .
Программное обеспечение APPC доступно для многих различных операционных систем IBM и других производителей, либо как часть операционной системы, либо как отдельный программный пакет. APPC служит переводчиком между прикладными программами и сетью. Когда приложение на вашем компьютере передает информацию программному обеспечению APPC, APPC преобразует информацию и передает ее в сетевой интерфейс, например, на карту адаптера локальной сети. Информация передается по сети на другой компьютер, где программное обеспечение APPC получает информацию из сетевого интерфейса. APPC преобразует информацию обратно в исходный формат и передает ее в соответствующее партнерское приложение.
APPC в основном используется установками IBM, работающими под управлением таких операционных систем, как z/OS (ранее MVS, затем OS/390), z/VM (ранее VM/CMS), z/TPF , IBM i (ранее OS/400), OS/2 , AIX и z/VSE (ранее DOS/VSE). Microsoft также включает поддержку SNA в Host Integration Server от Microsoft . Основные программные продукты IBM также включают поддержку APPC, включая CICS , Db2 , CIM и WebSphere MQ .
В отличие от TCP/IP , в котором оба партнера по коммуникации всегда имеют четкую роль (один всегда является сервером , а другие всегда являются клиентами), APPC является одноранговым протоколом. Партнеры по коммуникации в APPC равноправны, каждое приложение может быть как сервером, так и клиентом в равной степени. Роль и количество параллельных сеансов между партнерами согласовываются через сеансы CNOS (Change Number Of Session) со специальным режимом журнала (например, в IBM, 'snasvcmg'). Передача данных затем осуществляется 'сеансами данных', их режимы журнала могут быть подробно определены администратором VTAM (например, длина блоков данных, кодирование и т. д.).
Архитекторам APPC также было очевидно, что его можно использовать для предоставления услуг операционной системы на удаленных компьютерах. Была сформирована отдельная группа по архитектуре, чтобы использовать APPC, чтобы программы на одном компьютере могли прозрачно использовать службы управления данными удаленных компьютеров. Для каждого такого использования сеанс APPC создается и используется в клиент-серверной манере менеджером разговорных коммуникаций распределенной архитектуры управления данными (DDM). Были определены форматы сообщений и протоколы для доступа и управления файлами, ориентированными на записи, потоковыми файлами, реляционными базами данных (как базовой архитектурой распределенной архитектуры реляционной базы данных (DRDA)) и другими службами. IBM и другие поставщики реализовали множество продуктов DDM и DRDA.
С ростом популярности TCP/IP протокол APPC пришел в упадок, хотя во многих системах IBM имеются трансляторы, такие как Enterprise Extender (RFC 2353), позволяющие отправлять трафик в формате APPC по сетям IP. [2]
APPC не следует путать с аналогично названным APPN (Advanced Peer-to-Peer Networking). APPC управляет связью между программами, работая на прикладном и презентационном уровнях. Напротив, APPN управляет связью между машинами, включая маршрутизацию, и работает на транспортном и сетевом уровнях.