[インターネット時代のオブジェクト指向入門]
WWWサーバ側で何らかの処理を行わせるために、現在広く使われているものにCGI(Common Gateway Interface)というものがあります。WWWブラウザ側のリクエストに応じて、サーバでプログラムが起動して、結果を返すというものです。通常Perlなどのスクリプト言語が広く使われています。しかしスクリプト言語は、もともと文字列処理などの単純な処理を手軽に実現できるように設計されたものであり、WWWアプリケーションで見られるマルチメディア系のデータや、ブラウザでそれらを扱うオブジェクトとして動作するJavaアプレットに対しては親和性がありません。クライアントとサーバ間で、双方がオブジェクトとして通信できれば、話を非常にシンプルすることができます。しかしこのためには、クライアント、サーバ間のオブジェクトの言語の違いや通信プロトコルといった問題を解決しなければなりません。
WWWアプリケーションでは、全く新規にシステムを構築するというよりは、クライアントでJavaアプレットを使い、既存のCで作成されたサーバにWWWブラウザからアクセスできるようにするといった、システム拡張の側面が多く見られます。その際にWWWブラウザ間とサーバのオブジェクト間の通信で、プログラミング言語が固定されてしまうと、大幅に拡張性を低めることになります。
そこで注目されてきているのがORB(Object Request Broker)という仕組みです。これはネットワークを通じて、オブジェクトが通信を行うための一種のミドルウェアです。ORBには、同一言語間のオブジェクトの通信をサポートするものと、多言後間もサポートするものとがあります。クライアントとサーバの関係が緩やかであるWWWシステムで適しているのは、後者ということになります。OMG(Object Management Group)は、オブジェクト指向技術の標準化団体であり、CORBAというORBの仕様を定めています。CORBA準拠のORBでは、開発者はIDL(Interface Definition Language)という中立的な言語で、クライアントサーバ相互の呼び出しの形式を定義します。このためクライアントとサーバでのオブジェクトの実装言語が違っていても互いにメッセージを送ることができるわけです。ブラウザ側のJavaアプレットは、サーバ側のオブジェクトに対して、それがJava以外の言語で実装されていたとしても、通常と全く同じようにメッセージを送ることができます。サーバの物理的な位置を突き止めたり、サーバへの接続処理についてもORBが自動的におこなってくれるのです。
ORBは、ミドルウァアなので、クライアントとサーバ側に存在します。その際に、ORBのベンダが異なっているからといって通信ができなくなってしまっては、WWWシステムのようなクライアントが特定できない環境にでは使い物になりません。
従来のWWWシステムでは、ブラウザとサーバの通信プロトコルは、HTTP(Hyper Text Transport Protocol)というもので統一されています。そのためブラウザを選ばすに様々なサーバにアクセスできるわけです。同様にORB間でも統一のプロトコルが定められています。IIOP(InternetInter ORB Protocol) と呼ばれるものであり、これにより、本当に多言語、多OS、多ノードで、同じように動作するWWWアプリケーションの構築が可能になります。
WWWシステムを実現する言語はJavaだけではありません。コストをかけずに多階層を構築していくには、様々な言語とのインターフェースが必要になります。この際にCORBA準拠のORBは、非常に重要な役割を果たすのです。
© 1998 OGIS-RI Co., Ltd. |
|