JRun Web サービスについて

JRun を使用すると、インターネットのどこからでも利用できるビジネス機能である Web サービスをパブリッシュし、使用できます。Web サービスは、XML と HTTP などの標準インターネットプロトコルを使用して、プラットフォームやロケーションに依存しないコンピューティングを提供します。以前には互換性のなかったアプリケーションを言語、プラットフォーム、またはオペレーティングシステムにかかわりなく Web 上で相互運用できるようにすることによって、Web サービスから新しいビジネスチャンスが生み出され、企業はビジネス上のリレーションシップの変化に対応できます。たとえば、Microsoft .NET コンポーネントは EJB (Enterprise JavaBeans) などの J2EE コンポーネントと双方向に通信することができます。

JRun を使用すれば、既存の Java コードを Web サービスとしてパブリッシュしたり、新しいコードを特別に Web サービスとして作成できます。また、リモート Web サービスが Microsoft .NET などの Java 以外のプラットフォーム上にあっても、そのサービス上のメソッドを呼び出すことができるオブジェクトベースまたはタグベースのクライアントを作成できます。

JRun Web サービスのパブリッシュは、Java ソースファイルの名前の変更、または Web アプリケーションに Java クラスおよび Web サービスのデプロイメントディスクリプタを含めることと同様に簡単です。パブリッシュされた Web サービスは、URL を介してクライアントが利用できます。サービスの呼び出しに必要な情報をクライアントに提供するために、WSDL (Web Services Description Language:Web サービス記述言語) ドキュメントをリクエスト時に生成できます。ユーザー独自の Web サービスクライアントの場合は、WSDL ドキュメントからローカル Web サービスプロキシを生成できます。

JRun Web サービスの実装は、Apache Software Foundation の SOAP (Simple Object Access Protocol:単一オブジェクトアクセスプロトコル) エンジンの第 3 世代である Apache Axis 上に構築します。

Web サービスのプラットフォーム

Web サービスのプラットフォームの 3 つの主要コンポーネントは次のとおりです。

次の簡単な図は、JRun 内での Web サービスオペレーションを示しています。

SOAP による Web サービスの呼び出し

SOAP には、Web サービスリクエストおよびレスポンスの送信と受信のための標準 XML シンタックスが用意されています。

通常は HTTP を使用して SOAP メッセージを送信しますが、SMTP やその他のプロトコルを使用して送信することもできます。通常のシナリオでは、次のように動作します。

  1. サービスクライアントは、インターネット上で HTTP を使用して、SOAP を使用している Web サービスの オペレーション (メソッド) を呼び出します。オペレーション呼び出しの指示は、HTTP リクエスト内の SOAP でエンコードされた XML ドキュメントとして送信されます。
  2. Web サーバが HTTP リクエストを受け取り、それを SOAP エンジンに渡します。
  3. SOAP エンジンは、SOAP でエンコードされた XML ドキュメントを読み取り、該当するオペレーションをバックエンドシステム上に呼び出します。Web サービスのバックエンドでビジネスロジックを提供するオブジェクトは、Java クラス、EJB、.NET コンポーネント、または他のタイプのプログラムです。
  4. SOAP エンジンは、オペレーションの結果を含んでいる HTTP レスポンスを、SOAP でエンコードされた XML ドキュメント内に生成します。
  5. HTTP レスポンスはクライアントに返送されます。

SOAP リクエストとレスポンスのペアのサンプルを表示するには、弟 22 章、「SOAP の監視」 を参照してください。SOAP の詳細については、次の URL にある W3C の SOAP 1.1 ノートをご覧ください。

http://www.w3.org/TR/SOAP/

WSDL による Web サービスの記述

WSDL ドキュメントとは、Web サービスの目的、配置場所、およびアクセス方法を記述している XML ファイルのことです。

WSDL ドキュメントは、呼び出すことができるオペレーションとそれに関連するデータタイプを記述しています。

Axis では Web サービスから WSDL ドキュメントを生成でき、その WSDL ドキュメントを URL にパブリッシュしてクライアントに情報を提供できます。Axis WSDL2Java ツールを使用すると、クライアントサイドおよびサーバサイドの Java コードを WSDL ドキュメントから生成することができます。また、Java2WSDL ツールを使用すると、Java コードから WSDL を生成できます。詳細については、 「WSDL ドキュメントの操作」 を参照してください。

WSDL の詳細については、次の URL にある W3C の WSDL ノートをご覧ください。

http://www.w3.org/TR/wsdl

UDDI による Web サービスの検出

UDDI には、Web サービスクライアントが特定の機能を持つ Web サービスをダイナミックに見つける方法が用意されています。UDDI クエリはサービスプロバイダを見つけるときに使用します。UDDI レスポンスには、ビジネス連絡先情報、業務カテゴリ、および Web サービスを呼び出す方法に関する技術的な詳細情報が含まれています。UDDI の詳細については、次の URL をご覧ください。

http://www.uddi.org/about.html.