Web Services Resource Framework サポート

WebSphere® Application Server の Web Services Resource Framework (WSRF) サポートは、OASIS WSRF 仕様に従う Web サービス・アプリケーション用の環境を提供します。

WSRF 概要

Web サービス・インターフェースは、サービスのクライアントとのステートフルな対話を頻繁に提供する必要があります。 例えば、ある操作の結果がそれに続く操作の実行に影響を与えるような、ショッピング・カートなどの Web サービス・インターフェースがこれに相当します。OASIS Web Services Resource Framework (WSRF) は、Web サービスを使用してステートフル・リソースをモデリングし、アクセスするための汎用フレームワークを定義し、サービスの定義と実装および複数のサービスの統合と管理が簡単にできるようにします。

WSRF では リソース・プロパティー文書スキーマ と呼ばれる XML 文書の説明の概念を採用しています。これは、Web サービスの WSDL 記述により参照され、クライアントが相互作用するリソースの状態のビューを明示的に記述します。このように記述されたサービスは WS-Resource と呼ばれます。

WS-Resource は、リソースと、そのリソースにアクセスするための Web サービスの組み合わせとして定義されます。下の図は、http://www.example.com/service にある Web サービスと、この Web サービスを通してアクセスする 3 つのリソース、A、B、および C を示します。この図には 3 つの WS-Resources が説明されています。
説明テキストを参照してください
WS-Resource は、WS-Resource を一意的に識別する WS-Addressing エンド ポイント参照により参照されます。通常は、EndpointReference ReferenceParameter エレメント内の WS-Resource のリソース・コンポーネントの ID を含めることにより、識別が行われます。 上の例では、WS-Resource-C が Web サービスおよび C で識別されるリソースの組み合わせであり、WS-Resource-C への参照は次のように表示されます。
<wsa:EndpointReference>
    <wsa:Address>
        http://www.example.com/service
    </wsa:Address>
    <wsa:ReferenceParameters>
        <tns:SomeDisambiguatorElement>C</tns:SomeDisambiguatorElement>
    </wsa:ReferenceParameters>
    ...
                 </wsa:EndpointReference>

そのような各 WS-Resource には、リソースの状態のビューを記述する、リソース・プロパティー文書 (XML インスタンス文書) があります。 WS-Resource の WSDL は、wsdl:PortType エレメントの ResourceProperties 属性を使用してリソース・プロパティー文書のタイプを記述する、XML スキーマを識別します。 この、リソース・プロパティー文書スキーマに対する標準の WSDL 拡張機能を指定することにより、WSRF は WS-Resource と相互作用する単純な汎用メッセージの定義を可能にします。

例えば、次のリソース・プロパティー文書スキーマを持つプリンター WS-Resource を考えます。
<?xml version="1.0"?>
<xsd:schema ...
   xmlns:pr="http://example.org/printer.xsd"
   targetNamespace="http://example.org/printer.xsd" >
 <xsd:element name="printer_properties">
   <xsd:complexType>
     <xsd:sequence>
        <xsd:element ref="pr:printer_name" />
        <xsd:element ref="pr:queued_job_count" />
     </xsd:sequence>
   </xsd:complexType>
 </xsd:element>
 ...
</schema>
そのような WS-Resource の WSDL PortType エレメントは、次のようにリソース・プロパティー文書タイプを宣言します。
<wsdl:portType xmlns:pr="http://example.org/printer.xsd"
               xmlns:wsrf-rp="http://docs.oasis-open.org/wsrf/rp-2"
               name="Printer" wsrf-rp:ResourceProperties="pr:printer_properties">

各 WS-Resource には、リソースの状態のビューである固有の論理リソース・プロパティー文書インスタンスがあります。 WS-ResourceProperties 仕様は、リソース・プロパティー文書に対して操作することにより、リソースの状態を取得、設定、または照会するよう WS-Resource が実装できる、相互運用可能なプロトコル・メッセージを記述します。 これらの操作の中にはリソース・プロパティー文書全体に影響を与えるものもあり、文書内で 1 つ以上のエレメントに対して操作するものもあります (例えば、pr:printer_name のような、個々のリソース・プロパティー)。 各 WS-Resource は有限なライフサイクルを持つことができ、作成済みおよび廃棄済みにすることができます。WS-ResourceLifetime 仕様は、WS-Resource がこれを破棄、またはその終了時刻の変更を実装できるように、相互運用可能なプロトコル・メッセージを記述します。

WSRF についての詳しい情報は、OASIS 技術委員会によって公開された WSRF Primer の資料を参照してください。

WSRF プログラミング・モデル

WSRF 仕様は、プロトコル・メッセージと、これらのメッセージを処理する際に WS-Resource で予想されるセマンティクスの振る舞いのみを定義します。この仕様は、WS-Resource オブジェクトを実装する手段を事前定義していません。 WSRF は基本的にアプリケーション・レベルのプロトコルであり、WS-Resources を実装するためのツールは、その他の Web サービスを実装するために使用するツールと同じものです。WSRF は WS-Addressing エンドポイント参照を使用し、WS-Resources アプリケーション・プログラミング・モデルは、WS-Addressing を使用する Web サービスのモデルに類似しています。

WSRF は、WebSphere Application Server WS-Addressing プログラミング・モデルを 2 つの方法で拡張します。この点で、WS-Resource は、WS-Addressing を使用して Web サービスを通じてアクセスする汎用リソースとは異なります。
  • WSRF は、wsdlPortType エレメントで ResourceProperties 属性を必要とします。 この属性は、portType エレメントが、汎用 Web サービスではなく、WS-Resource によって実装されることを宣言します。WS-Resource は、WSRF 操作を WSDL 定義の portType エレメントにコピーすることにより、どの WSRF 操作をサポートするかを宣言する必要があります。 WS-Resource は、ステートフル・リソースを表し、WSRF メッセージを処理するために必要な、実装戦略を自由に選択することができます。単純な Java™ クラスやステートレス・セッション・エンタープライズ Bean、リレーショナル・データベースにより支援されるエンティティー Bean、サービス・データ・オブジェクト (SDO) などを使用して、リソースを実装できます。
  • WSRF は Java BaseFault タイプの階層を定義します。

トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_wsrf
ファイル名:cwbs_wsrf.html