Oracle® Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの紹介 11g リリース1(10.3.5) B61646-03 |
|
前 |
Webサービスの標準を定義する仕様の多くは、業界全体で幅広く使用できるように記述されています。そのため、Oracleによる特定の仕様の実装では、その仕様で考慮されているすべての使い方がサポートされていない場合もあります。
Oracleでは、Webサービス仕様の考え得るあらゆる使用事例をサポートするよりも、Webサービス・プラットフォームの相互運用性の方をより重要視しています。Web Services Interoperability Organizationの次の仕様に準拠し、それをWebサービス相互運用性の基準とみなしています。
Basic Profile 2.0 (JAX-WSのみ): http://www.ws-i.org/Profiles/BasicProfile-2_0(WGD).html
Basic Profile 1.2 (JAX-WSのみ): http://www.ws-i.org/Profiles/BasicProfile-1_2(WGAD).html
Basic Profile 1.1 (JAX-WSおよびJAX-RPC):http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html
Basic Security Profile 1.1 (JAX-WSおよびJAX-RPC):http://www.ws-i.org/Profiles/BasicSecurityProfile-1.1.html
Reliable Secure Profile 1.0 (JAX-WSのみ):http://www.ws-i.org/Profiles/ReliableSecureProfile-1.0.html
このガイドでは、すべての仕様の要件を必ずしも説明しません。ただし、このガイドではこのような仕様の要件を超える機能について説明します。
次の表に、WebLogic Webサービスでサポートされる機能および指定をまとめます。
表4-1 WebLogic Webサービスでサポートされる機能および基準
機能 | 説明 | JAX-WS | JAX-RPC |
---|---|---|---|
メタデータ・アノテーションに基づくプログラミング・モデルとランタイム・アーキテクチャ |
JSR 109: Implementing Enterprise Web Services: WebLogic ServerなどのJava EEアプリケーション・サーバーで実行するWebサービスをJavaで実装するためのプログラミング・モデルおよびランタイム・アーキテクチャ。「JSR 109: Implementing Enterprise Web Services 1.2」を参照してください。 |
バージョン1.2 |
バージョン1.2 |
メタデータ・アノテーションに基づくプログラミング・モデルとランタイム・アーキテクチャ |
Web Services Metadata for the Java Platform 2.0 (JSR-181): Webサービスのプログラミングを容易にするためにJava Webサービス(JWS)ファイルで使用できる標準アノテーション。「Web Services Metadata for the Java Platform 2.0 (JSR-181)」を参照してください。 |
サポート |
サポート |
プログラミングAPI |
Java API for XML-based Web Services (JAX-WS): Java Webサービスのコーディング、構築、デプロイメントに使用する標準ベースのAPI。統合されたスタックには、JAX-WS 2.1、JAXB 2.1、およびSAAJ 1.3が含まれます。「Java API for XML-based Web Services (JAX-WS) 2.1」を参照してください。 関連項目:
|
バージョン2.1 |
なし |
プログラミングAPI |
Java API for XML-based RPC (JAX-RPC): XMLベースのリモート・プロシージャ呼出し(RPC)に使用するJava API。「Java API for XML-based RPC (JAX-RPC) 1.1」を参照してください。 関連項目:
|
なし |
バージョン1.1 |
データ・バインディング |
Java Architecture for XML Binding (JAXB): XMLスキーマをJavaコード内の表現にバインドするために使用する実装。JAXBは、JAX-WS Webサービスでのみサポートされます。「Java Architecture for XML Binding (JAXB) 2.1」を参照してください。 『Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のJAXBデータ・バインディングの使用に関する項も参照してください。 |
バージョン2.1 |
なし |
データ・バインディング |
Apache XMLBeans: XMLスキーマをJava型にバインドし、様々な方法でXMLデータにアクセスするための技術。XMLBeansは、JAX-RPC Webサービス用のデフォルトのバインディング技術です。「Apache XMLBeans 2.0」を参照してください。 『Oracle WebLogic Server JAX-RPC Webサービス・スタート・ガイド』のJAXBデータ・バインディングについてに関する項も参照してください。 |
なし |
2.0 |
Webサービスの記述 |
Web Services Description Language (WSDL): Webサービスを記述するためのXMLベースの仕様。「Web Services Description Language (WSDL) 1.1」を参照してください。 関連項目:
|
バージョン1.1 |
バージョン1.1 |
Webサービスの記述 |
Web Services Policy Framework (WS-Policy): Webサービスのポリシーを記述して通信するための、汎用的なモデルおよび対応する構文。「Web Services Policy Framework (WS-Policy) 1.5および1.2」を参照してください。 |
バージョン1.5および1.2 |
バージョン1.5および1.2 |
Webサービスの記述 |
Web Services Policy Attachment (WS-PolicyAttachment): ポリシーに使用する抽象モデルとXMLベースの式の構文。「Web Services Policy Attachment (WS-Policy Attachment) 1.5および1.2」を参照してください。 |
バージョン1.5および1.2 |
バージョン1.5および1.2 |
Webサービスとリクエストを行ったクライアントの間のデータ交換 |
Simple Object Access Protocol (SOAP): 分散型環境で情報を交換するために使用する軽量XMLベースのプロトコル。「Simple Object Access Protocol (SOAP) 1.1および1.2」を参照してください。 |
バージョン1.2および1.1 |
バージョン1.2および1.1 |
Webサービスとリクエストを行ったクライアントの間のデータ交換 |
SOAP with Attachments API for Java (SAAJ) 1.3 - SOAP 1.1仕様およびSOAP with Attachmentsノートに準拠したメッセージの作成と消費に使用する実装。「SOAP with Attachments API for Java (SAAJ) 1.3」を参照してください。 |
バージョン1.3 |
バージョン1.3 |
セキュリティ |
Web Services Security (WS-Security): メッセージの内容の整合性と機密性を確保するセキュアなWebサービスを構築する際に使用できるSOAP (SOAP11、SOAP12)の拡張機能の標準セット。「Web Services Security (WS-Security) 1.1および1.0」を参照してください。 『Oracle WebLogic Server WebLogic Webサービスの保護』も参照してください。 |
バージョン1.1および1.0 |
バージョン1.1および1.0 |
セキュリティ |
Web Services Security Policy (WS-SecurityPolicy): WS-Policyフレームワークで使用するセキュリティ・ポリシー・アサーションのセット。「Web Services Security Policy (WS-SecurityPolicy) 1.2」を参照してください。 『Oracle WebLogic Server WebLogic Webサービスの保護』も参照してください。 |
バージョン1.2 |
バージョン1.2 |
セキュリティ |
Security Assertion Markup Language (SAML): セキュリティ・ドメイン間で認証および認可データを交換するためのXML標準。「Security Assertion Markup Language (SAML) 2.0および1.1」を参照してください。 『Oracle WebLogic Server WebLogic Webサービスの保護』も参照してください。 |
バージョン2.0および1.1 |
バージョン2.0および1.1 |
セキュリティ |
Security Assertion Markup Language (SAML) Token Profile: SOAPメッセージの認証と暗号化を実装するWS-Security SOAP拡張セット。「Security Assertion Markup Language (SAML) Token Profile 1.1および1.0」を参照してください。 『Oracle WebLogic Server WebLogic Webサービスの保護』も参照してください。 |
バージョン1.2および1.0 |
バージョン1.1および1.0 |
信頼性のある通信 |
Web Services Addressing (WS-Addressing): Webサービスおよびメッセージのアドレッシングを行うための、トランスポートに依存しないメカニズム。「Web Services Addressing (WS-Addressing) 1.0」を参照してください。 |
バージョン1.0 |
バージョン1.0 |
信頼性のある通信 |
Web Services Reliable Messaging (WS-ReliableMessaging): ソフトウェア・コンポーネント、システム、またはネットワークに障害が発生した場合に、別々のWebLogic Serverインスタンス上で動作する2つのエンドポイント(Webサービスおよびクライアント)が確実に通信するため実装。「Web Services Reliable Messaging (WS-ReliableMessaging)」を参照してください。 関連項目:
|
バージョン1.2、1.1 |
バージョン1.1および1.0 |
信頼性のある通信 |
Web Services Reliable Messaging Policy (WS-RM Policy) : WS-PolicyおよびWS-ReliableMessagingで使用する信頼性のあるメッセージングのためのドメイン固有のポリシー・アサーション。「Web Services Reliable Messaging Policy (WS-RM Policy) 1.2」を参照してください。 関連項目:
|
バージョン1.2および1.1 |
バージョン1.1および1.0 |
信頼性のある通信 |
Web Services Trust Language (WS-Trust): Web Services Security (WS-Security)に基づく拡張です。これらの拡張により、非同期通信を安全に実行できます。「Web Services Trust Language (WS-Trust)」を参照してください。 『Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージレベルのセキュリティの構成に関する項も参照してください。 |
バージョン1.4および1.3 |
バージョン1.3 |
信頼性のある通信 |
Web Services Secure Conversation Language (WS-SecureConversation): Web Services Security (WS-Security)およびWeb Services Trust Language (WS-Trust)に基づく拡張です。これらの拡張により、非同期通信を安全に実行できます。「Web Services Secure Conversation Language (WS-SecureConversation)」を参照してください。 『Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージレベルのセキュリティの構成に関する項も参照してください。 |
バージョン1.4 |
バージョン1.3 |
非同期通信 |
非同期リクエスト・レスポンス: Webサービスを同期的に呼び出す場合、呼出し側のクライアント・アプリケーションは、レスポンスが返るまで待機してから、処理を続行します。レスポンスが即座に返る場合、このWebサービス呼出しの方法は一般的です。しかし、リクエストの処理が遅延する可能性があるため、クライアント・アプリケーションによる処理を続行しレスポンスへの対処は後で行うようにします。これは、非同期Webサービスの呼出しを使用して実行できます。たとえば、次を参照してください。
|
サポート済 |
サポート済 |
非同期通信 |
WS-MakeConnection: 送信側エンドポイントが受信側エンドポイントへの新規接続を開始できない場合に2つのエンドポイント間でメッセージを転送するメカニズムを提供します。「Web Services MakeConnection 1.1」を参照してください。 『Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』のWebサービスの非同期的起動に関する項も参照してください。 |
バージョン1.1 |
なし |
原子性トランザクション |
Web Services Atomic Transaction: Web Services Coordination仕様に記述される拡張可能な調整フレームワークで使用される原子性トランザクションの調整タイプを定義します。WS-AtomicTransaction仕様とWS-Coordination仕様は、参加者間で分散アクティビティを調整する拡張可能なフレームワークを定義します。「Web Services Atomic Transaction (WS-AtomicTransaction) Version 1.2、1.1、および1.0」を参照してください。 『Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』のWeb Services Atomic Transactionsの使用に関する項も参照してください。 注意: JAX-RPCの場合、同様の機能はトランザクション内で |
バージョン1.2、1.1、および1.0 |
該当なし(詳細は「注意」を参照) |
原子性トランザクション |
Web Services Coordination: 分散アプリケーションのアクションを調整するプロトコルを提供する拡張可能なフレームワークを定義します。WS-AtomicTransaction仕様とWS-Coordination仕様は、参加者間で分散アクティビティを調整する拡張可能なフレームワークを定義します。「Web Services Coordination (WS-Coordination) Version 1.2、1.1、および1.0」を参照してください。 『Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』のWeb Services Atomic Transactionsの使用に関する項も参照してください。 |
バージョン1.2、1.1、および1.0 |
なし |
クライアント・イベント通知 |
Webサービス・コールバック: コールバックは、なんらかのイベントが発生したことをWebサービスのクライアントに通知するものです。たとえば、クライアントのリクエストの結果が用意されたとき、または、クライアントのリクエストが実行できない場合に、クライアントに通知できます。詳細は、次を参照してください。
|
サポート済 |
サポート済 |
XML伝達の最適化 |
Message Transmission Optimization Mechanism (MTOM): SOAPメッセージにおける、
|
サポート済 |
サポート済 |
SOAP Over JMSトランスポート |
SOAP over JMSトランスポート: 通常、クライアント・アプリケーションからWebLogic Webサービスを呼び出すときは、接続プロトコルとしてHTTP/Sが使用されます。しかし、クライアント・アプリケーションがトランスポートにJMSを使用するようにWebLogic Webサービスを構成することもできます。詳細は、『Oracle WebLogic Server JAX-RPC Webサービスの高度な機能のプログラミン』の接続プロトコルとしてのJMSトランスポートの使用に関する項を参照してください。 |
未サポート |
サポート済 |
RESTful Webサービス |
Java API for RESTful Web Services (JAX-RS): Representational State Transfer (REST)アーキテクチャ・スタイルに基づいた開発用の標準JAVA API。「Java API for RESTful Web Services (JAX-RS) 1.1」を参照してください。 『Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』のJersey JAX-RS のリファレンス実装の使用に関する項も参照してください。 注意: Jersey JAX-RS Reference Implementation (RI)の使用はベスト・プラクティスとしてお薦めできますが、『Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』のHTTPを介してXMLを使用したWebサービスのプログラミングに関する項で説明されているように、HTTPプロトコルを使用してRESTful-like Webサービスをプログラムできます。 |
「注意」を参照 |
なし |
スタンドアロンJSEクライアント・アクセス |
スタンドアロンJSEクライアント・アクセス・ファイル: 使用しているコンピュータにWebLogic Serverがインストールされていない場合、スタンドアロンWebLogic Webサービス・クライアントJARファイルを使用して引き続きWebサービスを起動できます。詳細は、『Oracle WebLogic Server JAX-RPC Webサービス・スタート・ガイド』のWebサービス起動時のスタンドアロン・クライアントJARファイルの使用に関する項を参照してください。 |
未サポート |
サポート済 |
公開(登録と検索) |
Universal Description, Discovery, and Integration (UDDI): Webサービスの記述、既知のレジストリへのWebサービスの登録、他の登録済Webサービスの検索など行う際の標準。「Universal Description, Discovery, and Integration (UDDI) 2.0」を参照してください。 関連項目:
|
バージョン2.0 |
バージョン2.0 |
公開(登録と検索) |
Java API for XML Registries (JAX-R): 種類の異なるXMLレジストリへのアクセスに使用する共通の標準Java API。「Java API for XML Registries (JAX-R) 1.0」を参照してください。 |
バージョン1.0 |
バージョン1.0 |
次の項では、これらの仕様について詳しく説明します。なお、仕様はアルファベット順に並べてあります。これら以外にWebLogic Webサービスでサポートされる仕様については、「WebLogic Webサービスでサポートされるその他の仕様」を参照してください。
このドキュメントで説明するAPIのサブセット(https://jax-ws-architecture-document.dev.java.net/nonav/doc/com/sun/xml/ws/developer/package-summary.html
のcom.sun.xml.ws.developer
APIなど)は、Sun Microsystemsが提供するJDK 6.0またはJAX-WS 2 1 Reference Implementation (RI)の拡張としてサポートされます。これらのAPIはJDK 6.0やWebLogic Serverソフトウェアの一部としては提供されないため、変更される可能性があります。以下にこのようなAPIの例を示します(これらに限定されるものではありません)。
com.sun.xml.ws.api.server.AsyncProvider com.sun.xml.ws.client.BindingProviderProperties com.sun.xml.ws.developer.JAXWSProperties com.sun.xml.ws.developer.SchemaValidation com.sun.xml.ws.developer.SchemaValidationFeature com.sun.xml.ws.developer.StreamingAttachment com.sun.xml.ws.developer.StreamingAttachmentFeature com.sun.xml.ws.developer.StreamingDataHandler
Apache XMLBeans 2.0(http://xmlbeans.apache.org
)は、XMLスキーマをJava型にバインドし、様々な方法でXMLデータにアクセスするための技術を提供します。XMLBeansでは、XMLインスタンス・データにアクセスして変更するためのJavaインタフェースおよびクラスを、XML Schemaを使用してコンパイルします。XMLBeansは、JAX-RPC Webサービスのデフォルトのバインディング技術です。
Java API for XML Registries (JAXR)仕様(http://java.sun.com/webservices/jaxr
)は、様々なXMLレジストリにアクセスするための共通の標準Java APIを提供します。XMLレジストリは、Webサービスの構築、デプロイ、検索を可能にするインフラストラクチャです。JAXR 1.0は、原則的に、UDDI v2.0レジストリにアクセスするためのAPIとして使用されます。
JAXRによって、Javaソフトウェア・プログラマは、単一の使いやすい抽象APIを使用して、様々なXMLレジストリにアクセスできるようになります。JAXRでは、XMLレジストリ内にコンテンツとメタデータを記述する共通の情報モデルによって、容易性と使いやすさを実現しています。
http://jcp.org/en/jsr/detail?id=311
で説明されているRESTful Webサービス(JAX-RS)用のJava APIの仕様によって、Representational State Transfer (REST)アーキテクチャ・スタイルに基づいたWebサービスの開発用の標準JAVA APIが提供されます。
WebLogic Serverには、Webアプリケーションとしてパッケージされ、Jersey JAX-RS RIバージョン1.1.5.1に基づくアプリケーションの実行に必要な事前作成共有ライブラリが含まれています。詳細は、『Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』のJersey JAX-RSのリファレンス実装の使用に関する項を参照してください。
ネームスペース: http://java.sun.com/xml/ns/jax-rpc
Java API for XML-based RPC (JAX-RPC)仕様(https://jax-rpc.dev.java.net/
)は、XMLベースのリモート・プロシージャ呼出し(RPC)に使用するJava APIを定義したSun Microsystemsの仕様です。特に、これらのAPIは、SOAP 1.1(分散型環境で情報を交換するためのXMLベースのプロトコル)を使用して、Webサービスを呼び出したり、Webサービスからレスポンスを取得したりするのに使用されます。
WebLogic Serverには、JAX-RPCバージョン1.1仕様の必要な機能がすべて実装されています。また、JAX-RPCを使用したWebLogic Webサービス・スタード・ガイドのデータ・バインディングの概要に関する項で説明されているとおり、WebLogic Server実装のオプションのデータ型もサポートされています。WebLogic Serverには、この章で説明されていないJAX-RPC仕様のオプション機能は実装されていません。
ネームスペース : http://java.sun.com/xml/ns/jaxws
Java API for XML-based Web Services (JAX-WS)仕様(http://jcp.org/aboutJava/communityprocess/mrel/jsr224/index2.html
)は、Java Webサービスのコーディング、構築、デプロイメントに使用する標準ベースのAPIです。「統合されたスタック」には、JAX-WS 2.1、Java Architecture for XML Binding (JAXB) 2.1、およびSOAP with Attachments API for Java (SAAJ) 1.3が含まれます。JAX-WSは、WebサービスおよびWebアプリケーション内でJAX-RPCに取ってかわるものとして設計されています。
ネームスペース : http://java.sun.com/xml/ns/jaxb
Java Architecture for XML Binding (JAXB)仕様(http://jcp.org/en/jsr/detail?id=222
)を使用すると、XMLスキーマをJavaコードの表現に簡単にバインドできます。これにより、XML自体に関する知識がそれほどなくても、XMLデータと処理関数を、Javaテクノロジに基づくアプリケーションに、簡単に組み込むことができます。
注意: JAXBをJAX-RPCと一緒に使用することはできません。 |
JSR 109: Implementing Enterprise Web Services仕様(http://www.jcp.org/en/jsr/detail?id=109
)では、WebLogic ServerなどのJava EEアプリケーション・サーバー上で実行されるWebサービスをJavaで実装するためのプログラミング・モデルとランタイム・アーキテクチャを定義しています。特に、プログラマが次の2つのコンポーネントのいずれかを使用してJava EE Webサービスを実装することを規定しています。
Webコンテナ内で動作するJavaクラス
EJBコンテナ内で動作するステートレス・セッションEJB
また、標準Java EE Webサービスのパッケージ化形式、デプロイメント・モデル、実行時サービスについても記述されており、そのすべてをWebLogic Webサービスで実装しています。
ネームスペース :
urn:oasis:names:tc:SAML:2.0:assertion
urn:oasis:names:tc:SAML:2.0:protocol
Security Assertion Markup Language (SAML)仕様は、セキュリティ・ドメイン間で認証および認可データを交換するためのXML標準を提供します。詳細は、次を参照してください。
ネームスペース: urn:oasis:names:tc:SAML:1.0:assertion
Web Services Security: SAML Token Profile 1.1仕様は、SOAPメッセージの認証および暗号化を実装するSOAP拡張機能セットを定義します。詳細は、次を参照してください。
ネームスペース : http://schemas.xmlsoap.org/wsdl/soap
Simple Object Access Protocol (SOAP) (http://www.w3.org/TR/SOAP
)は、分散型環境で情報を交換するために使用する軽量XMLベースのプロトコルです。WebLogic Serverには、SOAP仕様のバージョン1.1と1.2の独自の実装が含まれています。プロトコルの構成は以下のとおりです。
SOAPメッセージを記述するエンベロープ。メッセージの本文を含むエンベロープは、処理するユーザーを識別し、処理方法を記述します。
アプリケーション固有のデータ型のインスタンスを表現するためのエンコーディング・ルール・セット。
リモート・プロシージャ呼出しおよびレスポンスを表す規則。
この情報は、HTTPやHTTPSなどのWebプロトコルで転送可能なMultipurpose Internet Mail Extensions (MIME)エンコード・パッケージ内に埋め込まれています。MIMEは、非ASCIIメッセージをインターネット上で送信できるようにフォーマットするための仕様です。
次の例は、HTTPリクエスト内に埋め込まれている株取引情報用のSOAP 1.1リクエストを示しています。
POST /StockQuote HTTP/1.1 Host: www.sample.com:7001 Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI" <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:GetLastStockQuote xmlns:m="Some-URI"> <symbol>ORCL</symbol> </m:GetLastStockQuote> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
WebLogic Webサービスは、デフォルトではSOAPのバージョン1.1を使用します。バージョン1.2を使用する場合は、そのWebサービスを実装するJWSファイルでバインディング・タイプを指定する必要があります。
SOAP with Attachments API for Java (SAAJ)仕様(https://saaj.dev.java.net
)には、SOAP 1.1仕様とSOAP with Attachmentsノートに準拠するメッセージの作成と消費について記述されています。
APIのjavax.xml.soap
というパッケージでは、MIME添付ファイルを持つSOAPメッセージの主要な抽象概念を提供しています。添付ファイルには、XMLドキュメント全体、XMLフラグメント、画像、テキスト・ドキュメント、または有効なMIMEタイプを持つその他のコンテンツを使用できます。また、このパッケージでは、Webサービスとのリクエストおよびレスポンス型の対話に関する単純なクライアント側のビューも提供しています。
ネームスペース : http://www.w3.org/2005/08/addressing
注意: 現在のリリースでは、Web Services Addressing (August 2004 Member Submission) (http://www.w3.org/Submission/2004/SUBM-ws-addressing-20040810 )もサポートされます。 |
Web Services Addressing (WS-Addressing)仕様(http://www.w3.org/TR/ws-addr-core
)は、Webサービスおよびメッセージのアドレッシングを行うための、トランスポートに依存しないメカニズムを提供します。特に、この仕様では、Webサービスのエンド・ポイントを識別したり、メッセージ内のエンド・ポイントIDをエンド・ツー・エンドで保護したりするのに使用される多数のXML要素が定義されています。
Web Services Atomic Transaction (WS-AtomicTransaction)仕様(http://docs.oasis-open.org/ws-tx/wstx-wsat-1.2-spec-cs-01/wstx-wsat-1.2-spec-cs-01.html
)は、Web Services Coordination仕様に記述される拡張可能な調整フレームワークで使用される原子性トランザクションの調整タイプを定義します。WS-AtomicTransaction仕様とWS-Coordination仕様は、参加者間で分散アクティビティを調整する拡張可能なフレームワークを定義します。
Web Services Coordination (WS-Coordination)仕様(http://docs.oasis-open.org/ws-tx/wstx-wscoor-1.2-spec-cs-01/wstx-wscoor-1.2-spec-cs-01.html
)は、分散アプリケーションのアクションを調整するプロトコルを提供する拡張可能な調整フレームワークを定義します。WS-AtomicTransaction仕様とWS-Coordination仕様は、参加者間で分散アクティビティを調整する拡張可能なフレームワークを定義します。
ネームスペース : http://schemas.xmlsoap.org/wsdl
Web Services Description Language (WSDL)(http://www.w3.org/TR/wsdl
)は、Webサービスを記述するためのXMLベースの仕様です。WSDLドキュメントには、Webサービス・オペレーション、入力および出力パラメータ、およびクライアント・アプリケーションからWebサービスへの接続方法を記述します。
WebLogic Webサービスの開発者は、WSDLファイルを作成する必要はありません。これらのファイルはWebLogic Webサービス開発プロセスの一部として自動的に生成されます。
次の例は参照用でGetLastStockQuoteメソッドを含む株取引WebサービスStockQuoteServiceを記述するWSDLファイルを示しています。
<?xml version="1.0"?> <definitions name="StockQuote" targetNamespace="http://sample.com/stockquote.wsdl" xmlns:tns="http://sample.com/stockquote.wsdl" xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" xmlns:xsd1="http://sample.com/stockquote.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <message name="GetStockPriceInput"> <part name="symbol" element="xsd:string"/> </message> <message name="GetStockPriceOutput"> <part name="result" type="xsd:float"/> </message> <portType name="StockQuotePortType"> <operation name="GetLastStockQuote"> <input message="tns:GetStockPriceInput"/> <output message="tns:GetStockPriceOutput"/> </operation> </portType> <binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetLastStockQuote"> <soap:operation soapAction="http://sample.com/GetLastStockQuote"/> <input> <soap:body use="encoded" namespace="http://sample.com/stockquote" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </input> <output> <soap:body use="encoded" namespace="http://sample.com/stockquote" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </output> </operation>> </binding> <service name="StockQuoteService"> <documentation>My first service</documentation> <port name="StockQuotePort" binding="tns:StockQuoteSoapBinding"> <soap:address location="http://sample.com/stockquote"/> </port> </service> </definitions>
WSDL仕様には、Webサービスを呼び出すときに使用できる様々なタイプのバインディングを指定するための、オプションの拡張要素があります。WebLogic Webサービス・ランタイムでは、次のとおりです。
SOAPバインディングを完全にサポートしています。つまり、WSDLファイルにSOAPバインディングが含まれている場合、WebLogic Webサービスは、Webサービスの呼出しに使用するメッセージの形式およびプロトコルとしてSOAPを使用します。
HTTP GETおよびPOSTバインディングを無視します。つまり、WSDLファイルにこの拡張機能が含まれている場合、WebLogic Webサービス・ランタイムはWSDLの解析時にその要素をスキップします。
MIMEバインディングを部分的にサポートします。つまり、WSDLファイルにこの拡張機能が含まれている場合、WebLogic Webサービス・ランタイムはその要素を解析しますが、Webサービス呼出しのためにメッセージを作成するときに、実際にはMIMEバインディングを作成しません。
ネームスペース: http://docs.oasis-open.org/ws-rx/wsmc/200702
http://docs.oasis-open.org/ws-rx/wsmc/200702
で説明されているWeb Services MakeConnectionの仕様によって、送信側のエンドポイントが受信側のエンドポイントへの新規接続を初期化できないときに、2点間のエンドポイントのメッセージを転送するメカニズムが提供されます。たとえば、ファイアウォールの裏から非同期Webサービスを起動するためのものです。
http://java.sun.com/javase/6/docs/technotes/guides/language/annotations.html
に記載のメタデータ・アノテーション機能とプログラミング・モデルを利用することをお薦めします。このプログラミング・モデルでは、アノテーション付きのJavaファイルを作成し、Antタスクを使用してそのファイルをEJBまたは標準のJavaクラスのJavaソース・コードに変換し、関連するアーティファクトをすべて自動的に生成します。
アノテーション付きのJava Webサービス(JWS)ファイル(簡単にJWS fileファイルと呼びます)は、Webサービスの中核部分です。このファイルにはWebサービスの動作を決定するJavaコードが含まれています。JWSファイルは、JDK 5.0メタデータ・アノテーションを使用してWebサービスの形式や特性を指定した、通常のJavaクラス・ファイルです。JWSファイルで使用できるJWSアノテーションには、http://www.jcp.org/en/jsr/detail?id=181
に記載のWeb Services Metadata for the Java Platform仕様(JSR-181)で定義された標準のアノテーションと、その他の標準またはWebLogic固有のアノテーションがあり、作成するWebサービスのタイプに応じて使い分けます。
注意: JWSアノテーション・ファイルを使用する以外の方法としては、標準のJavaクラスまたはEJBをゼロからコーディングし、それに関連するアーティファクト(デプロイメント記述子ファイル、WSDL、ユーザー定義のデータ型のデータ・バインディング・アーティファクトなど)を手動で生成することで、WebLogic Webサービスを自分でプログラミングする方法があります。ただし、この方法は、難しく時間がかかるためお薦めできません。 |
ネームスペース :
WS-Policy Attachment 1.5 : http://www.w3.org/ns/ws-policy
WS-PolicyAttachment 1.2 : http://schemas.xmlsoap.org/ws/2004/09/policy
Web Services Policy Attachment (WS-Policy Attachment)仕様では、ポリシーの抽象モデルとXMLベースの式の文法を定義しています。この仕様では、ポリシーとポリシーの適用先のサブジェクトを関連付けるための、2つの汎用メカニズムが定義されています。また、それらの汎用メカニズムを使用して、WS-PolicyをWSDLやUDDIの記述に関連付ける方法も定義しています。
詳細については、以下を参照してください。
Web Services Policy 1.5 - Attachment(推奨): http://www.w3.org/TR/ws-policy-attach/
Web Services Policy 1.2 - Attachment (WS-PolicyAttachment)(メンバーの発行): http://www.w3.org/Submission/WS-PolicyAttachment
ネームスペース :
WS-Policy Framework 1.5 : http://www.w3.org/ns/ws-policy
WS-Policy 1.2 : http://schemas.xmlsoap.org/ws/2004/09/policy
WS-Policy Framework (WS-Policy)仕様では、Webサービスのポリシーを記述して通信するための、汎用的なモデルと対応する構文が提供されています。WS-Policyは、幅広いサービスの要件、プリファレンス事項、機能を記述するために、他のWebサービス仕様が使用したり拡張したりできる、構成の基本セットを定義しています。
詳細については、以下を参照してください。
Web Services Policy 1.5 - Framework(推奨): http://www.w3.org/TR/ws-policy
Web Services Policy 1.2 - Framework (WS-Policy)(メンバーの発行): http://www.w3.org/Submission/WS-Policy
ネームスペース : http://docs.oasis-open.org/ws-rx/wsrm/200702
Web Services Reliable Messaging (WS-ReliableMessaging)仕様(http://docs.oasis-open.org/ws-rx/wsrm/200702
)では、ソフトウェア・コンポーネント、システム、またはネットワークに障害が発生した場合に、別々のWebLogic Serverインスタンス上で動作する2つのWebサービスが確実に通信するための方法が規定されています。特に、ソース・エンド・ポイントから宛先エンド・ポイントに送信されるメッセージの配信またはエラーの生成を保証する、相互運用性プロトコルを提供しています。
注意: WebLogic Server WS-ReliableMessagingは、旧バージョンの仕様との下位互換性をサポートします。たとえば、WS-ReliableMessaging 1.2 Webサービスは、WS-ReliableMessaging 1.2または1.1の仕様に準拠するクライアントによってアクセスされます。ただし、WS-ReliableMessaging 1.2/1.1クライアントは、WS-ReliableMessaging 1.0サーバーと通信できません。WS-ReliableMessaging 1.2 (クライアントまたはサービス)は、JAX-WSでのみサポートされることに注意します。 |
ネームスペース : http://docs.oasis-open.org/ws-rx/wsrmp/200702
Web Services Reliable Messaging Policy Assertion (WS-RM Policy)バージョン1.2仕様では、WS-PolicyおよびWS-ReliableMessagingで使用する信頼性のあるメッセージングのためのドメイン固有のポリシー・アサーションが定義されています。この仕様では、RM送り先およびRMソースは、所定のシーケンスに対するそれぞれの要件を記述できるようになります。
詳細については、以下を参照してください。
バージョン1.2 (JAX-WSのみ): http://docs.oasis-open.org/ws-rx/wsrmp/200702/wsrmp-1.2-spec-os.html
バージョン1.1 (JAX-WSとJAX-RPC): http://docs.oasis-open.org/ws-rx/wsrmp/200702/wsrmp-1.1-spec-os-01.html
ネームスペース : http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512
Web Services Secure Conversation Language (WS-SecureConversation)仕様では、Web Services Security (WS-Security) 1.1、1.0およびWeb Services Trust Language (WS-Trust)に基づく拡張が定義されています。これらの拡張により、1つ以上のメッセージにまたがる通信を保護できます。この仕様では、セキュリティ・コンテキストを確立および共有し、そのセキュリティ・コンテキスト(または共有秘密)からキーを派生させるためのメカニズムが定義されています。
詳細については、以下を参照してください。
ネームスペース : http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecuritysecext-1.0.xsd
、http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurityutility-1.0.xsd
、http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd
Webサービス・セキュリティについての以下の説明は、2006年2月の「Web Services Security: SOAP Message Security」と題されたOASIS標準1.1仕様から直接引用したものです。
この仕様は、整合性と機密性を確保するセキュアなWebサービスを構築する際に使用できるSOAP (SOAP11、SOAP12)の拡張の標準セットを提案するものです。この拡張セットのことを「Web Services Security: SOAP Message Security」または「WSS: SOAP Message Security」と呼びます。
この仕様には柔軟性があり、様々なセキュリティ・モデル(PKI、Kerberos、SSLなど)でセキュアなWebサービスを実現するための土台となるように設計されています。たとえばこの仕様では、複数のセキュリティ・トークン・フォーマット、複数の信頼ドメイン、複数のシグネチャ・フォーマット、および複数の暗号化技術がサポートされています。トークン・フォーマットおよびそれらを使用するためのセマンティクスは、関連付けられたプロファイル・ドキュメントに定義されています。
この仕様は、主にセキュリティ・トークンの伝播、メッセージの整合性、およびメッセージの機密性の3つのメカニズムを提供します。これらのメカニズムは、それだけではWebサービス用の完全なセキュリティ・ソリューションとはなりません。この仕様は、他のWebサービス拡張機能やより高いレベルのアプリケーション固有プロトコルと一緒に使用して、様々なセキュリティ・モデルおよびセキュリティ技術を実現することができるビルディング・ブロックです。
前述のメカニズムは、独立して使用することも(たとえばセキュリティ・トークンを渡すため)、密接に統合して使用することもできます(たとえば、メッセージ全体やその一部に対して署名や暗号化を行い、署名や暗号化に使用するキーと関連付けられたセキュリティ・トークンまたはトークン・パスを提供するなど)。
WebLogic Webサービスでは次のトークン・プロファイルも実装しています。
Webサービス・セキュリティ: SOAPメッセージ・セキュリティ
Webサービス・セキュリティ:ユーザー名トークン・プロファイル
Webサービス・セキュリティ: X.509証明書トークン・プロファイル
Webサービス・セキュリティ: SAMLトークン・プロファイル1.0および1.1
詳細については、OASIS Web Service Security Webページ(http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss
)を参照してください。
ネームスペース : http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702
Web Services Security Policy (WS-SecurityPolicy)仕様(http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/ws-securitypolicy-1.2-spec-os.html
)では、WS-Policyフレームワークで使用するセキュリティ・ポリシー・アサーションのセットが定義され、WS-Security、WS-Trust、およびWS-SecureConversationのコンテキストにおいてメッセージをどのように保護するかについて記述されています。
WebLogic Webサービスのすべての非同期機能(コールバック、会話、Webサービスの信頼性のあるメッセージング)では、実装でアドレッシングを使用していますが、Webサービス・プログラマは、追加のアドレッシング機能が必要な場合に、この仕様に準拠するAPIを単独で使用することもできます。
ネームスペース : http://schemas.xmlsoap.org/ws/2005/02/trust
Web Services Trust Language (WS-Trust)仕様では、Web Services Security (WS-Security) 1.1および1.0に基づく拡張を定義します。これらの拡張により、セキュリティ・トークンをリクエストおよび発行するためのフレームワークを提供し、信頼関係を仲介します。
詳細については、以下を参照してください。
バージョン1.4 (JAX-WS): http://docs.oasis-open.org/ws-sx/ws-trust/200802
バージョン1.3 (JAX-RPC): http://docs.oasis-open.org/ws-sx/ws-trust/200512/ws-trust-1.3-os.html
注意: この機能は非推奨になっています。 |
ネームスペース: urn:uddi-org:api_v2
Universal Description, Discovery, and Integration (UDDI)仕様(http://uddi.xml.org
)では、Webサービスの記述、既知のレジストリへのWebサービスの登録、他の登録済Webサービスの検索などの標準的な方法が定義されています。
XML Schema Part 1: Structures (http://www.w3.org/TR/xmlschema-1
)
XML Schema Part 2: Data Types (http://www.w3.org/TR/xmlschema-2
)