Systems Application Architecture (SAA), introduced in 1987,[1] is a set of standards for computer software developed by IBM. The SAA initiative was started in 1987 under the leadership of Earl Wheeler, the "Father of SAA".[2] The intent was to implement SAA in IBM operating systems including MVS, OS/400 and OS/2. AIX - IBM's version of the UNIX operating system - was not a target of SAA, but does have interoperability with the SAA family.
SAA did not define new standards, but selected from among IBM's existing guidelines and software. IBM also purchased some third party software from developers such as Bachman Information Systems, Index Technology, Inc., and KnowledgeWare, Inc.[3] These were intended to be implemented uniformly across all SAA compliant environments.
The standard was "designed to make application programs look and work in the same manner across the entire range of the company's personal computing systems, midrange processors and System/370 processors."[4]
SAA was labeled "complex, obscure, and potentially difficult to learn."[5] Under Lou Gerstner IBM later quietly discontinued use of the "SAA" umbrella. By 2001, SAA was being spoken of in the past tense.[6] However many of the individual components of SAA are still in use .
The Common Programming Interface attempted to standardize compilers and application programming interfaces among all systems participating in SAA, with the objective of providing "a common programming interface for the entire IBM computer product line - PCs, System/3x, System/370. This implies that under SAA, a program written for any IBM machine will run on any other".[7]
CPI included a number of pieces:
See main article: IBM Common User Access. Common User Access aimed at providing "a common user interface for the entire IBM product line. A user who sits down at a PC should see the same menus, keyboards and procedures that he would at a 3270 terminal."[7]
Because of hardware differences complete commonality was impossible to attain. IBM created two CUA standards, the Basic Interface for IBM 3270 and IBM 5250 terminals, and the Advanced Interface for so-called "intelligent workstations", or PCs. The keyboard was standardized to the Model M, 101 key, "AT Enhanced" keyboard layout.
Common Communications Services defined the methods by which heterogeneous systems communicated. CCS depended on Advanced Program-to-Program Communications, also known as APPC or LU6.2, Systems Network Architecture (SNA) PU2.1 or Low Entry Networking for peer-to-peer networking, and SNA Management Services for network control.
Three types of data links were supported:
Application Services were provided by:
OfficeVision was the SAA-compliant successor to PROFS and AS/400 Office for "office automation". The AD/Cycle family of development tools was intended to simplify the development of SAA applications.