x ai ; - Pace 78 CPE WEEKNAPELICATION DEVELOPMENE, JULY 17, 1989 € APPLIEH INTELLIGENCE. SAA s Standards, Tools Promise Big Productivity Gains 7 doing it can be sp This is Part 2 of a series of articles on IBM s Systems Application Ar- chitecture (SAA). Integrat- ed computing environments such as SAA ul have a ma- jor impact on the software technologies of O the '90s. k SAA is based on a well-defined architecture and a set of consistent standards that define how applications are built. The use of stan- dards and architectures is not new to the computer industry. Standards orga- nizations have been in place for years. There is always a conflict between standards-setting organizations and ven: dors developing proprietary products. A primary function of standards is to cre- ate an open environment. However, ven- dor-imposed standards are often de- signed to lock customers into a propri- etary environment. Some de facto standards are set simply because one product, becomes widely used. The standards for databases, commu- nication facilities and languages have all iocused on the functionality supported by these technologies. Over the last, few years the importance of standard appli- calon architectures has emerged. Many "un developing standard application envi: ronments. Standards organizations are wrestling with the same issues. The Open Soft: ware Foundation was organized to ad- dress the issues of Unix environments and is using IBM's AIX as the basis for the future development of a Unix stan: dard. lis goal is to provide an open (ramework for application development that does not lock a customer into a sin- gle-vendor environment. The American National Standards In: stitute is also looking at these issues and is working on a standard for the critical base technology of a repository. A re- pository will contain full application specifications that can then be used to generale applications for particular en- vironments. A common repository of de- me pralcatlovs is an essential] compo- nent of computer-ajided softw: i- Pole čer, software engi 1e value of specifvir standard applica- tion-enabling osorno ona repetitive aspect of application ment can be identified soki s « 1, UJEALA ti a mt in rade epig, | reven oli 19004 —IBMs SA disagree on what is the ek ja a oble Brams. The other is the dialogue inter. an in formation service upd. ne Series, a are re aartaivo eflort to — Without an integrated application envi. <3 pa kma the programmer to terly, is available ihrough High Pro: indan eu. ar eCAUON environments — ronment. there : ie RASLI oa specify logi Y (he components of th uctivitu Sofhnaro Im | Se will be tena e architecture. The result for buliding intert aces, interface, such as menus and forms, head, Mass. (800) sie Ika oo forme, > Producivity gaj that runs on one machine can't Ujeta These standard constructs do not have mation on seminars please dli sala (a SAA Provides standards for three jp. Po Led to another because the tools for jo pon ete, but simply logical — the United States acid Canada, Tech: — 'erfaces to a machine: the Core tea. SAbIAE the interface are totaliy dir. > Poet The tools do the rest. nology Transfer Institute, 741 10th St. ee LJA): o Camneo Pragi ae Ee A... Common Cogira Sery Santa Monica, Calif. 90402 (213) 39%, — ming Interi Program- — The CUA ad Sa 'Lomm Services ) bie 394 JB interf (CP; and the Common s 1€ UUA addresses both these issues. — The CCS ia iha orala 8305. In Europe, contact Savant, 2 s s Ne simplif xa z oe she programmer. United Kingdom (0524) 734 505 — theaj The vast amounts of code needed to connect different machines is completely hidden. The programmer simply uses high-level verbs that specify program-to- program communications. Again, the repetitive work of connect: ing machines is isolated and encapsulat- ed by the SAA architecture. The archi- tecture allows the programmer to con: centrate on application logic rather than on communication implementation. Only the logical connections between pro- grams need to be specified. Furthermore, these connections are specified in a con- sistent, standard fashion, independent of machine environment. Common Programming Interface The CPI contains language standards and service standards. The provision of common in-house'services makes SAA a powerlul standard. As shown in the graph, the language, user-interface, com- munications and in-house services are all specified as part of the CPI. The graph also illustrates that application modules developed using CPI services exactly mirror the architectural bound- aries of CPI. Another important service supplied by the CPI is database access. There are many different types of data- and file- management facilities available today, and each reguires different implementa- OH PrGA HA IHIEHABE. ii Im—. . tions in different environments. The pro- KOREN SJE | | use and learn how to use it. | CokiKlUHIcaManI Database | li With SAA, relational database mani šine v [ IhteHace |. H erlace Further- o Communication Services (CCS). Let.s look at. how each of these encap- sulates some of the repetitive work of application development. interface, eliminating much of the de- bate over what; the interface will look like. Then it specifies the tools that will be used to enable that design, thus pro- viding for consistent tools across differ- ent hardware and software environ- ments. In both cases, the architecture isolates and encapsulates a portion of the repetitive programming work. The design chosen for the CUA is a good interface design, based on Xerox's research and popularized by the Macin- tosh. It was further -refined and devel- oped through user-interface studies at IBM, which enhanced it. with technology acguired from firms with excellent user- interface reputations, such as Metaphor. Developlig Applleatlons for SMA 4 < Cote Slieuld Be Divided tate Modules 'rhat Mlireh BAA'« CoiiititoH Progratitnip iHterPace FuHello zz, PrograHimable LA, url Common User Access Every application has a user inter- face. The developer must design the user interface and implement; it. In the past, user interfaces were developed at the convenience of the programmer. The us- ability of the interface was secondary to simply getting the application to work. Today, everyone recognizes the value of a good user interface—it changes the relationship between users and applica- tions. Poorly designed interfaces make | h | MM | ji 1 Breški ,. dn Dialogi it : Setvlce$ | ervices agement becomes the standard. ntertaceš Intettac8 more, the interface to relational —..—. dija — databases—Strucettred Aery Language (SGL)—is consistent. from environment to environment. Because SOL deals only with the logical access of data, the pro- grammer is freed from having to write code to a physical database design. Again, the data access and retrieval is isolated and encapsulated for enhanced programmer produtctivity. SAA and the tools that enable it pro- vide a powerful means for programmers to avoid many of the repetitive and dif: ficult tasks of application development that are not directly related to applica- tion-functional logic. It does this by architecturally isolating certain elements of application design, specifying stan- dards for those elements and providing tools that enable the standards. Every organization using SAA will certainly benefit from SAA, but even larger benefits can be gained by extend- ing the architecture to better model its own application-development process. Next week, T'1l desceribe the planning functions that are reguired today to pre- pare (or the integrated computing envi- Hm či i: Database || (H-H6us8 Atcešš, || Servleea bi h | či bile Applleatiah Modulkš John Avakian SAA provides a powerful means for programmers to avoid manyy repetitwve and difficult tasks of application develop- ment not directly related to applicatio Junctional logic. OEM SN NI 5 po the user a slave to the application and force the user to learn an alien syntax — that is unigue to the application, With a Bood interface, the user is in control and There are two levels of tools specified for enabling CUA interfaces. One is the presentation interface, which gives the programmer a high degree of control!