Sun GlassFish Enterprise Server 2.1 管理ガイド

第 14 章 Web サービスの管理

この章では、Enterprise Server による Web サービス管理について説明します。管理コンソールおよび asadmin ツールで、Web サービスの配備、テスト、および管理を行うことができます。複雑な Web サービスをすばやく視覚化して理解し、監視および管理することができます。ドメインに配備されたすべての Web サービスを、Java EE アプリケーションや、EJB のようなアプリケーションコンポーネントと同じように表示できます。

さらに、次の操作も可能です。

この章の内容は次のとおりです。

Web サービスの概要

Web サービスは、クライアントが Simple Object Access Protocol (SOAP) などの XML ベースプロトコルを使用してアクセスし、HTTP などのインターネットプロトコルを介して送信されるアプリケーションです。クライアントは、Web Services Definition Language (WSDL) ファイルなどの XML アーティファクトを使って定義されたインタフェースとバインディングを通して Web サービスアプリケーションにアクセスします。

eXtensible Markup Language (XML) は、World Wide Web Consortium (W3C) によって開発された規格であり、Web サービス構築の基盤の 1 つです。XML によって、Web サービスとクライアントが共通の言語で互いに通信できます。XML は、シンプルで柔軟な、テキストベースのマークアップ言語です。XML データは、山括弧で囲まれたタグを使用してマーク付けされます。タグ内には、そのタグでマーク付けするデータの意味が含まれます。このようなマークアップにより、異なるシステム間で容易にデータを交換できます。

文書型定義 (Document Type Definitions、DTD) または XML スキーマ定義 (XML Schema Definition、XSD) には、XML ドキュメントの構造が記述されます。これには、対応する XML ドキュメントで使用できるタグや、それらのタグの順序などの情報が含まれます。

XSLT (eXtensible Stylesheet Language Transformation の略) は、XML ドキュメントをある形式から別の形式に変換するために使用されます。

Web サービスの規格

Simple Object Access Protocol (SOAP) は、Web サービスに共通のメッセージング形式を提供します。SOAP によって、互いに未知のオブジェクトがメッセージを交換できます。SOAP では、XML ベースのデータコード化形式と HTTP を使用してメッセージを転送します。SOAP は、プログラミング言語にも動作プラットフォームにも依存せず、エンドポイントで特定のテクノロジを一切必要としません。

Universal Description, Discovery, and Integration (UDDI) は、Web サービスの登録、登録解除、および検索を行うための標準的な方法を提供します。電話システムのイエローページと同様に、UDDI レジストリによって、提供者はサービスを登録し、要求者はサービスを検索できます。要求者がサービスを見つけたあとは、要求者と提供者の間でレジストリが果たす役割はもうありません。

Web Services Description Language (WSDL) は、Web サービスの詳細を指定する標準的な方法を定義します。これは汎用 XML スキーマであり、Web サービスのインタフェース、バインディング、および配備に関するその他の詳細を指定できます。このようなサービスの詳細を指定する標準的な方法があることで、クライアントは予備知識がなくても Web サービスを使用できます。

ebXML (Electronic Business using eXtensible Markup Language) は、企業がインターネットを介してビジネスを行うための一連の仕様です。ebXML 仕様は、OASIS (Organization for the Advancement of Structured Information Standards) により管理されています。

Java EE Web サービスの規格

Java APIs for XML Processing (JAXP) は、XML ドキュメントの解析や処理を行うための、ベンダー中立の一連の軽量 API です。JAXP によって、規格に準拠するすべての XML パーサーを Web サービスに「プラグイン」できます。外部パーサーが「プラグイン」されていない場合、JAXP は自身に実装された XML パーサーを使用します。

Java API for XML-based Remote Procedure Calls (JAX-RPC) は、クライアントサーバー遠隔手続き呼び出しに XML ベースプロトコルを使用します。JAX-RPC は、SOAP ベースの相互運用可能で移植性のある Web サービスを可能にします。開発者は、JAX-RPC プログラミングモデルを使用して、SOAP ベースの Web サービスエンドポイントとそれに対応する WSDL 記述、およびクライアントを開発します。JAX-RPC ベースの Web サービスは、Java ベース以外のクライアントと対話できます。同様に、JAX-RPC ベースのクライアントは、Java ベース以外の Web サービスと対話できます。

