このドキュメントでは、Oracle Fusion Middleware 11gにおけるWebサービスの概要を説明します。この章の内容は次のとおりです。
Webサービスは、様々なXMLベース言語を使用してリモートにアクセスできるプログラムです。このプログラムで何を実行するか(どのような機能を実装するか)は、Webサービス記述言語(WSDL)と呼ばれる標準XMLボキャブラリで記述します。たとえば、銀行業務Webサービスを作成し、口座をチェックしたり、取引明細書を印刷したり、入出金を処理したりできます。あらゆるコンシューマから呼び出すことのできるWSDLファイルにこれらの機能を記述して、銀行業務Webサービスへのアクセスを提供します。コンシューマ側では、どのWSDLファイルを呼び出すと何をできるかだけがわかっていればよく、Webサービスに関するそれ以上の情報は必要ありません。
Webサービス・コンシューマ(たとえば、デスクトップ・アプリケーション、Javaプラットフォーム、ポートレットなどのEnterprise Editionクライアント)からWebサービスを呼び出すには、Webサービス・プロバイダに対してXMLドキュメント形式のリクエストを送信します。次の例に示すように、Webサービス・プロバイダは、リクエストを処理し、その結果をXMLドキュメント形式でWebサービス・コンシューマに返します。
この例では、Webサービス・コンシューマはリクエストをSimple Object Access Protocol (SOAP)メッセージ(SOAPは、分散環境において異種アプリケーション間で構造化された情報の交換を可能にするよう設計された、XMLメッセージング・フレームワーク)の形式で送信しています。Webサービス・プロバイダ(www.example.com)はリクエストを処理し、レスポンスを返します。この場合は、オラクル社の株価です。前述の例では、Webサービス・プロバイダはサービスにアクセスするため、ユーザー名とパスワードなどの資格証明を要求することがあります。また、Webサービス・プロバイダはレスポンス(株の価格)を暗号化することもあります。
Representational State Transfer (REST) WebサービスやRESTフルWebサービスも開発できます。RESTは、SOAPのように追加のメッセージ層を使用することなく、HTTPなどの標準化されたインタフェースでデータを転送するためのシンプルなインタフェースを記述したものです。RESTは、リソース(特定の情報のソース)と見なされて一意のURIによって特定できるステートレス・サービスを作成するための設計ルールを提供します。クライアントは、メソッドの標準化された固定セットであるURIを使用してリソースにアクセスし、リソースの表現が返されます。クライアントは、新しいリソース表現ごとに状態を転送するよう指示されます。
要約すると、Webサービスとは緩やかに結合された分散型の環境であり、企業が社内の異種アプリケーションを統合したり、インターネット上で顧客や取引先にビジネス機能を公開したりすることを可能にするものです。
Webサービスは、次の3つの要素で特徴付けられます。
何をするか(公開するビジネス機能)
どこにあるか(その機能を公開するWebサイト)
どのようにアクセスするか(公開された機能を使用するには、一連の公開されたインタフェースが必要です)
Webサービスは、次のXMLベースの業界標準に依存しています。
eXtensible Markup Language (XML)—Webサービス・コンシューマとWebサービス・プロバイダ間で、共通の通信を可能にするデータ・フォーマットです。
XMLスキーマ—ビジネス・トランザクションで使用されている、XMLボキャブラリを記述するフレームワークです。
SOAP—Webサービスの実装において、構造化された情報を交換するためのプロトコル。
WSDL—Webサービスを記述するためのモデルを提供するXMLベースの言語。
WS-Policy—WS-Policyフレームワークは、ポリシーを使用したWebサービスの機能、要件および全体的な特徴を記述するための、柔軟かつ拡張可能な文法を提供します。
Universal Description, Discovery, and Integration (UDDI)—Webサービスをインターネット上で公開および検索するフレームワークです。
次の図では、Oracle Fusion Middleware Webサービスとクライアント間の一般的な対話と、各対話ポイントでサポートされるWebサービス・ポリシーを示します。
Oracle Web Services Manager (WSM) Policy Managerは、Oracle Fusion Middleware 11g Webサービスのセキュリティおよび管理ポリシーの要です。Oracle WSM Policy Managerがポリシー管理のためのポリシー・フレームワークを提供する方法の詳細は、『Webサービスのためのセキュリティおよび管理者ガイド』のOracle WSMポリシー・フレームワークの理解に関する項を参照してください。
次の項では、Oracle Fusion Middleware 11gのWebサービスのアーキテクチャについての詳細と、前述の図で示したWebサービスの各コンポーネントについての詳細を説明します。
すべてのWebサービスの開発、セキュリティおよび管理の各タスクの完全なロードマップの詳細は、「Oracle Fusion Middleware Webサービスの実装のためのロードマップ」を参照してください。
Oracle Fusion Middleware 11gには、2つのWebサービスのカテゴリがあります。
Oracle Infrastructure Webサービス—SOA、ADFおよびWebCenterサービス
WebLogic Webサービス(Java EE Webサービス)
次の図は、2つのWebサービス・カテゴリを示しています。
表1-1は、Oracle Fusion Middleware 11gでサポートされているWebサービスのタイプをまとめたものです。
注意: すべてのWebサービスおよびクライアントを、Oracle WebLogic Server上で動作するOracle Fusion Middleware環境にデプロイできます。Oracle WebLogicのWebサービスは、スタンドアロンのOracle WebLogic Serverにもデプロイできます。 |
表1-1 Oracle Fusion Middleware Webサービス
Webサービス | 説明 |
---|---|
WebLogic Webサービス(Java EE) |
WebLogic Webサービスは、 WebLogic Webサービスの開発の詳細は、次を参照してください。
WebLogic Webサービスは、スタンドアロン環境を含む、あらゆるOracle WebLogic Server環境にデプロイできます。 |
SOAサービス・コンポーネント |
SOAコンポジット・アプリケーションには、SOAサービス・コンポーネントが含まれます。SOAサービス・コンポーネントは、SOAコンポジット・アプリケーションの基本となるビルディング・ブロックであり、全体的なビジネス・ロジック機能の一部を実装します。 次のSOAサービス・コンポーネントは、Oracle WSMを使用して管理できます。
SOAサービス・コンポーネントの開発の詳細は、『Oracle SOA Suite開発者ガイド』を参照してください。 SOAサービス・コンポーネントをOracle Fusion Middleware環境にデプロイできます。 |
SOAサービス・バインディング・コンポーネント |
SOAサービス・バインディング・コンポーネントは、SOAコンポジット・アプリケーションへのエントリ・ポイントを備えた外部ワールドを提供します。サービスのWSDLファイルによって、そのサービスの機能が外部のアプリケーションに通知されます。これらの機能は、SOAコンポジット・アプリケーション・コンポーネントとの接続に使用されます。詳細は、『Oracle SOA Suite開発者ガイド』を参照してください。 |
ADFビジネス・コンポーネント |
ADFビジネス・コンポーネントは、再利用可能なコンポーネントのライブラリの提供およびOracle JDeveloperの設計時機能のサポートを介して、Java EEプラットフォームのビジネス・アプリケーションの開発、配信およびカスタマイズを簡素化するものです。 開発者は、ADF Business Componentsを使用して次の作業を行う場合、通常のJava EEアプリケーションに必要なアプリケーション・インフラストラクチャ・コードを記述する必要はありません。
また、Oracle JDeveloperの機能は、組み込まれたデータ操作とカスタム・メソッドをカプセル化するADF Business Componentのアプリケーション・モジュールをWebサービスとして公開するため、サービス対応のアプリケーション・モジュールはデプロイFusion Webアプリケーションの各モジュールで横断的に使用できます。 詳細は、『Oracle Application Development Framework Fusion開発者ガイド』のサービス対応のアプリケーション・モジュールの統合に関する項を参照してください。 |
WebCenterサービス |
WebCenterサービスは、ソーシャル・ネットワーキングや個人の生産性向上に役立つWeb 2.0テクノロジ(Wiki、RSS、ブログなど)を公開します。WebCenterが提供する一連の機能およびサービス(ポートレット、カスタマイズ、コンテンツ統合など)は、必要なものだけを選択してアプリケーションに追加できます。WebCenterサービスの統合の詳細は、Oracle WebCenter開発者ガイドを参照してください。 |
表1-2は、Oracle Fusion Middleware 11gでサポートされているWebサービス・クライアントのタイプをまとめたものです。
表1-2 Oracle Fusion Middleware Webサービス・クライアント
Webサービス・クライアント | 説明 |
---|---|
Webサービス・クライアント |
WebLogic Webサービスを起動するクライアント・アプリケーションは、Java、Microsoft .NETなど、あらゆるテクノロジを使用して記述できます。 クライアント・アプリケーションには以下の2種類があります。
WebLogic Webサービス・クライアントの開発の詳細は、次を参照してください。
|
SOA参照バインディング・コンポーネント |
SOA参照バインディング・コンポーネントは、SOAコンポジット・アプリケーションを外部パートナに接続します。SOA参照バインディング・コンポーネントの開発の詳細は、『Oracle SOA Suite開発者ガイド』を参照してください。 |
ADF Webアプリケーション |
ADF Webアプリケーションは、WebLogic Webサービス、SOAコンポジット・アプリケーション、サービス対応のADFアプリケーション・モジュールなどのサービスを起動できます。詳細は、『Oracle SOA Suite開発者ガイド』を参照してください。 また、ADF Webアプリケーションは、Webサービス・データ・コントロールを使用してユーザー・インタフェースによるWebサービスとの連携が可能です。サービス対応のアプリケーション・モジュールの生成、ADFアプリケーション・モジュールからのWebサービスの呼出し、Webサービスのデータ・コントロールの作成の詳細は、『Oracle Application Development Framework Fusion開発者ガイド』を参照してください。 |
WebCenterポートレット |
WebCenterポートレットを使用すると、WebCenterサービスを表示できます。WebCenterポートレットの開発の詳細は、Oracle WebCenter開発者ガイドを参照してください。 |
図1-2に示すように、Webサービスに添付できるポリシーには、2種類あります。
表1-3 Webサービス・ポリシーのタイプ
ポリシーのタイプ | 説明 |
---|---|
Oracle Web Services Manager(WSM)ポリシー |
Oracle WSMによって提供されるポリシー。Oracle WSMおよび事前定義済ポシリーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。 Oracle Infrastructure WebサービスにOracle WSMポリシーを添付できます。WebLogic JAX-WS WebサービスにはOracle WSM securityポリシーのみを添付できます。 Oracle WSMポリシーは、Oracle Enterprise Manager Fusion Middleware Controlから管理します。 |
WebLogic Webサービス・ポリシー |
WebLogic Serverによって提供されるポリシー。WebLogic Webサービス・ポリシーの詳細は、Oracle WebLogic ServerのWebサービスの保護に関するガイドを参照してください。 WebLogic Webサービス・ポリシーの一部をOracle WSMポリシーと相互運用できます。詳細は、『Oracle Web Services Manager相互運用ガイド』の「Oracle WebLogic Server 11gのWebサービス・セキュリティ環境との相互運用性」に関する項を参照してください。 WebLogic Webサービス・ポリシーは、WebLogic管理コンソールから管理します。 |
注意: 可能な場合は、WebLogic Webサービスについては常にOracle WSMポリシーを使用することをお薦めします。同じWebサービスで、Oracle WSMポリシーとWebLogic Webサービス・ポリシーを混在させて使用することはできません。 |
Webサービスを開発するには、次の表に示すツールか、好みのIDEを使用できます。
表1-4 Webサービス開発のためのツール
ツール | 説明 |
---|---|
Oracle JDeveloper |
既存のWebサービスの検出と使用および、新規Webサービスの開発とデプロイに役立つ強力なツールを提供します。詳細は、Oracle JDeveloperのオンライン・ヘルプを参照してください。 |
Ant |
XMLベースの構成ファイル(デフォルトではbuild.xmlという名前)を使用して、Javaで作成されたタスクを実行します。AntはJavaベースのビルド・ツールで、makeコマンドに似ていますが、はるかに強力です。詳細は、Oracle WebLogic Server WebLogic Webサービス・リファレンスのAntタスク・リファレンスに関する項を参照してください。 |
WebLogic Server Scripting Tool (WLST) |
管理者がWebサービスを表示、構成し、コマンドラインからWebサービス・ポリシーを管理できるようにします。詳細は、『WebLogic Scripting Toolコマンド・リファレンス』を参照してください。 |
Oracle Enterprise Pack for Eclipse(OEPE) |
Eclipse IDEプラットフォームのプラグインのコレクションを提供し、WebLogic Webサービスの開発を容易にします。詳細については、Eclipse IDEプラットフォームのオンライン・ヘルプを参照してください。 |
Oracle Workshop |
Eclipse IDEプラットフォームのコレクション・プラグインを提供し、WebLogic Webサービスの開発を容易にします。詳細は、次を参照してください。
注意: Oracle Workshopは非推奨になり、前述のOEPEに置き換えられています。 |
Webサービスを保護および管理するため使用するツールは、Webサービスのタイプにより様々です。
表1-5 Webサービスのセキュリティ・ツールおよび管理ツール
保護および管理対象 | 使用するツール |
---|---|
Oracle Infrastructure Webサービス |
|
WebLogic Webサービス |
|
次の項では、Oracle Fusion Middleware Webサービスの開発、保護および管理に共通のタスクのロードマップを示します。図1-2に示した各Webサービスのカテゴリに対し、次のロードマップが提示されています。
次の各項では、Oracle Infrastructure Webサービスの開発、保護および管理に共通のタスクのロードマップを示します。
表1-6は、SOAコンポジット・サービスおよびクライアントの実装のためのロードマップのまとめです。
表1-6 SOAコンポジット・サービスおよびクライアントの実装のためのロードマップ
タスク | 詳細 |
---|---|
SOAコンポジットWebサービスおよびクライアントの開発 |
|
Webサービスのデプロイ |
|
Webサービスの管理 |
『Webサービスのためのセキュリティおよび管理者ガイド』の第2部「基本管理」および第3部「高度な管理」 |
ポリシーの作成 |
『Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・ポリシーの管理に関する項 |
カスタム・アサーションの作成 |
Oracle Web Services Manager拡張ガイドのカスタム・アサーションの作成に関する項 |
ポリシーの添付(開発時—Oracle JDeveloper) |
『Oracle SOA Suite開発者ガイド』のポリシーの管理に関する項 |
ポリシーの添付(開発時—Oracle Enterprise Manager Fusion Middleware Control) |
|
ポリシーの構成 |
|
Webサービスのテスト |
『Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスのテストに関する項 |
Webサービスのパフォーマンスをモニターする |
『Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスのパフォーマンスのモニターに関する項 |
環境間のアプリケーション移行の管理 |
『Webサービスのためのセキュリティおよび管理者ガイド』の環境間でのアプリケーション移行の管理に関する項 |
問題の診断 |
『Webサービスのためのセキュリティおよび管理者ガイド』の問題の診断に関する項 |
次との相互運用:
|
Oracle Web Services Manager相互運用ガイド |
表1-7は、ADFコンポーネントおよびクライアントの実装方法をまとめたものです。
表1-7 ADFコンポーネントおよびクライアントの実装のためのロードマップ
タスク | 詳細 |
---|---|
ADFコンポーネントおよびクライアントの開発 |
|
Webサービスのデプロイ |
|
Webサービスの管理 |
『Webサービスのためのセキュリティおよび管理者ガイド』の第2部「基本管理」および第3部「高度な管理」 |
ポリシーの作成 |
『Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・ポリシーの管理に関する項 |
カスタム・アサーションの作成 |
Oracle Web Services Manager拡張ガイドのカスタム・アサーションの作成に関する項 |
ポリシーの添付(開発時—Oracle JDeveloper) |
『Oracle Application Development Framework Fusion開発者ガイド』のWebサービス・データ・コントロールの保護に関する項。 |
ポリシーの添付(開発時—Oracle Enterprise Manager Fusion Middleware Control) |
『Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項 |
ポリシーの構成 |
|
Webサービスのテスト |
『Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスのテストに関する項 |
Webサービスのパフォーマンスをモニターする |
『Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスのパフォーマンスのモニターに関する項 |
環境間のアプリケーション移行の管理 |
『Webサービスのためのセキュリティおよび管理者ガイド』の環境間でのアプリケーション移行の管理に関する項 |
問題の診断 |
『Webサービスのためのセキュリティおよび管理者ガイド』の問題の診断に関する項 |
次との相互運用:
|
Oracle Web Services Manager相互運用ガイド |
表1-8は、WebCenterサービスおよびクライアントの実装のためのロードマップのまとめです。
表1-8は、WebCenterサービスおよびクライアントの実装のためのロードマップ
タスク | 詳細 |
---|---|
WebCenterサービスおよびクライアントの開発 |
|
WebCenterサービスのデプロイ |
|
WebCenterサービスの管理 |
『Oracle Fusion Middleware Oracle WebCenter管理者ガイド』 |
ポリシーの作成 |
『Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・ポリシーの管理に関する項 |
カスタム・アサーションの作成 |
Oracle Web Services Manager拡張ガイドのカスタム・アサーションの作成に関する項 |
ポリシーの添付(開発時—Oracle Enterprise Manager Fusion Middleware Control) |
|
ポリシーの構成 |
|
WebCenterサービスのテスト |
Oracle WebCenter開発者ガイドのWebCenterアプリケーションのテストおよびデプロイに関する項 |
WebCenterサービスのパフォーマンスのモニター |
『Oracle Fusion Middleware Oracle WebCenter管理者ガイド』 |
環境間のアプリケーション移行の管理 |
『Webサービスのためのセキュリティおよび管理者ガイド』の環境間でのアプリケーション移行の管理に関する項 |
問題の診断 |
『Webサービスのためのセキュリティおよび管理者ガイド』の問題の診断に関する項 |
次との相互運用:
|
Oracle Web Services Manager相互運用ガイド |
次の表は、WebLogic (Java EE) Webサービスの開発、保護および管理に共通のタスクのロードマップを示しています。
表1-9 WebLogic (Java EE) Webサービスの実装のためのロードマップ
タスク | 詳細 |
---|---|
WebLogic Webサービスおよびクライアントの開発 |
|
Webサービスのデプロイ |
|
Webサービスの管理 |
WebLogic Server管理コンソール・オンライン・ヘルプのWebサービスに関する項 |
Oracle WSMポリシーの作成 |
『Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・ポリシーの管理に関する項 |
WebLogic Webサービス・ポリシーの作成 |
|
Oracle WSMポリシーの構成 |
|
WebLogic Webサービス・ポリシーの構成 |
|
カスタムOracle WSMポリシー・ファイルの作成 |
Oracle Web Services Manager拡張ガイドのカスタム・アサーションの作成に関する項 |
カスタムWebLogic Webサービス・ポリシー・ファイルを作成する |
『Oracle WebLogic Server WebLogic Webサービスの保護』の「カスタム・ポリシー・ファイルの作成と使用」 |
Oracle WSMポリシーの添付(開発時—Oracle JDeveloper) |
|
WebLogic Webサービス・ポリシーの添付(開発時—Oracle JDeveloper) |
|
Oracle WSMポリシーの添付(開発時) |
『Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項 |
WebLogic Webサービス・ポリシーの添付(デプロイメント時) |
WebLogic Server管理コンソール・オンライン・ヘルプのWS-PolicyファイルとWebサービスの関連付けに関する項 |
Webサービスのテスト |
|
Webサービスのパフォーマンスをモニターする |
|
WebLogicとOracle WSMのWebサービス・ポリシーを相互運用する |
Oracle Web Services Manager相互運用ガイド |
次の表は、Webサービスの開発、セキュリティおよび管理に関連するドキュメントをまとめたものです。
表1-10 関連ドキュメント
ドキュメント | 説明 |
---|---|
『Webサービスの紹介』 |
このドキュメント。Oracle Fusion Middleware 11gのWebサービスの概要を示します。 |
Web Servicesのセキュリティおよび管理者ガイド |
Oracle Infrastructure Webサービスの保護および管理の方法について説明します。 |
『Oracle Web Services Manager Extensibility Guide』 |
Oracle Web Services Manager(Oracle WSM)のカスタム・アサーションのビルド方法が説明されています。 |
Oracle Web Services Manager相互運用ガイド |
Oracle WSMの最も一般的な相互運用性シナリオの実装方法が説明されています。 |
Oracle Infrastructure Webサービス開発者ガイド |
Oracle Infrastructure Webサービスに関連する概念について説明します。 |
Oracle WebLogic Server WebLogic Webサービスの紹介 |
WebLogic Webサービスの概要、サポートされる標準、相互運用性、関連するサンプルおよびドキュメントについて説明します。 |
Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド |
JAX-WSを使用して単純なWebLogic Webサービスをプログラミングする上で必要となる基本的な知識とタスクについて説明します。このガイドには、使用例およびサンプル、反復的な開発手順、一般的なJWSプログラミング手順、データ型情報、およびWebサービスの呼出し方が含まれています。 |
Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング |
コールバック、XMLカタログ、SOAPメッセージ・ハンドラなどの高度な機能を、JAX-WSを使用してプログラミングする方法について説明します。 |
Oracle WebLogic Server JAX-RPC Webサービス・スタート・ガイド |
JAX-RPCを使用した簡単なWebLogic Webサービスのプログラミングに必要な基本的な知識およびタスクについて説明します。このガイドには、使用例およびサンプル、反復的な開発手順、一般的なJWSプログラミング手順、データ型情報、およびWebサービスの呼出し方が含まれています。 |
Oracle WebLogic Server JAX-RPC Webサービスの高度な機能のプログラミング |
Webサービスの信頼性のあるメッセージング、コールバック、会話形式のWebサービス、JMSトランスポートを使用したWebサービスの呼出し、SOAPメッセージ・ハンドラなどの高度な機能を、JAX-RPCを使用してプログラミングする方法について説明します。 |
Oracle WebLogic Server WebLogic Webサービスの保護 |
Webサービスの、メッセージレベル(デジタル署名および暗号化)、トランスポート・レベルおよびアクセス制御の各セキュリティのプログラムおよび構成方法について説明します。 |
Oracle WebLogic Server WebLogic Webサービス・リファレンス |
JWS注釈、Antタスク、WS-Policyの信頼できるメッセージ機能のアサーション、WS-Policyのセキュリティ・アサーションおよびデプロイメント・ディスクリプタの参照情報を示します。 |
Oracle SOA Suite開発者ガイド |
SOAコンポジットサービスの開発方法について説明します。 |
Oracle Application Development Framework Fusion開発者ガイド |
ADFコンポーネントの開発方法について説明します。 |
Oracle WebCenter開発者ガイド |
WebCenterサービスの開発方法について説明します。 |
Oracle JDeveloperのオンライン・ヘルプにあるWebサービスでの開発に関する項 |
Oracle JDeveloperを使用したWebサービスの開発およびポリシーのアタッチの方法について説明します。 |
ソース・コードの記述と管理、および最先端のビジュアル・ツールやJavaフレームワークを使用した設計のためにWorkshopを活用する方法について説明します。 注意: Oracle Workshopは非推奨になり、前述のOEPEに置き換えられています。 |