WS-I Basic Profile

Web Services-Interoperability (WS-I) Basic Profile は、インターオペラビリティーを向上させるための非独占的 (non-proprietary) な Web サービス仕様のセットです。WebSphere® Application Server は、WS-I Basic Profile バージョン 1.1 および WS-I Basic Security Profile バージョン 1.0 に準拠しています。

WS-I Basic Profile は、業界を先導する会社 (IBM® など) の共同事業体によって、 WS-I Organization の指導の下、管理されています。このプロファイルは、Web サービス・テクノロジーのオープン・スタンダードをもたらすことに関係する一連の原則で構成されています。Web サービス間でインターオペラビリティーをプロモートすることに関心のあるすべての組織は、Web Services Interoperability Organization のメンバーになることが推奨されます。

幾つかのテクノロジー・コンポーネントは、メッセージング、記述、ディスカバリー、セキュリティーなど、Web サービスの構成および実装で使用されます。これらのコンポーネントのそれぞれは、SOAP 1.1、Extensible Markup Language (XML) 1.0、 HTTP 1.1、Web サービス記述言語 (WSDL) 1.1、 Universal Description, Discovery and Integration (UDDI) などの仕様および標準でサポートされています。 WS-I Basic Profile は、インターオペラビリティーを実現するためにこれらのテクノロジー・コンポーネントを一緒に使用する方法を指定し、各テクノロジーの個々の使用法を適宜定めます。 WS-I Basic Profile について詳しくは WS-I Organization Web サイトをご覧ください。

テクノロジー・コンポーネントが更新されるにつれて、これらのコンポーネントは Web サービスの構成および実装でも使用されます。その一例は、今では SOAP 1.1 および SOAP 1.2 の両方がサポートされていることです。

WS-I Basic Profile バージョン 1.0、WS-I Basic Profile V1.1、Attachment Profile V1.0、Basic Security Profile (BSP) V1.0、および WS-I Basic Security Profile V1.1 のサポートに基づいてビルドすると、以下のアクティブ WS-I プロファイルを使用してこの製品で Web サービスを実装できます。
  • WS-I Basic Profile V1.2 は、WS-I Basic Profile V1.0 および WS-I Basic Profile V1.1 の上に構築され、WS-Addressing (WS-A) および SOAP Message Transmission Optimization Mechanism (MTOM) のサポートを追加しています。 WS-Addressing 仕様によって、非同期メッセージ交換パターンを有効にして、サービス応答からデバイス要求を分離することができます。送信側の要求の SOAP ヘッダーには、プロバイダーの応答先であるエンドポイント参照を定義する wsa:ReplyTo 値が含まれています。要求を応答から分離すると、長時間実行される Web サービスの対話が可能になります。JAX-WS バージョン 2.1 の非同期プログラミング・モデルのサポートを WS-Addressing と組み合わせて利用することにより、応答が返されるまで待機しなくてもクライアントが作業の処理を続けられる Web サービス呼び出しを作成することができるようになります。これにより、さらに動的で効率的なモデルで Web サービスを呼び出すことができます。MTOM を使用すると、SOAP メッセージ内でバイナリー・データを最適に送受信することができます。
  • WS-I Basic Profile V2.0 は、SOAP 1.2 が追加サポートされた Basic Profile V1.2 に構築されています。
  • WS-I Reliable Secure Profile 1.0 は、WS-I Basic Profile V1.2、WS-I Basic Profile V2.0、WS-I Basic Security Profile V1.0、および WS-I Basic Security Profile V1.1 の上に構築されており、WS-Reliable Messaging 1.1、WS-Make Connection 1.0、および WS-Secure Conversation 1.3 のサポートを追加しています。WS-Reliable Messaging 1.1 は、Web サービス対話のためのメッセージ・レベルの信頼性を提供する、セッション・レベルのプロトコルです。WS-Make Connection 1.0 は WS-Reliable Messaging ワークグループによって、Web サービス・エンドポイントがファイアウォールの背後にあるというシナリオ、またはエンドポイントが可視のエンドポイント参照を持っていないというシナリオに対処するために開発されました。信頼できるセッション中に Web サービス・エンドポイントが接続を失うと、WS-Make Connection がその信頼性の高いセッションを再確立するための効率的な方法を提供します。さらに、WS-Secure Conversation V1.3 は、メッセージ・レベルのセキュリティーを得るために、効率的な対称鍵ベースの暗号化アルゴリズムを使用する、セッション・ベースのセキュリティー・プロトコルです。WS-I Reliable Secure Profile V1.0 は、セキュアで信頼性の高いセッション指向の Web サービスの対話を提供します。

