この章では、WebLogic Server Webサービスについて紹介します。
この章の内容は以下のとおりです。
Webサービスは、企業のイントラネットまたはインターネット上で記述したり、パブリッシュしたり、呼び出したりすることができる自己完結型のアプリケーションです。Webサービスは、Extensible Markup Language (XML)やHTTPなどの標準のWebプロトコルを使用してアクセスされるので、Web上の(通常はXMLとHTTPをすでに理解している)多様な異種アプリケーションは、自動的にWebサービスにアクセスし、お互いと通信できます。
Webサービスの主な利点は、次のとおりです。
多様なハードウェアおよびソフトウェア・プラットフォームにわたる分散型アプリケーション間の相互運用性
Webプロトコルを使用したファイアウォールによる、アプリケーションへの容易で幅広いアクセス
異種分散型アプリケーションの開発を容易にするクロス・プラットフォーム、クロス言語データ・モデル(XML)
Webサービスは、以下の3つの要素で特徴付けられます。
その機能(エクスポーズするビジネス機能)
アクセスする方法(エクスポーズされた機能を利用するために必要なパブリッシュ済インタフェースのセット)
存在する場所(その機能をエクスポーズするWebサイト)
Webサービスにできること(つまり、サービスに実装されている機能)は、WSDL (Webサービス記述言語)という標準XMLボキャブラリで記述されています。たとえば、銀行業務Webサービスを作成し、口座をチェックしたり、取引明細書を印刷したり、入出金を処理したりできます。あらゆるコンシューマから呼び出すことのできるWSDLファイルにこれらの機能を記述して、銀行業務Webサービスへのアクセスを提供します。コンシューマ側では、どのWSDLファイルを呼び出すと何をできるかだけがわかっていればよく、Webサービスに関するそれ以上の情報は必要ありません。
Webサービス・クライアント(たとえば、デスクトップ・アプリケーション、Java Platform, Enterprise Editionポートレットなど)は、Webサービスに対してXMLドキュメント形式のリクエストを送信してWebサービスを呼び出します。Webサービスは、リクエストを処理し、その結果をXMLドキュメント形式でWebサービス・クライアントに返します。
Webサービス・クライアントは、SOAP (Simple Object Access Protocol)形式でメッセージを送信できます。SOAPはXML形式のメッセージング・フレームワークであり、分散環境で異種アプリケーション間での構造化された情報の交換を可能にします。次に、Webサービスはリクエストを処理し、SOAPメッセージを通してレスポンスを返します。
Representational State Transfer (REST) WebサービスやRESTフルWebサービスも開発できます。RESTは、SOAPのように追加のメッセージ層を使用することなく、HTTPなどの標準化されたインタフェースでデータを転送するためのシンプルなインタフェースを記述したものです。RESTは、一意のURIで特定できるステートレス・サービスをリソース(特定の情報のソース)とみなし、これらを作成するための設計ルールを提供します。クライアントは、メソッドの標準化された固定セットであるURIを使用してリソースにアクセスし、リソースの表現が返されます。クライアントは、新しいリソース表現ごとに状態を転送するよう指示されます。
セキュアなメッセージ交換を行うため、Webサービスは、サービスにアクセスするためのユーザー名やパスワードのような資格証明や、レスポンスを暗号化するための資格証明を必要とする場合があります。
Webサービスは、次を含むXMLベースの企業標準のセットを必要とします。
Webサービス・コンシューマとWebサービス・プロバイダの間での統一的な通信を可能にするデータ形式であるXML。
ビジネス・トランザクションで使用するXMLボキャブラリを記述するフレームワークであるXMLスキーマ。
Webサービスの実装において、構造化された情報を交換するためのプロトコルであるSOAP。
Webサービスを記述するためのモデルを提供するXMLベースの言語であるWSDL。
ポリシーを使用したWebサービスの機能、要件、一般的な特徴を記述するための柔軟性の高い拡張可能な文法を提供するフレームワークであるWS-Policy。
表11-1 Webサービスのためのロードマップ
主要なタスク | サブタスクと追加情報 |
---|---|
WebLogic Webサービスについてもっとよく知る |
|
(WebLogic Webサービス開発者向け)サンプルの使用 |
|
JAX-WSを使用したWebサービスの開発 |
|
RESTful Webサービスの開発 |
|
JAX-RPCを使用したWebサービスの開発 |
|
WebLogic Webサービスのデプロイと管理 |
|
WebLogic Webサービスのセキュリティ |
|
WebLogic Webサービスとの相互運用性 |
|