OS/2 COMMUNICATIONS MANAGER HIGHLIGHTS AND DIRECTION WHITE PAPER Trademarks The following terms are trademarks or registered trademarks of the IBM Corporation in the United States and/or other countries: * AIX * Application System/400 * AS/400 * DB2 * IBM * OS/2 * OS/400 * NetView * Personal System/2 * Presentation Manager * PS/2 * RISC * RISC System/6000 * SAA * SQL * SQL/DS * Systems Application Architecture * System/370 * System/390 The following terms are trademarks of other companies as follows: Ethernet Xerox Corporation Intel Intel Corporation Microsoft & MS DOS Microsoft Corporation Netware & Novell Novell, Inc. Open Software Foundation Open Software Foundation, Inc. OSF Open Software Foundation, Inc. UNIX UNIX Systems Laboratories, Inc. Windows Microsoft Corporation Disclaimer Much of the information in this paper concerns future products, or future releases of products currently commercially available. The discussion on Windows is based upon information which the Microsoft Corporation has made publicly available, and is subject to change. The description and discussion of IBM's future products, performance, functions, and availability are based upon IBM's current intent and are subject to change. Special Notices References in this publication to IBM products, programs, or services do not imply that IBM intends to make these available in all countries in which IBM operates. IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not imply giving license to these patents. INTRODUCTION Communications Manager (CM) is one of the major components of Operating System/2 Extended Edition (OS/2 EE). CM provides a rich set of terminal emulation, LAN gateway, host connectivity and workstation communication capabilities. CM exploits vital functions of OS/2 such as preemptive multi-tasking and I/O overlapping and is intended to facilitate the development of applications which require communications between two or more systems or workstations. By including most of the required communications functions within one component, application developers are relieved of understanding the low level detail of communication tasks and may rely on CM to accomplish them quickly and efficiently. Additional services in the form of emulation functions are available to the end user; and facilities are included for use by the Network Administrator who may be dealing with the management and control of large numbers of end users. OS/2 EE is part of the IBM Systems Applications Architecture (SAA) family which itself provides the platform for the development of portable applications for, and the inter-connection of, cooperative SAA systems. As we move further into the 90s, an increasing number of customers will take advantage of the opportunities offered by "distributed processing" -- that is the ability to undertake processing on whichever system is most appropriate, with all systems being interconnected across a network. This environment will make even greater demands on communications and increase the need for a versatile and robust communications subsystem such as CM. What distinguishes CM from other communications offerings is its design and integration with the OS/2 environment and SAA. CM provides multiple concurrent connections, supports multiple concurrent protocols, allows concurrent emulation of different terminal types, and simultaneous file transfers. It also supports numerous APIs designed for the traditional and the contemporary program development environments, and has requisite interfaces for network management. All these aspects will be elaborated in the remainder of this paper. In short, CM provides the opportunity for productivity improvements for the end user, the program developer, and the network administrator. In particular, when the user is integrated into a network and has access to organizational information processing assets, CM is extremely attractive. In the future, CM will be enhanced to make it more open by allowing it to run on both IBM and other manufactures Intel based hardware using the vendor's OS/2 Standard Edition. COMMUNICATIONS MANAGER Communications Manager (CM), in conjunction with the OS/2 Standard Edition (OS/2 SE) operating system, participates in Systems Applications Architecture (SAA) which provides the framework for consistency in the user interfaces, the programming interfaces, and the underlying communications support. The workstation is the window to the customer's enterprise-wide information system. It is vital that the user sees a consistent and familiar means of access to and presentation of information regardless of the location of the system. Applications written to SAA specifications ensure that this occurs. This makes it easier for users to learn new applications and to move from one to another. SAA can take these concepts one step further. It provides the capability for programs to be written across the computing environments of System/370 or System/390, AS/400, and the Personal System/2. The implication is that not only can programs work cooperatively across these hardware platforms, but also that programs written for one may be actually transferred to another. This is important because it allows work loads to be shifted as they grow or evolve over time. Programming Interfaces are covered by SAA too. The strategic interface for distributed processing is Common Programming Interface-C (CPI-C). By writing to CPI-C, developers may confidently know that their applications will continue to be viable within the SAA family in the future. CPI-C is currently available via a companion product -- Networking Services/2. This support will be integrated into CM in the future. Also available are interfaces to the Presentation Manager. These enable the developer to write high-performance, full-function applications that can be tailored to a specific user or environment. Calls may be used to control the program groups that a user sees and can access. This allows personalization of the system to a specific user or group of users. The Presentation Manager has utilities for the printing/plotting, display and interchange of picture files. CM contains the Common Communications support which allows program interchanges among various systems. This takes place transparently to the end user and and is important because it ensures that program interchanges take place efficiently and reliably. It is also very important to developers since it relieves them from writing the routines that accomplish this communications function. In complex environments with multiple transfers of data taking place simultaneously, all the power of CM and the preemptive multi-tasking capability of the base operating system is required to ensure that everything works smoothly. By using the facilities of CM, all this is taken care of in whichever communications environment the application is run. The details how this is accomplished is described in the sections which follow. CONNECTIVITY SUPPORT Various methods have been used over the years to allow systems, controllers, terminals and workstations to talk to each other. IBM's Systems Network Architecture (SNA) is a robust architecture that has become acknowledged as an industry standard. SNA supports both hierarchical and peer type networks. SNA networks are very prevalent today and are typically based on links using Synchronous Data Link Control (SDLC) protocols between the host and other systems or controllers, and Distributed Function Terminal (DFT) protocols for terminals coax-attached to their controller. CM supports both these environments, the latter in the context of PCs being substituted for the fixed-function terminals (3270). In recent years there has been a strong trend towards the use of Local Area Networks (LANs) to tie together the proliferating number of PCs in the workplace in order to share resources. Many different approaches were introduced before the industry leading LANs were identified. IBM initially introduced the PC Network LAN before adopting the Token-Ring LAN as its strategic offering. Both the Ethernet LAN and Token-Ring have achieved very broad acceptance by the industry. Ethernet comes in several flavors, the most popular of which are known as DIX Version 2.0 and IEEE 802.3. In order to allow its applications to run in the LAN environment, CM supports all of the above mentioned LANs. Other ways for systems to communicate over a wide area network include X.25 and ASYNC. The X.25 Packet Switched Data Networks (PSDNs) are available world-wide, generally through the official Telephone and Telegraph providers in Europe and elsewhere, and through private utilities and corporations in the US. They are an alternative and often cheaper way of transmitting data over a distance and use their own, standardized, link level protocols to interface with subscribers. CM supports the use of X.25 services both through the PSDNs and also using direct connection. ASYNC is a simple, cheap way to access many of the financial, news, and informational bulletin board services which are springing up everywhere. Many systems, including several from IBM, use ASYNC either as a primary or secondary approach for communications. All IBM PS/2s are equipped with ASYNC capability as part of the base product and CM provides essential ASYNC support. From the preceding it should be evident that CM has a broad range of networking capabilities which allow communications across a range of IBM systems, as well as many heterogeneous non-IBM environments. Applications can be used simultaneously with those developed by others, without having to take any specific action other than designing and developing the application with CM. This function, along with the rich networking capabilities described in the preceding section represent a robust workstation communications offering. TERMINAL EMULATION Three distinct families of terminals may be emulated using the functions of CM on a PS/2 workstation. They are: 3270 to a System/370 or System/390 host, 5250 to an AS/400 host, and ASCII to a variety of IBM and selected IBM compatible "non-IBM" hosts. These are described in sequence in the text which follows. 3270 Emulation Interactive access to a System/370 host is supported through 3270 terminal emulation using the IBM LU 2.0 protocol and can be defined to emulate the most commonly installed terminals. Connection may be via any of the previously described links with the exception of ASYNC. In the case of LAN connections some form of gateway is required. This is described in the LAN Gateway section. All 3270 base data-stream functions are supported together with extended attributes and extended data-stream functions (with seven colors and extended highlighting, plus on-line choice of fonts for the EGA, VGA, XGA, and IBM 8514/A). The 3270 terminal emulation supports multiple interactive screens and keyboard remapping, as well as EHLLAPI (described in more detail under the API section). This means that 3270 terminals may be replaced by PS/2s and the 3270 programs may be run with no loss of function. However, considerably more advantage can be taken of the power of the PS/2 over its fixed function terminal counterpart. For example, Presentation Manager windowing provides the ability to save and restore panel characteristics and clipboard editing functions. Windowing allows multiple simultaneous applications typical of OS/2 as well as applications in other windows that can be monitored at the same time that 3270 emulation is running. The editing functions allow data to be transferred between applications running in different panels. Simple text, text with attributes, and bit images are supported for the Mark, Cut, Copy, and Undo operations, whereas simple text is supported for the Paste operation. This means that information can be combined from different sources as input to a report, etc. Multiple 3270 sessions can be active at any one time. Each of these sessions can support terminal emulation, host-directed print, or file transfer, and they can use an API (EHLLAPI or SRPI) at any time regardless of the method of connection. Each active 3270 session runs in its own window and selecting between sessions is done with the mouse or keyboard. This means that a user may be servicing a payroll inquiry, transferring a file containing a report, and printing out the latest price list, all at the same time. This capability can enable substantial productivity gains. An active 3270 session can be used to move data between a workstation and a System/370 host (in either direction). This file transfer capability provides appropriate translations (if required) when data is exchanged with the host. File transfer to and from an MVS/TSO, VM/CMS, CICS or VSE/SP host can be performed through any active 3270 session; the only prerequisite being that the IBM 3270 PC File Transfer program must be installed and made accessible on the host computer. Multiple file transfers can be performed concurrently. 3270 file transfer is a powerful and efficient method of shipping files, reports, and documents around an organization, since this function may be going on in the background while the user continues performing other work. Communications Manager also contains a keyboard remap function that allows the user to modify the default keyboard layout in a 3270 terminal emulation session. The remap facility supports key swapping, key disabling, and assignment of a string of keystrokes to a single key combination (accelerator keys). With these facilities a user (or administrator) may arrange the keyboard layout to be consistent with a previous application, rearrange keys to put those most frequently used at the most accessible positions, or reduce frequently used combinations to a single keystroke. These functions all enhance productivity. 3270 Emulation supports 3270 host-directed print, 3270 Graphics support enabling, and Presentation Space Print (3270 local copy). 3270 host-directed print allows (LU1, LU3 and non-SNA) printer data streams to be printed at the workstation printer. Multiple printer sessions are supported. 3270 Graphics support works with the GDDM-OS/2 Link program product which adds graphics support to the 3270 emulator. This allows the workstation to function as a GDDM mainframe graphics terminal. In addition GDDM pictures may be printed and plotted, or saved to a Presentation Manager metafile. Presentation Space Print may be either host or user initiated. The entire Presentation Space, or a user selected portion may be printed. All these facilities extend the scope of the workstation to participate in graphics- or print-oriented applications in addition to interactive. In summary, 3270 Emulation support provides all the essential functions of the 3270 terminals and also adds many more functions from the OS/2 platform. ASCII Terminal Emulation Two ASCII terminal emulators are provided. OS/2 workstations connected through an asynchronous link to a suitable host can emulate either of the following terminals: * IBM 3101 (Model 20) * DEC VT100 These terminal emulators provide: * Asynchronous access to a System/370 or System/390 host through a protocol converter * Access to other IBM or non-IBM hosts that support either IBM 3101 or DEC VT100 terminals * Access to a range of network data services, such as news, mail, and other on-line information services. The asynchronous link can be switched, leased, or direct, and is compatible with the 1984 CCITT V24/V28 (RS232C) recommendations as implemented by IBM. Multiple asynchronous sessions can be configured, and up to three asynchronous ports may be used. However, only one ASCII terminal emulation session can be active at any one time. The active asynchronous session runs in its own OS/2 panel. The ASCII terminal emulators support 7-bit (any parity) and 8-bit (no parity) asynchronous character data streams. The MODEM command strings provided for the explicitly supported modems, or their equivalents, may be edited by the user. This allows support for a variety of modems with different commands. It is also possible, through the use of a single key, to have a "snapshot" copy of the display screen contents saved on a logfile. An "ABC" switch can be connected to any asynchronous communications port to provide user switching between a modem and other serial I/O devices (such as printers and plotters). The port is shared on a sequential use basis. File transfer is supported and occurs through the active asynchronous terminal emulator session. One asynchronous file transfer can be active at a time. However, the asynchronous file transfer can be concurrent with 3270 file transfers. There are three ways that files can be transferred: * Asynchronous file transfer to an IBM host. When an ASCII terminal emulator is running via a protocol convertor to a System/370 host, files can be transferred using the IBM 3270-PC File Transfer Program. This program includes 4-byte CRC error detection. The host must be running MVS/TSO, VM/CMS or VSE/SP and the file transfer program must be installed and accessible. * Asynchronous transfer of files using the XMODEM protocol. Files can be transferred using XMODEM protocol to any other workstation that supports this protocol, whether IBM or non-IBM. The remote workstation must have a suitable file transfer program loaded when the file transfer is initiated, and the transfer is in 128-byte blocks with one byte checksum error detection. * Asynchronous file transfer using the Send ASCII Text File. ASYNC terminal emulation can be used to send ASCII data from a file in addition to placing received data into a file. The default keyboard layouts for 3101 terminal emulation or VT100 terminal emulation can be changed through a remap procedure similar to that provided for 3270 terminal emulation. The procedure supports key swapping, key disabling, and assignment of a string of keystrokes to a single key combination. Also the clipboard functions of Mark and Copy are provided by Presentation Manager. These functions allow data to be transferred from the ASCII terminal emulation window to another application. Simple text, text with attributes and bit images are supported for these editing commands. Both the 3270 and ASCII terminal emulators use the Presentation Manager and its windowing facilities to allow user interaction with the system and to take advantage of the on-line fonts. Each logical terminal appears in a separate window which can be individually started, stopped, moved and sized by the user. Window characteristics can be saved for future use. Since the operating environment can be tailored to suit individual user preferences, users achieve greater productivity. In summary, the ASCII emulation support provides basic ASCII terminal and file transfer capability. It can also support ASCII applications and has an associated API, known as the ACDI. The characteristics of the ACDI is described in the API section. 5250 Work Station Feature and Support for the AS/400 and S/36 The 5250 Work Station Feature (WSF), provided by Communications Manager, allows an OS/2 workstation to be used in place of a 5250 terminal or printer. Support is provided for connections to an AS/400 or System/36 for 5250 WSF application programs. These applications may be used unaltered, or they may be enhanced through the use of EHLLAPI in a similar manner to that used with 3270. EHLLAPI supports additional functions that can be called from an OS/2 program. Please see the API section for further details. 5250 WSF supports the functions of 5250 display terminals and printers. It supports sessions that make the workstation appear as an IBM 3196 or 3197 display terminal. A full-screen environment is used for the display. Printer sessions emulate the functions of a 5256, 5224, or a 5219 host printer on many OS/2 workstation printers. A combination of up to five display or printer sessions are supported concurrently. All of these sessions do not have to be with the same host, but can be with any combination of AS/400s and System/36s in the network. Communications to the AS/400 System allow IBM Token-Ring, X.25, twinaxial, and remote connection via the IBM 5294 Remote Control Unit links, in addition to SDLC links. S/36 supports X.25, SDLC and IBM Token-Ring. All these use LU6.2 protocols. Unlike the other two terminal emulators under Communications Manager, 5250 WSF does not support file transfer between the workstation and the host computer. However, file transfer support is available using the AS/400 PC Support Program (release 2.0 or later) on an AS/400 or System/36 host. The AS/400 PC Support Program also provides shared folders, virtual printer, text assistance functions, and other facilities useful to the workstation user. Shared folder support allows workstation files and programs to be stored on the host disk and accessed as a normal workstation disk drive. Virtual printer allows output from workstation programs to be printed on host printers. Text assistance functions are required when using the AS/400 Office functions on a workstation. The AS/400 PC Support program should be installed if the user needs these functions. The 5250 WSF allows AS/400 and S/36 terminals to be replaced with PS/2s. Use of PS/2s bring the power of the workstation directly to the operator. This support may be used simultaneously with other CM applications and emulators. Many organizations use IBM mid-range systems such as the AS/400 for their departmental host and S370s for headquarters functions. The CM enables them to interact with both hosts simultaneously in order to be responsive to business demands LAN GATEWAYS In the LAN environment individual workstations do not need to have their own communications adapters and modems. They can share those of a "gateway". A gateway is a separate box on the LAN which directs the data traffic passing through it from workstation to host (or another system) or vice versa. CM workstations can access gateways to S/370 or S/390 hosts, other hosts supporting LU6.2 protocols, and ASCII hosts. By using a gateway, line and modem costs can be reduced. Traditionally, access to a S/370 host has been via a controller such as the 3174 which acts as a concentrator or a a gateway. In the LAN environment CM provides gateway functionality within the PS/2. The CM SNA Gateway support allows access to an IBM S/370 host by multiple users attached to the gateway via an IBM Token-Ring, IBM PC Network LAN, Etherand LAN, SDLC switched link, or an X.25 network. The link between the gateway and the host may be SDLC, X.25, or an IBM Token-Ring. The gateway PS/2, which does not have to be dedicated to the gateway task (in contrast to the controllers), appears to the host as a single physical unit (PU2.0) with up to 254 logical unit sessions (LUs) which may be shared between the workstations. Up to 256 work stations may be configured on the LAN, with 64 active at one time, each with multiple LUs. The workstation appears to the user as if it were directly attached to the host. LUs may be pre-assigned to workstations; or they may be "pooled" in order to allow greater efficiency in their allocation between workstations, and to reduce the configuration and start up requirements in the host. The protocols supported by the gateway between the workstation and the host are LU 0 (often used in specialized industry applications), LUs 1, 2, 3 (which represent 3270 operations), and LU6.2 which is the strategic distributed processing protocol. In most environments, LAN workstations may use the same gateway when operating with: * OS/2 Extended Edition * IBM Personal Communications/3270 * 3270 Emulation Program V3.0 * 3270 Workstation Program V1.1 * APPC/PC V1.11 In summary, use of the CM gateway provides an efficient way to allow workstations to communicate with the S/370 host. In fact it is so efficient internally that in many scenarios the workload associated with the gateway function will leave ample capacity for other services to be accomplished on the same system. LAN Server or Database Server are likely candidates to be used with CM. The use of a gateway does not disrupt applications written for a direct-connect environment provided the user system is properly configured. Communications Manager does not provide a LAN APPN gateway to other IBM hosts; but a complementary product -- the IBM SAA Networking Services/2 program -- may be used in this capacity. By configuring the gateway as a PU2.1 node, links may be established to any IBM system supporting LU6.2 protocols. This allows LU6.2 sessions between the LAN workstation and the host. For example the 5250 WSF could be used on the workstation through the gateway to an AS/400. For Asynchronous connection to off-LAN hosts, databases, and services, a CM-based workstation can use the dial-out capabilities of the IBM LAN Asynchronous Connection Server (LANACS) Version 2.0. This provides line and Modem pooling facilities for OS/2 EE, and DOS workstations with the appropriate level of support. In this case, the DOS-based LANACS gateway does have to be dedicated to the gateway function. Note also that the OS/2 workstation can only use it to dial out from the LAN; a remote OS/2 workstation cannot dial-in. APPLICATION PROGRAMMING INTERFACES (API's) Communications Manager provides several APIs used by the OS/2 communication facilities and available to the application programmer. These APIs support a wide variety of communication functions between workstations and hosts, as well as between LAN workstations functioning as servers or requesters. The EHLLAPI (Emulator High Level Language API) interface provides communication between a host and workstations using 3270 terminal emulation or the 5250 Work Station Feature. EHLLAPI allows complex functions to be manipulated under program control, while the user sees the process as a single function. In this way, interactions with the host can be simplified and made easier to use. Another advantage of EHLLAPI is that data can be processed before being transmitted to the host application thus taking advantage of the power of the intelligent workstation. EHLLAPI can also be used to perform an automatic logon, to intercept and respond to host messages, or to translate keystrokes into more complex requests. This interface can be called from IBM C/2, COBOL/2, Pascal/2, BASIC/2, and Macro Assembler/2 languages. IBM's direction is to increase flexibility by allowing more than one program to access it simultaneously, and to extend it by adding support for structured fields which will facilitate such operations as file transfer. APPC (Advanced Program-to-Program Communications), together with its SAA counterpart CPI-C, is IBM's strategic API to provide distributed transaction processing capabilities. An APPC application consists of two programs, usually at different SNA nodes that cooperate to carry out a particular processing function. Both programs can exchange data and so share each other's local resources, such as processor cycles, databases, and work queues, as well as each other's physical components, such as keyboards and displays. APPC uses the LU 6.2 interface architecture. The LU6.2 architecture has been developed to provide a peer-to-peer communication protocol between SNA applications (intelligent systems). LU 6.2 allows sophisticated communication between workstations and other systems for distributed function processing. LU 6.2, as defined in the APPC architecture, is a particular type of SNA logical unit (LU). Each LU provides a connection, or port, between its application programs and the network resources available to its programs. The resources may be physical, such as processor machine cycles and disk or tape files, or logical, such as sessions and queues. Some of these resources are attached to the same LU as the program. Other resources are remotely attached to other LUs. APPC provides the following: * A programming interface for basic and mapped conversations * A confirm synchronization level * Security support at session and conversation level * Multiple LUs * Parallel sessions with the ability to change the number of sessions with remote systems * Concurrent multiple links Note: The SAA Common Programming Interface - Communications (CPI-C) is a variant of APPC which is consistent across the IBM SAA family. Programs written to CPI-C may be easily migrated from one family member to another, e.g., from an OS/2 platform to an OS/400 platform, etc. CPI-C is not supported directly by OS/2 but is supported by the complementary product IBM SAA Networking Services/2. A statement of direction has been made explaining that this product, which also has APPC performance improvements and an extension to the APPC interface, is planned to be incorporated into Communications Manager in the future. This interface may be called from IBM C/2, COBOL/2, PASCAL/2, and Macro Assembler/2. Server-Requester Programming Interface (SRPI): This is the PI for the Enhanced Connectivity Facilities. It enables the writing of simple, communications-independent, requester programs that can call to host server programs, with synchronous returns. It is supported over links using LU2 protocols. Host server support is available under MVS/TSO and VM/CMS. Although SRPI is sufficient for a large number of tasks, APPC should be used if more extensive capabilities are needed. SRPI can be called from IBM C/2, COBOL/2, PASCAL/2, and Macro Assembler/2. X.25 is a Systems Application Architecture Common Communications Support protocol. Before describing the API associated with it, we will briefly outline the scope of CM support for this important facility. OS/2 Extended Edition X.25 Packet Switched Data Network (PSDN) support allows an IBM Personal System/2 (Model 50 or higher) equipped with one or more IBM X.25 Interface Co-Processor/2 adapters to attach to one or more X.25 PSDNs and communicate with other systems or hosts having appropriate X.25 support. Connection to public and private networks conforming to CCITT 1980 or 1984 X.25 recommendations is supported. Multiple IBM X.25 Interface Co-Processor/2 adapters are supported, depending on the available slots in the system unit. The software enables each adapter to offer either an X.21, X.21bis/V.24, or an X.21bis/V.35 interface, and support speeds up to 64K bps. The software can support a mixture of up to 128 Switched Virtual Circuits (SVC) and Permanent Virtual Circuits (PVC). SNA Communications is supported by the Qualified Logical Link Control (QLLC). X.25 Non-SNA API: This interface at OSI level 3 provides facilities for appropriately programmed non-SNA Data Terminal Equipments (DTEs) to communicate with each other across one or more X.25 connections. Both SNA and non-SNA communications are possible over the same physical link, and up to 41 X.25 applications (SNA and non-SNA) can execute concurrently in a single workstation. The interface is supported by IBM C/2, PASCAL/2 and Macro Assembler/2. Thus the API allows non-SNA (in addition to SNA) applications to operate over the X.25 PSDNs. Asynchronous Communications Device Interface (ACDI): This interface is provided to allow the writing of applications (such as asynchronous emulators or file transfer programs) to exchange data over asynchronous links. The interface provides a high degree of independence from the asynchronous hardware used. Device-specific programming modules are required for each supported device type, and are included in the product. They are transparent to user applications. Supported functions include the ability to manipulate the line characteristics and connection control (connect and disconnect) without having to deal with physical device-specific characteristics. ACDI may be used to manipulate modem command strings to customize and automate dialing procedures or to use an alternate modem. One ACDI application can share a V.24 (RS232C) ABC switch with serial devices such as printers or plotters. Recent enhancements allow the redirection of ACDI calls (across a LAN) to an ASYNC gateway for example. This is currently done from the Command Line but in the future will be accessible from programs for greater flexibility. ACDI is supported by IBM C/2, PASCAL/2, and Macro Assembler/2. Local Area Network (LAN) Programming Interfaces: Both IEEE 802.2 and IBM Netbios are supported for program-to-program communications. The IEEE 802.2 protocol is a lower level communications interface. Both the APPC and the NETBIOS support provided by Communications Manager use the IEEE 802.2 interface to access the LAN. Application programmers may access it for greater control where higher performance is critical. The NETBIOS programming interface provides an additional interface for communication across a LAN. NETBIOS is a name-oriented program-to-program interface which may be used for applications restricted to the LAN environment. Both of these APIs are supported by IBM C/2, PASCAL/2, and Macro Assembler/2. Conventional LU Application (LUA) Interfaces: These may be used for: * Communications support for LU 0 terminal functions * A migration path for LU 0 based applications * Workable-replacements for LU 0 based control units * Base communications for LU 0, 1, 2, and 3 emulators (This is in addition to the LU 1, 2, 3, and 6.2 support already available in OS/2 Extended Edition) The LU0 protocol allows greater programming flexibility than the other supported LUs and has been widely used in the Finance and Retail industries. The recommended protocol for future applications is LU6.2. CM support for LU0 is to allow existing programs to continue to operate during the migration period. LU0 communication is enabled through the use of two programming interfaces. The Session Level Interface (SLI) is a higher level data stream interface that will normally be used by customer applications. The SNA Request Unit Interface (RUI) is at a lower level and is intended for system programming but is also available for customer use. Programming language support for both SLI and RUI is from the C/2, COBOL/2, PASCAL/2 and Macro Assembler/2 compilers. Collectively, SLI and RUI are referred to as Conventional LU Application (LUA). Common Services Interface: The Communications Manager provides functions for gathering and processing Problem Determination data. These functions include: tracing of programming interfaces, data units, and/or system events; displaying and printing of all or selected error logs from file; system dumping; and displaying of all or selected message logs. These services can be invoked from the console or via a Common Services API which allows all of these Communications Manager functions (trace, dump, errors and messages) to be performed under program control and not require an operator. A user written program can monitor errors and messages selectively, and take appropriate action. Message pop-ups on the screen can be suppressed. The same API also supports ASCII/EBCDIC conversions, code pages conversion, and the transferals of diagnostic data to a host. For example, applications can use this service to alert a NetView operator to conditions requiring action. Subsystem Management Interface: The Communications Manager allows a system administrator to control and obtain status information on the SNA communication resources maintained by the Communications Manager. As a management tool, it displays the programs that are being used, the sessions being used by the programs, detailed information about the sessions, and resources that are active. It allows the activation or deactivation of sessions and data link controls. It can also be used to start and stop an attach manager that allows applications to be remotely started. These services are invoked in some cases from the console and in others via an API, as appropriate. INSTALLATION AND CONFIGURATION Configuring (tailoring the required components) and installing Communications Manager is accomplished via one of several options. The Custom Install option enables the system or network administrator to design an installation diskette that installs only those components and features required at each workstation. A Custom Install diskette also provides the configuration file needed for the installed components and features. This option is particularly beneficial to novice users or when installing Extended Edition on multiple workstations, since it allows the installation to be completed with minimal user interaction. Since each user does not need to have all the functions installed, the amount of memory and disk storage required at the workstation can be reduced. The Basic Configuration Services option is intended to assist an end user who does not have the support of a systems administrator, and who is relatively inexperienced in communications, to install the program and have it running for a number of communications environments. Basic Configuration Services may be used for one or more of the following: * 3270 Emulation, directly connected via SDLC, LAN, or DFT * 5250 Work Station Feature connected via Twinax, SDLC, or LAN (Token-Ring only) * ASCII Emulation to single host Basic Configuration Services may be supplemented with Advanced Configuration Services to cover other environments and additional Remote Data Services connections as required. For those not using a custom Install diskette or Basic Configuration Services a process known as the Advanced Installation can be used. With Advanced Installation, the components and features are selected in a certain sequence. In addition to permitting the selective installation of various OS/2 components, the installation program allows the addition, removal, or reinstallation of OS/2 components and features at any time after the initial installation has been completed. Finally, for system administrators with large numbers of similarly-configured workstations, a Batch Configuration Utility is provided. Basic or Advanced configuration is used first to establish an individual representative prototype configuration file. Then, the System Administrator creates an ASCII file that contains the essential differences between individual end users. This file and the prototype are processed by the Utility to build a configuration file for each user. The support allows the creation, modification and deletion of a subset of the parameters for the profiles in the following areas: * Workstation Profile * SNA Network * 3270 * SNA Gateway * SNA/APPC * LU 0 * SDLC * 802.2 * Twinax * Netbios * X.25 Typically the files would be generated under program control for use with the Custom Install option or one of the more automated forms of install offered by complementary program products such as NetView/DM and the SAA Delivery Manager. The future direction is to open up the entire configuration file to programmed access to further facilitate the configuration and installation of large numbers of workstations. NETWORK MANAGEMENT Communications Manager provides extensive network management support. When errors occur at the workstation level, messages can be sent to the operator and are logged for subsequent analysis. Trace and dump facilities are provided as diagnostic tools. On-line help is available to assist in local problem resolution or to suggest contacting an administrator or service coordinator as appropriate. At the LAN level, network management may be facilitated by the use of the IBM LAN Manager Program Version 2.0. This program uses Communications Manager for sending and receiving information across the LAN and monitors the activity and status of the workstations and the links. An alternative approach is to use NetView PC when NetView PC is installed. With wide area network links and a System/390 or System/370 customers can use the IBM NetView program at the host computer. This provides a central point for control. Communications Manager supports a NetView managed network by automatically forwarding alerts generated by the hardware or software associated with data links. Support for SDLC, asynchronous, Token-Ring, ETHERAND, PC Network, twinaxial, or X.25 connections is included. CM requires APPC to be installed on each workstation for the forwarding of alerts, and the links to the host must be SDLC or Token-Ring. The NetView operator can also request vital product data pertaining to the workstations, such as machine type, serial and model number, and the name, version, release, and modification of the installed Extended Edition software components. Exchanges with the NetView host are accomplished by the Common Services Interface (CSI). This is a published programming interface that can be used by user applications to notify (through the alert mechanism) a central monitor facility. The CSI may also be used to remotely invoke diagnostic tools, such as running traces and dumps, without involving the workstation user. IBM's direction is to accomplish network management with less direct operator intervention. In SNA APPC application environments, subsystem management is provided to the system administrator to control and obtain status information on the resources maintained by Communications Manager. It allows the activation and deactivation of sessions, and supports the remote starting or stopping of the attach manager. CONCLUSION CM is IBM's strategic workstation based communications offering. It is accepted as the platform of choice by many IBM workstation based products including OSI/CS, TCP/IP, CICS and Office Vision. All of CM's wide range of services are contained within the SAA framework. CM provides many concurrent networking capabilities which represents significant productivity savings for both developers and users. CM is the development and distributed processing workstation communications platform for the 1990s.