Microsoft SNA Server is a systems network architecture (SNA) gateway for connecting desktops on a local area network (LAN) to midrange and mainframe computers (such as the IBM AS/400). Several different industry-standard SNA APIs have evolved for development of integrated SNA applications and hosts:
To provide one common set of APIs to port applications from various operating systems to Windows NT, Windows 95, and Windows version 3.x, a Windows SNA specification was created. As a direct result of this work, the Windows APPC, Windows CPI-C, and Windows logical unit application (LUA) specifications were developed. All of these Windows SNA specifications define a set of extensions that allow for asynchronous communication. Asynchronous call completion returns the initial call immediately so the application can continue with other processes. A program that issues a call and does not regain control until the operation completes is not able to perform any other operations. Windows NT also supports using Win32® events for supporting asynchronous calls.
Programs written to use Windows APPC can exchange data with programs written to use other implementations of APPC that adhere to the SNA LU type 6.2 or later architecture. Windows APPC adds to this functionality by providing a set of extensions for asynchronous communication in addition to the full complement of APPC features.
Windows CPI-C is compliant with CPI-C version 1.2 or later, which allows applications developed using the CPI-C Systems Application Architecture API to establish a conversation to exchange data and control information flow between two programs. CPI-C version 1.2 or later provides the following functionality:
Windows CPI-C further adds to this functionality by providing a set of extensions for asynchronous communication, in addition to the full complement of supported features in CPI-C version 1.2 or later (with the exception of resource recovery).
The conventional LUA programming interface is an API that allows you to write LUAs to communicate with host applications. The Windows LUA interface is provided at the request/response unit (RU) and session levels, allowing programmable control over the SNA messages sent between your communications software and the host. It can be used to communicate with any of the logical unit (LU) types 0, 1, 2, or 3 at the host; the application must send the appropriate SNA messages required by the host.
The Function Management Interface (FMI) provides applications with direct access to SNA data flows and information about SNA control flows by means of status messages, while shielding them from the full complexities of SNA protocol handling. It is particularly suited to the requirements of applications emulating 3270-type controllers.
For more information about Microsoft SNA Server and its APIs, see the "Internet, Networking, and Distributed Services" section of the Microsoft Platform SDK.
Developers who want to create applications that integrate a 3270 emulator with SNA Server should use the 3270 Emulator Interface Specification. This specification defines the initialization, message passing, and termination procedures required for 3270 emulator and SNA Server communication.
SNA Server version 2.11 and later supports the EHNAPPC API, which is the Windows-based APPC API supported by IBM's PC Support and Client Access/400 (CA/400) products. IBM has provided the EHNAPPC API to its independent software vendor (ISV) community as the way to write Windows-based applications that integrate with the AS/400. There are estimated to be more than 60 applications that use this API as a way to connect to the AS/400 data and applications. These ISV applications will work unchanged with SNA Server version 2.11 and later versions.