SOAP
SOAP は、非集中型の分散環境で構造化された情報を交換するための仕様です。 したがって、SOAP は、サービス指向アーキテクチャー (SOA) における 3 つの重要なアクター (サービス・プロバイダー、 サービス・リクエスター、およびサービス・ブローカー) の間で通信する主な方法を表します。 この設計の主な目標は、単純かつ拡張可能であることです。 SOAP メッセージは Web サービスを要求するために使用します。
SOAP 1.1
WebSphere® Application Server は、SOAP 1.1 で概要が説明されている標準に従います。
- メッセージ内容の記述および命令の処理を行うためのフレームワークを定義するエンベロープ。
- アプリケーション定義データ・タイプのインスタンスを表現するための一連のエンコード規則。
- リモート・プロシージャー・コールおよび応答を表現するための規則。
SOAP 1.1 は、プロトコルに依存しないトランスポートであり、さまざまなプロトコルと組み合わせて使用できます。 WebSphere Application Server で開発および実装される Web サービスでは、SOAP は HTTP、HTTP 拡張フレームワーク、および Java™ Message Service (JMS) と組み合わせて使用されます。SOAP は、オペレーティング・システムにも依存せず、 いずれのプログラム言語やコンポーネント・テクノロジーとも結合しません。
クライアントが XML メッセージを発行できる限り、 クライアントを実装する際にどのテクノロジーを使用するかは問題ではありません。 同様に、サービスが SOAP メッセージを処理できる限り、 いずれの言語でもサービスを実装できます。 さらに、サーバー・サイドとクライアント・サイドは、ともに任意の適切なプラットフォーム上に配置できます。
SOAP 1.2
- パート 0: 入門
- パート 1: メッセージング・フレームワーク
- パート 2: 付属
- 仕様のアサーションとテスト集
SOAP 1.2 は SOAP 処理モデルのより具体的な定義を提供します。これにより、Web サービス・インターオペラビリティー (WS-I) プロファイルの欠如から発生するインターオペラビリティー問題につながる場合がある、多くのあいまいさが取り除かれます。 SOAP 1.2 は、異なるベンダー間での SOAP 1.2 の実装に伴うインターオペラビリティー問題の機会を低減します。
- ベンダーが SOAP 1.2 で定義されているバインディング・フレームワークに準拠している限り、HTTP 以外のトランスポート・プロトコルを正式に定義することができます。 HTTP はユビキタスである一方、TCP/IP や MQ などの他のトランスポートほど信頼性が高くありません。
- SOAP 1.2 は、XML 情報セット (XML Infoset) に基づいています。 情報セットは XSD スキーマで XML 文書を記述する方法を提供しますが、必ずしも XML 1.0 シリアライゼーションを使用して文書をシリアライズするわけではありません。 SOAP 1.1 は XML 1.0 シリアライゼーションに基づいています。情報セットにより、バイナリー・プロトコル・フォーマットなどの他のシリアライゼーション・フォーマットを簡単に使用できるようになります。 一部の詳細なタグ付け情報を必要としない場合は、バイナリー・プロトコル・フォーマットを使って、メッセージを非常にコンパクトなフォーマットにすることができます。
Java API for XML Web Services (JAX-WS) 標準は、SOAP 1.1 と SOAP 1.2 の両方をサポートする機能を導入しています。
SOAP 1.1 と 1.2 の違いについて詳しくは、『SOAP バージョンの違い』の情報を参照してください。
サポートされる標準および仕様の完全なリストについては、Web サービス仕様書および API 文書を参照してください。