システムアプリケーションアーキテクチャ(SAA)とは
Systems Application Architecture(SAA)は、
1987年に
IBMが提唱した、
コンピュータアプリケーションソフトウェアに関する
標準化のためのガイドラインです。これは特定の製品ではなく、複数のプラットフォームにまたがるアプリケーション開発の共通基盤を定義するアーキテクチャです。
SAAは、主に以下の3つの標準要素から構成されています。
1.
Common Programming Interface (CPI):共通プログラミングインターフェース
2.
Common User Access (CUA):共通ユーザーアクセス
3.
Common Communication Support (CCS):共通コミュニケーションサポート
これらの標準の上に、オフィスシステムなどの共通アプリケーションが位置づけられました。
SAAの対象プラットフォーム
SAAが対象とするプラットフォーム(SAA環境)は、以下の4つとされました。
メインフレーム(MVS、VM)
ミッドレンジ(OS/400)
パーソナルコンピュータ(OS/2)
IBMは、アプリケーションベンダーに対してSAAへの準拠を広く呼びかけました。特にCUAは、Microsoft Windows 2.0や3.0のユーザーインターフェースのベースとなり、MS-DOSのDOSシェルもCUAに準拠しました。
SAAの歴史的背景
IBMは、System/360アーキテクチャやSystem/370アーキテクチャ、SNAの成功により、オペレーティングシステムとネットワークアーキテクチャの仕様を握ることで市場への影響力を確保していました。しかし、1980年代に入ると、コンピュータの利用範囲が広がり、アプリケーションの標準化の必要性が高まりました。
当時、IBMは多数のコンピュータシリーズやオペレーティングシステムを開発しており、大型から小型まで多岐にわたるプラットフォームが存在しました。これらのプラットフォーム間では、プログラミング言語やユーザーインターフェース、ネットワーク接続性が異なり、ユーザーにとって使い勝手が悪い状況でした。
このような状況下で、1987年3月にIBMはSAAを発表し、アプリケーション市場での支配力強化を目指しました。SAAは、IBMの主要プラットフォームを選定し、標準化を段階的に進める戦略を採用しました。選定されたSAA環境は、MVS、VM、OS/400、OS/2の4つであり、VSEやTPFは含まれませんでした。AIXはSAA環境ではありませんでしたが、相互運用性を持つ環境とされました。
マイクロソフトとのオペレーティングシステム共同開発契約も背景に、MS-DOSやWindowsも部分的にSAA準拠が進められました。ロータスデベロップメントもSAA CUA準拠のアプリケーション開発を進めました。しかし、Windowsは次第に独自のユーザーインターフェースへと移行し、SAAから離れていきました。1991年には、オブジェクト指向のユーザーインターフェースを取り入れたCUA '91が発表されましたが、1990年代後半には、Java、Windows 95、TCP/IPの普及に伴い、SAAは徐々に衰退しました。
SAAの詳細
Common Programming Interface (CPI)
CPIでは、主要な言語としてCOBOL、FORTRAN、C言語が選定され、プロシージャ言語としてREXXが選定されました。SAA環境のオペレーティングシステムや主要ミドルウェアでは、これらの言語のサポートが進められました。REXXは、VMのCMSで生まれた言語ですが、MVS、OS/2、PC DOSにも搭載されました。SAAは、プラットフォーム固有の規格や言語を禁止するものではなく、あくまで標準化を促進するためのものでした。
Common User Access (CUA)
CUAは、キャラクタベースとグラフィカルベースの2種類が規定されました。CUA以前から「F1キーはヘルプ」は標準的でしたが、それ以外のコマンド位置は統一されていませんでした。グラフィカルベースでは、コマンドバーの配置やプルダウンメニューの構成が推奨され、現在もWindowsなどのGUIのベースとなっています。ショートカットキーは当初規定されましたが、後にアプリケーションの自由とされました。
当時、マイクロソフトとIBMはOS共同開発中であったため、DOSシェル、Windows 3.0、OS/2 1.1 PMはCUA'87に準拠し、OS/2 2.0 WPSはCUA'91に準拠しました。初期のWindowsアプリケーションはCUA '87を参照して開発されました。
Common Communication Support (CCS)
CCSでは、主要な通信プロトコルとしてSNAが選定されました。当初はSNAのサポートレベルに差がありましたが、徐々に改善されました。
SAAのその後
SAAは、最終的に1990年代後半に、Java、Windows 95、TCP/IPの普及により、その役割を終えました。しかし、現在でもWindowsなどのGUIのメニュー配列やショートカットキーの一部にCUAの影響が残っています。SAAは、異なるプラットフォーム間でのアプリケーションの相互運用性を向上させ、統一されたユーザーエクスペリエンスを提供しようとしたIBMの試みでした。
関連項目
IBM
Systems Network Architecture
AD/Cycle
ユーザーインターフェース
参考文献
IBM 21世紀への挑戦―SAA開発に賭ける男たち(著:マイケル キレン、訳:栗田 昭平)
外部リンク
Introduction to Systems Application Architecture -IBM
Designing SAA applications and user interfaces - IBM