リモート手続き呼び出しは XML-RPC が唯一の方法ではありません。 人気のある他のプロトコルには CORBA, DCOM, SOAP などがあります。各 プロトコルには長所と短所があります。
この章での意見には、(著者の) 明らかな偏見も含まれています。ど うか、その点を考慮してお読みください。
CORBA は人気のあ るプロトコルで、分散型オブジェクト指向アプリケーション向けに書かれ ています。一般的に複数の層を持つエンタープライズアプリケーションで 使用されます。最近では、アプリケーション間通信用にも Gnome プロジェクトによって選定 されています。
CORBA は多くのベンダーやたくさんのフリーソフトウェアプロジェ クトにより、よくサポートされています。CORBA は Java, C++ とうまく 動作し、多くの他の言語からも利用可能です。さらに CORBA は優れた interface definition language (IDL) を提供 し、読みやすいオブジェクト指向 API を定義できるようにします。
残念なことに、CORBA はとても複雑です。学習曲線は急勾配となっ ていて、実装するのに非常な努力を必要とし、かなり高度なクライアン トを必要とします。分散型ウェブアプリケーションよりもエンタープラ イズやデスクトップアプリケーションに一番適しています。
DCOM は Microsoft の CORBA に対する Microsoft の答えです。すでに COM コン ポーネントを使用していて Microsoft 以外のシステムとやり取りする必 要がなければ、素晴らしいものです。そうでなければ、あまり役に立たな いでしょう。
SOAP はとて も XML-RPC に似ています。XML 文書のまま、HTTP 上で整列した手続き呼 び出しを行う動作も似ています。残念ながら SOAP は仕様の確定に悩んで いるように見えます。
SOAP は元々 UserLand, DevelopMentor, Microsoft の共同制作に より作成されました。最初の公のリリースは基本的にネームスペースと長 いエレメント名を持つ XML-RPC でした。しかしその後 SOAP は W3C ワー キンググループに引き継がれました。
残念なことに、ワーキンググループは SOAPにとても多くの不可解 な機能の追加を行っています。この文書の執筆時点で、SOAP は XML スキーム、エミュレーション、奇妙な複合構造体および配列、そしてカス タムタイプをサポートしています。加えて、いくつもの SOAP の外部仕様 の実装も定義されています。
基本的に XML-RPC が好きであるけれどもっとたくさんの機能を持っ たプロトコルを望む場合、SOAP を調査するといいでしょう。 :-)