Java API for XML Registries (JAXR) は、ビジネスレジストリにアクセスするための Java API です。JAXR には、UDDI およびその他のレジストリ仕様 (ebXML など) をサポートする柔軟なアーキテクチャーが備わっています。JAXR クライアント (スタンドアロン Java アプリケーションや J2EE コンポーネントなど) は、JAXR プロバイダが提供する JAXR API の実装を使用して、ビジネスレジストリにアクセスします。JAXR プロバイダは 2 つの部分から構成されます。 レジストリ固有の API 実装を提供するレジストリ固有の JAXR プロバイダと、レジストリのタイプに依存しない API のレジストリ機能を実装するプラグイン可能な JAXR プロバイダです。プラグイン可能なプロバイダは、レジストリ固有プロバイダの詳細をクライアントから見えないようにします。

SOAP with Attachments API for Java (SAAJ) により、開発者は、SOAP 1.1 仕様と SOAP with Attachments note に準拠するメッセージを作成および処理できます。SAAJ プロバイダは、添付ファイル付きの SOAP メッセージを処理するための抽象化オブジェクトを提供します。上級開発者は、SAAJ を使用して、SOAP メッセージで直接アプリケーションを動作させることができます。添付ファイルには、完全な XML ドキュメント、XML フラグメント、または MIME タイプの添付ファイルを使用できます。また、SAAJ により、開発者は、ほかの MIME タイプのサポートを有効にできます。JAX-RPC などの JAX テクノロジでは、内部的に SAAJ を使用することで、SOAP の複雑さを開発者に感じさせないようにしています。SAAJ には次の機能があります。

Web サービスの配備とテスト

Enterprise Server では、Web サービスの配備とテストを簡単に行えます。

Web サービスの配備

エンタープライズアプリケーションと同じように、エンタープライズアーカイブ (EAR) で Web サービスを配備します。

また、POJO (Plain Old Java Object) によって Web サービスを実装することもできます。POJO Web サービスを配備するには、自動配備機能を使用します。これを行うには、サービスを自動配備ディレクトリにドラッグ&ドロップします。Enterprise Server によって、自動的に適切な Web XML ファイルが生成され、Web サービスが配備されます。

管理コンソールで、「Application Server」 > 「Web サービス」|「一般」の順に選択すると、配備済みの Web サービスの一覧を表示できます。

配備済み Web サービスの表示

管理コンソールで Web サービスをテストするには、「アプリケーション」>「Web サービス」>「web-service-name」|「一般」の順に選択します。管理コンソールに、次のような Web サービスの属性が表示されます。

Web サービスのテスト

管理コンソールで、Web サービスをテストし、問題を診断できます。汎用テストサーブレットで、配備済み Web サービスに対して ping を実行できます。メソッドの呼び出しごとに SOAP メッセージが表示されます。

管理コンソールで Web サービスをテストするには、「アプリケーション」>「Web サービス」>「web-service-name」|「一般」の順に選択し、「テスト」ボタンをクリックします。

Web サービスのセキュリティー

SOAP メッセージ層セキュリティーのサポートは、WS-Security の SAML トークンプロファイルに基づきます。Web サービスの改ざん防止監査機能も提供されます。

Web サービスレジストリの使用


注 –

Enterprise Server には、内部レジストリが付属していません。Web サービスを内部レジストリに発行するには、レジストリを Application Server にダウンロードし、インストールする必要があります。Web サービスを外部レジストリに発行するには、外部レジストリのアドレスを指定します。


レジストリの追加

管理コンソールで Web サービスレジストリを追加または削除するには、「Application Server」>「Web サービス」|「レジストリ」の順に選択します。このページで、レジストリアクセスポイント (RAP) を作成します。レジストリを追加する場合、次のパラメータを指定します。

次の手順によって、レジストリ JNDI 名が作成されます。

レジストリへの Web サービスの発行

管理コンソールで Web サービスを発行するには、「アプリケーション」>「Web サービス」>「web-service-name」|「発行」の順に選択します。

「Web サービスの発行」画面で、Web サービスの発行対象のレジストリを 1 つ以上選択し、「発行」をクリックします。利用可能なレジストリをすべて発行するには、「すべて追加」ボタンをクリックします。

