Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionインテグレーターズ・ガイド 11g リリース1 (11.1.1) B63033-06 |
|
![]() 前 |
![]() 次 |
この章では、Oracle Business IntelligenceのセッションベースWebサービス(SOAP)およびOracle Business Intelligence SOA用Webサービスについて説明します。SOA用Webサービスの構成と保護、SSLの有効化、およびHTTPSを介したWebサービスの起動について説明します。
この章の内容は次のとおりです。
Oracle Business Intelligenceは、2種類のWebサービスを提供します。Oracle Business IntelligenceセッションベースWebサービスと、Oracle Business Intelligence SOA用Webサービスです。
Oracle Business IntelligenceセッションベースWebサービスを使用すると、プログラミングによってOracle Business Intelligenceをコールし、様々なビジネス・インテリジェンス・アイテムを起動できます。このタイプのWebサービスの詳細は、「Oracle Business IntelligenceのセッションベースWebサービスとは」を参照してください。
Oracle Business Intelligence SOA用Webサービスは、Oracle BIプレゼンテーション・カタログに保存される各分析、条件、またはエージェントに固有のWebサービスを提供します。この種類のWebサービスの詳細は、「Oracle Business IntelligenceのSOA用Webサービスとは」を参照してください。
Oracle Business IntelligenceのセッションベースWebサービスは、SOAPを実装するアプリケーション・プログラミング・インタフェース(API)です。これらのWebサービスはプログラムから使用するように設計されており、1つのWebサービスを使用して、様々なビジネス・インテリジェンス・オブジェクトを起動できます。これらのWebサービスは、プレゼンテーション・サービス操作に関する幅広い機能を提供します。
Oracle Business IntelligenceセッションベースWebサービスを使用すると、次の3種類の機能を実行できます。
Oracle Business Intelligence Presentation Servicesから結果を抽出し、外部アプリケーションやWebアプリケーション環境に配信します。
Oracle Business Intelligenceプレゼンテーション・サービスの管理機能を実行します。
Oracle BI EEアラート(インテリジェント・エージェント)を実行します。
Oracle Business IntelligenceセッションベースWebサービスを使用すると、J2EE、.NETなどの外部アプリケーションにおいて、分析計算やデータ統合エンジンとしてOracle Business Intelligenceを使用できます。これにより、外部アプリケーションとOracle Business Intelligenceプレゼンテーション・サービスとの通信を可能とするプレゼンテーション・サービス群が提供されます。
Oracle Business IntelligenceセッションベースWebサービスでは、有効なOracle Business IntelligenceセッションIDをパラメータとして渡す必要があります。つまり、コール側アプリケーションは、Webサービスをコールする前に、まずセッションを取得するコールを行う必要があります。最後に、ログアウトのためのコールを行います。
Oracle BI EE Webサービスの各サービスおよびメソッドの正式な定義は、WSDL形式で取得できます。プロキシ生成ツールを使用して、各サービスにアクセスするためのプロキシおよびスタブ・コードを作成できます。このWSDLドキュメントには、クライアント・バージョンに応じて次のOracle BI EE WebサービスURLのいずれかからアクセスできます。
http://host:port/analytics-ws/saw.dll/wsdl/v6
http://host:port/analytics-ws/saw.dll/wsdl/v7
Oracle Business Intelligence SOA用Webサービスは、ExecuteAgent、ExecuteAnalysis、ExecuteConditionという3つのWebサービスで構成され、これらはミドルウェアJ2EEアプリケーションによってホストされます。これらのWebサービスを使用すると、サード・パーティのWebサービス・クライアント(Oracle SOA Suiteなど)を使用して、ビジネス・インテリジェンス・オブジェクトを参照し、サービス指向アーキテクチャ(SOA)コンポーネントに組み込むことができます。これらのWebサービスは、特定の値や小規模の値グループを処理し、条件ロジックや以降の手順に供給するために使用されます。この方法により、エンド・ユーザーは各自のプロセス、イベント・ルーティング、およびビジネス・ルール内で、分析の実行、条件の評価、およびエージェントの起動を行えます。Oracle Business Intelligence SOA用Webサービスは、XML文字列のみを返すことに注意してください。
Oracle Business Intelligence SOA用Webサービスは、コール側のエージェント、分析、および条件のみをサポートします。ビジネス・インテリジェンス・オブジェクトに含まれるプロンプト・フィルタやプレゼンテーション変数もサポートされます。Oracle BI EEは、コンテンツ・デザイナによってカタログに保存される各エージェント、分析、および条件に対し、独自のネームスペースを使用して、専用のWeb Services Description Language(WSDL)ドキュメントを動的に作成します。
Oracle Business Intelligence SOA用Webサービスによって動的に提供されるWSILドキュメントを使用することで、カタログ内に格納されたエージェント、分析、および条件を参照および選択できます。WSILは、使用可能な各ビジネス・インテリジェンス・オブジェクトを、一意の名前を持つWSDLドキュメントとしてリストします。各オブジェクトはそれぞれ専用のWSDLドキュメントを持つため、WSDLはプロンプト・フィルタを明示的にリストして入力を求めます。使用するSOA開発ツールでWSILの参照がサポートされない場合でも、Webブラウザのユーザー・インタフェースを使用してWSILにアクセスできます。WSILにアクセスするには、Oracle Business Intelligence プレゼンテーション・サーバー上で次のURLを入力します。
https://host:port/biservices/inspection?wsil
WSILを使用可能にするには、適切に構成する必要があります。この場合に必要な構成の詳細は、「Oracle Business Intelligence SOA用Webサービスの構成と保護」を参照してください。wsil.browsingキーを資格証明ストアに追加するための具体的な手順は、「アクション・フレームワークを使用するための資格証明の追加と保守」を参照してください。
インストール時に、各Webサービス(executeAgent、executeAnalysis、executeCondition)には「policy:oracle/wss_username_token_service_policy」セキュリティ・ポリシーが割り当てられます。このポリシーでは、コール元のSOAPメッセージにおいて、WSセキュリティ・ヘッダー内にユーザー名とトークン(パスワード)を含める必要があります。受信するSOAPメッセージを介してWebサービスに渡されるユーザー資格証明には、起動されるターゲット・ビジネス・インテリジェンス・オブジェクトへの適切なアクセス権を持つ、任意の有効なビジネス・インテリジェンス・ユーザーのものを使用できます。このセキュリティ手法を使用すると、1つの手順でWebサービスをコールでき、最初にセッションIDを取得する必要がありません。Webサービスに使用するセキュリティ・ポリシーは、必要に応じて、Oracle WebLogic Serverで使用可能な任意のセキュリティ・ポリシーに変更できます。
Webサービスを起動する場合は、コール元SOAPメッセージに渡されるユーザー資格証明を使用し、ターゲット機能を起動しますが、WSILを使用してWebサービスを参照する場合は、単一のユーザー・アカウントを使用します。現時点では、参照メカニズムを使用して参照を実行しているユーザーの資格証明を使用してこのメカニズムを起動することはできません。
Webサービスの参照を有効にするには、Fusion Middleware Controlに移動して、bifoundation_domain内にあるoracle.bi.enterpriseマップにアクセスし、「wsil.browsing」資格証明を資格証明ストアに手動で追加する必要があります。このキーは、アイデンティティ・ストア内で定義されている有効なユーザーに対するユーザーIDとパスワードを保持します。たとえば、ユーザー「abell」としてターゲットWebサービスを参照する場合は、資格証明ストア内のwsil.browsingキーに「abell」の資格証明を追加します。
実際には、カタログ参照専用の特別なユーザーをアイデンティティ・ストア内に作成して、この機能で使用する必要があります。このユーザーの個人フォルダ(マイ・フォルダ)には、ビジネス・インテリジェンス・オブジェクトを格納しないようにします。他のユーザーがこの機能を起動できなくなるためです。
ユーザーおよび資格証明の設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。
分析アプリケーションおよびBIミドルウェアJ2EEアプリケーションをホストする管理対象サーバーでは、HTTPSを有効化することをお薦めします。暗号化されていない資格証明は、ターゲットWebサービスに渡す途中でインターセプトされる可能性があり、SSLを使用することでこうしたリスクを緩和できます。SSLの設定を終えたら、証明書について「HTTPS経由でのOracle Business Intelligence Webサービスの起動」を参照してください。
HTTPSを使用している場合にOracle Business Intelligence Webサービスを起動するには、サーバー上のWebサービスをコールするクライアント(Oracle Business Intelligence SOA用WebサービスをコールするOracle BPELなど)は、サーバー証明書を信頼する必要があります。十分に認知された認証局から発行された正規の証明書をサーバーが保持しているのであれば、クライアントはサーバー証明書を信頼でき、これ以上の構成は必要ありません。ただし、デフォルトではこのような環境は整っていません。該当のWebサービスをホストするWebLogic管理対象サーバーが使用するルート証明書を、これらのWebサービスをコールするWebサービス・クライアントの適切なキーストアにインポートする必要があります。
本番環境では、十分に認知された認証局が署名した証明書を使用することをお薦めします。
Webサービス・クライアントが信頼する必要のある、管理対象サーバーのルート証明書の場所を確認するには、次の手順を実行します。
ルート証明書の場所を確認するには:
ブラウザでWebLogicコンソールを開きます。デフォルトでは、WebLogicコンソールの場所は次のとおりです。
http://host:7001/console
Oracle WebLogic Server管理コンソールで「SSL」タブを選択し、「ID」領域に移動します。デフォルトでは、証明書の場所は「デモIDキーストア」となります。この場合は、「キーストア」タブに移動し、デモIDキーストアの場所を確認します。
デモIDキーストアのデフォルトの場所は、次のとおりです。
MW_HOME/wlserver_10.3_server/lib/DemoIdentity.jks
Oracle Keytoolユーティリティを使用してルート証明書を表示し、エクスポートします。