Oracle Application Server Web Services開発者ガイド 10g(10.1.3.1.0) B31868-01 |
|
この章では、Oracle Application Server Web Servicesリリース10.1.3.1の概要について説明します。第3章「OracleAS Web Servicesアーキテクチャとライフ・サイクル」に、Oracle Application Server Web Servicesのアーキテクチャを示します。
Webサービスはメッセージ・プロトコルのセット、プログラミング標準、ネットワーク登録/検出機能で構成されています。これらの機能を組み合せて使用することで、Webに接続している任意のデバイスから、認可されたユーザーにインターネット経由でビジネス機能を公開できます。
Webサービスは、Universal Resource Identifier (URI)によって識別されるソフトウェア・アプリケーションで、そのインタフェースとバインディングは、XMLアーチファクトによって定義、記述および検出できます。Webサービスでは、XMLベースのメッセージやインターネット・ベースの製品を使用した他のソフトウェア・アプリケーションとの直接対話がサポートされています。
Webサービスでは次の処理が行われます。
Webサービスにより標準ベースのインフラストラクチャが提供され、ビジネスにおいて次のことが可能になります。
Oracleは、この最新リリースにおいて、Webサービスのインフラストラクチャを拡張し、バージョン1.4および1.5のJava 2 Enterprise Edition(J2EE)仕様のWebサービスが実装できるようになりました。この項では、このリリースのWebサービスが準拠する標準をリストします。
最新リリースのWebサービスは次のJava J2EE標準に準拠しています。
Simple Object Access Protocol(SOAP)は、分散環境で情報を交換するための、XMLベースの軽量プロトコルです。SOAPでは、リモート・プロシージャ・コール(RPC)やメッセージ指向など、様々なスタイルによる情報交換がサポートされます。RPCスタイルによる情報交換では、同期リクエスト/レスポンス処理が可能です。エンドポイントでは、プロシージャ指向のメッセージを受信して、相関するレスポンス・メッセージで応答します。メッセージ指向の情報交換では、ビジネスや他のスタイルのドキュメントの交換を必要とする組織とアプリケーションがサポートされます。この場合、メッセージは送信されますが、送信者は即時のレスポンスを予期または待機することができません(非同期)。メッセージ指向の情報交換は、ドキュメント・スタイルの交換とも呼ばれます。
SOAPの特性は、次のとおりです。
最新リリースのOracle Application Server Web ServicesはSOAP 1.2プロトコルをサポートし、SOAP 1.1と下位互換性を持っています。
RPC指向とメッセージ指向の情報を含むネットワーク・サービスを記述するためのXMLフォーマット。プログラマまたは自動化された開発ツールは、サービスを記述するWSDLファイルを作成し、その記述をインターネット経由で使用可能にできます。クライアント・サイドのプログラマと開発ツールは、公開されたWSDL記述を使用して、使用可能なWebサービスに関する情報を取得し、そのサービスにアクセスするクライアント・プロキシやプログラム・テンプレートを構築および作成できます。
Web Service-Interoperability(WS-I)は、プラットフォーム、アプリケーションおよびプログラミング言語間でのWebサービスの相互運用性の向上を推進する組織です。現行のリリースは、WS-I Basic Profile 1.1に準拠しています。
Web Services Inspection Language(WS-InspectionまたはWSIL)は、軽量のWebサービス・ディレクトリ・プロトコルであり、サービスの単一ドキュメント・カタログのための広範なスキーマを提供しています。ドキュメントでは、いくつかのメタデータ(拡張データを含む)とともにサービスがリストされており、他のディレクトリにリンクしています。
通常、WSILドキュメントは、特定のサーバーまたはクラスタにデプロイされているサービスをリストします。BPELプロセスなど、プロバイダとして公開されているものを含みます。WSILは、SOAコンポーネント間の緊密な統合を可能にし、それにより、BPELおよびOWSMのユーザーに、OC4Jにデプロイされるサービスを検索する簡単な手段を提供します。
WSILドキュメントは、Application Server ControlおよびBPELとOWSMのツールにより、Webアプリケーションとして表示および管理できます。このアプリケーションは、OracleのWebサービス・スタックに登録されたMBeanを利用して、サービスのリストを生成します。
Webアプリケーションは、通常、サーバー・ルートまたはservices
コンテキストに存在します。
http://
yourdomain.com
/inspection.wsil
、または
http://
yourdomain.com
/services/inspection.wsil
Webアプリケーションを再デプロイして別のコンテキスト・パスにマッピングすることで、Webアプリケーションを移動できます。
セキュリティを高めるため、Webアプリケーションを削除することでWSILを無効にすることができます。これにより、サーバーにデプロイされている他のサービスに関する情報が公開されなくなります。
前述の標準に加えて、最新リリースのOracleAS Web Servicesには次の新機能および拡張機能が含まれます。
Organization for the Advancement of Structured Information Standards(OASIS)によって公開および更新されているWS-Security標準。Webサービスの認証、メッセージの暗号化およびデジタル署名のためのプロファイルを提供します。現行のリリースでは次の機能を持つWS-Securityが実装されています。
管理フレームワークは、セキュリティ、信頼性、ロギングおよびWebベースのApplication Server Controlによる監査のための構成および監視機能を提供します。これらの機能は一連のJava Management Extensions(JMX)Management Bean(MBean)によって公開されます。
現行リリースは、J2SE 5.0 Webサービス注釈(Web Services Metadata for the Java Platform(JSR-181)仕様とも呼ばれます)をサポートしています。この仕様には、Webサービスのプログラミングに使用する注釈付きJava構文が定義されています。
現行のリリースは、Representational State Transfer(REST)サービスをサポートしています。このアーキテクチャは、Webアーキテクチャの理念を活用するものです。HTTPのセマンティクスを可能なかぎり使用します。
SOAP Webサービスとは異なり、RESTはスタイルであるため、標準やベンダーによるツールのサポートはありません。また、REST Webサービスはメッセージの送信にXML文書を使用し、SOAPエンベロープは使用しません。
REST Webサービスをアセンブルするには、WebServicesAssemblerツールを使用するか、またはJ2SE 5.0 Webサービス注釈をソース・ファイルに追加します。アセンブル後はWebサービス・テスト・ページを使用して、デプロイが正常に終了したかを確認し、機能をテストできます。
Webサービス・テスト・ページの機能が拡張され、Webサービスが正しくデプロイされたかどうかの確認以上のテストが可能になりました。テスト・ページでは、入力値を変えてWebサービスの操作を実行できます。サービスに送信するSOAPリクエストの表示および編集ができます。また、サービスが戻すレスポンスも表示されます。Webサービスでセキュリティおよび信頼性に関する機能を定義している場合は、テスト・ページのエディタを使用し、様々なセキュリティおよび信頼性の値を入力してサービスを実行できます。
また、テスト・ページでは、Webサービス・プロバイダおよびREST Webサービスも実行できます。REST Webサービスの場合、テスト・ページではJAX-RPC Webサービスの場合と同じ機能が提供されるだけでなく、REST POST操作およびREST GET操作も起動できます。
現行のリリースは、Webサービス開発用のAntタスクを提供しています。これは特に、Webサービスのクライアント/サーバーの開発のスクリプティングおよび自動化を可能にするものです。サンプルのAntタスクについては、このマニュアルの随所に記載されています。
関連項目
|
複雑なシステムのWebサービスでは、Webサービス・ランタイムでXMLに自動的にシリアライズされるネイティブのデータ型以外へのデータ型のマッピングが要求される場合があります。現行リリースでは、カスタムのデータ型をマッピングするためのカスタム型マッピング・フレームワークを提供しています。
現行リリースでは引き続き、PL/SQLのWebサービスとしての公開をサポートするのみでなく、Oracle Database 10gにおけるWebサービスへのコールアウト用のOracleAS Web ServicesのJavaランタイムとしての使用をサポートしています。
現行リリースでは、次のデータベース・アーチファクトをWebサービスとして宣言的に定義できるように、ランタイムおよびツール・サポートが拡張されています。
現行リリースでは、2つのJAX-RPC準拠メカニズムを使用したSOAPヘッダーの高度な操作が可能になっています。
現行リリースでは、バイナリ・ドキュメントおよび大きなXML文書の効率的な転送を支援するため、MIMEおよびDIME添付ファイルをサポートしています。
現在のリリースでは、クライアントとサーバーの間で、MTOM(SOAP Message Transmission Optimization Mechanism)書式を使用してバイナリ・コンテンツを送信できます。MTOMを使用すると、バイナリ・コンテンツをMIME添付ファイルとして送信でき、ワイヤ上の伝送サイズが小さくなります。バイナリは、セマンティック的にはXMLドキュメントの一部です。このことは、WS-Security署名などの操作をメッセージに対して適用できるので、SWA(SOAP Messages with Attachments)より優る点です。
現行リリースは、OASIS Web Services Reliability(WS-Reliability)を実現でき、最低1回のメッセージ配信、重複メッセージの排除(メッセージ配信は最大1回)、ただ1回のメッセージ配信(配信の保証と重複の排除)およびメッセージ・グループ内のメッセージの順序付けを保証しています。
現行のリリースでは、SOAPメッセージのトランスポートとして、HTTPのかわりにJMSキューを使用できます。JMSは、より高いレベルの信頼できるメッセージ配信機能をSOAPメッセージに対して提供します。
HTTPがトランスポートとして必要な場合を考慮して、現行リリースでは、JMSキューおよびトピックへのSOAPメッセージの追加、およびJMSキューおよびトピックからのSOAPメッセージの取得が引き続きサポートされており、この方法で処理されるメッセージを相関させる機能が追加されています。
関連資料
|
プロバイダAPIを使用すると、JAX-RPCのような特定のサービス・エンドポイント実装計画に関係のない、Webサービス・エンドポイント用のカスタム処理ロジックを定義できます。プロバイダ・モデルを使用すると、複数のエンドポイントに対して共通の機能を提供できます。プロバイダ・モデルを使用すると、同じ機能を複数のWebサービスに組み込むのでなく、ロジックをランタイムに直接追加できます。
Web Services Invocation Framework(WSIF)は、WSDLを使用してプログラム・アーチファクトを記述する汎用性のある拡張可能なメカニズムであり、また、これらのアーチファクトをネイティブのプロトコル経由で呼び出すフレームワークです。現行リリースでは、初期WSIFの実装がサポートされています。
現行リリースには、インバウンドおよびアウトバウンドのSOAPメッセージをロギング・ファイルおよび監査ファイルに記録する機能が用意されています。Xpath文を副問合せで使用し、メッセージ全体またはメッセージの一部をログに記録できます。
BPEL(Business Process Execution Language)は、Organization for the Advancement of Structured Information Standards(OASIS)が公開し、Oracleを含む主要ベンダーが支持している標準です。BPELはビジネス・プロセス記述のためのXML構文を、(他の)ビジネス・プロセス(通常はWebサービス)の呼出しの組合せによって記述します。したがって、BPELプロセスの定義は、OASISによって管理されているXSDに従って構成されたXML文書です。
BPELにおけるビジネス・プロセスは、呼出し(Webサービスへのコールアウト)、受信(外部サービスからのコールイン)、単純な条件付きロジックおよび並行フローまたは並行順序を持つデシジョン・ポイントで構成されます。さらに、このデシジョン・ポイントが起動やデシジョン・ポイントなどから構成されます。ビジネス・プロセスの一環として変数を定義できます。変数は、起動時にビジネス・プロセスに渡されるパラメータから値を割り当てられ、呼出し内でやりとりされ、呼出し結果の値を設定され、ビジネス・プロセスの最終結果として戻されます。ビジネス・プロセス自体もWebサービスとしてBPEL(ランタイム)エンジン内に実装されます。
OracleによるBPELの実装では、WSIFテクノロジを使用して、ビジネス・プロセスを直接呼び出します。BPELからの実際の呼出しを、WebサービスのオーバーヘッドであるSOAPメッセージのマーシャリングおよびアンマーシャリングを行わない、Javaクラスの直接コールにすることもできます。
Oracle Web Services Managerは、サービス指向アーキテクチャを管理するための包括的なソリューションです。IT管理者は、アクセス・ポリシー、ロギング・ポリシー、コンテンツ検証などのWebサービス操作を管理するポリシーを集中的に定義し、これらのポリシーでサービスを包み込むことができます。既存のサービスを変更する必要はありません。また、Oracle Web Services Managerは、監視統計情報を収集してサービス・レベルとセキュリティを保証し、情報をWebダッシュボードに表示します。結果として、Oracle Web Services Managerを使用すれば、Webサービスの管理と可視性を向上させることができます。
OracleAS Web Servicesの10.1.3.1リリースは、10.1.3リリースと完全に互換性があります。
リリース9.0.4または10.1.2のOracle Application Serverで稼働するように設計されているアプリケーションは、リリース10.1.3.1でも使用できます。ただし、9.0.4または10.1.2のWebサービスは、10.1.3.1のApplication Serverにデプロイできますが、このようなWebサービスは管理コンソールには表示されません。
下位互換性のため、Oracle Application Server 10gリリース3(10.1.3.1)には、10gリリース2(10.1.2)のWebサービスの実行に必要となる基盤ソフトウェアが含まれています。このため、Oracle Application Server 10g(9.0.4)および10gリリース2(10.1.2)で稼働するように設計されたWebサービス・アプリケーションは、リリース3でも変更せずに使用できます。
ただし、Webサービスを10gリリース3(10.1.3.1)向けに再作成することには非常に大きなメリットがあります。たとえば、サービスのクオリティ(QOS)、標準ベースの開発モデル(JAX-RPC)およびJMXベースの管理など、最新機能をすべて利用できます。
ws.debug
システム・プロパティおよびその動作は無効になっています。
oracle.webservices.ClientConstants.WSM_INTERCEPTOR_PIPELINE_CONFIG
プロパティは無効になり、oracle.webservices.ClientConstants.CLIENT_CONFIG
に置き換えられています。このプロパティの詳細は、『Oracle Application Server Web Servicesアドバンスト開発者ガイド』のプログラムで管理構成をクライアントに渡す方法に関する項を参照してください。
oracle.webservices.OracleStub
のプロパティENCODING_STYLE_PROPERTY
およびOPERATION_STYLE_PROPERTY
は無効になっています。
OracleAS Web Servicesをクラスタリング環境で使用するには、クラスタの各マシンにサービスをインストールする必要があります。Application Server Controlを使用すると、サービスをOracle Application Serverクラスタ内のインスタンス・グループに容易にデプロイできます。
標準のステートレスなWebサービスをインストールした場合は、クラスタリング環境へのデプロイによって、リクエストを処理できても状態を共有できない複数のインスタンスが存在するようになります。
ステートフルなWebサービスをインストールした場合は、複数のインスタンスで状態を共有できます。サービスがクラスタ内のすべてのマシンにインストールされていないと、クラスタ・ディスパッチャはサービス・リクエストをそのサービスのないマシンにディスパッチし、サービス呼出しエラーとなる場合があります。
クラスタリング環境をサポートするために、シリアライズ可能Javaクラスを持つステートフルJava Webサービスの場合は、WebServicesAssemblerによりWebサービスについて生成されるJ2EEのEARファイルのweb.xml
内に<distributable>
タグが追加されます。
関連資料
|
デプロイ時には、OC4Jは通常単独で、つまりOracleAS Web Services環境外で使用されます。このようなOC4JをスタンドアロンOC4Jと呼びます(管理対象外OC4Jと呼ぶこともあります)。このシナリオでは、OC4Jは独自のWebリスナーを使用でき、外部のOracle Application Serverプロセスによる管理を受けません。これに対して、完全なOracle Application Server環境(管理対象OC4Jと呼ぶこともあります)では、Oracle HTTP ServerをWebリスナーとして使用し、Oracle Process Manager and Notification Server(OPMN)を使用して環境を管理します。
|
![]() Copyright © 2006 Oracle Corporation. All Rights Reserved. |
|