レジストリ内でこの Web サービスを表示するカテゴリを入力します。各カテゴリを区切るには、コンマを使用します。カテゴリは、使用中のレジストリに定義されます。この Web サービスの説明を入力します。UDDI レジストリに発行する場合、Oganization の名前を入力します。

ロードバランサを使用する場合は、ロードバランサのホスト名、ポート番号、および SSL ポート番号を入力します。Web サービスを外部レジストリに発行する場合、WSDL はインターネットを通じて検出されますが、これらのオプションによって WSDL ファイルに指定されたホスト名とポート名はロードバランサのホスト名とポート名に置き換えられます。

Web サービスを発行解除するには、「Web サービスの発行」画面で、Web サービスを発行解除するレジストリを選択し、「発行解除」をクリックします。

XSLT フィルタによるメッセージの変換

Web サービスのエンドポイントに XSLT 変換規則を適用できます。これによって、Web サービスの要求と応答に関して詳細な制御を行うことができます。1 つの Web サービスエンドポイントメソッドに複数の XSLT 規則を適用できます。また、各変換の適用順序も設定できます。XSLT ファイルはすべて、中央リポジトリの generated/xml/appOrModule ディレクトリに格納されます。これらの変換規則は、リモートサーバーインスタンスと同期されます。

変換規則を SOAP 要求や SOAP 応答に適用できます。

管理コンソールで Web サービス操作に適用する変換規則を追加するには、「アプリケーション」>「Web サービス」>「web-service-name」|「変換」の順に選択します。「追加」をクリックします。

この Web サービスのエンドポイントに利用可能な変換規則のリストが表示されます。

変換規則が定義されている XSLT ファイルの場所を参照します。生成された XSLT ファイルはすべて generated/xml/application or module name/ ディレクトリに格納されます。

Web サービスのエンドポイントに複数の変換規則を追加する場合、変換規則は追加した順序で適用されます。

変換規則を有効にするには、「変換規則」ページで、その規則のチェックボックスにチェックマークを付けてから、「有効」をクリックします。規則を無効にするには、「無効」をクリックします。

変換規則を削除するには、「変換規則」ページで、その規則のチェックボックスにチェックマークを付けてから、「削除」をクリックします。これによって、変換規則がリストから削除されます。変換規則が Web サービスエンドポイントに適用されている場合、その変換規則は自動的に無効になります。ただし、XSLT ファイルはファイルパスの示す場所に残ります。ほかの Web サービスエンドポイントでは、この XSLT ファイルを使用できます。

Web サービスの監視

管理コンソールで、Web サービス処理の統計情報を追跡してグラフィック表示したり、Web サービスで送受信されたメッセージを表示したりできます。

Web サービスの監視を有効にするには、管理コンソールで、「アプリケーション」>「Web サービス」>「web-service-name」|「監視」|「設定」の順に選択します。

「監視の設定」ページで、監視レベルを設定します。

「メッセージ履歴」の値を入力します。デフォルトは 25 秒です。「リセット」ボタンをクリックして、すべての統計情報を消去します。移動平均が再開されます。

Web サービス統計の表示

Enterprise Server は、Web サービス処理の統計情報を追跡し、グラフィック表示する機能を提供します。

監視統計を表示するには、「アプリケーション」>「Web サービス」>「web-service-name」|「監視」|「統計」の順にクリックします。利用できる統計情報は次のとおりです。

Web サービスメッセージの監視

Web サービスのエンドポイントに関するメッセージ (デフォルトは 25) を表示するように Web サービスを設定することもできます。これらのメッセージは、リモートサーバーインスタンスのメモリーに格納されます。SOAP 要求、応答、HTTP ヘッダー情報の詳細が表示されます。

Web サービスメッセージを監視するには、「アプリケーション」>「Web サービス」>「web-service-name」|「監視」|「メッセージ」の順にクリックします。

有効にすると、Web サービスエンドポイントに関する最新のメッセージ (デフォルトでは 25 件) を表示できます。これらのメッセージはリモートサーバーインスタンスのメモリーに保持されます。これには、SOAP 要求と応答の詳細および HTTP ヘッダー情報が含まれます。

Web サービスに関して受信したメッセージのリストが表示されます。表示されるメッセージの数は、監視の設定によって決まります。

フィルタを選択して、正常処理のメッセージまたは異常処理のメッセージだけを表示することもできます。