You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by Apache Wiki <wi...@apache.org> on 2005/04/01 09:16:27 UTC

[Ws Wiki] Update of "ja/axis/JaxRPCBindings" by ToshiyukiKimura

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Ws Wiki" for change notification.

The following page has been changed by ToshiyukiKimura:
http://wiki.apache.org/ws/ja/axis/JaxRPCBindings

The comment on the change is:
Axis Wiki in Japanese

New page:
##language:ja

'''質問: JAX-RPC バインディングパターンの違いは何ですか?'''

回答: JAX-RPC は3つのバインディングパターンをサポートします。

 * static binding (コンパイルされたスタブ)
 * dynamic binding (動的プロキシ)
 * dynamic invocation (DII)

static binding を使用する際は、コンパイル済みのクライアントプロキシ (スタブ) を生成するために、開発者は開発時に WSDL <portType> と <binding> をコンパイルします。このスタブはプロキシのインターフェースと実装の両方を含みます。これは、あるアプリケーションがたった一つのWebサービス実装と会話するためのコードを提供します。もしWebサービス実装が何かしら変更されたら、開発者は新しいスタブを生成し、クライアントアプリケーションを再コンパイルしないといけません。このアプローチは最高のパフォーマンスと最低の柔軟性を提供します。

dynamic binding を使用する際、開発者は開発時に WSDL の <portType> だけをコンパイルし、プロキシのインタフェースのみ生成します。実行時にこのアプリケーションは WSDL の <binding> に基づいたプロキシの実装を生成するために、dynamic proxy を使用します。このアプローチにより、クライアントアプリケーションは同じ <portType> を実装するどんなWebサービス実装とも bind することができます。このアプローチは、最初のサービス呼び出しで若干のオーバヘッドがありますが、より多くの柔軟性をもたらします。

dynamic invocation を使用する際、クライアントアプリケーションは実行時に WSDL ドキュメントをパースし、動的にサービス呼び出しを構築します。クライアントアプリケーションにはサービスのセマンティックスに関するいくつかの事前知識が必要ですが、特定のインターフェースに縛り付けられているわけではありません。このアプローチは最高の柔軟性をもたらしますが、より複雑なプログラミングを必要とします。