各テクノロジー・コンポーネントの要件は、WS-I Organization Web サイトでさらに詳細にわたって読むことができます。例えば、 Universal Transformation Format (UTF)-16 エンコードのサポートは、 WS-I Basic Profile に必要です。 UTF-16 は 16 ビット値を使用するユニコード・エンコード・スキームの一種で、 汎用文字セット (UCS) の文字を保管します。 UTF-8 は、インターネットで最も一般的に使用されるエンコードです。 UTF-16 エンコードは通常、Java™ および Windows 製品アプリケーションに使用され、 UTF-32 はさまざまな Linux および UNIX システムで使用されます。UTF-8 とは違い、UTF-16 には、ビッグ ・エンディアンおよび リトル・エンディアンとの問題があり、エンディアンを示すために Byte Order Mark (BOM) をよく使用します。 BOM は UTF-16 エンコードには必須で、UTF-8 で使用することができます。

アプリケーション・サーバーは、SOAP メッセージの UTF-8 エンコードと UTF-16 エンコードのみをサポートしています。

エンコードを UTF-8 から UTF-16 に変更する方法については、『WSI 基本プロファイルをサポートするための SOAP メッセージ・エンコードの変更』の情報を参照してください。

表 1. UTF プロパティー. UTF プロパティーの対応するバイトおよびエンコード形式を指定します。
バイト エンコード・フォーム
EF BB BF UTF-8
FF FE UTF-16、リトル・エンディアン
FE FF UTF-16、ビッグ・エンディアン
00 00 FE FF UTF-32、ビッグ・エンディアン
FF FE 00 00 UTF-32、リトル・エンディアン
BOM は XML テストの前に書き込まれ、XML がどのようにエンコードさ れているかをパーサーに示します。XML 宣言は、例えば、<?xml version=xxx encoding="utf-xxx"?> といったエンコードを含みます。 BOM はエンコードと使用され、XML をインタープリットする方法を判別します。 以下に、SOAP メッセージの例と BOM および UTF エンコードがどのように使用されるかを示します。
POST http://www.whitemesa.net/soap12/add-test-rpc HTTP/1.1
Content-Type: application/soap+xml; charset=utf-16; action=""
SOAPAction:
Host: localhost: 8080
Content-Length: 562
OxFF0xFE<?xml version="1.0" encoding="utf-16"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2002/12/soap-envelope"
      	xmlns:soapenc="http://www.w3.org/2002/12/soap-encoding
      	xmlns:tns="http://whitemesa.net/wsdl/soap12-test"
      	xmlns:types="http://whitemesa.net/wsdl/soap12-test/encodedTypes"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    		<q1:echoString xmlns:q1="http://soapinterop.org/">
      			<inputString soap:encodingStyle="http://example.org/unknownEncoding" 
                        			xsi:type="xsd:string">
        				Hello SOAP 1.2
      			</inputString>
    		</q1:echoString>
  	</soap:Body>
</soap:Envelope>

コード例では、0xFF0xFE はバイトコードを表し、 一方、<?xml> 宣言はテキスト表記です。

styleEncoding のサポートは SOAP 1.2 ではサポートされていません。そのため、これは同じ SOAP メッセージの例ですが、エンコード情報が付いていません。
OxFF0xFE<?xml version="1.0" encoding="utf-16"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2002/12/soap-envelope"
      	xmlns:soapenc="http://www.w3.org/2002/12/soap-encoding
      	xmlns:tns="http://whitemesa.net/wsdl/soap12-test"
      	xmlns:types="http://whitemesa.net/wsdl/soap12-test/encodedTypes"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    		<q1:echoString xmlns:q1="http://soapinterop.org/">
      			<inputString 	xsi:type="xsd:string">
        				Hello SOAP 1.2
      			</inputString>
    		</q1:echoString>
  	</soap:Body>
</soap:Envelope>

サポートされる標準および仕様の完全なリストについては、Web サービス仕様書および API 文書を参照してください。


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



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