CORBAとは、OMG(Object Management Group:オブジェクト指向技術の標準化と普及を目的として1989年に設立された非営利団体)によって規定されたオブジェクト指向技術の仕様です。CORBA仕様として、以下の機能が提供されています。
インタフェース定義言語IDL(Interface Definition Language)からサーバ/アプリケーション間の通信ライブラリである、スタブ、スケルトンを生成する仕組み。
クライアント/サーバアプリケーションで連携するために必要なAPI。
異機種間上で動作するクライアント/サーバアプリケーションが連携するためのプロトコル(IIOP:Internet Inter-ORB Protocol)。
富士通では、Interstage Application ServerでCORBA準拠の分散通信基盤やサービスを提供しています。Interstage Studioにおいては、CORBAアプリケーションとは、Interstage Application Serverを利用して作成したアプリケーションを意味します。また、COBOLプラグインを組み込んだInterstage Studioワークベンチでは、CORBAサーバアプリケーションおよびCORBAクライアントアプリケーションの両方を作成できます。
CORBAアプリケーションの運用形態を、下図に示します。なお、COBOLプラグインがサポートしている運用形態を赤枠(太枠)で示しています。
サーバアプリケーションは、クライアントに対するインタフェース情報の公開方法により、大きく以下の2つに分けることができます。
(1) 動的スケルトンインタフェース
(2) 静的スケルトンインタフェース
クライアントアプリケーションは、サーバアプリケーションの呼出し方法により、大きく以下の3つに分けることができます。
(3) 動的起動インタフェース
(4) 静的起動インタフェース
(5) OLE-CORBAゲートウェイ
CORBAアプリケーションの特長とサポート範囲
各CORBAアプリケーションの特長とCOBOLプラグインでのサポート範囲を以下に示します。
アプリケーションの種類 | 説明 | サポートの有無 | |
---|---|---|---|
サーバ | クライアント | ||
動的インタフェース | スタブ、スケルトンファイルは必要なく、インタフェースリポジトリから情報を取り出し、サーバのメソッドを呼び出すパラメタをプログラム中で組み立てて、サーバアプリケーションの関数を呼び出します。 | × | × |
静的インタフェース | IDLファイルから作成したスタブ、スケルトンファイルをプログラムに結合してアプリケーションを作成します。 | ○(*1) | ○(*2) |
OLE-CORBAゲートウェイ | WindowsシステムのOLEアクセスにより、サーバアプリケーションの提供する関数を呼び出します。 | - | × |
○: COBOLプラグインでサポート
×: COBOLプラグインでは非サポート
*1: サーバアプリケーションは、オブジェクト指向COBOL言語で作成します。
*2: クライアントアプリケーションは、オブジェクト指向COBOL言語またはCOBOL言語で作成します。
動的インタフェースはサーバアプリケーションのインタフェースを動的に組み立てるため、簡単なインタフェースの変更に対して、自プログラムの変更が必要ない場合があり、その点で保守性に優れています。
静的インタフェースは、サーバのリポジトリ情報にアクセスする回数が動的インタフェースより少ないため、性能的に優れています。
OLE-CORBAゲートウェイは、内部的に動的インタフェースと同様の処理を行っているため、性能的には動的インタフェースと同等です。また、記述量が非常に少なく、記述性に優れています。