This was a presentation by Janet Perna, IBM General Products Division, and manager of the "Common Programming Interface" at IBM.
SAA is the "Systems Application Architecture" that IBM is beginning to release upon an unsuspecting world. The objectives of SAA are lofty indeed: 1) To provide 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. 2) To provide 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. Program function keys are standardized (HELP keys, SCROLL keys). The user should be unaware of which computer in the network he is actually using, and the user is only required to have a single userid to access any application on the network.
SAA is basically a standards effort. Ten of the CPI interfaces really exist: nine are documented and the other will be released soon. One of the CPI standards (SQL) is implemented, with others to arrive soon with OS/2.
The "Application Support Layer" of SAA is the set of external interfaces that an Application Programmer sees. Functions provided by the Application Support Layer include: database management, transaction management, high-level languages, application generators, knowledge (or rule based) systems, and query facilities.
Although all environments will support the relational database model (SQL is the SAA-standard database language), IBM emphasized that "we will continue to support and enhance IMS and CICS, and PRESERVE their interfaces". This is undoubtedly due to pressure from large customers with enormous investment in the older hierarchical database technology. IMS was characterized as "the premier high-volume transaction processor", and it seems likely that IBM will continue to provide IMS Fast Path improvements.
On the relational database front, IBM already supports one on the S/370 (DB2) and SQL is an integral part of the new PC operating system, OS/2. SQL is "the window" into relational databases. Expect most database vendors to support some variant of SQL in the future. IBM has taken a lot of heat in recent months over the issue of "referential integrity". In a nutshell, this two-dollar phrase merely means that related files in a relational database should be consistent; you should not be able to remove an employee from your personnel file unless you also remove the employee's deductions from the payroll file. IBM said that "referential integrity is a well understood requirement", which is lawyer talk for "we are working on the problem and you can expect a solution soon".
Since IBM seems resigned to have to live with IMS for awhile, they have committed to peaceful coexistence. Indeed, they have agreed to synchronize IMS and DB2 databases automatically (updates applied to one will be reflected in the other).
In the SAA, the actual physical location of data will be totally transparent to both Applications and Users. The Network will handle it. IBM stresses that "LU 6.2 is fundamental". The potential exists for a host program to use the Presentation Manager on an intelligent workstation (i.e. PC).
Expect a formal "repository", which is kind of a fancy integrated data dictionary. All abstract objects in the network - programs, data, users - will be described in detail within some central database, which will also be built on the relational model.
Application programmers under the CPI will have access to editors that are language sensitive. Common libraries will be available to all systems, and programs written in high-level languages will be able to access special system level functions, heretofore unavailable to anyone but the assembly language programmer.
IBM is becoming enthusiastic about rule-based (or "expert") systems. A formal agreement exists to port KEE to S/370, and IBM today supports the "KnowledgeTool" program under the IMS and CICS environments.