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:8: pp.46–51
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."10
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.11: pp.39–40
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.12: p.52
Three types of data links were supported:13: pp.56–58
Application Services14: pp.58–59 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.15: p.60
"IBM Archives: 1980s". IBM. 23 January 2003. Archived from the original on December 16, 2004. https://web.archive.org/web/20041216105801/http://www-03.ibm.com/ibm/history/history/year_1987.html ↩
Bride, Ed; Desmond, John (Dec 1989). "Wheeler: father of SAA - IBM VP and General manager of programming Systems Division Earl Wheeler; Systems Application Architecture - interview". Software Magazine. Retrieved June 20, 2012. http://findarticles.com/p/articles/mi_m0SMG/is_n15_v9/ai_8048960/ ↩
"IBM kauft sich für SAA Software-Know-how ein". Computerwoche. 1989-08-25. Archived from the original on 2013-02-10. Retrieved June 21, 2012. https://archive.today/20130210202313/http://www.computerwoche.de/heftarchiv/1989/35/1151816/ ↩
IBM Corporation (23 January 2003). "IBM Archives: 1987". Archived from the original on December 16, 2004. https://web.archive.org/web/20041216105801/http://www-03.ibm.com/ibm/history/history/year_1987.html ↩
Linnell, Dennis (1990). The SAA Handbook. Addison-Wesley. ISBN 0-201-51786-8. 0-201-51786-8 ↩
Cooper, Charles (November 2, 2001). "Gerstner's legacy and why it matters". ZDNet. Retrieved June 20, 2012. http://www.zdnetasia.com/gerstners-legacy-and-why-it-matters-38030327.htm ↩
Perna, Janet. "SHARE 70: Session D010 - SAA Strategy Update: Application Software Support". Archived from the original on 2013-05-03. Retrieved June 18, 2012. https://archive.today/20130503091759/http://www.redbug.org/dba/sharerpt/share70/d010.html ↩
"System Application Architecture: Common Programming Interface: Resource Recovery, SC31-6821-01". www.ibm.com. Retrieved 2020-11-10. https://www.ibm.com/support/knowledgecenter/SSB27U_6.4.0/com.ibm.zvm.v53.cn2v0/toc.htm ↩