Open Scripting Architecture

Open Scripting Architectureとは、AppleのClassic Mac OS及びmacOS上でアプリケーションのコントロール用のスクリプト言語の規約および機構である。通常OSAと呼ばれる。対応するスクリプティング言語はOSA言語と呼ばれる。

OSA言語では、AppleEventと呼ばれるメッセージオブジェクトをアプリケーション間でやりとりし、受け取ったイベントをアプリケーション側が解釈する事で処理が進行する。OSAはそのためのデータ型、語彙、メッセージの送受信関数などを定めている。イベントの裁量権がアプリケーション側にある事から記述の抽象度は高く、反面実行速度は遅い。したがってプロセス間で情報を転送するというよりも、他のアプリケーションを制御するシグナル的な用途に用いるのが普通である。またAppleEventは同一マシン内のみならず、他のマシンにも転送する事ができるので、ネットワーク越しのプロセス制御も可能となる。

Carbon/Cocoaを利用した通常のアプリケーションではopen application,open documents,quit...といった基本的な語彙は共通しており、特にOSAを意識せずともその恩恵に与れる。実際「書類からアプリケーションを開く」といったFinder操作はOSAで実現されており、スクリプトなどを使わないユーザーでも知らず知らずの間にOSAを利用してアプリケーションを操作していることになる。

AppleScriptは直接AppleEventを記述するためのスクリプト言語で、代表的なOSA利用言語である。

Mac OS