Oracle® Fusion Middleware

Oracle Service Bus管理者ガイド

11gリリース1 (11.1.1.9)

B61436-08(原本部品番号:E15867-09)

2015年2月

このドキュメントは、サービス構成、メッセージ・フローの構成、XQuery、XSLTおよびMFLを使用したメッセージ変換、インポートとエクスポート、モニター、レポート、およびグローバルJNDIリソースの管理などのOracle Service Bus(OSB)ランタイム環境を管理する方法について説明した管理者向けのマニュアルです。

Oracle Fusion Middleware Oracle Service Bus管理者ガイド, 11g リリース1 (11.1.1.9)

B61436-08

Copyright © 2008, 2015, Oracle and/or its affiliates.All rights reserved.

原本著者: Oracle Corporation

原本協力者:

協力者:

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、それを安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、Oracleおよびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

例一覧

図一覧

表一覧

タイトルおよび著作権情報

はじめに

- ドキュメントのアクセシビリティについて

- 表記規則

このガイドでのリリース11.1.1.9の新機能

1 相互運用性のシナリオと考慮事項

- 1.1 サポートされる構成

- 1.2 サポート対象の標準と実装

- 1.3 プラットフォームの相互運用性

- 1.4 プラットフォームの相互運用性に関する制限事項

- 1.4.1 .NETの相互運用性に関する制限事項

- 1.4.2 Apache Axisの相互運用性に関する制限事項

- 1.4.3 WebSphereの相互運用性に関する制限事項

第I部 Oracle Service Busコンソール・ヘルプ

2 Oracle Service Busについて

- 2.1 Oracle Service Bus管理コンソールの起動

- 2.2 表の表示のカスタマイズ

- 2.3 リソースの名前付けに関する制限事項

3 チェンジ・センター

- 3.1 チェンジ・センターの使用

- 3.2 セッションのアクティブ化

- 3.3 セッションの終了

- 3.4 構成の変更内容の表示

- 3.5 セッションのアクティブ化履歴のパージ

- 3.6 タスクの取消し

- 3.6.1 タスクを取り消す順序

- 3.6.2 元に戻してセッションに移動

- 3.7 タスクの詳細の表示

- 3.8 すべてのセッションの表示

- 3.9 競合の表示と解決

4 プロジェクト、フォルダ、およびリソースの操作

- 4.1 プロジェクトおよびフォルダの名前付け

- 4.1.1 プロジェクトとフォルダを使用したリソース名の修飾

- 4.2 「プロジェクト・ビュー」ページ

- 4.3 プロジェクト/フォルダ・ビュー・ページ

- 4.4 プロジェクトの追加

- 4.5 プロジェクト名の変更

- 4.6 プロジェクトの移動(フォルダへの変換)

- 4.7 プロジェクトのクローン作成

- 4.8 プロジェクトの削除

- 4.9 フォルダの追加

- 4.10 フォルダ名の変更

- 4.11 フォルダの移動またはアップグレード

- 4.12 フォルダのクローン作成

- 4.13 フォルダの削除

- 4.14 リソースの作成

- 4.15 Zipファイルからのリソースのロード

- 4.16 「リソースのロード - zipファイルの選択とタイプ拡張子の確認」ページ

- 4.17 URLからのリソースのロード

- 4.18 「リソースのロード - URLからリソースをロード」ページ

- 4.19 「リソースのロード - ロードされたリソースの確認」ページ

- 4.20 「リソースのロード - インポート結果」ページ

- 4.21 「参照の表示」ページ

- 4.22 リソースへの参照の表示

- 4.23 変更履歴の表示ページ

- 4.24 リソース・ブラウザの使用

- 4.25 リソース名の変更

- 4.26 リソースの移動

- 4.27 リソースのクローン作成

- 4.28 WSDLのエクスポート

- 4.29 WSDLの生成

- 4.30 Webブラウザでのリソースの表示

- 4.31 リソースの削除

5 XMLスキーマ

- 5.1 XMLスキーマの検索

- 5.2 XMLスキーマの追加

- 5.3 XMLスキーマの編集

- 5.4 XMLスキーマの削除

- 5.5 未解決のXMLスキーマ参照の表示

- 5.6 未解決のXMLスキーマ参照の解決

6 アラート宛先

- 6.1 アラート宛先の検索

- 6.2 アラート宛先の追加

- 6.3 電子メールおよびJMS受信者の追加

- 6.3.1 電子メール受信者の追加

- 6.3.2 JMS宛先の追加

- 6.4 アラート宛先の編集

- 6.5 アラート宛先の削除

7 WSDL

- 7.1 WSDLの検索

- 7.2 WSDLの追加

- 7.3 WSDLの編集

- 7.4 WSDLの削除

- 7.5 未解決のWSDL参照の表示

- 7.6 未解決のWSDL参照の解決

8 JAR

- 8.1 JARの検索

- 8.2 JARの追加

- 8.3 JARの編集

- 8.4 JAR依存関係の編集

- 8.5 JARの削除

9 MQ接続

- 9.1 MQ接続の検索

- 9.2 MQ接続の追加

- 9.3 MQ接続の編集

- 9.4 MQ接続の削除

10 分割-結合

- 10.1 分割-結合の検索

- 10.2 分割-結合の追加

- 10.3 分割-結合の編集

- 10.4 分割-結合の削除

11 XQueryトランスフォーメーション

- 11.1 XQueryトランスフォーメーションの検索

- 11.2 XQueryトランスフォーメーションの追加

- 11.3 XQueryトランスフォーメーションの編集

- 11.4 XQueryトランスフォーメーションの削除

12 カスタムWS-Policy

- 12.1 Oracle Service Bus WS-Policyの使用

- 12.1.1 カスタムWS-Policyの使用

- 12.2 カスタムWS-Policyの検索

- 12.3 カスタムWS-Policyの追加

- 12.4 カスタムWS-Policyの編集

- 12.5 カスタムWS-Policyの削除

13 JCAバインド

- 13.1 JCAバインドの検索

- 13.2 JCAバインドの追加

- 13.3 JCAバインドの編集

- 13.4 JCAバインドの削除

14 XMLドキュメント

- 14.1 XMLドキュメントの検索

- 14.2 XMLドキュメントの追加

- 14.3 XMLドキュメントの編集

- 14.4 XMLドキュメントの削除

15 XSLトランスフォーメーション

- 15.1 XSLトランスフォーメーションの検索

- 15.2 XSLトランスフォーメーションの追加

- 15.3 XSLトランスフォーメーションの編集

- 15.4 XSLトランスフォーメーションの削除

- 15.5 未解決のXSLトランスフォーメーションの参照の解決

16 MFL

- 16.1 MFLの検索

- 16.2 MFLの追加

- 16.3 MFLの編集

- 16.4 MFLの削除

17 サービス・アカウント

- 17.1 サービス・アカウントの指定

- 17.1.1 サービス・アカウント・データとセッションの使用

- 17.2 サービス・アカウントの検索

- 17.3 サービス・アカウントの追加

- 17.4 サービス・アカウントの編集

- 17.5 サービス・アカウントの削除

18 サービス・キー・プロバイダ

- 18.1 サービス・キー・プロバイダの検索

- 18.2 サービス・キー・プロバイダの追加

- 18.3 サービス・キー・プロバイダの編集

- 18.4 サービス・キー・プロバイダの削除

19 ビジネス・サービス: 作成と管理

- 19.1 ビジネス・サービスの作成と構成

- 19.1.1 JCAバインド・リソースからのビジネス・サービスの生成

- 19.1.2 Oracle Enterprise Repositoryからのビジネス・サービスの生成

- 19.2 ビジネス・サービスの作成/編集 - ページ・リファレンス

- 19.2.1 「全般的な構成」ページ

- 19.2.2 「メッセージ・タイプの構成」ページ

- 19.2.3 「トランスポート構成」ページ

- 19.2.4 プロトコル固有のトランスポート構成ページ

- 19.2.5 「BPEL-10gトランスポート構成」ページ

- 19.2.6 「DSPトランスポート構成」ページ

- 19.2.7 「EJBトランスポート構成」ページ

- 19.2.8 「電子メール・トランスポート構成」ページ

- 19.2.9 「ファイル・トランスポート構成」ページ

- 19.2.10 「フロー・トランスポート構成」ページ

- 19.2.11 「FTPトランスポート構成」ページ

- 19.2.12 「HTTPトランスポート構成」ページ

- 19.2.13 「JCAトランスポート構成」ページ

- 19.2.14 「JEJBトランスポート構成」ページ

- 19.2.15 「JMSトランスポート構成」ページ

- 19.2.16 「MQトランスポート構成」ページ

- 19.2.17 「SBトランスポート構成」ページ

- 19.2.18 「SFTPトランスポート構成」ページ

- 19.2.19 「SOA-DIRECTトランスポート構成」ページ

- 19.2.20 「Tuxedoトランスポート構成」ページ

- 19.2.21 「WSトランスポート構成」ページ

- 19.2.22 「SOAPバインド構成」ページ

- 19.2.23 「メッセージ処理構成」ページ

- 19.2.24 「サマリー」ページ

- 19.3 ビジネス・サービスに関連付けられたWSDLのエクスポート

- 19.4 ビジネス・サービスの検索

- 19.5 ビジネス・サービス構成の編集

- 19.5.1 「ビジネス・サービスの表示 - 構成の詳細」ページ

- 19.5.2 ビジネス・サービス・ポリシー・ページ

- 19.5.3 ビジネス・サービス・セキュリティ・ページ

- 19.6 ビジネス・サービスの削除

20 プロキシ・サービス: 作成と管理

- 20.1 プロキシ・サービスの作成と構成

- 20.1.1 JCAバインド・リソースからのプロキシ・サービスの生成

- 20.2 プロキシ・サービスの作成/編集 - ページ・リファレンス

- 20.2.1 「全般的な構成」ページ

- 20.2.2 「メッセージ・タイプの構成」ページ

- 20.2.3 「トランスポート構成」ページ

- 20.2.4 プロトコル固有のトランスポート構成ページ

- 20.2.5 「電子メール・トランスポート構成」ページ

- 20.2.6 「ファイル・トランスポート構成」ページ

- 20.2.7 「FTPトランスポート構成」ページ

- 20.2.8 「HTTPトランスポート構成」ページ

- 20.2.9 「JCAトランスポート構成」ページ

- 20.2.10 「JEJBトランスポート構成」ページ

- 20.2.11 「JMSトランスポート構成」ページ

- 20.2.12 「MQトランスポート構成」ページ

- 20.2.13 「SBトランスポート構成」ページ

- 20.2.14 「SFTPトランスポート構成」ページ

- 20.2.15 「Tuxedoトランスポート構成」ページ

- 20.2.16 「WSトランスポート構成」ページ

- 20.2.17 「操作選択構成」ページ

- 20.2.18 「メッセージ処理」ページ

- 20.2.19 「サマリー」ページ

- 20.3 プロキシ・サービスに関連付けられたWSDLのエクスポート

- 20.4 プロキシ・サービスの検索

- 20.5 プロキシ・サービス構成の編集

- 20.5.1 「プロキシ・サービスの表示 - 構成の詳細」ページ

- 20.5.2 プロキシ・サービス・ポリシー・ページ

- 20.5.3 ビジネス・サービス・セキュリティ・ページ

- 20.6 プロキシ・サービスの削除

21 プロキシ・サービス: アクション

- 21.1 メッセージ・フローでのアクションの追加と編集

- 21.2 パブリッシュ・アクションの追加

- 21.3 パブリッシュ表アクションの追加

- 21.4 動的パブリッシュ・アクションの追加

- 21.5 ルーティング・オプション・アクションの追加

- 21.6 サービス・コールアウト・アクションの追加

- 21.7 トランスポート・ヘッダー・アクションの追加

- 21.7.1 アウトバウンドHTTPトランスポート・ヘッダーでのCookieの設定

- 21.7.1.1 複雑なXML式としてのCookieの設定

- 21.7.1.2 文字列式を使用したCookieの設定

- 21.8 ルート・ノードへの動的ルーティングの追加

- 21.9 ルート・ノードへのルーティング・アクションの追加

- 21.10 ルート・ノードへのルーティング表の追加

- 21.11 For Eachアクションの追加

- 21.12 If... Then...アクションの追加

- 21.13 エラーの生成アクションの追加

- 21.13.1 トランザクション

- 21.14 返信アクションの追加

- 21.15 再開アクションの追加

- 21.16 スキップ・アクションの追加

- 21.17 割当てアクションの追加

- 21.18 削除アクションの追加

- 21.19 挿入アクションの追加

- 21.20 Javaコールアウト・アクションの追加

- 21.21 MFL変換アクションの追加

- 21.22 名前変更アクションの追加

- 21.23 置換アクションの追加

- 21.24 検証アクションの追加

- 21.25 アラート・アクションの追加

- 21.26 ログ・アクションの追加

- 21.27 レポート・アクションの追加

22 プロキシ・サービス: メッセージ・フロー

- 22.1 メッセージ・フローの表示と編集

- 22.2 「メッセージ・フローの編集」ページ

- 22.3 「ステージ構成の編集」ページ

- 22.4 メッセージ・フローへのパイプライン・ペア・ノードの追加

- 22.5 メッセージ・フローへの条件付きブランチの追加

- 22.6 メッセージ・フローへの操作ブランチの追加

- 22.7 パイプラインへのステージの追加

- 22.8 メッセージ・フローへのルート・ノードの追加

- 22.9 ステージおよびルート・ノードの切取り、コピー、貼付け

23 プロキシ・サービス: XQueryエディタおよびXPathエディタ

- 23.1 インラインXQueryおよびXPath式の作成と編集

- 23.2 XQueryエディタのレイアウトとタスクについて

- 23.2.1 パレット

- 23.2.2 ワークスペース

- 23.2.3 プロパティ・インスペクタ

- 23.3 エディタ・ワークスペースのテキスト・フィールドでの式の構築

- 23.4 インライン式で使用するネームスペースの作成

- 23.5 XQueryエディタによる変数の構造の作成

- 23.6 XQueryエディタでのカスタムXPath関数の作成

- 23.7 外部XQueryリソースのインラインXQueryへのバインディング

- 23.8 外部XSLTリソースのインラインXQueryへのバインディング

- 23.9 動的XQuery式のインラインXQueryへのバインディング

- 23.10 「ビルダー」オプションを使用したXQuery比較式の入力

- 23.11 「ビルダー」オプションを使用した単項式の入力

24 プロキシ・サービス: エラー・ハンドラ

- 24.1 「エラー・ハンドラの編集」ページ

- 24.2 プロキシ・サービス・エラー・ハンドラの追加

- 24.3 パイプライン・エラー・ハンドラの追加

- 24.4 ステージ・エラー・ハンドラの追加

- 24.5 ルート・ノード・エラー・ハンドラの追加

- 24.6 エラー・ハンドラの編集

25 セキュリティ構成

- 25.1 ユーザー、グループ、セキュリティ・ロール、およびポリシーについて

- 25.1.1 ユーザー

- 25.1.2 グループ

- 25.1.2.1 管理セキュリティ・グループ

- 25.1.3 ロール

- 25.1.3.1 管理セキュリティ・ロール

- 25.1.4 アクセス制御ポリシー

- 25.1.5 セキュリティ構成データとセッション

- 25.2 ユーザーの検索

- 25.3 ユーザーの追加

- 25.4 ユーザーの編集

- 25.5 ユーザーの削除

- 25.6 グループの検索

- 25.7 グループの追加

- 25.8 グループの編集

- 25.9 グループの削除

- 25.10 ロールの検索

- 25.11 ロールの追加

- 25.11.1 ロール条件の定義

- 25.12 ロールの編集

- 25.13 ロールの削除

- 25.14 アクセス制御ポリシーの検索

- 25.15 トランスポートレベルのアクセス・ポリシーの編集

- 25.16 メッセージ・レベルのアクセス・ポリシーの編集

- 25.17 ポリシー条件の追加

26 モニター

- 26.1 SLAアラートの表示

- 26.2 パイプライン・アラートの表示

- 26.3 アラートの検索

- 26.3.1 WebLogic診断フレームワークの問合せ言語

- 26.4 アラートのパージ

- 26.5 アラートの詳細の表示

- 26.6 サービスのモニター情報の表示

- 26.7 サービスの統計のリセット

- 26.8 プロキシ・サービスの操作設定の構成

- 26.9 ビジネス・サービスの操作設定の構成

- 26.10 サービスの集約間隔の設定

- 26.11 サービス・メトリックの表示

- 26.12 WSDLベースのサービスの操作メトリックの表示

- 26.13 パイプライン・メトリックの表示

- 26.14 アクション・メトリックの表示

- 26.15 ビジネス・サービスのエンドポイントURIのメトリックの表示

- 26.16 サーバー情報の表示

- 26.17 サーバーの詳細の編集

- 26.18 ドメイン・ログ・ファイルの表示

- 26.19 ドメイン・ログ・ファイル・エントリの表示のカスタマイズ

- 26.20 ドメイン・ログ・ファイルの詳細の表示

- 26.21 アラート・ルールの表示

- 26.22 アラート・ルールの検索

- 26.23 アラート・ルールの作成および編集

- 26.23.1 アラート・ルールの全般的な情報の構成

- 26.23.2 アラート・ルールの条件の定義

- 26.23.3 アラート・ルールの構成の確認

- 26.24 アラート・ルールの構成の表示

- 26.25 アラート・ルールの編集

- 26.26 アラート・ルールの削除

27 構成

- 27.1 操作設定の検索と更新

- 27.1.1 すべてのサービス(プロキシ・サービスおよびビジネス・サービス)の検索

- 27.1.2 プロキシ・サービスの検索

- 27.1.3 ビジネス・サービスの検索

- 27.1.4 分割-結合の検索

- 27.1.5 アラート宛先の検索

- 27.1.6 SLAアラート・ルールの検索

- 27.2 グローバル設定の有効化

- 27.2.1 サービスのグローバル・モニターの有効化

- 27.2.2 サービスのグローバル・モニターの無効化

- 27.2.3 SLAアラートのグローバルな有効化

- 27.2.4 SLAアラートのグローバルな無効化

- 27.2.5 パイプライン・アラートのグローバルな有効化

- 27.2.6 パイプライン・アラートのグローバルな無効化

- 27.2.7 メッセージ・レポートのグローバルな有効化

- 27.2.8 メッセージ・レポートのグローバルな無効化

- 27.2.9 ログのグローバルな有効化

- 27.2.10 ログのグローバルな無効化

- 27.2.11 結果キャッシュのグローバルな有効化

- 27.2.12 結果キャッシュのグローバルな無効化

- 27.3 ユーザー・プリファレンスの設定

28 レポート

- 28.1 レポート・メッセージの表示

- 28.2 メッセージの詳細の表示

- 28.3 メッセージのパージ

29 インポート/エクスポート

- 29.1 リソースのインポート

- 29.1.1 インポートするプロジェクトとリソースの選択

- 29.1.2 インポートするセキュリティ設定の指定

- 29.1.3 サービス・アカウントまたはサービス・キー・プロバイダのインポート

- 29.1.4 インポートの概要の確認

- 29.2 リソースのエクスポート

- 29.2.1 エクスポートするセキュリティ設定の指定

30 UDDI

- 30.1 構成されたUDDIレジストリの表示

- 30.2 UDDIレジストリの構成

- 30.2.1 UDDIレジストリの追加

- 30.2.2 UDDIレジストリの編集

- 30.3 デフォルトUDDI構成の設定

- 30.4 UDDIレジストリからのビジネス・サービスのインポート

- 30.5 自動インポート・ステータスの使用

- 30.6 サービスのデタッチ

- 30.7 UDDIレジストリへのプロキシ・サービスのパブリッシュ

- 30.8 自動パブリッシュの使用

31 グローバル・リソース

- 31.1 JNDIプロバイダの表示

- 31.2 JNDIプロバイダの追加

- 31.3 JNDIプロバイダの編集

- 31.4 JNDIプロバイダの削除

- 31.5 SMTPサーバーの表示

- 31.6 SMTPサーバーの検索

- 31.7 SMTPサーバーの追加

- 31.8 デフォルトのSMTPサーバーの構成

- 31.9 SMTPサーバーの編集

- 31.10 SMTPサーバーの削除

- 31.11 プロキシ・サーバーの表示

- 31.12 プロキシ・サーバーの検索

- 31.13 プロキシ・サーバーの追加

- 31.14 プロキシ・サーバーの編集

- 31.15 プロキシ・サーバーの削除

32 カスタマイズ

- 32.1 環境値の検索と置換

- 32.2 カスタマイズ・ファイルの作成

- 32.3 カスタマイズ・ファイルの実行

33 テスト・コンソール

- 33.1 サービスのテスト

- 33.1.1 プロキシ・サービスのテスト

- 33.1.2 プロキシ・サービスのテスト・データの構成

- 33.1.3 プロキシ・サービスのテスト結果の表示

- 33.1.4 プロキシ・サービスのトレース

- 33.1.5 ビジネス・サービスのテスト

- 33.1.5.1 ビジネス・サービスの添付ファイルのテスト

- 33.1.6 ビジネス・サービスのテスト・データの構成

- 33.1.7 ビジネス・サービスのテスト結果の表示

- 33.2 トランスフォーメーションのテスト

- 33.2.1 MFLトランスフォーメーションのテスト

- 33.2.2 XSLTトランスフォーメーションのテスト

- 33.2.3 XQueryトランスフォーメーションのテスト

- 33.3 XQueryテストの実行

- 33.3.1 XQuery式エディタとXQuery条件エディタの使用

- 33.3.2 XPath式エディタの使用

- 33.4 テスト・コンソールでのランタイムによるトランスポート設定の使用方法

第II部 ユーザー・ガイド

34 ユーザー・ガイドについて

35 Oracle Service Busサーバーの起動

- 35.1項「開発環境でのDerbyの起動」

- 35.2 Oracle Service Bus管理サーバーの起動

- 35.2.1 コマンドラインからの管理サーバーの起動

- 35.2.2 Windows上での管理サーバーの起動

- 35.2.2.1 Windowsのスタート・メニューからの管理サーバーの起動

- 35.2.2.2 Windowsサービスとしての管理サーバーの起動

- 35.2.3 ノード・マネージャを使用したサーバーの起動

- 35.3 Oracle Service Bus管理対象サーバーの起動

- 35.4 サーバーの起動の確認

36 プロキシ・サービスとビジネス・サービスの構成

- 36.1 Oracle Service Busプロキシ・サービス

- 36.2 Oracle Service Busビジネス・サービス

- 36.3 Oracle Service BusでWSDLが使用される仕組み

- 36.3.1 有効なWSDLと生成されたWSDLについて

- 36.3.1.1 有効なWSDL

- 36.3.1.2 生成されたWSDL

- 36.3.1.3 有効なWSDLへのアクセス

- 36.3.2 WSDLの概要

- 36.3.2.1 タイプ

- 36.3.2.2 メッセージ

- 36.3.2.3 ポート・タイプ

- 36.3.2.4 バインディング

- 36.3.2.5 サービスとポート

- 36.4 WSDLを使用したサービスの定義

- 36.4.1 SOAPドキュメント・ラップのWebサービス

- 36.4.2 SOAPドキュメント・スタイルのWebサービス

- 36.4.3 SOAP RPCのWebサービス

- 36.5 WSDLポートとWSDLバインディングに基づくサービスの作成

- 36.5.1 プロキシ・サービス用に生成される有効なWSDLの特性

- 36.5.1.1 非トランスポート型ビジネス・サービス用に生成される有効なWSDLの特性

- 36.5.1.2 トランスポート型ビジネス・サービス用に生成される有効なWSDLの特性

- 36.5.1.3 クラスタリングされたドメインでの有効なWSDLの生成

- 36.5.1.4 ポートとバインディングに基づくプロキシ・サービスの例

- 36.5.2 任意のSOAPサービス・タイプまたは任意のXMLサービス・タイプの使用

- 36.5.3 メッセージング・サービス・タイプの使用

- 36.6 プロキシ・サービスの構成

- 36.6.1 プロキシ・サービスのタイプとトランスポート

- 36.6.2 プロキシ・サービスのトランスポートとセキュリティの構成

- 36.6.3 プロキシ・サービスの各タイプの構成設定

- 36.6.4 メッセージ・フローの構成

- 36.6.5 プロキシ・サービスのセキュリティ関連の検証

- 36.7 ビジネス・サービスの構成

- 36.7.1 ビジネス・サービスのタイプとトランスポート

- 36.7.2 ビジネス・サービスのすべてのタイプの構成設定

- 36.7.3 ビジネス・サービスの各タイプの構成設定

- 36.7.4 プロキシ・サーバーの使用

- 36.7.5 ビジネス・サービスの結果のキャッシュによるパフォーマンスの改善

- 36.7.5.1 結果キャッシュの仕組み

- 36.7.5.2 結果キャッシュのベスト・プラクティス

- 36.7.5.3 結果キャッシュのメタデータ

- 36.7.5.4 結果キャッシュのテスト

- 36.7.5.5 結果キャッシュの高度な構成

- 36.8 リソースの詳細の表示

37 Oracle Service Busでのメッセージ・フローの作成

- 37.1 メッセージ・フローのコンポーネント

- 37.1.1 メッセージ・フローの構築

- 37.1.2 メッセージの実行

- 37.2 メッセージ・フローの分岐

- 37.2.1 オペレーション・ブランチ

- 37.2.2 条件付きブランチ

- 37.3 ステージおよびルート・ノードでのアクションの構成

- 37.3.1 通信アクション

- 37.3.2 フロー制御アクション

- 37.3.3 メッセージ処理アクション

- 37.3.4 レポート・アクション

- 37.3.5 メッセージ・フローでのトランスポート・ヘッダーの構成

- 37.3.5.1 トランスポート・ヘッダーのグローバル・パススルー・オプションとヘッダー固有のコピー・オプションの構成

- 37.3.5.2 ランタイムによってトランスポート・ヘッダーの設定が使用される仕組みについて

- 37.4 メッセージ・フローでのトランスフォーメーションの実行

- 37.4.1 トランスフォーメーションとパブリッシュ・アクション

- 37.4.1.1 サービス品質におけるパブリッシュ・アクションの動作

- 37.4.2 トランスフォーメーションとルート・ノード

- 37.5 サービス・コールアウト・メッセージの作成

- 37.5.1 SOAPドキュメント・スタイルのサービス

- 37.5.2 SOAP RPCスタイルのサービス

- 37.5.3 XMLサービス

- 37.5.4 メッセージング・サービス

- 37.6 サービス・コールアウトの結果としてのエラー処理

- 37.6.1 トランスポート・エラー

- 37.6.2 SOAPフォルト

- 37.6.3 予期しないレスポンス

- 37.7 メッセージ・フローでのエラー処理

- 37.7.1 エラー・メッセージの生成、レポート、および返信

- 37.7.2 エラー・ハンドラでのアクションの構成の例

- 37.8 動的ルーティングの使用

- 37.8.1 動的ルーティングの実装

- 37.8.1.1 サンプルXMLファイル

- 37.8.1.2 サンプルXMLからのXQueryリソースの作成

- 37.8.1.3 動的ルーティングを実装するためのプロキシ・サービスの作成および構成

- 37.8.1.4 IDベースのルーティングの実装に関するガイドライン

- 37.9 XQueryを使用したデータベースへのアクセス

- 37.10 メッセージ・コンテキストについて

- 37.10.1 メッセージ・コンテキストのコンポーネント

- 37.10.2 メッセージ・コンテキストを表示および変更するためのガイドライン

- 37.10.3 inboundからoutboundへのJMSプロパティのコピー

- 37.11 変数の構造での作業

- 37.11.1 インラインXQuery式エディタの使用

- 37.11.1.1 インラインXQuery

- 37.11.1.2 インラインXQuery式エディタの用途

- 37.11.2 変数の構造の使用

- 37.11.3 変数の構造のマッピングの作成

- 37.11.3.1 サンプルWSDL

- 37.11.3.2 例で必要なリソースの作成

- 37.11.3.3 例1: 事前定義された変数の構造の選択

- 37.11.3.4 例2: 変数を型にマップする変数の構造の作成

- 37.11.3.5 例3: 変数を要素にマップする変数の構造の作成

- 37.11.3.6 例4: 変数を子要素にマップする変数の構造の作成

- 37.11.3.7 例5: 変数をビジネス・サービスにマップする変数の構造の作成

- 37.11.3.8 例6: 子要素と子要素をマップする変数の構造の作成

- 37.12 サービスの品質

- 37.12.1 配信の保証

- 37.12.1.1 デフォルト要素属性のオーバーライド

- 37.12.1.2 配信の保証のルール

- 37.12.1.3 スレッディング・モデル

- 37.12.1.4 プロキシ・サービスの分割

- 37.12.2 アウトバウンド・メッセージの再試行

- 37.13 Oracle Service Busでのワーク・マネージャの使用

- 37.13.1 ワーク・マネージャを使用するためのビジネス・サービスおよびプロキシ・サービスの構成

- 37.13.2 サービスの品質

- 37.13.3 ベスト・プラクティス

- 37.14 コンテンツ・タイプ、JMSタイプ、およびエンコーディング

- 37.15 抑制パターン

- 37.16 WS-Iへの準拠

- 37.16.1 WS-I準拠チェック

- 37.17 SOAP 1.1とSOAP 1.2との間の変換

38 分割-結合によるサービスのパフォーマンスの向上

- 38.1 分割-結合の概要

- 38.1.1 静的分割-結合

- 38.1.1.1 静的分割-結合 - サンプル・シナリオ

- 38.1.2 動的分割-結合

- 38.1.2.1 動的分割-結合 - サンプル・シナリオ

- 38.1.3 分割-結合フレームワーク

- 38.2 分割-結合の開発

- 38.2.1 分割-結合のリソース・タイプと環境変数

39 メッセージ・コンテキスト

- 39.1 メッセージ・コンテキスト・モデル

- 39.2 事前定義されたコンテキスト変数

- 39.3 メッセージ関連の変数

- 39.3.1 header変数

- 39.3.2 body変数

- 39.3.3 attachments変数

- 39.3.4 body変数とattachments変数内のバイナリ・コンテンツ

- 39.3.4.1 ビジネス・プロセスへの添付付きSOAPの送信

- 39.3.5 body変数内のJavaコンテンツ

- 39.3.6 bodyコンテンツのストリーミング

- 39.3.6.1 コンテンツ・ストリーミングを使用する際のベスト・プラクティス

- 39.3.7 添付ファイルのストリーミング

- 39.3.7.1 インバウンド・メッセージの処理

- 39.3.7.2 アウトバウンド・メッセージの処理

- 39.3.8 XOP/MTOMサポートについて

- 39.3.8.1 プロキシ・サービスの構成

- 39.3.8.2 ビジネス・サービスの構成

- 39.3.8.3 XOP/MTOM添付ファイルのストリーミング

- 39.4 inbound変数とoutbound変数

- 39.4.1 inbound変数とoutbound変数の下位要素

- 39.4.1.1 サービス

- 39.4.1.2 トランスポート

- 39.4.1.3 セキュリティ

- 39.4.2 関連トピック

- 39.5 operation変数

- 39.6 fault変数

- 39.7 コンテキスト変数の初期化

- 39.7.1 attachmentsコンテキスト変数の初期化

- 39.7.2 header、bodyコンテキスト変数の初期化

- 39.7.2.1 SOAPサービス

- 39.7.2.2 XMLサービス(非SOAP)

- 39.7.2.3 メッセージング・サービス

- 39.8 コンテキスト変数に対する操作の実行

- 39.8.1 $body

- 39.8.2 $header

- 39.8.3 関連トピック

- 39.9 ディスパッチするメッセージの作成

- 39.9.1 SOAPサービス

- 39.9.2 XMLサービス(非SOAP)

- 39.9.3 メッセージング・サービス

- 39.9.3.1 電子メール・メッセージでのバイナリ・コンテンツの送信について

- 39.9.4 関連トピック

- 39.10 メッセージ・コンテキスト・スキーマ

- 39.10.1 関連トピック

40 テスト・コンソールの使用

- 40.1 前提条件

- 40.2 プロキシ・サービスのテスト

- 40.2.1 直接呼出し

- 40.2.2 間接呼出し

- 40.2.3 HTTPリクエスト

- 40.3 ビジネス・サービスのテスト

- 40.4 プロキシ・サービスとビジネス・サービスの推奨テスト・アプローチ

- 40.5 テスト・コンソールを使用したプロキシ・サービスのトレース

- 40.5.1 例: プロキシ・サービスのテストとトレース

- 40.6 リソースのテスト

- 40.6.1 MFL

- 40.6.1.1 例

- 40.6.2 XSLT

- 40.6.3 XQuery

- 40.7 XQueryテストの実行

- 40.8 Webサービス・セキュリティを含むサービスのテスト

- 40.8.1 サービスとポリシーの制限

- 40.9 テスト・コンソールのトランスポート設定

- 40.10 セキュリティとトランスポートについて

- 40.11 テスト・コンソールのアンデプロイ

- 40.11.1 ドメイン作成前のテスト・コンソールの割当て解除

- 40.11.2 サーバーが実行されている場合のテスト・コンソールの割当て解除

- 40.11.3 サーバーが実行されていない場合のテスト・コンソールの割当て解除

41 UDDI

- 41.1 UDDI、UDDIレジストリおよびWebサービス

- 41.1.1 UDDI仕様の基本概念

- 41.1.2 Oracle Service BusでUDDIレジストリを使用する利点

- 41.1.3 UDDIエンティティの概要

- 41.2 Oracle Service BusとUDDIのビジネス・シナリオの例

- 41.2.1 プロキシ・サービスとUDDIレジストリの基本的な通信

- 41.2.2 Oracle Service Busのドメイン間デプロイメント

- 41.3 Oracle Service BusとUDDIの使用

- 41.3.1 UDDIのワークフロー

- 41.4 レジストリの構成

- 41.5 UDDIレジストリへのプロキシ・サービスのパブリッシュ

- 41.5.1 UDDIへのローカル・プロキシ・サービスのパブリッシュ

- 41.6 自動パブリッシュの使用

- 41.7 レジストリからのサービスのインポート

- 41.7.1 関連リファレンス

- 41.8 自動インポートの使用

- 41.8.1 同期

- 41.8.2 デタッチ

- 41.9 UDDIを使用したサービスの自動同期

- 41.10 Oracle Service Busプロキシ・サービスからUDDIエンティティへのマッピング

- 41.10.1 Oracle Service Busプロキシ・サービスのUDDIマッピングの詳細

- 41.10.2 トランスポート属性

- 41.10.3 サービス・タイプ属性

- 41.11 Oracle Service Busサービスをサポートする標準tModel

- 41.12 例

42 JavaコールアウトおよびPOJOを使用した拡張性

- 42.1 使用方法のガイドライン

- 42.2 ストリーミング・コンテンツの操作

- 42.2.1 ストリーミング・コンテンツをJavaコールアウトに渡す方法

- 42.2.2 Javaコールアウトからコンテンツ結果をストリーミングする方法

- 42.3 ベスト・プラクティス

43 XQueryの実装

- 43.1 Oracleでサポートされる拡張関数

- 43.2 Oracle Service Busでの拡張関数

- 43.2.1 fn-bea:lookupBasicCredentials

- 43.2.2 fn-bea:isUserInGroup

- 43.2.3 fn-bea:isUserInRole

- 43.2.4 fn-bea: uuid

- 43.2.5 fn-bea:execute-sql()

- 43.2.5.1 例1: 動的ルーティングのデータベースからのURIの取得

- 43.2.5.2 例2: データベースからのXMLTypeデータの取得

- 43.2.6 fn-bea:serialize()

- 43.3 カスタムXPath関数の作成と使用

第III部 オペレーション・ガイド

44 オペレーション・ガイドについて

45 Oracle Service Busのロール

- 45.1 Oracle Service Busのデフォルトのロール

- 45.1.1 IntegrationAdmin

- 45.1.2 IntegrationDeployer

- 45.1.3 IntegrationMonitor

- 45.1.4 IntegrationOperator

- 45.2 WLSのロールとOracle Service Busのロールの関係

- 45.3 Oracle Service Busのロールの作成方法

46 実行時のOracle Service Busのモニター

- 46.1 サービスのモニターとは

- 46.1.1 Oracle Service Busのモニター・フレームワークについて

- 46.2 集約間隔

- 46.2.1 モニター・データの更新間隔

- 46.2.2 集約間隔におけるサンプル間隔

- 46.2.3 モニター・データの集約間隔を設定する方法

- 46.2.4 サービスの集約間隔の変更結果

- 46.3 サービスの名前変更または移動の結果

- 46.4 Oracle Service Busのサービスに使用できる統計

- 46.5 サービスの統計情報へのアクセス

- 46.5.1 Oracle Service Bus管理コンソールからサービスの統計にアクセスする方法

- 46.5.2 JMXモニタリングAPIを使用して統計情報にアクセスする方法

- 46.5.3 クラスタの統計にアクセスする方法

- 46.5.4 統計のリセット方法

- 46.5.4.1 統計のリセットの結果

- 46.6 サービスのモニターにおけるアラートのロール

- 46.6.1 アラートの重大度の割当て

- 46.6.2 SLAアラートとは

- 46.6.2.1 SLAアラートの使用例

- 46.6.3 パイプライン・アラートとは

- 46.6.3.1 パイプライン・アラートの使用例

- 46.6.4 SLAアラートを表示または削除する方法

- 46.6.5 パイプライン・アラートを表示または削除する方法

- 46.6.6 特定のアラートの検索結果をフィルタする方法

- 46.6.6.1 SLAアラートの検索結果をフィルタする方法

- 46.6.6.2 パイプライン・アラートの検索結果をフィルタする方法

- 46.6.7 アラート宛先とは

- 46.6.7.1 電子メール

- 46.6.7.2 SNMPトラップ

- 46.6.7.3 レポート

- 46.6.7.4 アラートのロギング

- 46.6.7.5 JMS

- 46.7 サービスの操作設定

- 46.7.1 サービスの操作設定の構成方法

- 46.7.2 グローバル・レベルの操作設定の構成方法

- 46.7.3 Oracle Service Bus構成のインポート時の操作設定の更新

- 46.7.4 Oracle Service Bus構成のインポート時のグローバル設定の更新

- 46.7.5 APIを使用したOracle Service Bus構成のインポート時に操作設定を保持する方法

- 46.8 Oracle Service BusのSLAアラート機能

- 46.8.1 SLAアラート・ルールの構成方法

- 46.8.2 既存のアラート・ルールをルックアップまたは編集する方法

- 46.8.3 アラート・ルールの名前変更の方法

- 46.8.3.1 アラート・ルールの名前変更の結果

- 46.8.4 Oracle Service Bus構成のインポート時のアラート・ルールの処理

- 46.9 Oracle Service Busダッシュボード

- 46.9.1 現在の集約間隔に対するサービスの統計にアクセスする方法

- 46.9.2 サービスの集計カウント統計にアクセスする方法

- 46.9.2.1 サービスのメトリック

- 46.9.2.2 操作

- 46.9.2.3 パイプラインのメトリック

- 46.9.2.4 アクションのメトリック

- 46.9.2.5 エンドポイントURI

- 46.9.3 ダッシュボードでのSLAアラートの表示

- 46.9.3.1 SLAアラートのアラート履歴の表示

- 46.9.4 ダッシュボードでのパイプライン・アラートの表示

- 46.9.4.1 パイプライン・アラートのアラート履歴の表示

- 46.9.5 ダッシュボードでのサーバー・ヘルスの表示

- 46.9.5.1 ログ概要の表示

- 46.9.5.2 サーバー概要の表示

- 46.9.5.3 サーバーの詳細の表示

47 レポート

- 47.1 Oracle Service Busのレポート・フレームワークについて

- 47.2 JMSレポート・プロバイダについて

- 47.2.1 グローバル・トランザクションでのレポート・アクション

- 47.3 JMSレポート・プロバイダ・ストア用データベースの構成方法

- 47.3.1 トランザクションのレポート・データ・ソースの構成

- 47.3.2 開発環境におけるデータベースの構成方法

- 47.3.3 本番用データベースの構成方法

- 47.4 メッセージ・レポートを有効にする方法

- 47.5 レポート・プロバイダを停止する方法

- 47.6 JMSレポート・プロバイダを割当て解除する方法

- 47.6.1 ドメイン作成前にデフォルトのJMSレポート・プロバイダを割当て解除する方法

- 47.6.2 JMSレポート・プロバイダを割当て解除する方法(サーバーが実行中の場合)

- 47.6.3 JMSレポート・プロバイダを割当て解除する方法(サーバーが実行されていない場合)

- 47.7 Oracle Service Bus管理コンソールの「レポート」モジュールの使用

- 47.7.1 メッセージ・レポートの概要の表示

- 47.7.2 メッセージの詳細の表示

- 47.7.3 レポート・データ・ストアからメッセージをパージする方法

48 ビジネス・サービスのエンドポイントURIの管理

- 48.1 再試行を実行するためのビジネス・サービスの構成方法

- 48.1.1 アプリケーション・エラー発生時の再試行を抑止する方法

- 48.2 応答していないURIをオフラインとしてマークする方法

- 48.2.1 エンドポイントURIを一時的にオフラインとしてマークする方法

- 48.2.2 エンドポイントURIを永続的にオフラインとしてマークする方法

- 48.3 エンドポイントURIをモニターするためのメトリック

- 48.3.1 エンドポイントURIのステータス

- 48.3.2 エンドポイントURIのパフォーマンス・メトリック

- 48.4 オフラインのURIをオンラインとしてマークする方法

- 48.5 エンドポイントURIのステータスに基づいてアラートを生成する方法

- 48.5.1 エンドポイントURIのステータスに基づいたアラート・ルールの構成方法

49 実行トレース

- 49.1 実行トレースを有効または無効にする方法

- 49.2 トレース情報にアクセスする方法

50 スロットル

- 50.1 スロットルを有効にする方法

- 50.2 スロットルの操作設定

- 50.3 スロットルに使用できるメトリック

- 50.4 スロットル・メトリックにアクセスする方法

- 50.5 アラートのスロットル・メトリックを使用する方法

- 50.6 複数のエンドポイントURIを使用するビジネス・サービスのスロットルの使用方法

- 50.6.1 スロットル使用時に再試行されたメッセージの処理

51 スマート検索を使用した操作設定の管理

- 51.1 基本検索の使用

- 51.2 詳細検索の使用

- 51.3 すべてのサービスの操作設定の管理

- 51.3.1 検索フィルタを使用したサービスの検索

- 51.3.2 操作設定の表示と編集

- 51.4 プロキシ・サービスの操作設定の管理

- 51.4.1 検索フィルタを使用したプロキシ・サービスの検索

- 51.4.2 操作設定の表示と編集

- 51.5 ビジネス・サービスの操作設定の管理

- 51.5.1 検索フィルタを使用したビジネス・サービスの検索

- 51.5.2 操作設定の表示と編集

- 51.6 分割-結合の操作設定の管理

- 51.6.1 検索フィルタを使用した分割-結合の検索

- 51.6.2 操作設定の表示と編集

- 51.7 アラート宛先の操作設定の管理

- 51.7.1 検索フィルタを使用したアラート宛先の検索

- 51.7.2 アラート宛先の表示と削除

- 51.8 SLAアラート・ルールの操作設定の管理

- 51.8.1 検索フィルタを使用したSLAアラート・ルールの検索

- 51.8.2 SLAアラート・ルールの表示と構成

52 ユーザー・プリファレンス

第IV部 付録

A エラー・コード

- A.1 エラー詳細スキーマ

B Oracle Service Busでのデバッグ

- B.1 Oracle Service Busでのデバッグ

- B.2 Eclipseでのプロキシ・サービスおよび分割-結合のデバッグ

C Oracle Service Bus API

- C.1 リソースの更新とカスタマイズ

- C.2 管理およびモニター

- C.3 デプロイメント

D JMXモニタリングAPI

- D.1 説明

- D.2 概念

- D.2.1 公開POJOオブジェクト

- D.2.1.1 ResourceType

- D.2.1.2 ServiceResourceStatistic

- D.2.1.3 ResourceStatistic

- D.2.1.4 StatisticValue

- D.2.1.5 StatisticType

- D.2.2 ServiceDomainMBean

- D.2.3 統計の詳細

- D.2.3.1 リソース・タイプの統計の詳細 - SERVICE

- D.2.3.2 リソース・タイプの統計の詳細 - FLOW_COMPONENT

- D.2.3.3 リソース・タイプの統計の詳細 - WEBSERVICE_OPERATION

- D.2.3.4 リソース・タイプの統計の詳細 - URI

- D.2.4 注意事項

- D.2.5 パフォーマンス

- D.3 APIの使用方法の例

- D.3.1 サンプル・プログラム

E SNMPコンポーネント

- E.1 SNMPエージェントの作成および使用

- E.1.1 Oracle Service Bus用のSNMPエージェントを作成してターゲットとして設定する場合のガイドライン

F Oracle Service Busにおける統計のモニター

G Oracle Service Busシステムの監査

- G.1 構成の変更の監査

- G.2 メッセージ・フローの監査証跡の作成

- G.3 セキュリティ違反の監査

H XQuery-SQLマッピング参照

- H.1 IBM DB2/NT 8

- H.2 Microsoft SQL Server

- H.3 Oracle8i, 8.1.x

- H.4 Oracle 9i、Oracle Database 10g

- H.5 Sybase 12.5.2(およびそれ以上)

- H.6 ベース(汎用)RDBMSデータ型マッピング

I WSRPとの相互運用性

- I.1 WSRPのプロデューサとコンシューマ

- I.2 WSRPのアーキテクチャ

- I.2.1 Oracle Service Busを使用した拡張アーキテクチャ

- I.3 WSRP設計の概念

- I.3.1 WSRP WSDL

- I.3.2 WSRPメッセージ

- I.4 WSRP対応Oracle Service Busの構成

- I.4.1 プロデューサのWSDLの取得

- I.4.2 コンシューマとプロデューサの間でのメッセージのルーティング

- I.4.3 WSRPアプリケーションのモニター

- I.4.4 ロード・バランシングとフェイルオーバー

- I.4.4.1 セッション固定性を持たないWSRPの制限

- I.4.4.2 HTTPセッション固定性を持つWSRPの使用法

- I.5 WSRP相互運用の例

- I.5.1 例の前提条件

- I.5.2 例のプロジェクトとフォルダ

- I.5.3 モニターの例

- I.5.3.1 ステップ1: WSDLリソースの定義

- I.5.3.2 ステップ2: ビジネス・サービスの作成

- I.5.3.3 ステップ3: プロキシ・サービスの作成

- I.5.3.4 別の方法によるプロキシ・サービスの作成

- I.5.3.5 ステップ4: プロデューサからのWSDLの取得

- I.5.3.6 ステップ5: 構成の確認

J Oracle Service Busの問題の診断

- J.1 Service Busの診断について

- J.2 WebLogic診断 フレームワークについて

- J.3 自動診断リポジトリについて

- J.4 サポートされるOracle Service Bus診断ダンプ

- J.4.1 使用可能な診断ダンプのリスト

- J.4.2 派生リソースのキャッシュ診断のダンプ(OSB.derived-caches)

- J.4.2.1 WLSTコマンド・ダンプの説明と実行

- J.4.3 JMS相関表診断ダンプ(OSB.jms-async-table)

- J.4.3.1 WLSTコマンド・ダンプの説明と実行

- J.4.4 MQ相関表診断ダンプ(OSB.mq-async-table)

- J.4.4.1 WLSTコマンド・ダンプの説明と実行

- J.5 RDAを使用した診断ダンプの生成

例一覧

- 36-1 WSDLの型の例

- 36-2 WSDLメッセージの例

- 36-3 WSDLのポート・タイプと操作の例

- 36-4 WSDLのバインディングの例

- 36-5 WSDLのサービスとポートの例

- 36-6 ドキュメント・スタイルのサンプルWebサービスのWSDL

- 36-7 body変数の値

- 36-8 body変数の値

- 36-9 RPCスタイルのサンプルWebサービスのWSDL

- 36-10 body変数の値

- 36-11 body変数の値

- 36-12 WSDLリソース

- 36-13 ポートに基づいたプロキシ・サービスの有効なWSDL

- 36-14 バインディングに基づいたプロキシ・サービスの有効なWSDL

- 37-1 リクエスト変数(myreq)のコンテンツ

- 37-2 SOAPリクエスト・ヘッダー変数(reqheader)のコンテンツ

- 37-3 サービス・コールアウト・アクションの結果としてサービスに送信されるメッセージ

- 37-4 サービス・コールアウト・アクションの結果としてサービスから送信されるレスポンス・メッセージ

- 37-5 サービス・コールアウト・アクションの結果であるレスポンス変数(myresp)のコンテンツ

- 37-6 アウトバウンド・メッセージのコンテンツ

- 37-7 helloWorldサービスからのレスポンス・メッセージのコンテンツ

- 37-8 出力変数(output1)のコンテンツ

- 37-9 myreq変数のコンテンツ

- 37-10 myresp変数のコンテンツ

- 37-11 Oracle Service Busのfault変数のコンテンツ - トンラスポート・エラー、エラー・レスポンス・ペイロードなし

- 37-12 Oracle Service Busのfault変数のコンテンツ - トランスポート・エラー、エラー・レスポンス・ペイロードあり

- 37-13 サービス・コールアウトから返されるSOAPフォルト

- 37-14 Oracle Service Busのfault変数のコンテンツ - SOAPフォルト

- 37-15 サービス・コールアウトで生成されるフォルトの詳細のXMLスキーマ

- 37-16 サンプルXMLファイル

- 37-17 サンプルWSDL

- 39-1 Message Context.xsd

- 40-1 LoanGateway3のテスト・メッセージ

- 40-2 MFLファイルの内容

- 40-3 テスト・コンソールでのXML入力

- 40-4 MFLのテスト・コンソールでの結果

- 41-1 プロキシ・サービスからビジネス・サービスへのマッピング例

- 41-2 詳細のバインディング・テンプレートへのマッピング例

- 41-3 tModelInstanceDetailsの例

- 41-4 メッセージング・サービスのマッピング例

- 43-1 データベースからのビジネス・サービスのURIの取得

- 43-2 DISPATCH_MAPPING表

- 43-3 リクエスト・メッセージの$bodyの例

- 43-4 データベースからのXMLTypeデータの取得

- 43-5 XMLコンテンツをfn-bea:execute-sql()の結果に置き換えた後の$body

- 46-1 APIを使用したOracle Service Bus構成のインポート時の操作設定の保持

- B-1 alsbdebug.xmlファイル

- B-2 configfwkdebug.xmlファイル

- D-1 モニターが有効になっているプロキシ・サービスについての統計を取得するサンプル・プログラム

図一覧

- 23-1 アクション構成スケルトンの例

- 36-1 ビジネス・サービスの結果キャッシュ

- 37-1 メッセージ・フローのコンポーネント

- 37-2 エラー・ハンドラのメッセージ・フロー

- 37-3 ステージ・エラー・ハンドラのアクション

- 37-4 変数の構造 - body

- 37-5 変数の構造 - 新しい構造の追加

- 37-6 変数の構造 - InvoiceType

- 37-7 変数の構造 - Invoice

- 37-8 変数の構造 - body to PO

- 37-9 変数の構造 - Business Service

- 37-10 変数の構造 - attachments

- 37-11 「WS-I準拠の適用」チェック・ボックス

- 38-1 静的分割-結合 - 既知の数のサービス・リクエスト

- 38-2 動的分割-結合 - 未知の数のサービス・リクエスト

- 38-3 分割-結合フレームワーク

- 40-1 直接呼出しによるプロキシ・サービスのテスト

- 40-2 間接呼出しによるプロキシ・サービスのテスト

- 40-3 テスト・シナリオの例

- 40-4 loanGateway3プロキシ・サービスの呼出しのトレース

- 40-5 XQueryテストへの入力

- 40-6 テスト・コンソールの「トランスポート」パネル

- 41-1 Oracle Service BusとUDDIの統合

- 41-2 組織とサービスを表すUDDIエンティティ

- 41-3 プロキシ・サービスとUDDIレジストリの通信

- 41-4 ドメイン間デプロイメントのビジネス・ケース例

- 41-5 ドメイン間デプロイメントのビジネス・ケース例

- 41-6 WSDLサービスからUDDIへのマッピング

- 41-7 Oracle Service BusからUDDIへのマッピング

- 46-1 Oracle Service Busのモニター・フレームワーク

- 46-2 集約間隔とサンプル間隔の説明

- 46-3 プロキシ・サービスの操作設定の表示

- 46-4 ビジネス・サービスの操作設定の表示

- 46-5 「グローバル設定」ページ

- 46-6 「アラート・ルールの詳細の表示」ページ

- 46-7 SLAアラートのOracle Service Busダッシュボード

- 46-8 ビジネス・サービスの「サービスのモニターの詳細」ページ - 現在の集約間隔

- 46-9 プロキシ・サービスの「サービスのモニターの詳細」ページ - 現在の集約間隔

- 46-10 「サービス・ヘルス」タブ - 最後のリセット以降

- 46-11 ビジネス・サービスの「サービスのモニターの詳細」ページ - 最後のリセット以降

- 46-12 プロキシ・サービスの「サービスのモニターの詳細」ページ - 最後のリセット以降

- 46-13 ビジネス・サービスの「サービスのモニターの詳細」ページ - 「サービスのメトリック」タブ

- 46-14 「サービスのモニターの詳細」ページ - 「操作」ビュー

- 46-15 「サービスのモニターの詳細」ページ - プロキシ・サービスの「パイプラインのメトリック」ビュー

- 46-16 「サービスのモニターの詳細」ページ - プロキシ・サービスの「アクションのメトリック」ビュー

- 46-17 「サービスのモニターの詳細」ページ - ビジネス・サービスのエンドポイントURI

- 46-18 パイプライン・アラートのOracle Service Busダッシュボード

- 46-19 サーバー・ヘルス

- 46-20 ドメイン・ログ・ファイル・エントリ

- 47-1 レポート・フレームワーク

- 47-2 JMSレポート・プロバイダ

- 47-3 キー名とキー値

- 47-4 キーおよびそれに関連付けられている値の表示

- 47-5 メッセージの概要

- 48-1 「アラート・ルール条件の構成」ページ

- 49-1 トレース・ログの例

- 51-1 スマート検索へのアクセス

- I-1 プロデューサ・アプリケーションとコンシューマ・アプリケーション間の基本のリクエスト/レスポンス・フロー

- I-2 Oracle Service Busによって拡張されたWSRPのリクエスト/レスポンス・フロー

- I-3 インバウンドからアウトバウンドへ処理を渡す

表一覧

- 1-1 サポート対象の標準と実装

- 1-2 Oracle WebLogicファミリ・プラットフォーム

- 1-3 Oracleファミリ・プラットフォーム

- 1-4 サード・パーティ・プラットフォーム

- 3-1 チェンジ・センターのタスクおよびセッション情報

- 3-2 セッション内で行われた構成の変更内容

- 3-3 アクティブ化された構成の変更内容

- 3-4 タスクの詳細

- 3-5 セッションの詳細

- 3-6 エラー

- 3-7 同時更新

- 4-1 「プロジェクト・ビュー」ページ - オプションとコントロール

- 4-2 「プロジェクト・ビュー」ページまたは「フォルダ・ビュー」ページ - オプションとコントロール

- 4-3 リソースの作成

- 4-4 「リソースのロード - zipファイルの選択とタイプ拡張子の確認」ページ - オプションとコントロール

- 4-5 「リソースのロード: URLからリソースをロード」ページ - オプションとコントロール

- 4-6 「リソースのロード: ロードされたリソースの確認」ページ - オプションとコントロール

- 4-7 「プロジェクト・ビュー」ページまたは「フォルダ・ビュー」ページ - オプションとコントロール

- 4-8 「プロジェクト参照」ページ - オプションとコントロール

- 4-9 「変更履歴」ページ - オプションとコントロール

- 4-10 リソース・ブラウザから使用できるリソースの種類

- 5-1 XMLスキーマの情報

- 5-2 XMLスキーマの詳細

- 5-3 XMLの構造の詳細

- 5-4 XMLスキーマの詳細テキスト

- 5-5 未解決のXMLスキーマの詳細

- 6-1 アラート宛先の詳細

- 6-2 アラート宛先の構成の詳細

- 7-1 WSDLの詳細

- 7-2 WSDLの詳細

- 7-3 WSDL構造の詳細

- 7-4 WSDLテキストの詳細

- 7-5 未解決のWSDL参照の詳細

- 8-1 JARの詳細

- 8-2 JAR情報

- 8-3 JAR構成の詳細

- 8-4 JARの依存関係情報

- 8-5 JARの依存関係の詳細

- 9-1 MQ接続の詳細

- 9-2 MQ接続パラメータ

- 9-3 MQ接続の詳細

- 10-1 分割-結合の詳細

- 10-2 分割-結合パラメータ

- 10-3 分割-結合の詳細

- 10-4 分割-結合操作設定

- 11-1 XQueryトランスフォーメーションの詳細

- 11-2 XQueryトランスフォーメーション・リソースの詳細

- 12-1 WS-Policy情報

- 12-2 WS-Policyの詳細

- 13-1 JCAバインドの情報

- 13-2 JCAバインドの詳細

- 14-1 XMLドキュメントの詳細

- 14-2 XMLドキュメントの詳細

- 15-1 XSLトランスフォーメーションの詳細

- 15-2 XSLトランスフォーメーション・リソースの詳細

- 15-3 XSLトランスフォーメーション・テキストの詳細

- 16-1 MFLの詳細

- 16-2 MFLリソースの詳細

- 17-1 サービス・アカウント情報

- 17-2 リソース・タイプのオプション

- 17-3 サービス・アカウントの詳細

- 18-1 サービス・キー・プロバイダ情報

- 18-2 認証オプション

- 18-3 サービス・キー・プロバイダの詳細

- 19-1 「ビジネス・サービスの作成/ビジネス・サービスの編集 - 全般的な構成」ページ

- 19-2 「ビジネス・サービスの作成/ビジネス・サービスの編集 - メッセージ・タイプの構成」ページ

- 19-3 「ビジネス・サービスの作成/編集 - トランスポート構成」ページ

- 19-4 「ビジネス・サービスの作成/ビジネス・サービスの編集 - BPEL-10gトランスポート構成」ページ

- 19-5 「ビジネス・サービスの作成/編集 - DSPトランスポート構成」ページ

- 19-6 「 ビジネス・サービスの作成/編集 - EJBトランスポート構成」ページ

- 19-7 「ビジネス・サービスの作成/ビジネス・サービスの編集 - 電子メール・トランスポート構成」ページ

- 19-8 「ビジネス・サービスの作成/編集 - ファイル・トランスポート構成」ページ

- 19-9 「ビジネス・サービスの作成/編集 - フロー・トランスポート構成」ページ

- 19-10 「ビジネス・サービスの作成/編集 - FTPトランスポート構成」ページ

- 19-11 「ビジネス・サービスの作成/ビジネス・サービスの編集 - HTTPトランスポート構成」ページ

- 19-12 「JCAトランスポート構成」ページ

- 19-13 「JEJBトランスポート構成」ページ

- 19-14 「ビジネス・サービスの作成/ビジネス・サービスの編集 - JMSトランスポート構成」ページ

- 19-15 「ビジネス・サービスの作成/編集 - MQトランスポート構成」ページ

- 19-16 「ビジネス サービスの作成/編集 - SB構成」ページ

- 19-17 「ビジネス・サービスの作成/ビジネス・サービスの編集 - SFTPトランスポート構成」ページ

- 19-18 「ビジネス・サービスの作成/ビジネス・サービスの編集 - SOA-DIRECTトランスポート構成」ページ

- 19-19 「ビジネス・サービスの作成/ビジネス・サービスの編集 - Tuxedoトランスポート構成」ページ

- 19-20 「ビジネス サービスの作成/編集 - WSトランスポート構成」ページ

- 19-21 「ビジネス・サービスの作成/ビジネス・サービスの編集 - メッセージ処理構成」ページ

- 19-22 「ビジネス・サービスの概要」ページ

- 19-23 「ビジネス・サービスの表示: 構成の詳細」ページ

- 19-24 「ビジネス・サービスの表示 - ポリシー」ページ

- 19-25 「ビジネス・サービスの表示 - セキュリティ」ページ

- 20-1 「プロキシ・サービスの作成/プロキシ・サービスの編集 - 全般的な構成」ページ

- 20-2 「プロキシ・サービスの作成/プロキシ・サービスの編集 - メッセージ・タイプの構成」ページ

- 20-3 「プロキシ・サービスの作成/編集 - トランスポート構成」ページ

- 20-4 「プロキシ・サービスの作成/編集 - 電子メール・トランスポート構成」ページ

- 20-5 「プロキシ・サービスの作成/編集 - ファイル・トランスポート構成」ページ

- 20-6 「プロキシ・サービスの作成/編集 - FTPトランスポート構成」ページ

- 20-7 「プロキシ・サービスの作成/プロキシ・サービスの編集 - HTTPトランスポート構成」ページ

- 20-8 「JCAトランスポート構成」ページ

- 20-9 「JEJBトランスポート構成」ページ

- 20-10 プロキシ・サービスの作成/編集 - JMSトランスポートの構成ページ

- 20-11 「プロキシ・サービスの作成/編集 - MQトランスポート構成」ページ

- 20-12 プロキシ・サービスの作成/編集 - SBトランスポートの構成ページ

- 20-13 プロキシ・サービスの作成/編集 - SFTPトランスポートの構成ページ

- 20-14 プロキシ・サービスの作成/編集 - Tuxedoトランスポートの構成ページ

- 20-15 プロキシ・サービスの作成/編集 - WSトランスポートの構成ページ

- 20-16 プロキシ・サービスの作成/編集 - 操作選択の構成ページ

- 20-17 「プロキシ・サービスの作成/プロキシ・サービスの編集 - メッセージ処理」ページ

- 20-18 「プロキシ・サービスのサマリー」ページ

- 20-19 「プロキシ・サービスの表示: 構成の詳細」ページ

- 20-20 「プロキシ・サービス - ポリシー」ページ

- 20-21 プロキシのサービス - セキュリティの構成ページのビュー

- 21-1 メッセージ・フロー - 通信アクション

- 21-2 メッセージ・フロー - フロー制御アクション

- 21-3 メッセージ・フロー - メッセージ処理アクション

- 21-4 メッセージ・フロー - レポート・アクション

- 21-5 ステージ構成の編集タスク

- 21-6 サービス・コールアウトの構成オプション

- 21-7 ログ・アクションの重大度

- 22-1 「メッセージ・フローの編集」ページのアイコンとオプション

- 23-1 パレット

- 23-2 エディタのテキスト・フィールドに項目を貼り付ける方法

- 23-3 新しい変数の構造の作成

- 24-1 エラー・ハンドラの表示と変更

- 25-1 ユーザー情報

- 25-2 ユーザーの詳細

- 25-3 グループ情報

- 25-4 グループの詳細

- 25-5 ロール情報

- 25-6 条件の述部のオプション

- 25-7 ロール条件のオプション

- 25-8 ロールの詳細

- 25-9 ロールのオプション

- 25-10 ポリシーの詳細

- 25-11 ポリシーの詳細

- 25-12 条件の述部のオプション

- 25-13 ポリシー条件のオプション

- 26-1 SLAアラートの履歴情報

- 26-2 パイプライン・アラートの履歴情報

- 26-3 アラートのパージのオプション

- 26-4 アラートの詳細

- 26-5 サービスのモニター情報

- 26-6 プロキシ・サービスの情報

- 26-7 プロキシ・サービスの操作設定の構成

- 26-8 ビジネス・サービスの情報

- 26-9 ビジネス・サービス操作設定の構成

- 26-10 サービス・メトリック情報

- 26-11 サービス・メトリック

- 26-12 操作メトリック

- 26-13 パイプライン・メトリック

- 26-14 アクション・メトリック

- 26-15 エンドポイントURIメトリック

- 26-16 サーバー概要の詳細

- 26-17 ドメイン・ログの概要情報

- 26-18 ドメイン・ログの詳細

- 26-19 アラート・ルール情報

- 26-20 アラート間隔設定

- 26-21 カウント・オペランドの詳細

- 26-22 アラート・ルール - 全般的な構成

- 26-23 アラート・ルールの条件

- 27-1 サービスのサマリー情報

- 27-2 プロキシ・サービスのサマリー情報

- 27-3 ビジネス・サービスの概要情報

- 27-4 分割-結合のサマリー情報

- 27-5 アラート宛先の概要情報

- 27-6 SLAアラート・ルールの概要情報

- 27-7 ユーザー・プリファレンス - オプションおよびコントロール

- 28-1 メッセージのフィルタ・パラメータ

- 28-2 メッセージ(レポート)のサマリーの詳細

- 28-3 メッセージの構成パラメータ

- 28-4 インバウンド・サービスの詳細

- 28-5 アウトバウンド・サービスの詳細

- 28-6 レポート・インデックスの詳細

- 28-7 エラー情報の詳細

- 28-8 レポート本文の詳細

- 28-9 メッセージのパージ・オプション

- 29-1 リソース情報

- 29-2 リソース・ファイルの詳細

- 29-3 インポートの概要情報

- 30-1 UDDIレジストリの構成の設定

- 30-2 UDDIレジストリ情報

- 31-1 JNDIプロバイダ情報

- 31-2 JNDIプロバイダ情報

- 31-3 SMTPサーバー情報

- 31-4 SMTPサーバー情報

- 31-5 プロキシ・サーバー情報

- 31-6 プロキシ・サーバー情報

- 32-1 変数のタイプ

- 32-2 カスタマイズの詳細

- 33-1 プロキシ・サービスの構成オプション

- 33-2 プロキシ・サービスのテスト結果

- 33-3 ビジネス・サービスの構成オプション

- 33-4 ビジネス・サービスのテスト結果

- 33-5 MFLオプションの構成

- 33-6 XSLTオプションの構成

- 33-7 XQueryオプションの構成

- 33-8 XQueryテストの構成

- 33-9 XPathオプションの構成

- 33-10 サービスをテストするときにテスト・コンソールで指定するトランスポート・ヘッダーとメタデータの値の制限

- 36-1 上位のWSDL要素

- 36-2 Oracle Service Busでサポートされるプロキシ・サービスのタイプとトランスポート

- 36-3 プロキシ・サービスの様々なタイプの構成のプロパティ

- 36-4 Oracle Service Busでサポートされるビジネス・サービスのタイプとトランスポート

- 36-5 ビジネス・サービスの共通する構成のプロパティ

- 36-6 ビジネス・サービスの様々なタイプの構成のプロパティ

- 36-7 「開発者用Oracle Service Bus」ドメイン・トポロジに対するosb-coherence-override.xmlのデフォルト設定

- 36-8 「Oracle Service Bus」ドメイン・トポロジに対するosb-coherence-override.xmlのデフォルト設定

- 37-1 メッセージ・フローのコンポーネント

- 37-2 メッセージ・フローでのリクエスト・メッセージのパス

- 37-3 メッセージ・フローでのレスポンス・メッセージのパス

- 37-4 通信アクション

- 37-5 フロー制御アクション

- 37-6 メッセージ処理アクション

- 37-7 レポート・アクション

- 37-8 トランスポート・ヘッダー・アクションで指定するトランスポート・ヘッダーの値の制限

- 37-9 エラー・ハンドラのスコープ

- 37-10 配信の保証のタイプ

- 37-11 配信の保証のルール

- 37-12 Oracle Service BusのWS-I準拠チェック

- 39-1 Oracle Service Busの事前定義されたコンテキスト変数

- 39-2 attachments変数の下位要素

- 39-3 service要素の下位要素

- 39-4 transport要素の下位要素

- 39-5 security要素の下位要素

- 39-6 fault変数の下位要素

- 39-7 コンテキスト変数の初期化

- 40-1 デジタル署名と暗号化のシナリオ

- 40-2 IDポリシーのシナリオ(ポリシーにIDアサーションが含まれている場合)

- 41-1 UDDIエンティティの概要

- 41-2 プロキシ・サービスのサービス・タイプとトランスポート

- 41-3 プロキシ・サービスの属性とサービス・タイプ

- 41-4 トランスポート属性

- 41-5 サービス・タイプの属性

- 41-6 CategorizationGroup tModelのタイプ

- 41-7 Categorization tModelのタイプ

- 41-8 Transport tModelのタイプ

- 41-9 Protocol tModelのタイプ

- 45-1 WLSのロールとOracle Service Busのロールの関係

- 46-1 サンプル間隔

- 46-2 SLAアラートの検索条件

- 46-3 パイプライン・アラートの検索条件

- 46-4 管理コンソールに用意されているサービスの操作設定

- 46-5 グローバル・レベルの操作設定の使用法

- 46-6 SLAアラートのOracle Service Busダッシュボード

- 46-7 パイプライン・アラートのダッシュボード

- 46-8 ログ概要のメッセージ

- 46-9 サーバー情報

- 47-1 メッセージ・レポートのサマリー

- 47-2 全般的な構成のメッセージ情報

- 47-3 インバウンド・サービスのメッセージ情報

- 47-4 アウトバウンド・サービスのメッセージ情報

- 47-5 レポート・インデックスのメッセージ情報

- 47-6 フォルトのメッセージ情報

- 47-7 レポート本文のメッセージ情報

- 48-1 エンドポイントURIのステータス

- 50-1 重要な定義

- 50-2 スロットルの操作設定

- 50-3 スロットルのメトリック

- 51-1 基本検索の条件

- 51-2 詳細フィルタを使用したプロキシ・サービスとビジネス・サービスの検索

- 51-3 すべてのサービスの概要について

- 51-4 詳細フィルタを使用したプロキシ・サービスの検索

- 51-5 詳細フィルタを使用したビジネス・サービスの検索

- 51-6 詳細フィルタを使用した分割-結合の検索

- 51-7 詳細フィルタを使用したアラート宛先の検索

- 51-8 アラート宛先の概要

- 51-9 詳細フィルタを使用したSLAアラート・ルールの検索

- 51-10 「SLAアラート概要」表

- 52-1 ユーザー・プリファレンス

- A-1 Oracle Service Busのエラー・コード - トランスポート・ランタイム・エラー(BEA-380000からBEA-380099)

- A-2 Oracle Service Busのエラー・コード - メッセージ・フロー・ランタイム・エラー(382000から382499)

- A-3 Oracle Service Busのエラー・コード - アクション・エラー(382500から382999)

- A-4 Oracle Service Busのエラー・コード - セキュリティ・エラー(386000から386999)

- A-5 Oracle Service Busのエラー・コード - UDDIエラー(394500から394999)

- B-1 Oracle Service Busのデバッグ・フラグ

- B-2 構成フレームワークのデバッグ・フラグ

- D-1 SERVICE統計

- D-2 FLOW_COMPONENT統計

- D-3 WEBSERVICE_OPERATION統計

- D-4 エンドポイントURIの統計

- F-1 Oracle Service Busにおける様々な統計

- H-1 IBM DB2データ型マッピング

- H-2 SQL Server 2000データ型マッピング

- H-3 Oracle 8.1.xデータ型マッピング

- H-4 Oracle 9i、Oracle Database 10gデータ型マッピング

- H-5 Sybase 12.5.2データ型マッピング

- H-6 RDBMSデータ型マッピング

- I-1 プロデューサ・サービス

- I-2 WSRP相互運用の例のプロジェクト

- I-3 WSDLリソース定義

- I-4 ビジネス・サービスの構成

- I-5 ビジネス・サービスのサービス属性

- I-6 プロキシ・サービスの構成

- I-7 要求される属性

- I-8 ビジネス・サービスの構成プロパティ

- I-9 wsrpプロジェクトでのXQuery定義

- I-10 プロキシ・サービスの構成プロパティ

- I-11 URIの位置を構成する拡張子の設定

- I-12 置換アクションのユーザー・ネームスペース定義

- J-1 サポートされるOracle Service Bus診断ダンプ

- J-2 JMS相関表診断ダンプ

- J-3 Oracle Service Bus派生リソースのキャッシュ

- J-4 JMS相関表診断ダンプ

- J-5 MQ相関表診断ダンプ

はじめに

ここでは、この『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のドキュメントのアクセシビリティ機能および表記規則について説明します。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートをご購入のOracleのお客様は、My Oracle Supportにアクセスして電子サポートを受けることができます。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info)か、聴覚に障害があるお客様は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

表記規則

このドキュメントでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

斜体

イタリックは、ユーザーが特定の値を指定するプレースホルダー変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

このガイドでのリリース11.1.1.9の新機能

このガイドではいくつかの点が更新されました。次の表には、追加または変更された項が示されています。

既知の問題のリスト(リリース・ノート)については、http://www.oracle.com/technetwork/middleware/docs/soa-aiafp-knownissuesindex-364630.htmlの「Known Issues for Oracle SOA Products and Oracle AIA Foundation Pack」を参照してください。

項

変更

2015年2月

第1章「相互運用性のシナリオと考慮事項」

表1-2「Oracle WebLogicファミリ・プラットフォーム」

Oracle WebLogic Server 10.3.5のサポートがこのリリースでは非推奨であることを反映するよう項が更新されました。

X

第9章 MQ接続

9.2項「MQ接続の追加」

MQマルチインスタンス・フェイルオーバー・サポートの追加を反映するよう項が更新されました。

X

第19章 ビジネス・サービス: 作成と管理

19.2.12項「「HTTPトランスポート構成」ページ」

gzipおよびdeflateアルゴリズムを使用したHTTPペイロードの自動圧縮および解凍の追加を反映するよう項が更新されました。

X

第20章 プロキシ・サービス: 作成と管理

20.2.8項「「HTTPトランスポート構成」ページ」

gzipおよびdeflateアルゴリズムを使用したHTTPペイロードの自動圧縮および解凍の追加を反映するよう項が更新されました。

X

第32章 カスタマイズ

32.1項「環境値の検索と置換」

MQマルチインスタンス・フェイルオーバー・サポートの追加を反映するよう項が更新されました

X

1 相互運用性のシナリオと考慮事項

この章では、オラクルおよびサードパーティの製品、プロトコル、Webサービス標準(SOAPやWS-Securityなど)を含むOracle Service Bus(OSB)でサポートされている製品、標準およびテクノロジをリストします。

この節では、Oracle Service Busの相互運用性について説明します。内容は次のとおりです。

- 1.1項「サポートされる構成」

- 1.2項「サポート対象の標準と実装」

- 1.3項「プラットフォームの相互運用性」

- 1.4項「プラットフォームの相互運用性に関する制限事項」

1.1 サポートされる構成

ベンダーのオペレーティング・システム、JDK、ハードウェアおよびデータベースのサポート情報については、http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.htmlでOracle Fusion Middlewareのサポートされるシステム構成を参照してください。

1.2 サポート対象の標準と実装

Oracle Service Busでは、次の標準と実装がサポートされます。

表1-1 サポート対象の標準と実装

標準/実装

バージョン

電子メール・サーバー

- Microsoft Windows IIS SMTP Server

- Sol/Apache SMTP Server

FTPサーバー

- Microsoft Windows IIS FTP Server

- Sol/Apache FTP Server

- ProFTPDサーバー
注: ProFTPDサーバーは、SFTPトランスポートおよびJCA FTP Adapterでは保証されていますが、FTPトランスポートでは保証されていません。

セキュリティ・プロバイダ

Oracle Service Busでは、WebLogic Server 9.2以降で次のセキュリティ・プロバイダがサポートされます。

Oracle WebLogic Serverのセキュリティ・プロバイダ

- WebLogic Serverデフォルト認証プロバイダ

- WebLogic Serverデフォルト資格証明マッピング・プロバイダ

- WebLogic Server PKI資格証明マッピング・プロバイダ

- WebLogic Server Javaキーストア(JKS)

- WebLogic Serverのデフォルトのユーザー名トークンおよびX509トークン・ハンドラ

- WebLogic Server XACML認可プロバイダ

- WebLogic Server XACMLロール・マッピング・プロバイダ

Oracleプラットフォームのセキュリティ・プロバイダ

- WebLogic SAML IDアサーション・プロバイダV2

- WebLogic SAML資格証明マッピング・プロバイダV2

Webサービス

- WSDL 1.1

- SOAP 1.1および1.2

- SOAP with (MIME) Attachments (SwA)

- XML-binary Optimized Packaging (XOP)を使用するSOAP Message Transmission Optimization Mechanism (MTOM)

- Universal Description, Discovery, and Integrationバージョン3 (UDDI v3)

- WS-ReliableMessaging 1.0

- WS-Addressing 1.0

- XACML 2.0

- WS-Inspection

- Web Services Interoperability Basic Profile (WS-I BP) 1.1

- Web Services Interoperability Basic Security Profile (WS-I BSP) 1.0

WS-I Basic Security Profile: Oracle Service Busは、WS-I(Web Services Interoperability Organization)の「Basic Security Profile」仕様(前述のサポートされているバージョンを参照)に準拠し、この仕様をWebサービスの相互運用性の基準と考えています。

ただし、WS-Iに準拠していないSOAP/HTTPメッセージがOracle Service Busで拒否されない場合もあります。このため、WS-Iに一部準拠していないサービス・エンドポイントを持つ実装を構築することができます。

プロキシ・サービスまたはビジネス・サービスを構成する場合は、Oracle Service Bus管理コンソールを使用して、Oracle Service BusでそのサービスにWS-I準拠を適用するかどうかを指定できます。プロキシ・サービスに対してWS-I準拠を構成すると、サービス・コールアウトやルート・ノードを使用して呼び出されたサービス、またはプロキシ・サービス上で呼び出されたサービスからのレスポンスとしてプロキシ・サービスがメッセージを受信するときに、WS-I準拠チェックが実行されます。

準拠チェックが適用されるメッセージのタイプと、それらのチェックの特性については、37.16項「WS-I準拠」を参照してください。

Webサービス・セキュリティ

Oracle WSMポリシーを使用したセキュリティ

- WS-Security 1.0および1.1

- WS-Security: Username Token Profile 1.1

- WS-Security: X.509 Token Profile 1.1

- WS-Security: SAML Token Profile 1.1(11.1.1.3ではSAML 1.1)、(11.1.1.4ではSAML 2.0)

- WS-Security: Kerberos Token Profile 1.1

- ポリシーの通知と認識:

- WS-Policy 1.2 (11.1.1.3)、1.5 (11.1.1.4)

- WS-PolicyAttachment 1.2(11.1.1.3)、1.5(11.1.1.4)

- WS-SecurityPolicy 1.1(11.1.1.3)、1.2および1.3(11.1.1.4)

Java/Oracleプラットフォームのセキュリティ・プロバイダ(ログイン・モジュール)

- SAMLログイン・モジュール

- SAML 2ログイン・モジュール

- Kerberosログイン・モジュール

- Digest認証方式ログイン・モジュール

- X509証明書ログイン・モジュール

- WSS Digestログイン・モジュール

- ユーザー認証ログイン・モジュール

- ユーザー・アサーション・ログイン・モジュール

WLS 9.xポリシーを使用したセキュリティ

- WS-Security 1.0

- WS-Security: Username Token Profile 1.0

- WS-Security: X.509 Token Profile 1.0

- WS-Security: SAML Token Profile 1.0 (SAML 1.0および1.1)

- ポリシーの通知と認識:

- WS-Policy 1.0および1.2 (WS-ReliableMessaging 1.0をサポートするWSトランスポートの場合のみ)

- WS-PolicyAttachment 1.0および1.2(WS-ReliableMessaging 1.0をサポートするWSトランスポートの場合のみ)

- WS-SecurityPolicy - 2002年12月18日ドラフト・バージョンのWebサービス・セキュリティ・ポリシー言語(WS-SecurityPolicy 1.0)仕様に記述されたアサーションに基づくWebLogic Server独自の形式で、1.2 はWS-ReliableMessaging 1.0をサポートするWSトランスポートの場合のみ使用され、トランスポート・レベル・セキュリティ・アサーションのみを定義します。

HTTP

1.01.1

EJB

- 2.1

- 3.0

SNMP

- SNMPv1

- SNMPv2c

WebLogic JMS

WebLogic Server

- 8.1 SP4-SP6

- 9.0, 9.1, 9.2

- 10.0

- 10.3.x

サード・パーティJMS

JMS仕様を実装するすべてのJMSプロバイダは、外部JMSプロバイダとしてOracle WebLogic Serverでサポートされています。

Microsoft .NET 1.1とSOAP 1.1の組合せ

スタイル・エンコーディング:ドキュメント・リテラル、RPCエンコード

- Oracle Service Busでは、ドキュメント・リテラルがサポートされ、.NETサービスと相互運用できます。

- Oracle Service Busは、着信および発信(ルーティングおよびパブリッシュ)時に、.NETのRPCエンコード・サービスと相互運用できます。この場合、パラメータのタイプに関係なく相互運用が可能です。

- Oracle Service Busサービス・コールアウトは、.NETのRPCエンコード・サービスと相互運用できない場合があります。

注意: DIME添付はOracle Service Busではサポートされません。

.NET 1.1セキュリティ構成の制限

.NET Framework 1.1の次のセキュリティ構成は、Oracle Service Busメッセージ・レベルのセキュリティと相互運用できません。

- WebLogicから.NET WSE 2.0 (Webservices Security Extension)へのメッセージ本文の署名は相互運用できない。ただし、WSEはデフォルトで追加ヘッダー(WS-Addressingやtimestampなど)を要求する。このため、Oracle Service Busメッセージ・レベルのセキュリティを.NET Webサービスと相互運用できるようにするには、.NETセキュリティ・ポリシー構成からメッセージ本文以外のメッセージ述部をすべて削除する必要があります。

- Oracle Service Busと.NETを相互運用するには、リプレイ検出属性である<replayDetection>を.NET側でdisabledに設定する必要があります。

1.4.1項「.NETの相互運用性に関する制限事項」も参照してください。

Microsoft .NET 2.0とSOAP 1.1/SOAP 1.2との組合せ

1.4.1項「.NETの相互運用性に関する制限事項」を参照してください。

Microsoft .NET 3.0とSOAP 1.1/SOAP 1.2との組合せ

1.4.1項「.NETの相互運用性に関する制限事項」を参照してください。

Microsoft .NET 3.5とSOAP 1.1/SOAP 1.2との組合せ

1.4.1項「.NETの相互運用性に関する制限事項」を参照してください。

WebLogic JMS Client for Microsoft .Net (.Net C#クライアント・アプリケーションの場合)

『Oracle Fusion Middleware Oracle WebLogic Server Microsoft .NET対応のWebLogic JMSクライアントの使用』を参照。

1.3 プラットフォームの相互運用性

相互運用性のシナリオをサポートするために必要になる場合があるパッチまたは更新に関する最新情報については、 「Oracle Service Busリリース・ノート」 を参照してください。

Oracle Service Busは、次の表に示すプラットフォームと相互運用します。

表1-2 Oracle WebLogicファミリ・プラットフォーム

相互運用性

バージョン

Oracle WebLogic Server

- 10.3.6

Oracle SOA Suite

- 11.1.1.3以上

WebLogicプラットフォームとのWS-*およびJMS相互運用性

- 8.1 SP4-SP6 (WS-Securityは除く)

- 9.0、 9.1、9.2 (WS-Securityは除く)

- 10.0 (WS-Securityを除く)

- 10.3.x

Web Services for Remote Portlets (WSRP)とOracle WebLogic Portalの組合せ

- 9.2

- 10.0

- 10.2

- 10.3.x

Oracle WebLogic Portal

- 8.1 SP6

- 9.2

- 10.0

- 10.2

- 10.3

WebLogic Integration

- 8.1 SP6

- 9.2

- 10.2

- 10.3

WebLogic IntegrationのMQイベント・ジェネレータおよびコントロール

- 8.1 SP4以降

- 9.2

表1-3 Oracleファミリ・プラットフォーム

相互運用性

バージョン

Oracle Service Bus

- 2.6

- 2.6 RP1

- 3.0

- 10gR3 (10.3)

- 10.3.1

- 11.1.1.3以上

Oracle Enterprise Pack for Eclipse(OEPE)

11.1.1.8.0 on Eclipse 3.7.1

Oracle Enterprise Repository

- 2.6

- 3.0 RP1

- 10.3

- 11.1.1.3以上

Oracle Service Registry

- 3.0

- 11.1.1.3

Oracle Enterprise Security

- 3.0

- 10.3

Oracle Web Services Manager

- 10.1.3.x以上

- 11.1.1

Oracle BPEL Process Manager

- 10.1.3.4.x以上

Oracle JDeveloper (アダプタ・アーティファクトの開発用)

- 11.1.1.3以上

Oracle JCA Adapter for AQ脚注 2

- 11.1.1.3以上

Oracle JCA Adapter for Database脚注 2

- 11.1.1.3以上

Oracle Adapter for Oracle Applications脚注 2

- 11.1.1.3以上

Oracle JCA Adapter for Files/FTP脚注 2

- 11.1.1.3以上

Oracle JCA Adapter for Sockets脚注 2

- 11.1.1.3以上

Oracle BAM Adapter (Business Activity Monitoring)脚注 2

- 11.1.1.3以上

PeopleSoft (Oracle Application Adapters)

- 11.1.1.4以上

SAP R/3 (Oracle Application Adapters

- 11.1.1.4以上

Siebel (Oracle Application Adapters

- 11.1.1.4以上

J.D. Edwards (Oracle Application Adapters

- 11.1.1.4以上

Oracle Data Service Integrator

- 2.5

- 3.0 (WebLogic Server 9.2)

- 3.01 (WebLogic Server 9.2)

- 3.2 (WebLogic Server 10.0.1)

- 10g リリース3

Oracle Tuxedo/WebLogic Tuxedo Connector

- 8.1

- 9.x

- 10.0

脚注 1 これらのアダプタは、Oracle SOAをインストールしたOracle JDeveloper 11.1.1.3以上を使用して開発する必要があります。

脚注 2 これらのアダプタは、Oracle Service Busとともにインストール済です。他のアダプタはOracle Software Delivery Cloudから別途ダウンロードする必要があり、また、追加ライセンスが必要です。

表1-4 サード・パーティ・プラットフォーム

相互運用性

バージョン

IBM WebSphere MQ

- 7.0

- 7.0.1.8

- 7.5

SOAP 1.2ではなく、SOAP 1.1でのサポート。1.4.3項「WebSphereの相互運用性に関する制限事項」を参照してください。

注: バージョン5.3および6.0はもうIBMではサポートされていません。これらのバージョンはOracle Service Busでは非推奨です。

IBM WebSphere EJB/RMI

6.0

IBM WebSphere WS

6.1 (Fixpack 15)

SOAP 1.2ではなく、SOAP 1.1でのサポート。1.4.3項「WebSphereの相互運用性に関する制限事項」を参照してください。

Tibco Enterprise Message Service

Oracle WebLogic ServerでJMS 1.2仕様を満たすすべてのバージョン

Apache Axis

- 1.2.1

- 1.4.1

SOAP 1.2ではなく、SOAP 1.1でのサポート。1.4.2項「Apache Axisの相互運用性に関する制限事項」を参照してください。

BMC Patrol

http://www.softwareinnovations.co.uk/products/patrol.html

1.4 プラットフォームの相互運用性に関する制限事項

この項では、様々なプラットフォームでの相互運用性に関する制限事項について説明します。

1.4.1 .NETの相互運用性に関する制限事項

- 基本認証を使用して、Oracle Service Busと通信する必要がある.NETクライアントは、最初のリクエストで認証情報を送信する必要があります。そうしないと、Oracle Service Busは.NETクライアントに資格証明を要求しないため、呼出しに失敗します。

- Oracle Service Busの基本認証を使用しての.NETとの相互運用性は、Windows 2003/IIS 6.0と構成されると正しく機能します。ただし、Windows XP/IIS 5.1上で基本認証を使用しての.NETとの相互運用性はサポートされません。

- .NETクライアントのメッセージ・レベルのセキュリティに関する相互運用性は、SOAP 1.1を使用した場合のみ機能します。WSE SOAPプロトコル・ファクトリでは、SOAP 1.2を使用したセキュリティはサポートされません。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の.Net 2.0でのメッセージ・レベルのセキュリティに関する説明を参照してください。

1.4.2 Apache Axisの相互運用性に関する制限事項

Axisで生成されたRPCエンコードWSDLをインポートした場合に未解決の参照が存在します

Axisで生成されたRPCエンコードWSDLをOracle Service Busにインポートすると、解決の必要な参照がWSDLに含まれることを示す警告メッセージが表示される場合があります。

その場合、インポートされたWSDLの構造ビューをOracle Service Bus管理コンソールの「WSDLの表示」ページで開くと、「インポート」セクションに未解決のスキーマ・インポートが表示されます。

この問題は、Oracle Service Bus環境でWSDLを使用する機能に影響しません。この警告が表示されないようにするには、WSDLファイルから未解決のスキーマを削除します。

Axisで生成されたWSDLのSOAPAction属性が空の文字列に初期化されます

Axisで生成されたWSDLには、空の文字列に初期化されたSOAPAction属性が含まれます。このWSDLを使用してOracle Service Busビジネス・サービスを構成すると、「SOAPActionがありません」エラーが発生して、このWebサービスへの呼出しが失敗します。

この問題を回避し、Oracle Service BusからAxisへのWebサービスの呼出しが正常に行われるようにするには、プロキシ・サービスのメッセージ・フローにトランスポート・ヘッダーを構成する必要があります。具体的には、トランスポート・ヘッダーを設定リクエスト・アクションをメッセージ・フローのルート内に追加し、「パイプラインを介してすべてのヘッダーを渡す」オプションを有効にする必要があります。

回避策を実施した場合でも、この問題によってOracle Service Busテスト・コンソールからの呼出しが失敗します(「SOAPActionがありません」エラーが発生します)。テスト・コンソールからの呼出しが機能するようにするには、メッセージ・フローのルートのトランスポート・ヘッダーを設定リクエスト・アクションにSOAPAction HTTPヘッダーを設定する必要があります。

一方向の操作のHTTPレスポンスとステータス・コード

ドキュメント・リテラル・タイプおよびRPCエンコード・タイプのWebサービスでは、一方向の操作を呼び出すと、ステータス・コード「202 OK」と共に空のHTTPレスポンスがAxisからクライアントへ送信されることが予期されます。しかし、Axisからは、ステータス・コード「200 OK」と共に、空でないHTTPレスポンスが送信されます。このHTTPレスポンスのBodyには、空のSOAPエンベロープが含まれます。

その結果、予期された結果に反して、Oracle Service Busのプロキシ・サービスまたはビジネス・サービスからクライアントへ同じレスポンス・コード「200 OK」が送信されます。

エラーが発生する一方向の操作のHTTPレスポンスおよびステータス・コード

ドキュメント・リテラル・タイプおよびRPCエンコード・タイプのWebサービスでは、エラーが発生する一方向の操作を呼び出すと、ステータス・コード「202 OK」と共に空のHTTPレスポンスがAxisからクライアントへ送信されることが予期されます。しかし、Axisからは、ステータス・コード「500 Internal Server Error」と共に、空のSOAPエンベロープをBodyとする空ではないHTTPレスポンスが送信されます。

その結果、予期された結果に反して、Oracle Service Busのプロキシ・サービスまたはビジネス・サービスからクライアントへ同じレスポンス「500 Internal Server Error」が送信されます。

1.4.3 WebSphereの相互運用性に関する制限事項

一方向の操作のHTTPレスポンスとステータス・コード

ドキュメント・リテラル・タイプおよびRPCエンコード・タイプのWebサービスでは、一方向の操作を呼び出すと、ステータス・コード「202 OK」と共に空のHTTPレスポンスがWebSphereからクライアントへ送信されることが予期されます。しかし、WebSphereからは、ステータス・コード「200 OK」と共に、空でないHTTPレスポンスが送信されます。このHTTPレスポンスのBodyには、空のSOAPエンベロープが含まれます。

その結果、予期された結果に反して、Oracle Service Busのプロキシ・サービスまたはビジネス・サービスからクライアントへ同じレスポンス・コード「200 OK」が送信されます。

第I部

Oracle Service Busコンソール・ヘルプ

ここでは、実行時のOracle Service Busの管理に関する、Oracle Service Bus管理コンソール・オンライン・ヘルプ・システムのトピックを示します。次の章が含まれます。

- 第2章「Oracle Service Busについて」

- 第3章「チェンジ・センター」

- 第4章「プロジェクト、フォルダ、およびリソースの操作」

- 第5章「XMLスキーマ」

- 第6章「アラート宛先」

- 第7章「WSDL」

- 第8章「JAR」

- 第9章「MQ接続」

- 第10章「分割-結合」

- 第11章「XQueryトランスフォーメーション」

- 第12章「カスタムWS-Policy」

- 第13章「JCAバインド」

- 第14章「XMLドキュメント」

- 第15章「XSLトランスフォーメーション」

- 第16章「MFL」

- 第17章「サービス・アカウント」

- 第18章「サービス・キー・プロバイダ」

- 第19章「ビジネス・サービス: 作成と管理」

- 第20章「プロキシ・サービス: 作成と管理」

- 第22章「プロキシ・サービス: メッセージ・フロー」

- 第21章「プロキシ・サービス: アクション」

- 第23章「プロキシ・サービス: XQueryエディタおよびXPathエディタ」

- 第24章「プロキシ・サービス: エラー・ハンドラ」

- 第25章「セキュリティ構成」

- 第26章「モニター」

- 第27章「構成」

- 第28章「レポート」

- 第29章「インポート/エクスポート」

- 第30章「UDDI」

- 第31章「グローバル・リソース」

- 第32章「カスタマイズ」

- 第33章「テスト・コンソール」

2 Oracle Service Busについて

この章では、Oracle Service Bus(OSB)の概要、およびOSB管理コンソールの起動、OSB管理コンソールの表の表示のカスタマイズ、OSBリソース名の変更など使用開始に必要な重要な情報について説明します。

Oracle Service Busは、構成ベースでポリシー駆動のエンタープライズ・サービス・バスです。スケーラビリティと信頼性の高いサービス指向の統合やサービス管理、また、異なるIT環境に対して従来のメッセージ・ブローカリングを提供します。また、インテリジェントなメッセージ・ブローカリング、メッセージのルーティングとトランスフォーメーション、サービス・モニターおよび管理が、統一したソフトウェア製品で融合されます。Oracle Service Bus管理コンソールを使用すると、サービスやポリシー構成を管理したり、システム・タスクや操作タスクを監視したりできます。Oracle Service Busは、Oracle WebLogic Serverランタイム機能に基づきます。詳細は、『Oracle Fusion Middleware Oracle Service Busコンセプトおよびアーキテクチャ』を参照してください。

2.1 Oracle Service Bus管理コンソールの起動

1. 35項「Oracle Service Busサーバーの起動」の説明に従って、Oracle Service Bus管理サーバーを起動します。

2. サーバーが起動したら、ブラウザに次のURLを入力します。

http://hostname:port/sbconsole

ここで、 host はWebLogic Serverが実行されているコンピュータの名前を表し、 port はポート番号を表します。

たとえば、WebLogic Serverがローカル・コンピュータで、デフォルトのポート構成を使用して実行されている場合は、ブラウザで次のURLを入力してください。

http://localhost:7001/sbconsole

Oracle Service Bus管理コンソールのログイン・ページが表示されます。

3. インストール・プロセス時に指定したユーザー名とパスワードを入力します。

注意:
Oracle Service Busサンプル・ドメインのユーザー名とパスワードは、weblogic / welcome1です。

4. 「ログイン」をクリックします。
ログアウトするには、Oracle Service Bus管理コンソールの右側のパネルの上部付近にあるバナー上の「ログアウト」をクリックします。

2.2 表の表示のカスタマイズ

この表カスタマイザで、指定した設定に基づいた表情報を表示できます。表のソートのデフォルトの順番は、表の先頭の列で決まります。

1. 「表カスタマイザ」アイコンをクリックします。追加のフィールドが表示されます。
「取消し」をクリックすると、いつでもこの表を閉じて元の設定に戻すことができます。

2. 「列」フィールドで、表示する列を選択します。

1. 「使用可能な列」フィールドから列名を選択します。

2. 矢印をクリックして、この列名を「選択された列」フィールドに移動します。
アスタリスク(*)は必須列を示しています。

3. 表示するすべての列名が「選択された列」フィールドに表示されるまで繰り返します。
「選択された列」フィールドで上向き矢印と下向き矢印を使用し、必要に応じて列名の順序を変更することもできます。

3. 列を表示しないようにするには、「選択された列」フィールドにある列名を「使用可能な列」フィールドに移動します。

4. 「行」リストで、1ページに表示する行数を選択します。

5. 次のいずれかを行います。

- これらの設定を保存し、表カスタマイザを閉じるには、「適用」をクリックします。

- 変更を破棄し、元の設定を保持するには、「リセット」をクリックします。

2.3 リソースの名前付けに関する制限事項

Oracle Service Bus構成のディレクトリまたはリソースに名前を付ける場合、許可される文字は次のとおりです。

- http://docs.oracle.com/javase/specs/jls/se5.0/html/j3TOC.htmlにあるJava Language Specificationの「Identifiers」および「Keywords」の各項に記述されている、すべてのJava識別子の文字(Javaキーワードを含む)

- 名前の中の空白、ピリオドおよびハイフン(先頭および末尾は除く)

/ \ * : " < > ? | などの文字は許可されません。

3 チェンジ・センター

この章では、Oracle Service Bus管理コンソールのチェンジ・センターを使用する手順について説明します。手順には、セッションのアクティブ化、構成変更の表示、構成タスクの取消しおよび競合の解決が含まれます。

チェンジ・センターは、Oracle Service Busでサービスおよびメタデータが構成されている場合にチームのコラボレーションを可能にします。各ユーザーは、作業中の構成をバスのコア構成にチェック・インする準備が整うまで、サンドボックス「セッション」で作業します。複数のユーザーが構成を操作するため、チェンジ・センターでは複数の取消しレベルと競合の可視性が提供されます。

大部分のチェンジ・センターのページでは、セッション内で作業を行う場合(チェンジ・センターで「編集」をクリックした場合など)と、そうでない場合とで異なる情報が表示されます。たとえば、チェンジ・センターで「変更の表示」をクリックすると表示される「構成の変更の表示」ページには、そのセッションで加えられたすべての変更が一覧表示されます。セッション外の場合は、アクティブ化されたすべてのセッションが一覧表示されます。

表3-1にチェンジ・センターのタスクおよび関連するセッション情報を示します。

表3-1 チェンジ・センターのタスクおよびセッション情報

タスク

セッション情報

競合の表示

セッション内のみ: このリンクはセッションで発生した競合の回数を表示します。Oracle Service Bus管理コンソールの現在のセッションとその他すべてのセッションで行われた変更の間で発生した競合をすべて表示および解決します。別のセッションですでに変更およびアクティブ化されたリソースを現在のセッションで変更すると、競合が発生します。2つのセッションによって同一リソースに対して2つの変更が行われた場合は、どちらか一方のセッションがアクティブになるまで競合は発生しません。

このページには、セッション内のリソースに関するセマンティクス・エラーも表示されます。

変更の表示

セッション内: 現在のセッションで行われた構成の変更内容を表示します。

セッション外: 現在までにセッションのアクティブ化によって発生した構成の変更内容を表示します。

変更の取消し

セッション内: 現在のセッションで行われた構成の変更を取り消します。

セッション外: セッションのアクティブ化を取り消します。

すべてのセッションを表示

セッション内、セッション外: Oracle Service Bus管理コンソール内に存在するセッションをすべて表示します。

セッションのアクティブ化

セッション内のみ: セッションをアクティブ化します。

タスクの詳細の表示

セッション内: 現在のセッションで行われた特定の変更内容の詳細を表示します。

セッション外: 前のセッションのアクティブ化によって行われた特定の変更内容の詳細を表示します。

3.1 チェンジ・センターの使用

「チェンジ・センター」モジュールは、Oracle Service Bus管理コンソールを使用して構成を変更する場合の開始点になります。管理コンソールを使用して構成を変更するには、「チェンジ・センター」を使用してセッションを開始する必要があります。

1. 「編集」または「作成」をクリックして、セッションを開始します。「チェンジ・センター」にセッションの名前が表示されます。

2. 管理コンソールの関連するページで適切な変更を行います。

3. 変更を行った各ページで「保存」をクリックします。現在のセッションでそれまでに行ったすべての変更内容が保存されます。
セッション中の任意の時点で「チェンジ・センター」で「破棄」をクリックすると、現在のセッションでそれまでに行った変更内容が破棄されます。

4. 変更を行ったら、「チェンジ・センター」の「アクティブ化」をクリックします。3.2項「セッションのアクティブ化」を続行します。

3.2 セッションのアクティブ化

セッションをアクティブ化するには:

1. チェンジ・センターで「アクティブ化」をクリックします。「セッションのアクティブ化」ページが表示され、セッション名、ユーザー名、および説明のフィールドが示されます。
セッションの作成と破棄は、システムの他のアクティビティとは関係なく実行されます。ただし、別のセッションのアクティブ化が処理中である場合、「セッションのアクティブ化」ページに、WebLogic Serverの変更を保留しているユーザーを示すエラーが表示されます。セッションで行った変更とアクティブ化されている他のセッションとの間の競合を解決する方法の詳細は、3.9項「競合の表示と解決」を参照してください。

2. 検証エラーが発生した場合は、セッションに検証エラーがあることを示すエラー・メッセージが表示されます。手順を進める前に、構成の競合を表示し、修正します。競合の修正の詳細は、3.9項「競合の表示と解決」を参照してください。
すべての競合を表示するまで、セッションをアクティブ化できません。既存の競合を表示している間に新しい競合が生じた場合は、アクティブ化する前に、新しい競合を知らせるメッセージがポップアップします。

3. 「説明」フィールドに説明を入力します。この説明は、セッションのアクティブ化によって発生した構成の変更内容を表示するために「チェンジ・センター」で「変更の表示」をクリックした場合に、「説明」列に表示されます。

4. 「発行」をクリックして、セッションをアクティブ化します。待ち時間に新しい衝突が発生しなければ、セッションが終了し、構成がランタイムにデプロイされます。

注意:
別のサーバー(作業しているサーバー以外の単一のサーバー、またはクラスタ内の管理対象サーバー)上のJMSエンドポイントのURIを使用してセッションをアクティブ化する場合は、宛先サーバーが使用可能であることを確認してください。
Oracle Service Busでは、JMSエンドポイントのURLが指定する宛先が到達不能な場合、プロキシ・サービスをJMSトランスポートに登録できません。つまり、JMSサービスの場合、Oracle Service Busは指定された接続ファクトリが存在するかどうかを確認し、存在しない場合はセッションのアクティブ化エラーが発生します。

3.3 セッションの終了

「チェンジ・センター」の下にある「終了」をクリックすると、任意の時点でセッションを終了できます。ただし、セッションが破棄されるわけではありません。

「チェンジ・センター」の下にある「編集」をクリックすると、セッションに戻って変更を継続できます。これは、「ログアウト」をクリックして管理コンソールからログアウトする場合やブラウザを終了する場合にも当てはまります。セッション、およびセッションで行ったすべての変更は、管理コンソールからログアウトした場合やサーバーを再起動した場合でもそのまま残ります。

セッションを終了できるのは、セッションがアクティブにされている場合のみです。3.2項「セッションのアクティブ化」を参照してください。

3.4 構成の変更内容の表示

このページには、セッション内で作業を行う場合(チェンジ・センターで「編集」をクリックした場合)と、そうでない場合とで異なる情報が表示されます。

- セッション内の場合は、現在のセッションで行われた構成の変更内容が「構成の変更の表示」ページに表示されます。この項の「セッション内で行われた構成の変更内容を表示するには」を参照してください。

- セッション外の場合は、これより前に行われたセッションのアクティブ化による構成の変更内容が「構成の変更の表示」ページに表示されます。この項の「セッションのアクティブ化によって発生した構成の変更内容を表示するには」を参照してください。

セッション内で行われた構成の変更内容を表示するには

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成してから、現在の構成を変更します。3.1項「チェンジ・センターの使用」を参照してください。

2. 構成に少なくとも1つの変更を加えます。

3. 「チェンジ・センター」の下にある「変更の表示」をクリックします。「構成の変更の表示」ページに、現在のセッション中に構成に行った各変更に関して、表3-2に示す情報が表示されます。

表3-2 セッション内で行われた構成の変更内容

プロパティ

説明

タスク

実行されたタスクの説明。タスクは、「タスクの詳細」ページにリンクされています。3.7項「タスクの詳細の表示」を参照してください。

実行時間

タスクが実行された日時。

ユーザー

変更を加えたユーザーの名前。

タスク・ステータス

次のタスクのステータス。

完了しました - タスクが完了しました。

元に戻されました - タスクは元に戻されました。

元に戻す操作が完了しました - 元に戻す操作が完了しました。

元に戻したユーザー

タスクを元に戻したユーザーの名前。タスクが元に戻されたことがない場合、フィールドには「None」が含まれます。

オプション

タスクの実行を取り消すには「取消し」アイコンをクリックします。

セッション内で作業している間は、タスクを任意の順序で取り消すことができます。

タスクを取り消すと、タスクのオブジェクトがタスクの実行前の状態に戻ります。ただし、取り消すタスクの後に同じオブジェクトに対して実行されたタスクも取り消されます。3.6項「タスクの取消し」を参照してください。

セッションのアクティブ化によって発生した構成の変更内容を表示するには

1. セッション内で作業していないことを確認します。3.3項「セッションの終了」を参照してください。

2. 「チェンジ・センター」の下にある「変更の表示」をクリックします。「構成の変更の表示」ページに、すでにアクティブ化されているセッションに関して、表3-3に示す情報が表示されます。

表3-3 アクティブ化された構成の変更内容

プロパティ

説明

タスク

アクティブ化されたセッションの説明。タスクは、「タスクの詳細」ページにリンクされています。このページには、セッションで実行された操作が表示されます。3.7項「タスクの詳細の表示」を参照してください。

説明

アクティブ化されたセッションの追加説明(「セッションのアクティブ化」ページを使用してセッションをアクティブ化したときに、説明を入力した場合)。

実行時間

セッションがアクティブ化された日時。

ユーザー

セッションをアクティブ化したユーザーの名前。

タスク・ステータス

次のセッションのステータス。

アクティブ化されました - セッションがアクティブ化されたことを示します。

部分的にアクティブ化されました - クラスタ内の1つまたは複数のサーバーにアクセスできないためにそれらのサーバー上でアクティブ化を実行できない場合、セッションのアクティブ化処理中に表示されます。サーバーが利用可能になると、アクティブ化されていないすべての変更内容がそれらのサーバーでアクティブ化されます。

元に戻されました - 以前にアクティブ化されたセッションが取り消され、セッション内で実行された操作がすべて破棄されたことを示します。

元に戻す操作がアクティブ化されました - 元に戻す操作がアクティブ化されたことを示します。

進行中 - セッションのアクティブ化に時間がかかるような場合、セッションのアクティブ化処理中に表示されます。

失敗しました - セッションのアクティブ化に失敗した場合に表示されます。セッションのアクティブ化の失敗はOracle Service Busで認識されますが、セッション内の個別の更新で発生する失敗は認識されません。

元に戻したユーザー

このタスクを元に戻したユーザーの名前。セッションのアクティブ化が元に戻されたことがない場合、フィールドには「None」が含まれます。

オプション

「取消し」アイコンをクリックすると、セッションのアクティブ化が取り消され、そのセッションで実行された操作が取り消されます。セッションのアクティブ化は任意の順序で元に戻すことができます。

元に戻してセッションに移動アイコンをクリックすると、セッションでアクティブ化した変更内容を取り消すために必要なタスクを入力済の、新しいセッションが作成されます。3.6.2項「元に戻してセッションに移動」を参照してください。

3.5 セッションのアクティブ化履歴のパージ

開始日と終了日で区切られた特定の期間について、セッションのアクティブ化をパージすることができます。このアクションはセッション外でのみ可能です。

注意:
セッションのアクティブ化履歴のパージには、複数レベルの取消しを可能にするデータの削除が含まれます。つまり、特定の期間について、セッションのアクティブ化履歴をパージすると、その期間中にアクティブ化されたセッションの取消しはできなくなるということです。

1. アクティブなセッション内でないことを確認して、「変更の表示」をクリックします。

2. 「構成の変更の表示」ページで日付によるパージをクリックします。日付単位でのセッション・アクティブ化履歴のパージ・ページが表示されます。

3. MM/DD/YYYYの書式で開始日と終了日をそれぞれのフィールドに入力します。
指定された日付の間のすべてのセッションに関するセッションのアクティブ化履歴が、Oracle Service Busから削除されます。

3.6 タスクの取消し

「構成の変更の表示」ページでは、Oracle Service Bus構成で現在のセッション中に実行したタスクを取り消すことができます。また、セッションの外からもセッションのアクティブ化を取り消すことができます。Oracle Service Busでは、システム・リソースの制約のみで、複数レベルのセッションのアクティブ化を取り消すことができます。詳細は、3.6.1項「タスクを取り消す順序」を参照してください。

注意:
Oracle Service Busバージョン2.1から2.5にアップグレードする場合、アップグレード前にアクティブ化したセッションを取り消すことはできません。アップグレード後にアクティブ化したセッションは、セッションのアクティブ化履歴で取り消すことができます。

セッションでのタスクの取消し

1. セッション内にいることを確認します。

2. 「チェンジ・センター」の下にある「変更の表示」をクリックします。

3. 特定のタスクの「オプション」列で、「取消し」アイコンをクリックします。
タスクが取り消されます。

現在のセッションでの変更を取り消すことができます。その後で、元に戻す操作を取り消したり、元に戻す操作の取消しをさらに取り消したりと、以前に遡って元に戻す操作を実行できます。

以前にアクティブ化したセッションの取消し

1. セッション外にいることを確認します。

2. 「チェンジ・センター」の下にある「変更の表示」をクリックします。

3. 次のいずれかを行います。

- 特定のタスクの「オプション」列で、「取消し」アイコンをクリックします。セッションのアクティブ化が取り消されます。

- 特定のタスクの「オプション」列で、元に戻してセッションに移動アイコンをクリックします。セッションでアクティブ化された変更を元に戻すために必要なタスクを入力済の新しいセッションが作成されます。詳細は、3.6.2項「元に戻してセッションに移動」を参照してください。

3.6.1 タスクを取り消す順序

タスクはどのような順序で取り消すこともできます(個々の取消し操作を行った結果、データが有効である場合)。取消し操作によって、リソースの値が、そのリソースを変更する前の値に設定されます。

取り消そうとしているタスクがオブジェクトの作成タスクである場合は、オブジェクトを戻すことのできる前の状態がありません。つまり、このタスクを実行する前は、オブジェクト自体が存在していません。実際には、取消し操作により、セッションから作成したオブジェクトが削除されます。この場合、削除されるオブジェクトを参照するオブジェクトにエラーが発生します。このようなエラーは、チェンジ・センターの「競合の表示」ページで確認できます。

セッションで作業をしていない場合は、 「構成の変更の表示」 ページにアクセスして、以前にアクティブ化したセッションを確認できます。これらのセッションは取り消すことができます。セッションを取り消すことでランタイム構成エラーが発生する場合は、以前にアクティブ化したセッションを取り消すことはできません。たとえば、セッションのアクティブ化を取り消すことによって、他のオブジェクトが参照するオブジェクトが削除対象になる場合は、この取消し操作を実行できません。

取消し操作は元に戻すことができます。[タスク]の取消しの「オプション」列で、「取消し」アイコンをクリックします。Oracle Service Busは、無制限の取消し機能を備えています。つまり、元に戻す操作の取消しをさらに取り消すなど、以前に遡って取消しを行うことができます。

3.6.2 元に戻してセッションに移動

セッションのアクティブ化を取り消すことによりセマンティクス・エラーが発生する場合は、その取消し操作を実行することはできません。しかし、この場合には別の方法を用いることができます。セッションのアクティブ化を取り消し、その変更結果を新しいセッションに移すという方法です。その後、セマンティクス・エラーを修正し、セッションをアクティブ化します。この元に戻してセッションに移動する機能を使用して、セッションのアクティブ化を取り消した場合の結果を調べることも可能です。変更結果をすべて調べてから、取消しを実行するかどうかを決定できます。実行する場合は、そのセッションをアクティブ化することができます。

3.7 タスクの詳細の表示

このページでは、セッション内の場合は、現在のセッションで変更した内容の詳細を表示できます。また、セッション外の場合は、以前にアクティブ化したセッションで変更した内容の詳細を表示できます。

1. 「チェンジ・センター」の「変更の表示」を選択します。

2. 「構成の変更の表示」ページにある「タスク」列でタスク名をクリックします。「タスクの詳細」ページに、表3-4に示す情報が表示されます。

表3-4 タスクの詳細

プロパティ

説明

タスク

実行したタスクの種類。

- 作成

- 更新

- 削除

- 名前変更

- 移動

リソース・タイプ

タスクの一部だったOracle Service Busリソース・タイプ。

リソース

リソースの名前とパス。このパスは、プロジェクト名と、リソースが存在するフォルダ名です。

3. 「戻る」をクリックすると、「構成の変更の表示」ページに戻ります。

3.8 すべてのセッションの表示

このページでは、Oracle Service Bus管理コンソール内の既存のすべてのセッションを表示できます。これらのセッションは、セッション内にいる場合にもセッション外にいる場合にも表示できます。

すべてのセッションを表示できるのは、管理者ロールを使用している場合のみです。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の管理セキュリティの構成に関する説明を参照してください。

1. 「チェンジ・センター」の下にある「すべてのセッションを表示」をクリックします。既存のセッションごとに、表3-5に示す情報が「すべてのセッションを表示」ページに表示されます。

表3-5 セッションの詳細

プロパティ

説明

セッション名

セッションの名前。セッションにリンクされています。

ユーザー

セッションを作成したユーザーの名前。

作成時刻

セッションが作成された日時。

最終変更日

セッション中に最後に変更が行われた日時。

変更されたオブジェクト数

セッション中に変更されたオブジェクトの数。

2. 別のセッションに切り替えるには、該当するセッションの「セッション名」列のリンクをクリックします。

注意:
同一ユーザーが複数のブラウザからログインすることには対応していません。そのような操作を行うと、管理コンソールで予期できない動作が生じるおそれがあります。

3.9 競合の表示と解決

このページでは、構成のエラーに関する診断メッセージを表示できます。また、作業中のセッションと他のアクティブ化されたセッションとの間の競合を表示して解決できます。競合の表示のリンクでは、セッション中の現在の競合の数も表示されます。

競合の表示

1. 「チェンジ・センター」の下にある「競合の表示」をクリックします。「競合の表示」ページに、競合の種類に応じて次の1つ以上の項目が表示されます。

- エラー(「エラー」アイコンは、変更をコミットできない重大な競合を表す) - 構成内に重大な競合があることを示します。競合を解決しないと、変更をコミットすることはできません。表3-6および次のトピックである「競合の解決」を参照してください。

- 同時更新(「警告」アイコンは、変更のコミットが可能な重大でない競合を表す) - 他のアクティブ化されたセッションと矛盾する変更を警告します。表3-7を参照してください。

- 情報メッセージ(「警告」アイコンは、変更のコミットが可能な重大でない競合を表す) - 構成内の重大でない競合を通知します。

表3-6 エラー

プロパティ

説明

名前

エラー・メッセージで参照されているリソース。そのリソースにリンクされています。

パス

リソースが存在する現在のプロジェクトとフォルダ。

リソース・タイプ

リソースの種類。

メッセージ

競合の説明。競合を解決するには、次の項の「競合の解決」を参照してください。

2. 特定の競合の詳細を表示するには、その競合の「名前」列のリンクをクリックします。
セッションで変更を加えたオブジェクトが、現在のセッションの編集を開始してからランタイムで変更された場合、表3-7に示す情報が「競合の表示」ページに表示されます。

表3-7 同時更新

プロパティ

説明

名前

競合しているリソース。そのリソースにリンクされています。

自分の変更内容

セッションでこのオブジェクトに行った変更の説明。

他のユーザーの変更内容

別のユーザーのセッションでこのオブジェクトに行われた変更の説明。

同期

「同期」アイコンをクリックすると、このオブジェクトがランタイムで保存された状態に戻ります。

競合の解決

競合を解決するには、「メッセージ」列に表示された情報を基に(表3-6を参照)、問題を理解し、競合の原因となっているオブジェクトを編集して問題を修正します。

同時更新により競合が発生した場合、つまり、別のセッションで変更およびアクティブ化されたリソースを現在のセッションで変更したことで競合が発生した場合(表3-7を参照)、次のいずれかの方法で競合を解決できます。

- 「チェンジ・センター」の下の「アクティブ化」をクリックします。この操作により、変更内容がランタイムに保存されるので、以前のセッションのアクティブ化でコア・データにデプロイされた変更内容はオーバーライドされます。つまり、他のユーザーが他のセッションで保存した変更内容は、このセッションの変更内容によって上書きされます。

- 表の「同期」列の「同期」アイコンをクリックします(表3-7を参照)。この操作により、このセッションでこのオブジェクトがランタイムに保存された状態に戻ります。

4 プロジェクト、フォルダ、およびリソースの操作

この章では、ZIP、JAR、およびURLからのリソースのインポートなど、Oracle Service Bus管理コンソールを使用したOracle Service Bus(OSB)のプロジェクト、フォルダおよびリソースの操作手順について説明します。

プロジェクト・エクスプローラは、構成とリソースをプロジェクトとフォルダに整理します。プロジェクト・エクスプローラでは、ドメイン内のすべてのプロジェクトを一覧表示する「プロジェクト・ビュー」ページと、各プロジェクト内のフォルダおよびリソースを一覧表示するプロジェクト/フォルダ・ビュー・ページを表示できます。

プロジェクトは、最上位のグループ構造であり、非階層的で、重複することはありません。

Oracle Service Busリソース(サービス、WS-Policy、WSDL、XQueryトランスフォーメーションなど)はすべて 、正確に1つのプロジェクトに格納されます。複数のプロジェクトでリソースを共有することはありません。リソースはプロジェクトの直下に作成することも、整理用にフォルダを作成したうえで、フォルダ内に作成することもできます。ただし、すべてのリソースは、どのプロジェクトに含まれていても、自由に参照できます。

Oracle Service Busでドメインを作成すると、デフォルトのプロジェクトが作成されます。

4.1 プロジェクトおよびフォルダの名前付け

プロジェクト名とフォルダ名は64文字までに制限されており、2.3項「リソースの名前付けに関する制限事項」に従う必要があります。

プロジェクトやフォルダの名前、長さ、ネストのレベルは最終的に、お使いのオペレーティング・システムの制限による影響を受けます。フォルダまたはプロジェクトの作成時に、非常に長い名前にしたり、フォルダのネスト・レベルを深くすると、オペレーティング・システムの制限により失敗する場合があります。

4.1.1 プロジェクトとフォルダを使用したリソース名の修飾

プロジェクトおよびフォルダはOracle Service Busリソースの名前を修飾します。リソースへの参照は次のように構成されます。

project-name/root-folder/.../parent-folder/resource-name

リソースがプロジェクトの直下にある場合、参照は次のように構成されます。

project-name/resource-name

4.2 「プロジェクト・ビュー」ページ

「プロジェクト・ビュー」ページには、現在のドメインで定義されているプロジェクトが一覧表示されます。表4-1に、ページのオプションおよびコントロールを示します。

表4-1 「プロジェクト・ビュー」ページ - オプションとコントロール

オプションまたはコントロール

説明

新しいプロジェクト名の入力

新規プロジェクトを作成するには、テキスト・フィールドに名前を入力し、「プロジェクトの追加」をクリックします。4.4項「プロジェクトの追加」を参照してください。

4.1項「プロジェクトおよびフォルダの名前付け」も参照してください。

名前

プロジェクト名をクリックすると、そのプロジェクトのプロジェクト/フォルダ・ビュー・ページが表示されます。

オプション

一覧表示されているプロジェクトについて、次のいずれかの操作を行えます。

- 「プロジェクトの名前変更」アイコンをクリックすると、プロジェクトの名前を変更できます。4.5項「プロジェクト名の変更」を参照してください。

- 「プロジェクトの移動」アイコンをクリックすると、プロジェクトを移動できます。4.6項「プロジェクトの移動(フォルダへの変換)」を参照してください。

- 「プロジェクトのクローン作成」アイコンをクリックすると、プロジェクトのクローンを作成できます。4.7項「プロジェクトのクローン作成」を参照してください。

- 「プロジェクトの削除」アイコンをクリックすると、プロジェクトを削除できます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、このリソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。4.8項「プロジェクトの削除」を参照してください。

これらのいずれかのアクションを実行した場合、結果は現在のセッションで保存されます。セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.3 プロジェクト/フォルダ・ビュー・ページ

プロジェクト/フォルダ・ビュー・ページには、単一のプロジェクトの詳細が表示されます。表4-2に、ページのオプションおよびコントロールを示します。

表4-2 「プロジェクト・ビュー」ページまたは「フォルダ・ビュー」ページ - オプションとコントロール

オプションまたはコントロール

説明

参照

このフィールドの数字(0より大きい場合)をクリックすると、このプロジェクト内のリソースが依存している、このプロジェクト外のリソースのリストが表示されます。

参照元

このフィールドの数字( 0より大きい場合)をクリックすると、このプロジェクト内のリソースに依存している、このプロジェクト外のリソースのリストが表示されます。

説明

「説明の編集」をクリックしてこのプロジェクトの説明を追加または編集し、「説明の発行」をクリックして更新できます。

新しいフォルダ名の入力

このプロジェクトに新規フォルダを作成するには、テキスト・フィールドに名前を入力し、「フォルダの追加」をクリックします。4.9項「フォルダの追加」を参照してください。

4.1項「プロジェクトおよびフォルダの名前付け」も参照してください。

名前

フォルダ名をクリックすると、そのフォルダのプロジェクト/フォルダ・ビュー・ページが表示されます。

オプション

一覧表示されているフォルダについて、次のいずれかの操作を行えます。

- 「フォルダの名前変更」アイコンをクリックすると、フォルダ名を変更できます。4.10項「フォルダ名の変更」を参照してください。

- 「プロジェクトへのアップグレードまたはフォルダの移動」アイコンをクリックすると、フォルダの移動またはプロジェクトへのアップグレードができます。4.11項「フォルダの移動またはアップグレード」を参照してください。

- 「フォルダのクローン作成」アイコンをクリックすると、フォルダのクローンを作成できます。4.12項「フォルダのクローン作成」を参照してください。

- 「フォルダの削除」アイコンをクリックすると、フォルダを削除できます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。4.13項「フォルダの削除」を参照してください。

これらのいずれかのアクションを実行した場合、結果は現在のセッションで保存されます。セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

削除

フォルダを削除するには、削除するフォルダの横にあるチェック・ボックスを選択して、「削除」をクリックします。

リソースの作成

このプロジェクトの新しいリソースを作成するには、「リソースの作成」リストからリソースの種類を選択します。4.14項「リソースの作成」を参照してください。

名前

リソースの名前をクリックすると、リソースの詳細が表示されます。

リソース・タイプ

このリソースの種類。

アクション

リソースの種類に応じて、リソースで使用できるアクション。

- プロキシ・サービスに「メッセージ・フローの編集」アイコンが表示されます。このアイコンをクリックして、プロキシ・サービスのメッセージを編集します。22.1項「メッセージ・フローの表示と編集」を参照してください。

- ビジネス・サービス、プロキシ・サービス、XQueryトランスフォーメーション、XSLトランスフォーメーション、およびMFLファイルの場合は、「テスト・コンソールの起動」アイコンが表示されます。このアイコンをクリックすると、テスト・コンソールが起動されます。テスト・コンソールは、サービスおよびトランスフォーメーションの設計の検証とテストに使用します。サービスの場合、テスト・コンソールは実行時(つまり、セッションをアクティブ化したとき)にのみ使用できます。トランスフォーメーションの場合、セッション内またはセッション外のどちらで作業しているかにかかわらず、テスト・コンソールを使用できます。33.1項「サービスのテスト」および33.2項「トランスフォーメーションのテスト」を参照してください。

- WSDLベースのプロキシ・サービスの場合、「WSDLのエクスポート」アイコンが表示されます。このアイコンをクリックして、WSDLをエクスポートします。これにより、WSDLを、IDEなどの外部ツールで表示または変更できるようになります。
これは、システムの管理モジュールにあるリソースのエクスポート機能とは異なります。リソースのエクスポート機能は、2つのドメイン間でリソースを移動およびステージングする場合に使用します。4.28項「WSDLのエクスポート」を参照してください。

- 「WSDLの生成」アイコンは、EJBやフローなどのトランスポート型ビジネス・サービスで表示されます。このアイコンをクリックしてWSDLを生成すると、WSDLの表示や変更を行えます。4.29項「WSDLの生成」を参照してください。

オプション

「オプション」列には、次のアイコンが表示されます。

- 「リソースの名前変更」アイコンをクリックすると、リソース名を変更できます。4.25項「リソース名の変更」を参照してください。

- 「リソースの移動」アイコンをクリックすると、リソースを移動できます。4.26項「リソースの移動」を参照してください。

- 「リソースのクローン作成」アイコンをクリックすると、リソースのクローンを作成できます。4.27項「リソースのクローン作成」を参照してください。

- 「削除」アイコンをクリックすると、リソースを削除できます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、このリソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

これらのいずれかのアクションを実行した場合、結果は現在のセッションで保存されます。セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.4 プロジェクトの追加

プロジェクトを追加するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」→「プロジェクト」を選択して、「プロジェクト・ビュー」ページを表示します。

3. 「新しいプロジェクト名の入力」フィールドに一意のプロジェクト名を入力し、「プロジェクトの追加」をクリックします。4.1項「プロジェクトおよびフォルダの名前付け」を参照してください。新しいプロジェクトは現在のセッションに保存されます。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.5 プロジェクト名の変更

プロジェクト名を変更するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」→「プロジェクト」を選択して、「プロジェクト・ビュー」ページを表示します。

3. 名前を変更するプロジェクトの行の「プロジェクトの名前変更」アイコンをクリックします。「プロジェクトの名前変更」ページが表示されます。

4. 「新しいプロジェクト名」フィールドにプロジェクトの新しい名前を入力します。4.1項「プロジェクトおよびフォルダの名前付け」を参照してください。
既存のプロジェクトの名前を使用すると、両方のプロジェクトのリソースがその名前で結合されます。たとえば、リソースAおよびBのあるプロジェクトMyProjectと、リソースCおよびDのあるプロジェクトThisProjectを考えてみます。MyProjectの名前をThisProjectに変更すると、新しいThisProjectはリソースA、B、CおよびDを持つことになります。

5. 「名前変更」をクリックします。プロジェクトは現在のセッションで名前変更されます。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.6 プロジェクトの移動(フォルダへの変換)

プロジェクトを移動すると、そのプロジェクトは新しい場所でフォルダに変換されます。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」→「プロジェクト」を選択して、「プロジェクト・ビュー」ページを表示します。

3. 移動するプロジェクトの行の「プロジェクトの移動」アイコンをクリックします。「プロジェクトの移動」ページが表示されます。プロジェクトの現在の場所が強調表示されています。

4. 「場所」の下で、プロジェクトの移動先のプロジェクト、またはフォルダを選択します。プロジェクトは新しい場所でフォルダに変換され、現在のセッションで保存されます。
プロジェクトを新しい場所に移動するときに、その場所に同じ名前を持つフォルダがすでに存在している場合、プロジェクトのコンテンツは、既存のフォルダのコンテンツと結合されます。

5. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.7 プロジェクトのクローン作成

プロジェクトのクローンを作成する(プロジェクトをコピーする)方法は次のとおりです。

- プロジェクトのクローンを新しい名前を使ってルート・レベルで作成します。この場合、元のプロジェクトとそのクローンはピア・プロジェクトになります。元のプロジェクトまたはそのクローンを変更しないかぎり、プロジェクトのクローンには、元のプロジェクトと同一のフォルダおよびリソースが格納されます。詳細は、この項の「ルート・レベルでのプロジェクトのクローンの作成」を参照してください。

- プロジェクトのクローンを元のプロジェクト以外の既存プロジェクト名を使用して作成します。この場合、元のプロジェクトのフォルダおよびリソースは、クローンに名前が割り当てられたプロジェクトのフォルダおよびリソースと結合されます。元のプロジェクトは不変です。詳細は、この項の「ルート・レベルでのプロジェクトのクローンの作成」を参照してください。

- プロジェクトのクローンを既存のプロジェクトまたはプロジェクト・フォルダ内の新しい場所に作成します。この場合、プロジェクトのクローンは新しい場所のフォルダに降格します。クローンには元のプロジェクトと同一のフォルダおよびリソースが格納されます。
既存のフォルダと同じ名前と場所を使用してプロジェクトのクローンを作成した場合、プロジェクトの内容(サブフォルダとリソース)はターゲット・フォルダの内容と結合されます。

いずれの場合も、元のプロジェクトは不変です。

手順については、この項の「プロジェクトのクローンの作成とクローンのフォルダへの降格」を参照してください。

ルート・レベルでのプロジェクトのクローンの作成

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」→「プロジェクト」を選択して、「プロジェクト・ビュー」ページを表示します。

3. クローンを作成するプロジェクトの行の「プロジェクトのクローン作成」アイコンをクリックします。「プロジェクトのクローン作成」ページが表示されます。プロジェクトの現在の場所が強調表示されています。

4. 「新しい名前」フィールドにクローンの名前を入力します。4.1項「プロジェクトおよびフォルダの名前付け」を参照してください。
ユニークな名前を使用してクローンを新しいプロジェクトとして作成するか、既存のプロジェクト名を使用してクローンをそのプロジェクトと結合します。

5. ルート・レベルでプロジェクトのクローンを作成する場合は、「場所」パネルで、デフォルトの「ルート」の場所を維持してください。

6. 「プロジェクトのクローン作成」をクリックします。プロジェクトのクローンは現在のセッションで作成されます。

7. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

プロジェクトのクローンの作成とクローンのフォルダへの降格

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」→「プロジェクト」を選択して、「プロジェクト・ビュー」ページを表示します。

3. クローンを作成するプロジェクトの行の「プロジェクトのクローン作成」アイコンをクリックします。「プロジェクトのクローン作成」ページが表示されます。プロジェクトの現在の場所が強調表示されています。

4. 「新しい名前」フィールドにフォルダの新しい名前を入力します(オプション)。4.1項「プロジェクトおよびフォルダの名前付け」を参照してください。
ユニークな名前を使用して新しいフォルダを作成するか、(次の手順 で選択する場所にあるフォルダの)既存のフォルダ名を使用してクローンをそのフォルダと結合します。

5. 「場所」パネルでプロジェクトまたはフォルダを選択し、「プロジェクトのクローン作成」をクリックします。プロジェクトのクローンは新しい場所でフォルダに変換され、現在のセッションで保存されます。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.8 プロジェクトの削除

プロジェクトを削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」→「プロジェクト」を選択して、「プロジェクト・ビュー」ページを表示します。

3. 削除するプロジェクトの行の「プロジェクトの削除」アイコンをクリックします。プロジェクトは現在のセッションで削除されます。
プロジェクトを削除すると、そのプロジェクトの下にあるリソースがすべて削除されます。削除対象プロジェクトにあるリソースが別のプロジェクトにあるリソースから参照されている場合、プロジェクトを削除することはできますが、確認のための警告が出されます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

このようなリソースには、「削除」アイコンのかわりに削除の警告アイコンが表示されます。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.9 フォルダの追加

フォルダを追加するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、新しいフォルダを追加するプロジェクトまたはフォルダを選択します。

3. 「プロジェクト・ビュー」ページの、「新しいフォルダ名の入力」フィールドに、フォルダの一意の名前を入力します。4.1項「プロジェクトおよびフォルダの名前付け」を参照してください。

4. 「フォルダの追加」をクリックします。新しいフォルダは現在のセッションに保存されます。

5. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.10 フォルダ名の変更

フォルダ名を変更するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、名前を変更するフォルダを含むプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 名前を変更するフォルダの行の「フォルダの名前変更」アイコンをクリックします。「フォルダの名前変更」ページが表示されます。

4. 「新しいフォルダ名」フィールドにフォルダの新しい名前を入力します。4.1項「プロジェクトおよびフォルダの名前付け」を参照してください。

5. 「名前変更」をクリックします。名前が変更されたフォルダは現在のセッションで保存されます。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.11 フォルダの移動またはアップグレード

フォルダを移動またはアップグレードするには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択し、移動またはアップグレードするフォルダを含むプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 移動またはアップグレードするフォルダの行の「フォルダの移動」アイコンをクリックします。「フォルダの移動」ページが表示されます。フォルダの現在の場所が強調表示されています。

4. フォルダを、別のプロジェクトの新しい場所に移動するか、または、プロジェクトにアップグレードするかを決定します。

- フォルダを新しい場所に移動するには、「場所」パネルで、フォルダの移動先のプロジェクトまたはフォルダを選択します。

- フォルダをプロジェクトにアップグレードするには、「ルート」の場所を選択します。

5. 「発行」をクリックします。フォルダまたはプロジェクト(フォルダからアップグレードした場合)は、現在のセッションで新しい場所に保存されます。
フォルダを移動またはアップグレードしたとき、その場所に同じ名前の別のフォルダがすでに存在する場合は、移動またはアップグレードしたフォルダの内容が、既存のフォルダまたはプロジェクトの内容と結合されます。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.12 フォルダのクローン作成

フォルダのクローンを作成するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択し、クローンを作成するフォルダを含む親プロジェクトまたは親フォルダに移動します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. クローンを作成するフォルダの行の「フォルダのクローン作成」アイコンをクリックします。「フォルダのクローン作成」ページが表示されます。フォルダの現在の場所が強調表示されています。

4. 次の手順に従い、同じ場所または別の場所にフォルダのクローンを作成するか、フォルダをプロジェクトにアップグレードします。

- フォルダのクローンを同じ場所に作成するには、「新しい名前」フィールドに新しい名前を入力します。4.1項「プロジェクトおよびフォルダの名前付け」を参照してください。
同じ場所にクローンを作成する場合は、「場所」パネルで場所を選択しない(現在の場所を選択するのと同じ)か、または現在のプロジェクトとフォルダを明示的に選択します。

- フォルダのクローンを別の場所に作成するには、「新しい名前」フィールドに新しい名前を入力し(オプション)、「場所」領域からプロジェクトまたはフォルダを選択します。4.1項「プロジェクトおよびフォルダの名前付け」を参照してください。
既存のフォルダと同じ名前を使用した場合、元のフォルダのコンテンツは、ターゲット・フォルダのコンテンツと結合されます。

- フォルダをプロジェクトにアップグレードするには、「ルート」の場所を選択します。

5. 「フォルダのクローン作成」をクリックします。フォルダのクローンは現在のセッションで作成されます。
フォルダのクローンを作成すると、そのフォルダ配下のすべてのサブフォルダおよびリソースのクローンが作成されます。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.13 フォルダの削除

フォルダを削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択し、削除するフォルダを含むプロジェクトまたはフォルダを選択します。

3. プロジェクト/フォルダ・ビュー・ページで、削除するフォルダの行の「フォルダの削除」アイコンをクリックします。フォルダは現在のセッションで削除されます。
フォルダを削除すると、そのフォルダの下にあるリソースがすべて削除されます。削除対象プロジェクトにあるリソースが別のフォルダにあるリソースから参照されている場合、フォルダを削除することはできますが、確認のための警告が出されます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

このようなリソースには、「削除」アイコンのかわりに削除の警告アイコンが表示されます。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.14 リソースの作成

リソースを作成するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、リソースの作成先のプロジェクトまたはフォルダを選択します。

3. プロジェクト/フォルダ・ビュー・ページの「リソースの作成」リストから、作成するリソースの種類を選択します。選択するリソースの種類に応じて、異なるページが表示されます。

4. プロンプトに従って、各ページに、リソースを作成するための情報を追加します。それぞれの種類のリソースの作成方法の詳細は、表4-3に示されている、該当するトピックを参照してください。

表4-3 リソースの作成

作成するリソースの種類

参照先

プロキシ・サービス

20.1項「プロキシ・サービスの作成と構成」

ビジネス・サービス

19.1項「ビジネス・サービスの作成と構成」

分割-結合

10.2項「分割-結合の追加」

WSDL

7.2項「WSDLの追加」

XMLスキーマ

5.2項「XMLスキーマの追加」

WS-Policy

12.3項「カスタムWS-Policyの追加」

JCAバインド

13.2項「JCAバインドの追加」

XQuery変換

11.2項「XQueryトランスフォーメーションの追加」

XSL変換

15.2項「XSLトランスフォーメーションの追加」

MFLファイル

16.2項「MFLの追加」

サービス・アカウント

17.3項「サービス・アカウントの追加」

サービス・キー・プロバイダ

18.2項「サービス・キー・プロバイダの追加」

JAR

8.2項「JARの追加」

アラート宛先

6.2項「アラート宛先の追加」

MQ接続

9.2項「MQ接続の追加」

XMLドキュメント

14.2項「XMLドキュメントの追加」

URLからのリソース

4.17項「URLからのリソースのロード」

zip圧縮リソース

4.15項「Zipファイルからのリソースのロード」

5. リソースを作成する際は、現在のセッションで作成されます。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.15 Zipファイルからのリソースのロード

ロードするリソースを格納したZipファイルまたはJARファイルを選択できます。Oracle Service Busでは、このZipファイルのリソースを検索してインポートします。

WSDLやXMLスキーマなどのリソースでは、依存リソースのツリー全体を定義できます。一括ロード機能を使用すると、一連のリソースをまとめてアップロードでき、依存関係を手動で解決する必要がありません。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、リソースを追加するプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 「リソースの作成」リストから、「zip圧縮リソース」を選択します。「リソースのロード」ページが表示されます。

4. 「zipファイルの選択」フィールドで、インポートするZipファイルを指定します。ファイルの名前(そのパスで修飾されている)を入力するか、または、「参照」をクリックして、ファイルを検索し、「開く」をクリックします。

5. リソース・タイプとファイル拡張子のマッピングを確認します。必要に応じて、拡張子を変更または追加します。複数の拡張子はカンマで区切ります。
Zipファイル内の各ファイルは多くの場合はリソースであり、ファイル拡張子はファイルの種類の識別によく使用される方法です。Oracle Service Busでは各リソースのデフォルトの拡張子を定義しますが、リソースを表す追加の拡張子がある場合は、このマップでローダーに対して拡張子を宣言できます。

Zipファイルと拡張子マップを定義すると、Oracle Service BusローダーがそのZipファイルの内容をスキャンし、リソースの種類を各ファイルに関連付けます。拡張子を持たないファイル、またはマップ内に定義されていない拡張子を持つファイルは「不明」とみなされ、自動的にロードの対象から外されます。

拡張子を確認できたファイルでは、拡張子を省いたファイル名がリソースの名前になります。Zipファイルのフォルダ構造は、ターゲットのOracle Service Bus管理コンソール・フォルダ内に再作成されます。

1つの拡張子は、1つのファイル・タイプにのみ関連付けることができます。

6. 「次へ」をクリックします。

7. 「リソースのロード - ロードされたリソースの確認」ページで、インポートするリソースを確認します。任意のリソースをこのインポートに含めない場合は、横にあるチェック・ボックスをクリアします。

8. 選択したリソースをインポートするには、「インポート」をクリックします。

9. 「リソースのロード - インポート結果」ページに、インポートされたリソースが表示されます。「別のロードを行う」をクリックして別のファイルからリソースをインポートするか、または、左側のナビゲーション・ペインから別のページを選択して、他のタスクに進みます。

10. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.16 「リソースのロード - zipファイルの選択とタイプ拡張子の確認」ページ

4.15項「Zipファイルからのリソースのロード」で示されているように、Zipファイルからリソースをインポートするには、「リソースのロード - zipファイルの選択とタイプ拡張子の確認」ページを使用します。

表4-4に、ページのオプションおよびコントロールを示します。

表4-4 「リソースのロード - zipファイルの選択とタイプ拡張子の確認」ページ - オプションとコントロール

オプションとコントロール

説明

zipファイルの選択

インポートするZipファイルの完全修飾名を入力するか、「参照」をクリックして選択します。

リソースの種類およびファイル拡張子

Zipファイル内の各ファイルは多くの場合はリソースであり、ファイル拡張子はファイルの種類の識別によく使用される方法です。Oracle Service Busでは各リソースのデフォルトの拡張子を定義しますが、リソースを表す追加の拡張子がある場合は、このマップでローダーに対して拡張子を宣言できます。

Zipファイルと拡張子マップを定義すると、Oracle Service BusローダーがそのZipファイルの内容をスキャンし、リソースの種類を各ファイルに関連付けます。拡張子を持たないファイル、またはマップ内に定義されていない拡張子を持つファイルは「不明」とみなされ、自動的にロードの対象から外されます。

拡張子を確認できたファイルでは、拡張子を省いたファイル名がリソースの名前になります。Zipファイルのフォルダ構造は、ターゲットのOracle Service Bus管理コンソール・フォルダ内に再作成されます。

4.17 URLからのリソースのロード

URLまたはファイル・システムから入手できるリソースのバルク・インポートを実行できます。バルク・インポートによって、WSDLのようなルート・リソースとともに、それに従属する他のWSDLやスキーマなどもインポートできます。依存関係マップは、自動的に解決されます。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、リソースを追加するプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 「リソースの作成」リストから、「URLからのリソース」を選択します。「リソースのロード - URLからリソースをロード」ページが表示されます。

4. 「URL/パス」フィールドに、リソースのURLまたはパスを入力します。
ローカル・リソースを指定するには、次のようにパスで完全修飾されたファイル名を指定してfileプロトコルを使用します。

file:///c:/osbresources/ForeachAction.jar

5. 「リソース名」フィールドに、リソースの名前を入力します。

6. 「リソース・タイプ」リストから、リソースの種類を選択します。

7. 「次へ」をクリックして、「リソースのロード - ロードされたリソースの確認」ページを表示します。リソースをこのインポートに含めない場合は、横にあるチェック・ボックスを選択解除します。

8. 選択したリソースをインポートするには、「インポート」をクリックします。

9. 「リソースのロード - インポート結果」ページに、インポートされたリソースが表示されます。「別のロードを行う」をクリックして別のファイルからリソースをインポートするか、または、左側のナビゲーション・ペインから別のページを選択して、他のタスクに進みます。

10. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.18 「リソースのロード - URLからリソースをロード」ページ

4.17項「URLからのリソースのロード」に示されているように、Web上で入手できるファイルからリソースをインポートするには、「リソースのロード - URLからリソースをロード」ページを使用します。

表4-5に、ページのオプションおよびコントロールを示します。

表4-5 「リソースのロード: URLからリソースをロード」ページ - オプションとコントロール

オプションとコントロール

説明

URL/パス

ファイルが置かれている場所のURLを入力します。

ローカル・リソースを指定するには、次のようにパスで完全修飾されたファイル名を指定してfileプロトコルを使用します。

file:///c:/osbresources/ForeachAction.jar

リソース名

リソースの名前を入力します。

リソース・タイプ

リストからリソースの種類を選択します。

4.19 「リソースのロード - ロードされたリソースの確認」ページ

4.15項「Zipファイルからのリソースのロード」または4.17項「URLからのリソースのロード」で示されているように、「リソースのロード - ロードされたリソースの確認」ページには、Zipファイルまたはその他のファイルからインポートされるリソースの詳細が表示されます。

表4-6に、ページのオプションおよびコントロールを示します。

表4-6 「リソースのロード: ロードされたリソースの確認」ページ - オプションとコントロール

オプションとコントロール

説明

ファイル名

拡張子付きのリソース・ファイル名です。

名前

リソース名。

パス

リソースのパス。リソースが格納されているプロジェクトとフォルダ。

リソース・タイプ

サポートされているリソースの種類をリストします。

ファイル名の横にある「警告」アイコンは、リソースの種類が不明であることを示します(拡張子を持たないファイル、またはマップ内に定義されていない拡張子を持つファイルは不明と見なされます)。ファイルの種類が不明なファイルはインポートできません。

4.20 「リソースのロード - インポート結果」ページ

「リソースのロード - インポート結果」ページには、インポートされたZipファイルまたはURLからのリソースのロードの結果が表示されます。

zipファイルとURLのどちらからリソースをロードしたかに応じて、4.15項「Zipファイルからのリソースのロード」または4.17項「URLからのリソースのロード」の手順を完了したことと、4.19項「「リソースのロード - ロードされたリソースの確認」ページ」の手順を完了したことを確認します。

「インポート結果」ページが表示され、次の情報が示されます。

表4-7 「プロジェクト・ビュー」ページまたは「フォルダ・ビュー」ページ - オプションとコントロール

オプションまたはコントロール

説明

ステータス

リソースのステータス。たとえば、リソースが正常にインポートされたかどうか。

WSDLは、依存関係がすべてインポートされるまで、一時的に無効としてマークされる場合があります。インポート・アクションが完了すると、無効とマークされたファイルが構成サービスによって再検証されます。

名前

リソース名。

パス

リソースのパス。リソースが格納されているプロジェクトとフォルダ。

リソース・タイプ

インポートされたリソースの種類を示します。

エラー・メッセージ

リソースが正常にインポートされなかった場合にエラー・メッセージの詳細を表示します。

4.21 「参照の表示」ページ

プロジェクト/フォルダ・ビュー・ページで、「参照」または「参照元」のどちらをクリックしたかに応じて、「参照の表示」ページには、次のリストが表示されます。

- プロジェクトまたはフォルダ内のリソースによって参照されている、現在のプロジェクトまたはフォルダ外のリソース。

- プロジェクトまたはフォルダ内のリソースを参照している、現在のプロジェクトまたはフォルダ外のリソース。

表4-8に、ページのオプションおよびコントロールを示します。

表4-8 「プロジェクト参照」ページ - オプションとコントロール

オプションまたはコントロール

説明

名前

リソースの名前をクリックすると、リソースの詳細が表示されます。

リソース・タイプ

「プロジェクト」、「フォルダ」またはサポートされているOracle Service Busのリソース・タイプが表示されます。

4.22 リソースへの参照の表示

リソースへの参照の表示は、セッション内でもセッション外でも実行できます。3.1項「チェンジ・センターの使用」を参照してください。

1. 「プロジェクト・エクスプローラ」または「リソース・ブラウザ」モジュールのプロジェクト、フォルダ、またはリソースの詳細ページで、「参照」または「参照元」をクリックします。

- プロジェクトまたはフォルダ内のリソースによって参照されている、プロジェクトまたはフォルダ外のリソースを表示するには、「参照」をクリックします。

- プロジェクトまたはフォルダ内のリソースを参照している、プロジェクトまたはフォルダ外のリソースを表示するには、「参照元」をクリックします。

「参照の表示」ページが表示されます。

2. 詳細を表示するリソースの名前をクリックするか、「戻る」をクリックして前のページに戻ります。

4.23 変更履歴の表示ページ

変更履歴の表示ページには、すべてのアクティブなセッションでの、最近の10件のリソースへの変更が表示されます。

表4-9に、ページのオプションおよびコントロールを示します。

表4-9 「変更履歴」ページ - オプションとコントロール

オプションまたはコントロール

説明

タスク

実行したタスクの種類。

- 作成

- 更新

- クローン

- 名前変更

- 移動

ユーザー

このリソースを作成または編集したユーザー。

実行時間

ユーザーがこのリソースを作成または編集した日時。

4.24 リソース・ブラウザの使用

リソース・ブラウザは、リソースを検索し、検索したリソースに対して表示、編集、エクスポート、削除といった簡単なアクションを実行するツールを提供します。

1. リソース・ブラウザを表示するには、左側にあるナビゲーション・ペインから「リソース・ブラウザ」を選択します。

2. ページの左側で、検索するリソースの種類の名前をクリックします。表4-10に、選択できる項目と、表示されたそれぞれの項目に関連するタスクを示します。

表4-10 リソース・ブラウザから使用できるリソースの種類

リソース・タイプ

関連するタスク

プロキシ・サービス

20.4項「プロキシ・サービスの検索」

ビジネス・サービス

19.4項「ビジネス・サービスの検索」

分割-結合

10.1項「分割-結合の検索」

WSDL

7.1項「WSDLの検索」

XMLスキーマ

5.1項「XMLスキーマの検索」

WS-Policy

12.2項「カスタムWS-Policyの検索」

JCAバインド

13.1項「JCAバインドの検索」

XQuery

11.1項「XQueryトランスフォーメーションの検索」

XSLT

15.1項「XSLトランスフォーメーションの検索」

MFL

16.1項「MFLの検索」

サービス・アカウント

17.2項「サービス・アカウントの検索」

サービス・キー・プロバイダ

18.1項「サービス・キー・プロバイダの検索」

JAR

8.1項「JARの検索」

アラート宛先

6.1項「アラート宛先の検索」

MQ接続

9.1項「MQ接続の検索」

XMLドキュメント

14.1項「XMLドキュメントの検索」

4.25 リソース名の変更

リソース名を変更するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、名前を変更するリソースを含むプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 名前を変更するリソースの行の「名前変更」アイコンをクリックします。「名前変更」ページが表示されます。

4. 「新しいリソース名」フィールドに、リソースの新しい名前を入力します。4.1項「プロジェクトおよびフォルダの名前付け」を参照してください。

5. 「名前変更」をクリックします。

注意:
UDDIレジストリからインポートされたビジネス・サービスの名前を変更すると、そのサービスはレジストリからデタッチされます。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.26 リソースの移動

リソースを移動するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、移動するリソースを含むプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 移動するリソースの行の「移動」アイコンをクリックします。「移動」ページが表示されます。リソースの現在の場所が強調表示されています。

4. 「場所」フィールドで、ファイルの移動先となるプロジェクトとフォルダを選択します。

5. 「ファイルの移動」をクリックします。現在のセッションで、リソースが新しい場所に移動されます。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.27 リソースのクローン作成

リソースのクローンを作成するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、クローンを作成するリソースを含むプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. クローンを作成するリソースの行の「リソースのクローン作成」アイコンをクリックします。「リソースのクローン作成」ページが表示されます。リソースの現在の場所が強調表示されています。

4. リソースのクローンは、同じ場所または別の場所に作成できます。

- 同じ場所でリソースのクローンを作成するには、「新しいリソース名」フィールドに新しい名前を入力します。4.1項「プロジェクトおよびフォルダの名前付け」を参照してください。
同じ場所にクローンを作成する場合は、「場所」パネルで場所を選択しない(現在の場所を選択するのと同じ)か、または現在のプロジェクトとフォルダを明示的に選択します。

- リソースのクローンを別の場所に作成するには、「新しいリソース名」フィールドに新しい名前を入力し(オプション)、「場所」領域からプロジェクトまたはフォルダ、あるいは両方を選択します。

5. 「リソースのクローン作成」をクリックします。リソースのクローンは現在のセッションで作成されます。
UDDIレジストリからインポートされたビジネス・サービスのクローンを作成すると、そのクローン・サービスはレジストリからデタッチされます。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

4.28 WSDLのエクスポート

プロキシ・サービスまたはビジネス・サービスに関連付けられているWSDLをエクスポートするには、プロジェクト/フォルダ・ビュー・ページを使用します。WSDLは、JARファイルとしてエクスポートされます。WSDLのエクスポートは、セッション外にいるときにのみ行えます。3.1項「チェンジ・センターの使用」を参照してください。

WSDLのエクスポート機能は、WSDLをIDEなどの外部ツールでの消費に使用できるようにする場合に使用します。これは、システムの管理モジュールにあるリソースのエクスポート機能とは異なります。リソースのエクスポート機能は、2つのドメイン間でリソースを移動およびステージングする場合に使用します。

1. 左側のナビゲーション・ペインで、「プロジェクト・エクスプローラ」の下にあるプロジェクトまたはフォルダをクリックします。プロジェクト/フォルダ・ビュー・ページが表示されます。

2. WSDLをエクスポートするプロキシ・サービスの行の「WSDLのエクスポート」アイコンをクリックします。「ファイルのダウンロード」ダイアログ・ボックスが表示されます。

3. 「ファイルのダウンロード」ダイアログ・ボックスで、「開く」をクリックしてJARファイルを開くか、「保存」をクリックしてJARファイルをデスクトップに保存します。

4.29 WSDLの生成

生成WSDLは、WSDLリソースで開始されなかったが、WSDLを使って記述できるサービスのためにOracle Service Busが生成するWSDLリソースです。たとえば、EJBベースのサービスから作成されたWSDLは生成WSDLです。詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「Oracle Service BusでWSDLが使用される仕組み」を参照してください。

プロジェクト/フォルダ・ビュー・ページを使用して、EJBトランスポートまたはフロー・トランスポート型のビジネス・サービスに関連付けられたWSDLを生成します。

1. 左側のナビゲーション・ペインで、「プロジェクト・エクスプローラ」の下にあるプロジェクトまたはフォルダをクリックします。プロジェクト/フォルダ・ビュー・ページが表示されます。

2. WSDLを生成するビジネス・サービスの行で、「WSDLの生成」アイコンをクリックします。WSDLリソースの生成ダイアログ・ボックスが表示され、現在の場所(プロジェクト名およびビジネス・サービスが含まれるフォルダの名前)が強調表示されます。

3. WSDLリソースの生成ダイアログ・ボックスで、新しいWSDLリソース名とWSDLの場所を指定し、「WSDLの生成」をクリックします。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

終了後

生成されたWSDLを表示または修正するには、7.3項「WSDLの編集」へ進みます。

4.30 Webブラウザでのリソースの表示

次のURLを使用して、標準のWebブラウザからOracle Service Busのリソースを表示することも、これにアクセスすることもできます。

- WSDL リソースのパス:
http://host:port/sbresource?WSDL/project_path/wsdlname

または

http://host:port/proxy_service_endpoint_URI?WSDL(WSDLベースのHTTPプロキシ・サービスの場合)

- WSDLを表示するためのWSDLベースのプロキシ・サービス・リソースのパス:
http://host:port/sbresource?PROXY/project_path/proxyname

http://host:port/sbresource?ORAPROXY/project_path/proxyname(Oracle Web Services Managerポリシーが関連付けられたプロキシ・サービスの場合)

- WSDLを表示するためのWSDLベースのビジネス・サービス・リソースのパス:
http://host:port/sbresource?BIZ/project_path/bizname

http://host:port/sbresource?ORABIZ/project_path/bizname(Oracle Web Services Managerポリシーが関連付けられたビジネス・サービスの場合)

- WSS リソースのパス:
http://host:port/sbresource?POLICY/project_path/policyname

- MFL リソースのパス:
http://host:port/sbresource?MFL/project_path/mflname

- SCHEMA リソースのパス:
http://host:port/sbresource?SCHEMA/project_path/schemaname

注意:
リソース名に特殊文字を使用する場合、Oracle Service Busでリソースのエクスポーズに使用するURLは、特殊文字をエスケープするためにUTF-8でコード化する必要があります。

Oracle Web Services Managerポリシーを含むWSDLを取得して、このポリシーが、サポートされるWS-PolicyおよびWS-Security Policy標準に準拠するようにすることもできます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のWS標準をサポートするためのWSDLの通知に関する説明を参照してください。

4.31 リソースの削除

リソースを削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択し、削除するリソースを含むプロジェクトまたはフォルダを選択します。

3. 削除するリソースの行の「削除」アイコンをクリックします。リソースは現在のセッションで削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

5 XMLスキーマ

この章では、Oracle Service Bus管理コンソールを使用した、XMLスキーマ・リソースへの未解決の参照の作成、検索、編集、削除および修正の方法について説明します。

スキーマは、基本データや構造化データのタイプを記述します。XMLスキーマは、XMLビジネス・データが従う必要のあるルールを記述したXML用語集です。XMLスキーマでは、ドキュメントの構造、つまり、ドキュメントに含まれる各要素や属性のデータ型を指定します。

XMLスキーマは、WSDLリソースへの参照として使用します。また、プロキシ・サービスのメッセージ・フローでXMLスキーマを使用して、XPath式で指定された要素を検証することもできます。21.24項「検証アクションの追加」を参照してください。

5.1 XMLスキーマの検索

スキーマを検索するには:

1. 次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、XMLスキーマを検索します。

- 「リソース・ブラウザ」→「XMLスキーマ」を選択します。「XMLスキーマのサマリー」ページに、表5-1に示す情報が表示されます。プロパティの詳しい説明については、5.3項「XMLスキーマの編集」を参照してください。

2. 特定のXMLスキーマを検索するには

- 「開く」アイコンをクリックして追加の検索フィルタを表示します。複数の検索条件を指定すると、すべての条件を満たす結果のみが返されます。

- リストの項目数を制限するために、名前、パス、およびネームスペースでフィルタできます。「名前」、「パス」、「ネームスペース」の各フィールドに、検索対象の名前、パス、ネームスペースを入力してから、「検索」をクリックします。
このパスは、プロジェクト名、およびXMLスキーマが格納されるフォルダの名前です。

- 「すべて表示」をクリックすると、検索フィルタが削除され、XMLスキーマがすべて表示されます。

表5-1 XMLスキーマの情報

プロパティ

説明

XMLスキーマ名

XMLスキーマに割り当てられた一意の名前。この名前はXMLスキーマの詳細ページにリンクされています。5.3項「XMLスキーマの編集」を参照してください。

パス

このパスは、プロジェクト名、およびXMLスキーマが格納されるフォルダの名前です。このリソースを含むプロジェクトまたはフォルダにリンクされています。4.1.1項「プロジェクトとフォルダを使用したリソース名の修飾」を参照してください。

XMLスキーマ・ネームスペース

XMLスキーマに含まれる定義を修飾するために使用されるネームスペース。

オプション

特定のXMLスキーマを削除するには、「削除」アイコンをクリックします。5.4項「XMLスキーマの削除」を参照してください。

5.2 XMLスキーマの追加

スキーマを追加するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、新しいXMLスキーマを追加するプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 「リソースの作成」リストから「XMLスキーマ」を選択して、「新しいXMLスキーマ・リソースの作成」ページを表示します。

4. 「リソース名」フィールドに一意のXMLスキーマ名を入力します。このフィールドは必須です。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

5. 「リソースの説明」フィールドにXMLスキーマの説明を入力します。

6. 「XMLスキーマ」フィールドで、次のいずれかを実行します。

- 新しいXMLスキーマ用のテキストを入力します。

- 「参照」をクリックして既存のXMLスキーマを検索し、インポートします。

- 既存のXMLスキーマのテキストをこのフィールドにコピーして貼り付けます。

このフィールドは必須です。

7. 「保存」をクリックします。新しいXMLスキーマは現在のセッションに保存されます。
「保存」をクリックすると、新しいXMLスキーマに未解決の参照がある場合は、それらが表示されます。5.5項「未解決のXMLスキーマ参照の表示」を参照してください。

8. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

5.3 XMLスキーマの編集

スキーマを編集するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 5.1項「XMLスキーマの検索」の説明に従って、XMLスキーマを検索します。

3. XMLスキーマ名をクリックします。XMLスキーマの詳細の表示ページに、表5-2、表5-3および表5-4に示す情報が表示されます。

表5-2 XMLスキーマの詳細

プロパティ

説明

最終更新者

このXMLスキーマを作成したか、構成にインポートしたユーザー。

最終更新日

ユーザーがこのXMLスキーマを作成したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このXMLスキーマが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このXMLスキーマを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。たとえば、このXMLスキーマが特定のWSDLによって参照されている場合、リンクをクリックすると、そのWSDLが参照としてリストに表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

このXMLスキーマの説明(説明が存在する場合)。

デフォルトでは、XMLスキーマの構造ビューが表示されます。これには、表5-3に示す情報が含まれています。

表5-3 XMLの構造の詳細

プロパティ

説明

ターゲット・ネームスペース

XMLスキーマに含まれる定義を修飾するために使用されるネームスペース。

XMLスキーマ定義

XMLスキーマに関連付けられている次の属性とグループ。

- XMLスキーマ・タイプ

- XMLスキーマ要素

- XMLスキーマのimport

- XMLスキーマのinclude/redefine

スキーマの状態

XMLスキーマのステータス。

- 有効
現在のXMLスキーマに含まれている各XMLスキーマのすべての場所が指定されている場合、XMLスキーマは有効と表示されます。ネストされたXMLスキーマ(含まれているXMLにさらXMLスキーマが含まれる)についてもすべての場所が指定されています。

- 無効
各XMLスキーマについて1つまたは複数の場所が指定されていない場合、XMLスキーマは無効と表示されます。また、1つまたは複数のネストされたXMLスキーマ(含まれているXMLスキーマにさらにXMLスキーマが含まれる)について場所が指定されていない場合も無効です。無効なXMLスキーマを解決するには、「参照の編集」をクリックします。5.6項「未解決のXMLスキーマ参照の表示」を参照してください。

4. 「テキスト・ビュー」をクリックして、XMLスキーマの詳細をテキストで表示します。テキスト・ビューには、表5-4に示す情報が表示されます。

表5-4 XMLスキーマの詳細テキスト

プロパティ

説明

ターゲット・ネームスペース

XMLスキーマに含まれる定義を修飾するために使用されるネームスペース。

XMLスキーマ

このXMLスキーマのテキスト。

5. フィールドを変更するには、「編集」をクリックします。各フィールドの説明については、5.2項「XMLスキーマの追加」を参照してください。

6. 適切な編集を加えます。

7. 「保存」をクリックして、現在のセッションで更新をコミットします。

8. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

5.4 XMLスキーマの削除

スキーマを削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「XMLスキーマ」を選択します。

3. 削除するXMLスキーマの「オプション」フィールドの「削除」アイコンをクリックします。XMLスキーマは現在のセッションで削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

5.5 未解決のXMLスキーマ参照の表示

未解決の各XMLスキーマ参照に対して、このページでは表5-5に示す情報を表示します。

表5-5 未解決のXMLスキーマの詳細

プロパティ

説明

スキーマ名

XMLスキーマに割り当てられた一意の名前。特定のXMLスキーマ名をクリックするとその詳細が表示されます。5.3項「XMLスキーマの編集」を参照してください。

ネームスペース

XMLスキーマに含まれる定義を修飾するために使用されるネームスペース。

特定の参照を検索するには

- リストを再ソートします。下線付きの列名をクリックします。昇順および降順の矢印はソート順を示します。この列名をクリックしてソート順を変更します。

- ページをスクロールします。表の上下にあるページ・コントロールを使用します。ページを移動するには、ページ番号を選択するか、次のページ、前のページ、最初のページ、または最後のページに移動する矢印ボタンを使用します。

5.6 未解決のXMLスキーマ参照の解決

「XMLスキーマ・リソースの参照の編集」ページを使用すると、XMLスキーマのインポートなど、XMLスキーマ参照のマッピングを構成することで、未解決のXMLスキーマ参照を解決できます。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「XMLスキーマのサマリー」ページの「XMLスキーマ名」列で、未解決の参照の詳細を表示するXMLスキーマの名前をクリックします。XMLスキーマの詳細の表示ページが表示されます。

3. 「参照の編集」をクリックして、「XMLスキーマ・リソースの参照の編集」ページを表示します。

4. 「リソース・タイプ」フィールドで、「XMLスキーマ」を選択します。

5. 「参照」をクリックします。XMLスキーマ・ブラウザが表示されます。

6. XMLスキーマ・ブラウザで、XMLスキーマを選択してから、定義ペインで定義を選択します。

7. 「発行」をクリックします。「リソース名」フィールドに選択したXMLスキーマが表示されます。

8. 「保存」をクリックして参照を解決します。

9. XMLスキーマの詳細ページで、「OK」をクリックします。XMLスキーマの状態が「有効」と表示されます。

6 アラート宛先

この章では、Oracle Service Bus管理コンソールを使用したアラート宛先リソースの作成、検索、編集および削除の方法について説明します。

アラート宛先リソースは、Oracle Service Busからのアラート通知を受信できる受信者のリストを取り込みます。一般的なシステム・モニター・コンテキストでは、Oracle Service Busにより生成されたアラートは、限られたユーザーのセットに対して非常に有用です。

Oracle Service Busでは、所定のコンテキストに基づいて受信者のセットを取り込むように、各アラート宛先リソースを構成することができます。アラート宛先は、メッセージ・フローで設定されたアラート・アクション、およびSLAアラート・ルールで使用されます。アラート宛先には、1つまたは複数の宛先のタイプ(管理コンソール(デフォルト)、レポート・データ・ストリーム、SNMPトラップ、電子メール、JMSキュー、JMSトピック)を含めることができます。

電子メールおよびJMS送り先の場合は、送り先リソースに電子メール・アドレスまたはJMS URIのリストをそれぞれ含めることができます。

サービスのアラート構成全体でアラート宛先を再使用できます。21.25項「アラート・アクションの追加」を参照してください。

6.1 アラート宛先の検索

「アラート宛先のサマリー」ページでは、アラート宛先のリストを表示できます。まだアラート宛先を作成しておらず、これから作成する場合は、プロジェクト・エクスプローラで新しいアラート宛先リソースを作成します。詳細は、6.2項「アラート宛先の追加」を参照してください。

1. 次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、アラート宛先を検索します。

- 「リソース・ブラウザ」、「アラート宛先」の順に選択します。「アラート宛先のサマリー」ページに、表6-1に示す情報が表示されます。

2. リストの項目数を制限するために、名前またはパス、あるいはその両方でフィルタできます。「名前」フィールドと「パス」フィールドに、検索対象の名前とパスを入力し、「検索」をクリックします。
このパスは、プロジェクト名、およびアラート宛先が格納されるフォルダの名前です。

「すべて表示」をクリックすると、検索フィルタが削除され、アラート宛先がすべて表示されます。

表6-1 アラート宛先の詳細

プロパティ

説明

名前

アラート宛先のリソース名。この名前は「アラート宛先の表示 - 構成」ページへのリンクです。6.4項「アラート宛先の編集」を参照してください。

パス

このパスは、プロジェクト名、およびアラート宛先が格納されるフォルダの名前です。このリソースを含むプロジェクトまたはフォルダにリンクされています。4.1.1項「プロジェクトとフォルダを使用したリソース名の修飾」を参照してください。

オプション

特定のアラート宛先を削除するには、「削除」アイコンをクリックします。6.5項「アラート宛先の削除」を参照してください。

6.2 アラート宛先の追加

アラート宛先は、Oracle Service Busのアラート通知用の宛先アドレスです。「アラート宛先の作成」ページでアラート宛先リソースを作成できます。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、アラート宛先を追加するプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 「リソースの作成」リストから「アラート宛先」を選択して、「アラート宛先の作成」ページを表示します。

4. 「リソース名」フィールドにこのアラート宛先の一意の名前を入力します。このフィールドは必須です。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

5. 「リソースの説明」フィールドにアラート宛先の説明を入力します。

6. このアラート宛先リソースに含める宛先として、次のいずれかまたはすべてを選択します。

注意:
デフォルトでは、実行時にすべてのアラートがOracle Service Bus管理コンソールに集約され、コンソールの「操作」→「ダッシュボード」に表示されます。

- SNMPトラップ: 「SNMPトラップ」を指定すると、アラートはSNMPトラップとして送信され、サード・パーティのエンタープライズ管理システム(EMS)で処理することができます。

- レポート: 「レポート」を指定すると、アラートはOracle Service Busの「レポート」モジュールに送信され、カスタム・レポート・プロバイダを使用して取得することができます。カスタム・レポート・プロバイダは、Oracle Service BusでレポートAPIプロバイダを使用して開発できます。これにより、カスタムJavaコードを使用して、サード・パーティがアラートを受信および処理できます。

- アラートのロギング: 「はい」を選択すると、このアラート宛先に送られたアラートはアラート・ログに記録されます。

7. アラート送り先リソース定義に、電子メール受信者を追加します。6.3.1項「電子メール受信者の追加」を参照してください。

8. アラート宛先リソース定義にJMS宛先を追加します。6.3.2項「JMS宛先の追加」を参照してください。

9. 「保存」をクリックします。新しいアラート宛先は現在のセッションに保存されます。

10. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

6.3 電子メールおよびJMS受信者の追加

複数の電子メールおよびJMS受信者をアラート送り先に追加することができます。

この項では、次のタスクを取り上げます。

- 6.3.1項「電子メール受信者の追加」

- 6.3.2項「JMS宛先の追加」

6.3.1 電子メール受信者の追加

電子メール宛先を追加する前に、SMTPサーバーを構成する(31.7項「SMTPサーバーの追加」を参照)か、WebLogic ServerでJavaMailセッションを構成する(Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・オンライン・ヘルプの「JavaMailへのアクセスの構成」を参照)必要があります。使用可能なSMTPサーバー・リソースまたはJavaMailセッションが構成されていない場合、電子メール受信者をコンフィグレーションすることはできません。

1. リストで、「アラートを電子メールで送信」を選択し、「追加」をクリックして電子メール受信者の追加ページを表示します。

2. [メール受信者]フィールドに、電子メール受信者を次の形式で入力します。mailto:username@hostname
このフィールドは必須です。

ユーザー名とホスト名の組合せをカンマ区切りリストの形式で入力すると、複数の電子メール受信者を指定できます。たとえば、mailto:username@hostname [,username_1@hostname_1]...[,username_n@hostname_n]です。

最初のメール受信者にかぎり、先頭に「mailto:」というテキストの接頭辞を付ける必要があります。

3. 「SMTPサーバー」フィールドで、送信電子メールのSMTPサーバーの名前を選択します。次の手順でメール・セッションを選択する場合、このフィールドは必須ではありません。

4. 「メール・セッション」フィールドで、使用可能なメール・セッションを選択します。前の手順でSMTPサーバーを選択した場合、このフィールドは必須ではありません。

5. 「送信元の名前」フィールドにアラート通知の送信者の名前を入力します。このフィールドは省略可能です。

6. 「送信元アドレス」フィールドに有効な電子メール・アドレスを入力します。「送信元の名前」フィールドに値を指定した場合、このフィールドは必須です。

7. 「返信先の名前」フィールドに返信先の名前を入力します。このフィールドは省略可能です。

8. 「返信先アドレス」フィールドに返信先の電子メール・アドレスを入力します。「返信先の名前」フィールドに値を指定した場合、このフィールドは必須です。

9. 「接続タイムアウト」フィールドに、タイムアウトまでに接続がサーバーからのレスポンスを待つ秒数を入力します。デフォルト値は0です。

10. 「リクエストのエンコーディング」フィールドに、文字セットのエンコーディング値を入力します。デフォルトのエンコーディング値は、iso-8859-1です。

11. 「保存」をクリックします。電子メール受信者がこのアラート送り先の電子メール受信者のリストに追加され、現在のセッションに保存されます。

6.3.2 JMS宛先の追加

JMS宛先を追加するには:

1. リストで、「JMS宛先にアラートを送信」を選択し、「追加」をクリックしてJMS宛先の追加ページを表示します。

2. 宛先のURIフィールドに、JMS宛先のURIをjms://host:port/factoryJndiName/destJndiNameという形式で入力します。
このフィールドは必須です。

注意:
Oracle WebLogic Serverでは、「myqueues/myqueue」のようにJNDI名にスラッシュを使用できましたが、スラッシュを使用したJNDI名はOracle Service Busで必要なURIフォーマットに干渉するので、これらの名前は使用できません。この問題を回避するには、JMS外部サーバーを定義し、その外部サーバーをURI内で参照します。詳細は、Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・オンライン・ヘルプの外部サーバーの構成に関する説明を参照してください。

3. 「宛先タイプ」フィールドで、「キュー」または「トピック」を選択します。

4. 「メッセージ・タイプ」フィールドで、「バイト」または「テキスト」を選択します。

5. 「リクエストのエンコーディング」フィールドに、文字セットのエンコーディング値を入力します。デフォルトのエンコーディング値は、UTF-8です。

6. 「保存」をクリックします。JMS宛先が、このアラート宛先に取り込まれるJMS宛先のリストに追加され、現在のセッションに保存されます。

6.4 アラート宛先の編集

アラート宛先を編集するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 6.1項「アラート宛先の検索」または27.1.5項「アラート宛先の検索」の説明に従って、アラート宛先を検索します。

3. アラート宛先名をクリックします。「アラート宛先の表示 - 構成」ページに表6-2に示す情報が表示されます。

表6-2 アラート宛先の構成の詳細

プロパティ

説明

最終更新者

このアラート宛先を作成または編集したユーザー。

最終更新日

ユーザーがこのアラート宛先を作成または編集した日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このアラート宛先が参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このアラート宛先を参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

このアラート宛先の説明(説明が存在する場合)。

SNMPトラップ

このアラートの宛先が構成されたときに宛先として「SNMPトラップ」オプションが指定されたかどうかが「はい」または「いいえ」で示されます。

レポート

このアラートの宛先が構成されたときに宛先として「レポート」オプションが指定されたかどうかが「はい」または「いいえ」で示されます。

アラートのロギング

アラートのロギングが有効かどうかが「はい」または「いいえ」で示されます。

電子メールとJMS

電子メール受信者またはJMS宛先、あるいはその両方が構成されている場合は、それらのリストが表示されます。

4. 「SNMPトラップ」、「レポート」または「アラートのロギング」の選択を変更できます。

5. 電子メール受信者またはJMS宛先を編集または削除するには、ページの下部にある「編集」をクリックします。

1. 電子メールの受信者を編集するには、「電子メール」内で、編集する電子メール受信者に対して、「オプション」の下にある「編集」アイコンをクリックします。電子メール受信者の編集ページを使用して、電子メール受信者情報を変更します。6.3.1項「電子メール受信者の追加」を参照してください。

2. JMS宛先を編集するには、「JMS」内で、編集するJMS宛先に対して、「オプション」の下にある「編集」アイコンをクリックします。JMS宛先の編集ページを使用して、JMS宛先情報を変更します。6.3.2項「JMS宛先の追加」を参照してください。

3. 電子メール受信者またはJMS宛先の1つまたはすべてを削除するには、「オプション」の下の削除する電子メール受信者またはJMS宛先の「削除」アイコンをクリックします。

6. 「保存」をクリックして、現在のセッションで更新をコミットします。

7. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

6.5 アラート宛先の削除

アラート宛先を削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「アラート宛先」を選択し、「アラート宛先のサマリー」ページを表示します。

3. 削除するアラート宛先の「オプション」フィールドの「削除」アイコンをクリックします。アラート宛先は現在のセッションで削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。
アラート宛先内に構成されている特定の電子メール受信者またはJMS宛先を削除する場合は、6.4項「アラート宛先の編集」を参照してください。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

7 WSDL

この章では、Oracle Service Bus管理コンソールを使用した、WSDLリソースへの未解決の参照の作成、検索、編集、削除および修正の方法について説明します。

WSDL (Web Service Definition Language)は、Webサービスを形式的に記述するためのものです。Oracle Service Busでは、プロキシ・サービスやビジネス・サービスを記述します。WSDLはWebサービスの内容、保存先、呼出し方法の説明に使用されます。

既存のWSDLリソースを基にしてSOAPおよびXMLサービスを構築できます。プロキシ・サービスとビジネス・サービスの任意のトランスポートにWSDLドキュメントを使用することができます。20.2.1項「全般的な構成」ページ」および19.1項「ビジネス・サービスの作成と構成」を参照してください。

詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「Oracle Service BusでWSDLが使用される仕組み」を参照してください。

7.1 WSDLの検索

WSDLを検索するには:

1. 次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、WSDLを検索します。

- 「リソース・ブラウザ」→「WSDL」を選択します。「WSDLのサマリー」ページに、表7-1に示す情報が表示されます。プロパティの詳しい説明については、7.3項「WSDLの編集」を参照してください。

2. 特定のWSDLを検索するには

- 「開く」アイコンをクリックして追加の検索フィルタを表示します。複数の検索条件を指定すると、すべての条件を満たす結果のみが返されます。

- リストの項目数を制限するために、名前、パス、およびネームスペースでフィルタできます。「名前」、「パス」、「ネームスペース」の各フィールドに、検索対象の名前、パス、ネームスペースを入力してから、「検索」をクリックします。
このパスは、プロジェクト名と、WSDLが格納されているフォルダの名前です。

- 「すべて表示」をクリックすると、検索フィルタが削除され、WSDLがすべて表示されます。

表7-1 WSDLの詳細

プロパティ

説明

WSDL名

WSDLに割り当てられた一意の名前。この名前はWSDLの詳細の表示ページにリンクされています。7.3項「WSDLの編集」を参照してください。

パス

このパスは、プロジェクト名と、WSDLが格納されているフォルダの名前です。このリソースを含むプロジェクトまたはフォルダにリンクされています。4.1.1項「プロジェクトとフォルダを使用したリソース名の修飾」を参照してください。

WSDLネームスペース

WSDLのアドレス。次の形式で表示されます。

http://example.com/example/example

オプション

特定のWSDLを削除するには、「削除」アイコンをクリックします。7.4項「WSDLの削除」を参照してください。

7.2 WSDLの追加

始める前に: 作成するWSDLリソースに、Oracle Service Busに現在存在しない外部スキーマへのURL参照(http://www.w3.org/2001/XMLSchema.xsdなど)が含まれている場合、XMLスキーマのリソースを作成することによって、それらのURL参照付きスキーマと依存するすべてのスキーマをOracle Service Busにインポートする必要があります。Oracle Service BusのWSDLリソースは、ローカルで使用可能なスキーマのみを参照できます。詳細は、5.2項「XMLスキーマの追加」を参照してください。

WSDLを追加するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、WSDLを追加するプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 「リソースの作成」リストで、「インタフェース」の下にある「WSDL」を選択して「新しいWSDLリソースの作成。」ページを表示します。

4. 「リソース名」フィールドにこのWSDLの一意の名前を入力します。このフィールドは必須です。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

5. 「リソースの説明」フィールドにWSDLの説明を入力します。

6. 「WSDL」フィールドで、次のいずれかを実行します。

- 新しいWSDL用のテキストを入力します。

- 「参照」をクリックして既存のWSDLを検索し、インポートします。

- 既存のWSDLのテキストをコピーしてこのフィールドに貼り付けます。

このフィールドは必須です。

7. 「保存」をクリックします。新しいWSDLは現在のセッションに保存されます。
「保存」をクリックすると、新しいWSDLに未解決の参照がある場合は、それらが表示されます。7.5項「未解決のWSDL参照の表示」を参照してください。

8. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

7.3 WSDLの編集

WSDLを編集するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 7.1項「WSDLの検索」の説明に従って、WSDLを検索します。

3. WSDL名をクリックします。WSDLの詳細の表示ページに、表7-2、表7-3および表7-4に示す情報が表示されます。

表7-2 WSDLの詳細

プロパティ

説明

最終更新者

このWSDLを作成したか、構成にインポートしたユーザー。

最終更新日

ユーザーがこのWSDLを作成したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このWSDLが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このWSDLを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。たとえば、このWSDLのポートまたはバインディングを特定のビジネス・サービスまたはプロキシ・サービスのサービスのタイプとして選択している場合は、リンクをクリックすると、そのビジネス・サービスまたはプロキシ・サービスが参照として表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

このWSDLの説明(説明が存在する場合)。

デフォルトではWSDLの構造ビューが表示されます。これには表7-3に示す情報が含まれています。

表7-3 WSDL構造の詳細

プロパティ

説明

ターゲット・ネームスペース

WSDLに含まれる定義を修飾するために使用されるネームスペース。

WSDL定義

WSDLに関連付けられている次の属性とグループ。

- WSDLポート・タイプ

- WSDLバインド

- WSDLポート

- XMLスキーマ・タイプ

- XMLスキーマ要素

- WSDLのimport

- XMLスキーマのimport

- WS-Policyの参照

- 暗黙的なWS-Policyの参照

WSDLの状態

次のWSDLのステータス。

- 有効
現在のWSDLに含まれているXMLスキーマまたはWSDLのすべての場所が指定されており、有効です。ネストされたXMLスキーマまたはネストされたWSDL (含まれているWSDLまたはXMLスキーマがさらに内包するXMLスキーマまたはWSDL)についてもすべての場所が指定されている状態。

- 無効
現在のWSDLに含まれているXMLスキーマまたはWSDLの1つまたは複数の場所が指定されていないか、有効ではありません。また、1つまたは複数のネストされたXMLスキーマまたはネストされたWSDL(含まれているXMLスキーマにさらにXMLスキーマ含まれる場合または同様のWSDL)について場所が指定されていない場合や、これらが有効ではない場合もあります。無効なXMLスキーマやWSDLを解決するには、「参照の編集」をクリックします。7.6項「未解決のWSDL参照の解決」を参照してください。

4. 「テキスト・ビュー」をクリックして、WSDLの詳細をテキストで表示します。テキスト・ビューには、表7-4に示す情報が表示されます。

表7-4 WSDLテキストの詳細

プロパティ

説明

ターゲット・ネームスペース

WSDLに含まれる定義を修飾するために使用されるネームスペース。

テキスト

このWSDLのテキスト。

5. フィールドを変更するには、「編集」をクリックします。各フィールドの説明については、7.2項「WSDLの追加」を参照してください。

6. 適切な編集を加えます。

7. 「保存」をクリックして、現在のセッションで更新をコミットします。

8. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

注意:
WSDLの詳細の表示ページに「コールバックの分離」ボタンが表示される場合があります。このボタンは、書換え可能なコールバック処理を伴うポート・タイプがWSDLに存在する場合にのみ表示されます。このボタンをクリックすると、WSDLが書き換えられます。

7.4 WSDLの削除

WSDLを削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「WSDL」を選択します。

3. 削除するWSDLの「オプション」フィールドの「削除」アイコンをクリックします。WSDLは現在のセッションで削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

7.5 未解決のWSDL参照の表示

未解決のWSDL参照の表示ページには、表7-5に示す情報が表示されます。

表7-5 未解決のWSDL参照の詳細

プロパティ

説明

WSDL名

このWSDLに割り当てられた名前。WSDL名をクリックすると詳細が表示されます。

ネームスペース

WSDLのアドレス。次の形式で表示されます。

http://example.com/example/example

特定の参照を検索するには

- リストを再ソートします。下線付きの列名をクリックします。昇順および降順の矢印はソート順を示します。この列名をクリックしてソート順を変更します。

- ページをスクロールします。表の上下にあるページ・コントロールを使用します。ページを移動するには、ページ番号を選択するか、次のページ、前のページ、最初のページ、または最後のページに移動する矢印ボタンを使用します。

7.6 未解決のWSDL参照の解決

「WSDLリソースの参照の編集」ページを使用すると、WSDLのインポート、XMLスキーマのインポートなど、WSDL参照のマッピングを構成して、未解決のWSDL参照を解決できます。WS-Policyへの未解決参照がWSDLに含まれていることもあります。

未解決のWSDLまたはXMLスキーマ参照を解決するには

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「WSDL」を選択します。

3. 「WSDLのサマリー」ページの「WSDL名」列で、未解決の参照の詳細を表示するWSDLの名前をクリックします。WSDLの詳細の表示ページが表示されます。

4. 「参照の編集」をクリックして、「WSDLリソースの参照の編集」ページを表示します。

5. 「リソース・タイプ」フィールドで「WSDL」を選択するか、「XMLスキーマ」を選択します。

6. 「参照」をクリックします。リソースのタイプに応じて、WSDLブラウザまたはXMLスキーマ・ブラウザが表示されます。

7. WSDLブラウザまたはXMLスキーマ・ブラウザで、WSDLまたはXMLスキーマを選択してから、定義ペインで定義を選択します。

8. 「発行」をクリックします。「リソース名」フィールドに選択したWSDLまたはXMLスキーマが表示されます。

9. 「保存」をクリックして参照を解決します。

10. WSDL詳細の表示ページで、「OK」をクリックします。WSDLの状態が「有効」と表示されます。

未解決のWS-Policy参照を解決するには

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「WSDL」を選択します。

3. 「WSDLのサマリー」ページの「WSDL名」列で、未解決の参照の詳細を表示するWSDLの名前をクリックします。WSDLの詳細の表示ページが表示されます。

4. 「参照の編集」をクリックして、「WSDLリソースの参照の編集」ページを表示します。

5. 「WS-Policyの名前」フィールドで、「参照」をクリックします。ポリシー・ブラウザが表示されます。

6. ポリシー・ブラウザでWS-Policyを選択します。

7. 「発行」をクリックします。「WS-Policyの名前」フィールドに選択したWS-Policyが表示されます。

8. 「保存」をクリックして参照を解決します。

9. WSDL詳細の表示ページで、「OK」をクリックします。WSDLの状態が「有効」と表示されます。

8 JAR

この章では、Oracle Service Bus管理コンソールを使用したJARリソースの作成、検索、編集および削除の方法について説明します。

JAR (Java ARchive)ファイルとは、Javaクラスを含むzipファイルです。コンパイルされたJavaクラスと、プログラムを構成する関連メタデータの保存に使用します。JARはJavaコード要素用の呼出し可能なプログラム・ライブラリのように機能します(それぞれの要素に対して個別にバインディングを要求するのではなく、単一のコンパイル・リンクが複数要素へのアクセスを提供します)。JARの詳細は、http://docs.oracle.com/javase/tutorial/deployment/jar/を参照してください。

Oracle Service BusのJARリソースは、次に使用されます。

- Javaコールアウトのアクション

- EJBベースのビジネス・サービス

- Tuxedoベースのプロキシ・サービスとビジネス・サービス

8.1 JARの検索

JARを検索するには:

1. 次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、JARを検索します。

- 「リソース・ブラウザ」→「JAR」を選択します。「JARのサマリー」ページに、表8-1に示す情報が表示されます。プロパティの詳しい説明については、8.3項「JARの編集」を参照してください。

2. リストの項目数を制限する、または特定のJARを検索するには、名前とパスでフィルタしてJARを検索します。「名前」フィールドと「パス」フィールドに、検索対象の名前とパスを入力し、「検索」をクリックします。
このパスは、プロジェクト名と、JARが格納されているフォルダの名前です。

この検索では、ワイルドカード文字がサポートされています。たとえば、「名前」フィールドに「j*」と入力すると、「j」で始まるJARのリストが表示されます。

「すべて表示」をクリックすると、検索フィルタが削除され、JARがすべて表示されます。

表8-1 JARの詳細

プロパティ

説明

JAR名

JARに割り当てられた一意の名前。この名前は、「JARリソースの表示 - JAR構成」ページへのリンクです。8.3項「JARの編集」を参照してください。

パス

このパスは、プロジェクト名と、JARが格納されているフォルダの名前です。このリソースを含むプロジェクトまたはフォルダにリンクされています。4.1.1項「プロジェクトとフォルダを使用したリソース名の修飾」を参照してください。

クラス数

JARに含まれるクラスの数。

サイズ

JARのサイズ(バイト単位)。

オプション

特定のJARを削除するには、「削除」アイコンをクリックします。8.5項「JARの削除」を参照してください。

8.2 JARの追加

JARを追加するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、JARを追加するプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 「リソースの作成」リストで、「ユーティリティ」の下にある「JAR」を選択して「新しいJARリソースの作成」ページを表示します。

4. 「リソース名」フィールドにこのJARの一意の名前を入力します。このフィールドは必須です。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

5. 「リソースの説明」フィールドにJARの説明を入力します。

6. 「JARソース・ファイル」フィールドで、次のいずれかを実行します。

- JARファイルの場所のパスを入力します。

- 「参照」をクリックして既存のJARを検索し、インポートします。

このフィールドは必須です。

7. 「保存」をクリックします。JARリソースが現在のセッションで作成および保存されます。
JARが問題なくロードされると、JARのコンテンツが表示されます。JARの詳細の表示方法については、8.3項「JARの編集」を参照してください。

8. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

8.3 JARの編集

「JARリソースの表示 - 構成」ページを使用してJARファイルを更新します。Oracle Service BusではJARを編集できないため、JARファイルの更新では基本的にリソースに対して新しいバージョンのJARを指定する必要があります。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 8.1項「JARの検索」の説明に従って、JARを検索します。

3. JAR名をクリックします。「JARリソースの表示 - JAR構成」ページに表8-2に示す情報が表示されます。

表8-2 JAR情報

プロパティ

説明

最終更新者

このJARを構成にインポートしたユーザー。

最終更新日

ユーザーがこのJARを構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このJARが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとJARのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このJARを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

このJARの説明(説明が存在する場合)。

デフォルトではJARの構成が表示されます。これには表8-3に示す情報が含まれています。

表8-3 JAR構成の詳細

プロパティ

説明

JAR構成

このJARに含まれるクラスとインタフェースのリスト。

Javaクラス名の横の 「+」 をクリックすると、そのクラスに含まれるメソッドのリストが表示されます。

4. フィールドを変更するには、「更新」をクリックします。
編集できるのは「説明」フィールドのみです。Oracle Service Busでは、JARを実際には編集できません。JARを更新するには、新しく使用するJARを選択する必要があります。詳細は、8.2項「JARの追加」を参照してください。

5. 「保存」をクリックして、現在のセッションで更新をコミットします。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

注意:
EJBビジネス・サービスで使用するJARを変更した(JARリソースが新しいバージョンのJARを参照するように指定した)場合は、EJBの再デプロイが必要です。その後、このJARを使用する任意のEJBサービスを編集し、JARリソースを再選択して、保存およびアクティブ化を行う必要があります。新しいJARを使用するEJBビジネス・サービスの再パッケージが実行されます。
ただし、Javaコールアウト・アクションおよびTuxedoベースのサービスは、自動で新しいJARをピックアップします。

8.4 JAR依存関係の編集

Oracle Service Busでは、別のJAR内の他のクラスに依存するクラスをJARリソースに格納できます。JAR依存関係の編集ページを使用して参照されているJARリソースを追加または削除します。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 8.1項「JARの検索」の説明に従って、JARを検索します。

3. JAR名をクリックします。
「JARリソースの表示 - JAR構成」ページの「依存関係」タブにある数値インジケータには、このJARリソース用に構成された、参照されているJARの数が表示されます。参照されているJARがない場合は、ゼロが表示されます。

4. 「依存関係」タブを選択して、参照されているJARを表示するか、追加します。
JARの依存関係ページには、表8-4に示す情報が含まれています。

表8-4 JARの依存関係情報

プロパティ

説明

名前

参照されているJARの名前。この名前は、「JARリソースの表示 - JAR構成」ページへのリンクです。8.3項「JARの編集」を参照してください。

パス

このパスは、プロジェクト名と、JARが格納されているフォルダの名前です。

5. 参照されているJARを追加または削除するには「編集」をクリックします。
JAR依存関係の編集ページには、表8-5に示す情報が含まれています。

表8-5 JARの依存関係の詳細

プロパティ

説明

マニフェスト・クラス・パス

JARマニフェスト・ファイル内のクラス・パス・エントリ。

名前

参照されているJARの名前とパス

オプション

- 上下の矢印を使用して、参照されているJARの優先順位を変更します。

- 参照されているJARを削除するには、「削除」アイコンをクリックします。

6. 「JARの追加」をクリックします。

7. JARブラウザで、参照されているJARリソースを特定または選択し、「発行」をクリックします。
たとえば、JAR Aを編集してJAR BとCを追加した場合、JAR AはJAR BとCを参照(依存)します。

「オプション」列で矢印を使用して参照されているJARの階層を並べ替えるか、「削除」アイコンを使用して削除します。

8. 「保存」をクリックして、現在のセッションで更新をコミットします。

9. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

8.5 JARの削除

JARを削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「JAR」を選択します。

3. 削除するJARの「オプション」フィールドの「削除」アイコンをクリックします。JARは現在のセッションで削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

9 MQ接続

この章では、Oracle Service Bus管理コンソールを使用したMQ接続リソースの作成、検索、編集および削除の方法について説明します。

注意:
Oracle Service BusでサポートされているWebSphere MQのバージョンについては、第1章「相互運用性のシナリオと考慮事項」を参照してください。WebSphere MQクライアント・ライブラリは、Oracle Service Busインストーラにバンドルされていません。WebSphere MQインストールからWebSphere MQクライアント・ライブラリを取得します。

MQ接続は、複数のMQプロキシ・サービスおよびビジネス・サービスで再使用できる、共有可能なリソースです。MQプロキシ・サービスおよびビジネス・サービスは、MQキューにアクセスする前に、MQキュー・マネージャに接続する必要があります。MQ接続リソースは、MQキュー・マネージャに接続するために必要な接続パラメータを提供します。

各MQ接続リソースには、接続プールがあります。任意のMQ接続リソースを使用して任意のキュー・マネージャへの接続を取得しているすべてのビジネス・サービスまたはプロキシ・サービスは、そのリソースに対して作成された同じ接続プールを使用します。つまり、同じキュー・マネージャを使用している複数のビジネス・サービスまたはプロキシ・サービスは、接続プールを共有することになります。

Oracle Service Bus MQ接続リソースとネイティブMQトランスポートの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のMQトランスポートに関する項を参照してください。

WebSphere MQの基礎の詳細は、http://www.redbooks.ibm.com/redbooks/SG247128/wwhelp/wwhimpl/java/html/wwhelp.htmを参照してください。

9.1 MQ接続の検索

MQ接続リソースの検索:

1. 次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、MQ接続リソースを検索します。

- 「リソース・ブラウザ」→「MQ接続」を選択します。「MQ接続のサマリー」ページに、表9-1に示す情報が表示されます。プロパティの詳しい説明については、9.3項「MQ接続の編集」を参照してください。

2. リストの項目数を制限するために、名前またはパス、あるいはその両方でフィルタできます。「名前」フィールドと「パス」フィールドに、検索対象の名前とパスを入力し、「検索」をクリックします。

3. 「開く」アイコンをクリックして追加の検索フィルタを表示します。複数の検索条件を指定すると、すべての条件を満たす結果のみが返されます。

- キュー・マネージャ名でフィルタします。任意の文字列を入力し(ワイルドカード文字も入力可)、「検索」をクリックします。

- キュー・マネージャ・チャネル名でフィルタします。任意の文字列を入力し(ワイルドカード文字も入力可)、「検索」をクリックします。

- 「すべて表示」をクリックすると、検索フィルタが削除され、MQ接続リソースがすべて表示されます。

表9-1 MQ接続の詳細

プロパティ

説明

MQ接続名

MQ接続リソースに割り当てられた名前。この名前は、MQ接続の構成ページへのリンクです。9.3項「MQ接続の編集」を参照してください。

パス

このパスは、プロジェクト名と、MQ接続リソースが格納されているフォルダの名前です。このリソースを含むプロジェクトまたはフォルダにリンクされています。4.1.1項「プロジェクトとフォルダを使用したリソース名の修飾」を参照してください。

オプション

特定のMQ接続リソースを削除するには、「削除」アイコンをクリックします。9.4項「MQ接続の削除」を参照してください。

9.2 MQ接続の追加

始める前に

Oracle Service BusでサポートされているWebSphere MQのバージョンについては、第1章「相互運用性のシナリオと考慮事項」を参照してください。WebSphere MQクライアント・ライブラリは、Oracle Service Busインストーラにバンドルされていません。WebSphere MQインストールからWebSphere MQクライアント・ライブラリを取得します。

MQ接続リソースとMQトランスポートをOracle Service Bus内で構成して使用するには、MQクライアント・ライブラリをクラス・パスに追加する必要があります。1つの選択肢として、com.ibm.mq.jarライブラリをDOMAIN_NAME/libディレクトリにコピーします。DOMAIN_NAMEはドメインを配置したディレクトリの名前で、通常はMW_HOME\user_projects\domains\DOMAIN_NAMEです。

MQ接続リソースを追加する手順:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、MQ接続リソースを追加するプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 「リソースの作成」リストで、「ユーティリティ」の下にある「MQ接続」を選択して新しいMQ接続リソースの作成ページを表示します。
表9-2に示す接続パラメータを指定します。

表9-2 MQ接続パラメータ

プロパティ

説明

リソース名

MQ接続リソースにユニークな名前を入力します。

名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。名前にはスペースが含まれないようにします。

リソースの説明

MQ接続リソースの説明を入力します。

接続タイプ

MQキュー・マネージャに接続するには、次のいずれかのモードを選択します。

- tcpモード - Oracle Service Busと同じコンピュータに存在しないキュー・マネージャに接続するには、TCP/IPを使用します。

- バインド・モード - Oracle Service Busと同じコンピュータに存在するキュー・マネージャに接続するには、バインド・モードを使用します。

マルチインスタンス・キュー・マネージャ有効

MQトランスポートに対してマルチインスタンス・キュー・マネージャを有効にする場合に選択します。

MQ接続リスト

プライマリおよびセカンダリMQ接続を次の形式で指定します。

host1:port1,host2:port2

注意: MQ接続リスト・フィールドは、マルチインスタンス・キュー・マネージャ有効オプションが選択されている場合にのみ表示されます。

MQホスト名

tcpモード接続の場合のみ:

MQキュー・マネージャのホスト名を入力します。

注意: MQ接続リスト・フィールドは、マルチインスタンス・キュー・マネージャ有効オプションが選択されていない場合にのみ表示されます。

MQポート番号

tcpモード接続の場合のみ:

MQキュー・マネージャ・リスナーのポート番号を入力します。

注意: MQ接続リスト・フィールドは、マルチインスタンス・キュー・マネージャ有効オプションが選択されていない場合にのみ表示されます。

MQキュー・マネージャ名

接続先のMQキュー・マネージャの名前を入力します。

キュー・マネージャCCSID

tcpモード接続の場合のみ:

接続を確立するときに使用されるCCSID (coded character set identifier)です。CCSIDは、主に国際化をサポートする目的で使用されます。

詳細は、WebSphere MQの基礎概念(http://www.redbooks.ibm.com/redbooks/SG247128/wwhelp/wwhimpl/java/html/wwhelp.htm)を参照してください。

MQキュー・マネージャのチャネル名

tcpモード接続の場合のみ:

キュー・マネージャのサーバー接続チャネル名を入力します。

SSLが必要

tcpモード接続の場合:

このチェック・ボックスを選択すると、メッセージの送信にSSLが使用されます。「双方向SSLが必要」オプションも選択されていないかぎり、サーバー側のSSLのみが有効になります。

暗号セット

このオプションは、「SSLが必要」チェック・ボックスが選択されている場合のみ使用できます。

SSLで使用される暗号スイート・アルゴリズムを選択します。

暗号スイート・アルゴリズムは、WebSphere MQサーバーとWebSphere MQクライアントの間のメッセージ通信を暗号化および復号化する際に使用されます。そのため、SSLを使用してWebSphere MQサーバーと通信する場合は、暗号スイート・アルゴリズムを指定する必要があります。

双方向SSLが必要

このオプションは、「SSLが必要」チェック・ボックスが選択されている場合のみ使用できます。

このチェック・ボックスを選択すると、クライアント側およびサーバー側のSSL認証が両方とも有効になります。サーバー側のみの認証用の一方向SSLでは、このチェック・ボックスを選択解除します。

サービス・キー・プロバイダへの参照

「双方向SSLが必要」を選択した場合は、適切なキーストアとトラストストアの情報を取得するために、サービス・キー・プロバイダへの参照を提供する必要があります。サービス・キー・プロバイダには、プロキシ・サービスがインバウンドSOAPメッセージの復号化、アウトバウンド認証、およびデジタル署名で使用する、公開鍵インフラストラクチャ(PKI)の資格証明情報が含まれます。

サービス・キー・プロバイダのパス(project/folder)と名前を入力するか、「参照」をクリックして、「サービス・キー・プロバイダの選択」ページから選択します。

サービス・プロバイダ使用の詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のサービス・キー・プロバイダに関する項を参照してください。

静的なサービス・アカウントへの参照

tcpモード接続の場合のみ:

ユーザー名/パスワードによる認証に必要です。静的なサービス・アカウントのパス(プロジェクト/フォルダ)および名前を入力するか、参照をクリックし、ブラウザからサービス・アカウントを選択します。

サービス・アカウントは、ユーザー名とパスワードを提供します。このユーザー名とパスワードは、プロキシ・サービスとビジネス・サービスがアウトバウンド認証を行うとき、またはローカルまたはリモート・リソースを認証するときに使用します。

WebSphere MQバージョン

WebSphere MQのバージョンを選択します。

- 5.3

- 6.0

- 7.0

注: バージョン5.3および6.0はもうIBMではサポートされていません。これらのバージョンはOracle Service Busでは非推奨です。

MQ接続プール・サイズ

再利用のために接続プールに保管するMQ接続の数を入力します。

MQ接続タイムアウト

未使用の接続が破棄されるまでの時間間隔を秒単位で入力します。デフォルトは1800秒。

MQ接続Max Wait

接続が使用可能になるまで待機する最大時間を入力します(ミリ秒単位)。その時間内に接続が確立されない場合、Oracle Service Busが例外をスローします。デフォルトは3000ミリ秒です。

XA有効

この接続によって処理されるトランザクションが分散(XA)トランザクションである場合は、このオプションを選択します。

XAトランザクションではMQキューを永続的に構成する必要があります。バージョン5.3または6.0 (両方とも非推奨です)をご使用の場合は、クラスパスにcom.ibm.mqetclient.jarを追加してください。

4. 「保存」をクリックします。MQ接続リソースが現在のセッションで作成および保存されます。

5. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

9.3 MQ接続の編集

MQ接続リソースを編集するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 9.1項「MQ接続の検索」の説明に従って、MQ接続リソースを検索します。

3. MQ接続リソース名をクリックします。
「MQ接続の表示 - 構成」ページには、表9-3に示す情報が表示されます。

表9-3 MQ接続の詳細

プロパティ

説明

最終更新者

このMQ接続リソースを作成または構成にインポートしたユーザー。

最終更新日

ユーザーがこのMQ接続リソースを作成したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このMQ接続リソースが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このMQ接続リソースを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

このMQ接続リソースの説明(存在する場合)。

4. フィールドを変更するには、「編集」をクリックします。各フィールドの説明については、9.2項「MQ接続の追加」を参照してください。
「リソース名」フィールドは変更できません。

5. 「保存」をクリックして、現在のセッションで更新をコミットします。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

9.4 MQ接続の削除

MQ接続リソースを削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「MQ接続」を選択し、「MQ接続のサマリー」ページを表示します。

3. 削除するMQ接続リソースの「オプション」フィールドの「削除」アイコンをクリックします。MQ接続リソースは現在のセッションで削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

10 分割-結合

この章では、Oracle Service Bus管理コンソールを使用した分割-結合リソースの作成、検索、編集および削除の方法について説明します。

分割-結合を使用すると、メッセージ呼出しをパラレルに送信し(シーケンシャルに加えて)、レスポンスを蓄積することができます。分割-結合の詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「分割-結合によるサービスのパフォーマンスの向上」を参照してください。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の「分割-結合の操作」と「分割-結合ユーザー・インタフェース・リファレンス」も参照してください。

フロー・トランスポート型のビジネス・サービスを介して分割-結合にアクセスすることができます。詳細は、19.2.10項「フロー・トランスポート構成ページ」を参照してください。

10.1 分割-結合の検索

分割-結合を検索するには:

1. 次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、分割-結合を検索します。

- 「リソース・ブラウザ」→「分割-結合」を選択します。「分割-結合のサマリー」ページに、表10-1に示す情報が表示されます。プロパティの詳しい説明については、10.3項「分割-結合の編集」を参照してください。

2. リストの項目数を制限するために、名前またはパス、あるいはその両方でフィルタできます。「名前」フィールドと「パス」フィールドに、検索対象の名前とパスを入力し、「検索」をクリックします。

3. 「すべて表示」をクリックすると、検索フィルタが削除され、分割-結合がすべて表示されます。

表10-1 分割-結合の詳細

プロパティ

説明

分割-結合名

分割-結合に割り当てられた名前。この名前は、「分割-結合の構成」ページへのリンクです。10.3項「分割-結合の編集」を参照してください。

パス

このパスは、プロジェクト名と、分割-結合が格納されているフォルダの名前です。このリソースを含むプロジェクトまたはフォルダにリンクされています。4.1.1項「プロジェクトとフォルダを使用したリソース名の修飾」を参照してください。

オプション

特定の分割-結合を削除するには、「削除」アイコンをクリックします。10.4項「分割-結合の削除」を参照してください。

10.2 分割-結合の追加

始める前に

分割-結合は、.flowファイルを必要とします。このファイルは、Eclipse用のOracle Service Busプラグインを使用して分割-結合を作成した場合や、分割-結合構成を行ったJARをプラグインへインポートした場合に作成されます。.flowファイルには、プロキシ・サービス、ビジネス・サービス、または外部のWSDLリソースへの参照を含めることができます。Split-joinが依存するリソースは、Split-joinを起動する前に、サーバー上に存在する必要があります。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、分割-結合を追加するプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 「リソースの作成」リストから「分割-結合」を選択して、「新しい分割-結合リソースの作成」ページを表示します。
表10-2に示すパラメータを指定します。

表10-2 分割-結合パラメータ

プロパティ

説明

リソース名

分割-結合の固有の名前を入力します。

名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

リソースの説明

分割-結合の説明を入力します。

分割-結合

「参照」をクリックしてシステム上の.flowファイルを検索します。通常、MW_HOME\user_projects\workspaces\your_workspaceにあります。

ディスパッチ・ポリシー

スレッド(並列ブランチ)の作成に使用したWebLogic Serverワーク・マネージャを選択し、分割-結合を実行します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

4. 「保存」をクリックします。分割-結合が現在のセッションで作成および保存されます。

注意:
分割-結合が依存するリソースは、分割-結合を起動する前に存在する必要があります。

5. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

10.3 分割-結合の編集

分割-結合を変更するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 10.1項「分割-結合の検索」の説明に従って、分割-結合を検索します。

3. 分割-結合の名前をクリックします。
「分割-結合の表示 - 構成」ページには、表10-3に示す情報が表示されます。

表10-3 分割-結合の詳細

プロパティ

説明

最終更新者

この分割-結合を作成したか、構成にインポートしたユーザー。

最終更新日

ユーザーがこの分割-結合を作成したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

この分割-結合が参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

この分割-結合を参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

この分割-結合の説明(説明が存在する場合)。

4. 次の分割-結合操作設定を行うことができます。

表10-4 分割-結合操作設定

プロパティ

説明

ログ

分割-結合のログ情報を取得するには、「ロギングの有効化」を選択し、取得するロギング・レベルを選択します。

実行トレース

ランタイム・トレースを有効にするには、「有効」を選択します。

5. 「更新」をクリックして、現在のセッションでの更新をコミットします。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

10.4 分割-結合の削除

分割-結合を削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「分割-結合」を選択し、「分割-結合のサマリー」ページを表示します。

3. 削除する分割-結合の「オプション」フィールドの「削除」アイコンをクリックします。分割-結合は現在のセッションで削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

11 XQueryトランスフォーメーション

この章では、Oracle Service Bus管理コンソールを使用したXQueryトランスフォーメーション・リソースの作成、検索、編集および削除の方法について説明します。

XQueryトランスフォーメーション・マップは、XMLからXML、XMLから非XML、および非XMLからXMLのマッピングを記述できます。

11.1 XQueryトランスフォーメーションの検索

XQueryトランスフォーメーションを検索するには:

1. 次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、XQueryを検索します。

- 「リソース・ブラウザ」→「XQuery」を選択します。「XQueryのサマリー」ページに、表11-1に示す情報が表示されます。

2. リストの項目数を制限するために、名前またはパス、あるいはその両方でフィルタできます。「検索」にある「名前」フィールドと「パス」フィールドに、検索対象の名前、パスまたはその両方を入力し、「検索」ボタンをクリックします。
パスは、プロジェクト名、およびXQueryトランスフォーメーションが格納されるフォルダの名前になります。

ワイルド・カード文字の*および?を使用できます。検索では大文字小文字は区別されます。

「すべて表示」をクリックすると、ドメイン内のすべてのXQueryが表示されます。これにより、前回の検索で使用された検索パラメータがクリアされます。

表11-1 XQueryトランスフォーメーションの詳細

プロパティ

説明

XQuery名

XQueryトランスフォーメーションに割り当てられた名前。名前をクリックしすると、XQueryトランスフォーメーションの詳細の表示ページが表示されます。

11.3項「XQueryトランスフォーメーションの編集」を参照してください。

パス

プロジェクト名、およびXQueryが格納されるフォルダの名前、たとえば、MyProject/MyFolder/MyResourceなどです。

XQueryのパスをクリックすると、XQueryを含む4.3項「プロジェクト/フォルダ・ビュー・ページ」が表示されます。

アクション

「テスト・コンソールの起動」アイコンをクリックして、サービスやトランスフォーメーションの設計の検証とテストに使用するテスト・コンソールを起動します。XQueryトランスフォーメーションの場合、セッション内でもセッション外でもテスト・コンソールを使用できます。詳細は、4.2項「「プロジェクト・ビュー」ページ」を参照してください。

オプション

セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

「削除」アイコンをクリックするとXQueryが削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。詳細は、11.4項「XQueryトランスフォーメーションの削除」を参照してください。

11.2 XQueryトランスフォーメーションの追加

XQueryトランスフォーメーションを追加するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、4.2項「「プロジェクト・ビュー」ページ」または4.3項「プロジェクト/フォルダ・ビュー・ページ」を表示します。

3. XQueryトランスフォーメーションを追加するプロジェクトまたはフォルダに移動します。

4. 「リソースの作成」リストから、「XQuery」を選択します。「新しいXQueryの作成」ページが表示されます。

5. 「リソース名」フィールドにこのXQueryトランスフォーメーションの一意の名前を入力します。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

6. 「リソースの説明」フィールドにXQueryトランスフォーメーションの説明を入力します。

7. 「XQuery」フィールドで、次のいずれかを実行します。

- 新しいXQueryトランスフォーメーション用のテキストを入力します。

- 「参照」をクリックして既存のXQueryトランスフォーメーションを検索し、インポートします。

- 既存のXQueryトランスフォーメーションのテキストをこのフィールドにコピーして貼り付けます。

8. 「保存」をクリックして、現在のセッションで更新をコミットします。

9. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」を選択します。

11.3 XQueryトランスフォーメーションの編集

XQueryトランスフォーメーションを編集するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 11.1項「XQueryトランスフォーメーションの検索」の説明に従って、XQueryトランスフォーメーションを検索します。

3. XQueryトランスフォーメーション名をクリックします。XQueryトランスフォーメーションの詳細の表示ページに、表11-2に示す情報が表示されます。

表11-2 XQueryトランスフォーメーション・リソースの詳細

プロパティ

説明

最終更新者

このXQueryトランスフォーメーションを作成したか、構成にインポートしたユーザー。

最終更新日

ユーザーがこのXQueryトランスフォーメーションを作成したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このXQueryトランスフォーメーションが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。詳細は、4.22項「リソースへの参照の表示」を参照してください。

参照元

このXQueryトランスフォーメーションを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。たとえば、このXQueryトランスフォーメーションを特定のプロキシ・サービスのメッセージ・フロー内の変数に割り当てた場合、リンクをクリックすると、そのプロキシ・サービスが参照としてリストに表示されます。詳細は、4.22項「リソースへの参照の表示」を参照してください。

説明

このXQueryトランスフォーメーションの説明(説明が存在する場合)。

XQuery

XQueryトランスフォーメーションのフル・テキスト。

XQuery変数

このXQueryトランスフォーメーションに対し選択されているXQuery変数。

4. フィールドを変更するには、「編集」をクリックします。各フィールドの説明については、11.2項「XQueryトランスフォーメーションの追加」を参照してください。
「リソース名」フィールドは変更できません。

5. 「保存」をクリックして、現在のセッションで更新をコミットします。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

11.4 XQueryトランスフォーメーションの削除

XQueryトランスフォーメーションを削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「XQuery」を選択します。「XQueryのサマリー」ページが表示されます。

3. 削除するXQueryトランスフォーメーションの行の「削除」アイコンをクリックします。XQueryトランスフォーメーションは現在のセッションで削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

12 カスタムWS-Policy

この章では、Oracle Service Bus管理コンソールを使用したカスタムWS-Policyリソースの作成、検索、編集および削除の方法について説明します。

注意:
Oracle Service Busの今後のリリースでは、Oracle Web Services ManagerポリシーがWLS 9.2ポリシーにかわって使用されます。このバージョンのOracle Service Busでは、引き続きWLS 9.2ポリシーがサポートされますが、サービスを新たに作成する際、Oracle Web Services Managerポリシーを使用して、WLS 9.2ポリシーが推奨されなくなる場合に備えることも検討してください。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle Web Services ManagerによるOracle Service Busの保護に関する項を参照してください。

Web Services Policy Framework (WS-Policy)は、XMLベースの拡張フレームワークです。Webサービスの構成にドメイン固有のセキュリティ・アサーションを拡張し、Webサービスのセキュリティ要件、期待される条件、および機能を指定します。Oracle Service BusにおけるWS-Policyの主な使用方法の1つとして、プロキシ・サービスおよびビジネス・サービスでの、メッセージ・レベル・セキュリティの構成があります。

12.1 Oracle Service Bus WS-Policyの使用

Oracle Service Busには、Auth.xml、Encrypt.xml、Sign.xmlというクライアントの認証、デジタル暗号化、またはSOAPメッセージへのデジタル署名に必要な3種類の簡単なWS-Policyファイルがあります。具体的なセキュリティのニーズがないかぎり、これらのあらかじめパッケージ化されたファイルをできるかぎり使用するようお薦めします。

これらのポリシーの使用の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle Service Busプロキシ・サービスとビジネス・サービスでのWS-Policyの使用に関する項を参照してください。

12.1.1 カスタムWS-Policyの使用

Oracle Service Bus WS-Policy文がセキュリティのニーズを満たしていない場合、自分で書いたWS-Policy (カスタムWS-Policy)をOracle Service Busにインポートして、WSDLから参照することもできます。(Oracle Service Bus WS-Policy文は読取り専用です)。

12.2 カスタムWS-Policyの検索

「WS-Policyのサマリー」ページには、現在のOracle Service Busドメインに追加したカスタムWeb Service Policy (WS-Policy)がリストされます。事前にパッケージ化され、すべてのOracle Service Busドメインで利用可能なOracle Service Bus WS-Policyは、Oracle Service Bus管理コンソールに表示されません。

1. 次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、WS-Policyを検索します。

- 「リソース・ブラウザ」→「WS-Policy」を選択します。「WS-Policyのサマリー」ページに、表12-1に示す情報が表示されます。プロパティの詳しい説明については、12.2項「WS-Policyの検索」を参照してください。

2. カスタムWS-Policyを検索するには、「名前」フィールドにWS-Policy名の一部、またはすべてを入力します。「パス」フィールドにWS-Policyのプロジェクト名およびフォルダの一部、または全部を入力することもできます。「検索」をクリックします。
「すべて表示」をクリックすると、検索フィルタが削除され、WS-Policyがすべて表示されます。

表12-1 WS-Policy情報

プロパティ

説明

WS-Policyの名前

WS-Policyに割り当てられた一意の名前。名前をクリックすると、WS-Policyの詳細の表示ページが表示されます。12.4項「カスタムWS-Policyの編集」を参照してください。

パス

プロジェクト名と、WS-Policyが格納されているフォルダの名前。名前をクリックすると、このリソースを含むプロジェクトまたはフォルダが表示されます。4.1.1項「プロジェクトとフォルダを使用したリソース名の修飾」を参照してください。

オプション

「削除」アイコンが含まれます。ビジネス・サービスまたはプロキシ・サービスがWS-Policyを使用する構成の場合、削除の警告アイコンは、確認の警告は表示されるがそのWS-Policyを削除できることを示します。これにより、削除したWS-Policyに対してサービスからの参照が解決されないために、競合が起きることがあります。12.5項「カスタムWS-Policyの削除」を参照してください。

12.3 カスタムWS-Policyの追加

WS-Policyを含むXMLファイルをインポートするか、Oracle Service Bus管理コンソールにWS-Policyを直接書き込むことができます。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、WS-Policyを追加するプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 「リソースの作成」リストで、「インタフェース」の下にある「WS-Policy」を選択して「新しいWS-Policyの作成」ページを表示します。

4. 「リソース名」フィールドにこのWS-Policyの一意の名前を入力します。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

5. 「リソースの説明」フィールドにこのWS-Policyの説明を入力します。

6. 「ポリシー」フィールドで、次のいずれかを実行します。

- 「参照」をクリックしてカスタムWS-Policyを含むXMLファイルを検索し、インポートします。

- 新しいWS-Policyに関するテキストを入力します。

- 既存のWS-Policyのテキストをコピーして、このフィールドに貼り付けます。

7. 「保存」をクリックします。新しいWS-Policyは現在のセッションに保存されます。

8. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

12.4 カスタムWS-Policyの編集

WS-Policyの詳細の表示ページでは、特定のWeb Service Policy (WS-Policy)の詳細を表示および変更できます。Oracle Service Bus管理コンソールに表示されないOracle Service Bus WS-Policyは読取り専用です。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 12.2項「カスタムWS-Policyの検索」の説明に従って、WS-Policyを検索します。

3. WS-Policy名をクリックします。WS-Policyの詳細の表示ページに、表12-2に示す情報が表示されます。

表12-2 WS-Policyの詳細

プロパティ

説明

最終更新者

このWS-Policyを作成したか、構成にインポートしたユーザー。

最終更新日

ユーザーがこWS-Policyを作成したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このWS-Policyが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このWS-Policyを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

このWS-Policyの説明(説明が存在する場合)。

ポリシー

このWS-Policyのテキスト。

4. フィールドを変更するには、「編集」をクリックします。各フィールドの説明については、12.3項「WS-Policyの追加」を参照してください。
「リソース名」フィールドは変更できません。

5. 「保存」をクリックして、現在のセッションで更新をコミットします。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

12.5 カスタムWS-Policyの削除

そのWS-Policyを使用する構成のビジネス・サービス、またはプロキシ・サービスがある場合は、そのビジネス・サービス、またはプロキシ・サービスからWS-Policyを削除してください。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「WS-Policy」を選択します。

3. 削除するWS-Policyの「オプション」フィールドにある「削除」アイコンをクリックします。
WS-Policyは現在のセッションで削除されます。ビジネス・サービスまたはプロキシ・サービスがWS-Policyを使用する構成の場合、削除の警告アイコンは、確認の警告は表示されるがそのWS-Policyを削除できることを示します。これにより、削除したWS-Policyに対してサービスからの参照が解決されないために、競合が起きることがあります。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

13 JCAバインド

この章では、Oracle Service Bus管理コンソールを使用したJCAバインド・リソースの作成、検索、編集および削除の方法について説明します。

Oracle SOA Suiteでは、J2EE Connector Architecture (JCA)アダプタを使用してバックエンドのエンタープライズ情報システム(EIS)を統合できます。Oracle JDeveloperやその他のサポートされているJCA開発環境を使用して、アダプタを構成し、バックエンドの統合に使用されるJCAアダプタ・リソース(.jcaファイルおよび抽象WSDL)を作成します。

JCA準拠のEISコンポーネントはOracle Service Bus(OSB)を介して通信するので、JCAバインド・リソースの形式のJCAリソースを消費できます。JCAバインドを使用すると、Oracle Service Bus JCAトランスポートを使用し、JCAアダプタを介してEISアプリケーションと通信するプロキシ・サービスおよびビジネス・サービスを生成できます。

この章の内容は次のとおりです。

- 13.1項「JCAバインドの検索」

- 13.2項「JCAバインドの追加」

- 13.3項「JCAバインドの編集」

- 13.4項「JCAバインドの削除」

JCAトランスポートの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のJCAトランスポートに関する項を参照してください。

Oracle SOA Suite JCAアダプタの詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

13.1 JCAバインドの検索

「JCAバインドのサマリー」ページには、Oracle Service Busドメインに追加したJCAバインドがリストされます。

1. 次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、JCAバインドを検索します。

- 「リソース・ブラウザ」→「JCAバインド」を選択します。「JCAバインドのサマリー」ページに、表13-1に示す情報が表示されます。プロパティの詳しい説明については、13.1項「JCAバインドの検索」を参照してください。

2. 特定のJCAバインドを検索するには、次のようにします。

- リストの項目数を制限するには、名前およびパスでフィルタしてから、「検索」をクリックします。
パスは、リソースが含まれるプロジェクト名とフォルダの名前です。

- 「すべて表示」をクリックすると、検索フィルタが削除され、JCAバインドがすべて表示されます。

表13-1 JCAバインドの情報

プロパティ

説明

JCAバインド名

JCAバインドに割り当てられた一意の名前。名前をクリックすると、JCAバインドの詳細の表示ページが表示されます。13.3項「JCAバインドの編集」を参照してください。

パス

プロジェクト名と、JCAバインドが格納されているフォルダの名前。名前をクリックすると、このリソースを含むプロジェクトまたはフォルダが表示されます。4.1.1項「プロジェクトとフォルダを使用したリソース名の修飾」を参照してください。

アクション

JCAバインドからOracle Service Bus WSDLとJCAサービスを生成できる「生成」アイコンが含まれます。

オプション

「削除」アイコンが含まれます。ビジネス・サービスまたはプロキシ・サービスがJCAバインドを使用する構成の場合、削除の警告アイコンは、確認の警告は表示されるがそのJCAバインドを削除できることを示します。これにより、削除したJCAバインドに対してサービスからの参照が解決されないために、競合が起きることがあります。13.4項「JCAバインドの削除」を参照してください。

13.2 JCAバインドの追加

Oracle Service BusでJCAバインドを作成する最も簡単な方法は、作成したJCAリソース(.jcaファイル、関連付けられているWSDL、TopLinkまたはEclipseLinkマッピング・ファイル)の一括インポートによるものです。一括インポートでは、Oracle Service Busによって、.jcaファイルからJCAバインドが、関連付けられているJCA WSDLからWSDLリソースが、マッピング・ファイルからXMLドキュメント・リソースが自動的に生成され、ファイル間の依存関係が保持されます。

インポートの詳細は、4.15項「Zipファイルからのリソースのロード」、4.17項「URLからのリソースのロード」および29.1項「リソースのインポート」を参照してください。

JCAリソースをインポートしたら、20.1.1項「JCAバインド・リソースからのプロキシ・サービスの生成」および19.1.1項「JCAバインド・リソースからのビジネス・サービスの生成」の説明に従って、JCAリソースからプロキシ・サービスまたはビジネス・サービスを生成します。

JCAリソースを一括インポートしない場合、次の手順のように手動でJCAバインドを作成できます。

1. Oracle JDeveloperで、JCAサービスWSDL、対応するJCA(.jca)ファイル、および必要に応じてTopLinkまたはEclipseLinkマッピング・ファイルとXSLTファイルなどの他のリソースを作成します。
詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

2. セッションの作成または編集をまだ行っていない場合は、OSB管理コンソールで「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションに入ります。3.1項「チェンジ・センターの使用」を参照してください。

3. OSB管理コンソールでは、JCAリソースを作成するか、Oracle JDeveloperで作成したWSDL、XML、XSLTリソースなどのJCAリソースをインポートします。

4. JCAバインドを作成します。

1. 「プロジェクト・エクスプローラ」を選択して、JCAバインドのプロジェクトまたはフォルダの場所を選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

2. 「リソースの作成」フィールドから「JCAバインド」を選択して、「新しいJCAバインド・リソースを作成します。」ページを表示します。

3. 「JCAファイル」フィールドで「参照」をクリックし、JCAファイルを選択します。
「リソース名」フィールドに、ファイル拡張子なしのファイル名が自動的に移入されます。

ファイルを選択するかわりに、JCAファイルの内容をコピーし、「JCAファイル」フィールド・テキスト領域に貼り付けることができます。

4. 「リソース名」フィールドで、JCAバインドの名前を入力または変更します。JCAバインド名は一意である必要があります。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

5. 「リソースの説明」フィールドにこのJCAバインドの説明を入力します。

6. 「保存」をクリックします。JCAバインドは現在のセッションに保存されます。
JCAバインドが、WSDLやマッピング・ファイルなど、必要なリソースをまだ参照していない場合、検証の警告が表示されます。

5. 新しいJCAバインドの名前をクリックすると、「JCAバインドの表示」ページに名前が表示されます。

6. 「参照の編集」をクリックします。

7. 「JCAバインド・リソースの参照を編集」ページで、「参照」をクリックして、WSDL、TopLink/EclipseLinkマッピング・ファイル、XSLTファイルなどJCAバインドの参照リソースを選択します。

8. 「保存」をクリックします。

9. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

JCAバインド・リソースの追加およびリソースの依存関係の構成(WSDLの関連付け)後、あるいは依存関係を保持するJCAリソースをインポート済の場合は、JCAバインドからプロキシ・サービスまたはビジネス・サービスを生成できます。詳細は、20.1.1項「JCAバインド・リソースからのプロキシ・サービスの生成」および19.1.1項「JCAバインド・リソースからのビジネス・サービスの生成」を参照してください。

13.3 JCAバインドの編集

JCAバインドの詳細の表示ページを使用して、JCAバインドの詳細を表示し、変更します。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 13.1項「JCAバインドの検索」の説明に従って、JCAバインドを検索します。

3. JCAバインド名をクリックします。「JCAバインドの表示」ページに表13-2に示す情報が表示されます。

表13-2 JCAバインドの詳細

プロパティ

説明

最終更新者

このJCAバインドを作成したか、構成にインポートしたユーザー。

最終更新日

ユーザーがこのJCAバインドを作成したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

JCAバインドが参照するWSDLリソースへのリンクが含まれます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このJCAバインドを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

「アクション」アイコン

チェンジ・センターが編集モードの場合、「アクション」によって、JCAバインドからOracle Service Bus WSDLとJCAサービスを生成できます。

JCAファイル

JCAバインドの読取り専用ビューが表示されます。

抽象WSDL

JCAバインドに関連付けられているWSDLを表示します。JCAバインドがWSDLを参照していない場合、「参照の編集」をクリックして、関連付けるWSDLを参照します。

TopLink XML

JCAバインドに必要なTopLinkまたはEclipseLinkマッピング・ファイルを表示します。JCAバインドが必要なマッピング・ファイルを参照していない場合は、「参照の編集」をクリックして、必要なマッピング・ファイルを選択します。このフィールドは、JCAファイルがXMLリソースを宣言している場合のみ表示されます。

XSLT

JCAバインドに必要なXSLTファイルを表示します。必要なXSLTリソースをJCAバインド・リソースが参照していない場合、「参照の編集」をクリックして、必要なXSLTファイルを選択します。このフィールドは、ソケット・アダプタの場合のように、JCAファイルがXSLTリソースを宣言している場合のみ表示されます。

4. JCAファイルの説明を変更するには、「編集」をクリックします。
リソース名は変更できません。

5. 「保存」をクリックして、現在のセッションで更新をコミットします。

6. JCAバインドに必要なリソースへの参照を変更する場合または未解決の参照を解決する場合、「参照の編集」をクリックして適切なリソースを選択します。

7. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

13.4 JCAバインドの削除

JCAバインドに基づくビジネス・サービスまたはプロキシ・サービスがある場合、JCAバインドを削除する前に、ビジネス・サービスまたはプロキシ・サービスからJCAバインドを削除します。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「JCAバインド」を選択します。

3. 削除するJCAバインドの「オプション」フィールドにある「削除」アイコンをクリックします。
JCAバインドは現在のセッションで削除されます。ビジネス・サービスまたはプロキシ・サービスがJCAバインドを使用する構成の場合、削除の警告アイコンは、確認の警告は表示されるがそのJCAバインドを削除できることを示します。これにより、削除したJCAバインドに対してサービスからの参照が解決されないために、競合が起きることがあります。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

14 XMLドキュメント

この章では、Oracle Service Bus管理コンソールを使用したXMLドキュメント・リソースの作成、検索、編集および削除の方法について説明します。

XMLドキュメント・リソースを使用して、プロキシ・サービスまたはサービス・プロキシの構成で使用するXMLファイルを格納します。たとえば、JCA準拠のシステムと通信するJCAのプロキシ・サービスまたはビジネス・サービスに必要なTopLinkまたはEclipseLinkマッピング・ファイルに対するXMLドキュメント・リソースを作成します。

JCAサービスの詳細は、第13章「JCAバインド」を参照してください。

この章の内容は次のとおりです。

- 14.1項「XMLドキュメントの検索」

- 14.2項「XMLドキュメントの追加」

- 14.3項「XMLドキュメントの編集」

- 14.4項「XMLドキュメントの削除」

14.1 XMLドキュメントの検索

「XMLドキュメントのサマリー」ページには、Oracle Service Busドメインに追加したXMLドキュメントがリストされます。

1. 次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、XMLドキュメントを検索します。

- 「リソース・ブラウザ」→「XMLドキュメント」を選択します。「XMLドキュメントのサマリー」ページに、表14-1に示す情報が表示されます。プロパティの詳しい説明については、14.3項「XMLドキュメントの編集」を参照してください。

2. 特定のXMLドキュメントを検索するには、次のようにします。

- リストの項目数を制限するには、名前およびパスでフィルタしてから、「検索」をクリックします。
パスは、リソースが含まれるプロジェクト名とフォルダの名前です。

- 「すべて表示」をクリックすると、検索フィルタが削除され、XMLドキュメントがすべて表示されます。

表14-1 XMLドキュメントの詳細

プロパティ

説明

XMLドキュメント

XMLドキュメントに割り当てられた一意の名前。この名前はXMLドキュメントの表示ページにリンクされています。14.3項「XMLドキュメントの編集」を参照してください。

パス

プロジェクト名、およびXMLドキュメントが格納されるフォルダの名前。このリソースを含むプロジェクトまたはフォルダにリンクされています。4.1.1項「プロジェクトとフォルダを使用したリソース名の修飾」を参照してください。

オプション

特定のXMLドキュメントを削除するには、「削除」アイコンをクリックします。14.4項「XMLドキュメントの削除」を参照してください。

14.2 XMLドキュメントの追加

Oracle Service BusでXMLドキュメントを作成する最も簡単な方法は、一括インポートによるものです。作成したJCAリソース(.jcaファイル、関連付けられているWSDL、TopLinkまたはEclipseLinkマッピング・ファイル)を一括インポートする場合、Oracle Service Busによって、自動的にマッピング・ファイルからXMLドキュメント・リソースが生成され、リソース・ファイル間の依存関係が保持されます。

インポートの詳細は、4.15項「Zipファイルからのリソースのロード」、4.17項「URLからのリソースのロード」および29.1項「リソースのインポート」を参照してください。

一括インポートしない場合、次の手順のように手動でXMLドキュメントを作成できます。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、XMLドキュメントを追加するプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 「リソースの作成」フィールドから「XMLドキュメント」を選択して、「新しいXMLドキュメントを作成します。」ページを表示します。

4. 「XMLファイル」フィールドで「参照」をクリックし、使用するXMLファイルを選択します。
「リソース名」フィールドに、ファイル拡張子なしのファイル名が自動的に移入されます。

ファイルを選択するかわりに、XMLファイルの内容をコピーし、「XMLファイル」フィールド・テキスト領域に貼り付けることができます。

5. 「リソース名」フィールドで、XMLドキュメントの名前を入力または変更します。XMLドキュメント名は一意である必要があります。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

6. 「リソースの説明」フィールドにXMLドキュメントの説明を入力します。

7. 「保存」をクリックします。新しいXMLドキュメントは現在のセッションに保存されます。

8. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

14.3 XMLドキュメントの編集

「XMLドキュメントの編集」ページを使用して、JCAバインドの詳細を表示し、変更します。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 14.1項「XMLドキュメントの検索」の説明に従って、XMLドキュメントを検索します。

3. XMLドキュメント名をクリックします。XMLドキュメントの表示ページに表14-2に示す情報が表示されます。

表14-2 XMLドキュメントの詳細

プロパティ

説明

最終更新者

このXMLドキュメントを作成したか、構成にインポートしたユーザー。

最終更新日

ユーザーがこのXMLドキュメントを作成したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このXMLドキュメントが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このXMLドキュメントを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。たとえば、XMLドキュメントがJCAバインドによって参照されているTopLinkファイルの場合、リンクをクリックすると、JCAバインドが参照としてリストに表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

このXMLドキュメントの説明(ある場合)。

デフォルトで、XMLドキュメントの読取り専用ビューが表示されます。

4. XMLドキュメントを編集するには、「編集」をクリックします。フィールドの詳細は、14.2項「XMLドキュメントの追加」を参照してください。

5. 必要な編集を行い、「保存」をクリックして、現在のセッションで更新をコミットします。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

14.4 XMLドキュメントの削除

削除するXMLドキュメントを参照する、JCAバインドなどのリソースがある場合、XMLドキュメントを削除する前にそれらの参照を削除します。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「XMLドキュメント」を選択します。

3. 削除するXMLドキュメントの「オプション」フィールドの「削除」アイコンをクリックします。XMLドキュメントは現在のセッションで削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

15 XSLトランスフォーメーション

この章では、Oracle Service Bus管理コンソールを使用した、XSLトランスフォーメーション・リソースへの未解決の参照の作成、検索、編集、削除および修正の方法について説明します。

トランスフォーメーション・マップは、2つのデータ型の間のマッピングを記述したものです。eXtensible Stylesheet Language Transformation (XSLT)マップでは、XMLからXMLへのマッピングを記述します。

15.1 XSLトランスフォーメーションの検索

XSLトランスフォーメーションを検索するには:

1. 次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、XSLトランスフォーメーションを検索します。

- 「リソース・ブラウザ」>「XSLT」を選択します。「XSLTのサマリー」ページに、表15-1に示す情報が表示されます。

2. リストの項目数を制限するために、名前またはパス、あるいはその両方でフィルタできます。「検索」にある「名前」フィールドと「パス」フィールドに、検索対象の名前、パスまたはその両方を入力し、「検索」ボタンをクリックします。
このパスは、プロジェクト名、およびXSLTが格納されるフォルダの名前になります。

ワイルド・カード文字の*および?を使用できます。検索では大文字小文字は区別されます。

「すべて表示」をクリックすると、ドメイン内のすべてのXSLTが表示されます。これにより、前回の検索で使用された検索パラメータがクリアされます。

表15-1 XSLトランスフォーメーションの詳細

プロパティ

説明

XSLT名

XSLトランスフォーメーションに割り当てられた名前。名前をクリックしすると、XSLトランスフォーメーションの詳細の表示ページが表示されます。

15.3項「XSLトランスフォーメーションの編集」を参照してください。

パス

パスは、プロジェクト名、およびXSLトランスフォーメーションが格納されるフォルダの名前です(たとえばMyProject/MyFolder/MyResource)。

XSLTのパスをクリックすると、このパスを含む 「プロジェクト・ビュー」ページまたは「フォルダ・ビュー」ページ が表示されます。

アクション

「テスト・コンソールの起動」アイコンをクリックして、サービスやトランスフォーメーションの設計の検証とテストに使用するテスト・コンソールを起動します。XSLトランスフォーメーションの場合、セッション内でもセッション外でもテスト・コンソールを使用できます。詳細は、4.2項「「プロジェクト・ビュー」ページ」を参照してください。

オプション

セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

「削除」アイコンをクリックするとXSLTが削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。詳細は、15.4項「XSLトランスフォーメーションの削除」を参照してください。

15.2 XSLトランスフォーメーションの追加

XSLトランスフォーメーションを追加するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。

3. XSLトランスフォーメーションを追加するプロジェクトまたはフォルダに移動します。

4. 「リソースの作成」リストから「XSLT」を選択して、「新しいXSLTの作成」ページを表示します。

5. 「リソース名」フィールドにこのXSLトランスフォーメーションの一意の名前を入力します。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

6. 「リソースの説明」フィールドにXSLトランスフォーメーションの説明を入力します。

7. 「XSLT」フィールドで、次のいずれかを実行します。

- 新しいXSLトランスフォーメーション用のテキストを入力します。

- 「参照」をクリックして既存のXSLトランスフォーメーションを検索し、インポートします。

- 既存のXSLトランスフォーメーションのテキストをコピーしてこのフィールドに貼り付けます。

8. 「保存」をクリックして、現在のセッションで更新をコミットします。

9. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

15.3 XSLトランスフォーメーションの編集

XSLトランスフォーメーションを編集するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 15.1項「XSLトランスフォーメーションの検索」の説明に従って、XSLトランスフォーメーションを検索します。

3. XSLトランスフォーメーション名をクリックします。XSLトランスフォーメーションの詳細の表示ページに、デフォルトでXSLTの構造ビューが表示されます。これには表15-2に示す情報が含まれています。

表15-2 XSLトランスフォーメーション・リソースの詳細

プロパティ

説明

最終更新者

このXSLトランスフォーメーションを作成したか、構成にインポートしたユーザー。

最終更新日

ユーザーがこのXSLトランスフォーメーションを作成したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このXSLトランスフォーメーションが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。詳細は、4.22項「リソースへの参照の表示」を参照してください。

参照元

このXSLトランスフォーメーションを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。たとえば、このXSLトランスフォーメーションを特定のプロキシ・サービスのメッセージ・フロー内の変数に割り当てた場合、リンクをクリックすると、そのプロキシ・サービスが参照としてリストに表示されます。詳細は、4.22項「リソースへの参照の表示」を参照してください。

説明

このXSLトランスフォーメーションの説明。

ターゲット・ネームスペース

XSLトランスフォーメーションに含まれる定義を修飾するために使用されるネームスペース。

XSLTの依存関係

XSLTに関連付けられている属性とグループ: XSLTの場所

状態

次のXSLトランスフォーメーションのステータス。

- 有効
現在のXSLトランスフォーメーションに含まれているすべてのXSLトランスフォーメーションの場所が指定され、有効です。ネストされたXSLトランスフォーメーション(含まれているXSLトランスフォーメーションがさらに内包するXSLトランスフォーメーション)についてもすべての場所が指定され、有効な状態。

- 無効
現在のXSLトランスフォーメーションに含まれているXSLトランスフォーメーションの1つまたは複数の場所が指定されていないか、有効ではありません。また、1つまたは複数のネストされたXSLトランスフォーメーション(含まれているXSLトランスフォーメーションにさらにXSLトランスフォーメーションが含まれる)が指定されていない場合や、有効でない場合もあります。無効なXSLトランスフォーメーションを解決するには、「参照の編集」をクリックします。詳細は、15.5項「未解決のXSLトランスフォーメーションの参照の解決」を参照してください。

4. 「テキスト・ビュー」をクリックして、XSLトランスフォーメーションの詳細をテキストで表示します。テキスト・ビューには、表15-3に示す情報が表示されます。

表15-3 XSLトランスフォーメーション・テキストの詳細

プロパティ

説明

ターゲット・ネームスペース

XSLトランスフォーメーションに含まれる依存関係を修飾するために使用されるネームスペース。

XSLT

XSLトランスフォーメーションのフル・テキスト。

5. フィールドを変更するには、「編集」をクリックします。各フィールドの説明については、15.2項「XSLトランスフォーメーションの追加」を参照してください。
「リソース名」フィールドは変更できません。

6. 「保存」をクリックして、現在のセッションで更新をコミットします。

15.4 XSLトランスフォーメーションの削除

XSLトランスフォーメーションを削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「XSLT」を選択し、「XSLTのサマリー」ページを表示します。

3. 削除するXSLトランスフォーメーションの行の「削除」アイコンをクリックします。XSLトランスフォーメーションは現在のセッションで削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

15.5 未解決のXSLトランスフォーメーションの参照の解決

XSLトランスフォーメーションの参照を解決するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「XSLT」を選択し、「XSLTのサマリー」ページを表示します。

3. 「XSLT名」列で、適切なXSLT名をクリックして、未解決の参照の詳細を表示します。XSLトランスフォーメーションの詳細の表示ページが表示されます。

4. 「参照の編集」をクリックして、XSLトランスフォーメーション・リソースの参照の編集ページを表示します。

5. 「リソース・タイプ」フィールドで、「XSLT」を選択します。

6. 「参照」をクリックします。XSLTブラウザが表示されます。

7. XSLTブラウザでXSLTを選択し、「依存関係」ペインで依存関係を選択します。

8. 「発行」をクリックします。「リソース名」フィールドに選択したXSLTが表示されます。

9. 「保存」をクリックします。XSLTの詳細の表示ページが表示されます。

10. 「OK」をクリックします。XSLトランスフォーメーションの状態が「有効」と表示されます。

11. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

16 MFL

この章では、Oracle Service Bus管理コンソールを使用したMFLリソースの作成、検索、編集および削除の方法について説明します。

MFL(メッセージ・フォーマット言語)ドキュメントは、バイナリ・データのレイアウトの記述に使用する特殊なXMLドキュメントです。Oracle独自の言語で、フォーマットされたバイナリ・データをXMLデータに変換するルールの定義に使用されます。MFLドキュメントはmfl.dtdに準拠し、データの各フィールドの他、フィールドのグループ化(グループ)、繰返し、および集約を記述する要素および属性を含みます。

メッセージング・サービス・タイプのビジネス・サービスやプロキシ・サービスを作成するとき、サービスのリクエスト・メッセージ・タイプまたはレスポンス・メッセージ・タイプとしてMFLタイプを選択できます。

MFLを作成するにはOracle Format Builderを使用します。バイナリ・レコードの階層構造、フィールドのレイアウト、フィールドとグループのグループ化を定義すると、この情報は、実行時変換を実行するために使用できるMFLドキュメントとして保存されます。Format BuilderでMFLドキュメントを使用して、それに対応するDTDを生成することもできます。Format Builderの使用方法については『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のFormat Builderに関する項を参照してください。

16.1 MFLの検索

MFLを検索するには:

1. 次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、MFLを検索します。

- 「リソース・ブラウザ」→「MFL」を選択します。「MFLファイルのサマリー」ページに、表16-1に示す情報が表示されます。プロパティの詳しい説明については、16.3項「MFLの編集」を参照してください。

2. リストの項目数を制限するために、名前またはパス、あるいはその両方でフィルタできます。「名前」フィールドと「パス」フィールドに、検索対象の名前とパスを入力し、「検索」をクリックします。
このパスは、プロジェクト名と、MFLファイルが格納されているフォルダ名です。

「すべて表示」をクリックすると、検索フィルタが削除され、MFLファイルがすべて表示されます。

表16-1 MFLの詳細

プロパティ

説明

MFLファイル名

MFLに割り当てられた一意の名前。この名前はMFLリソースの詳細の表示ページにリンクされています。16.3項「MFLの編集」を参照してください。

パス

このパスは、プロジェクト名と、MFLファイルが格納されているフォルダ名です。このリソースを含むプロジェクトまたはフォルダにリンクされています。4.1.1項「プロジェクトとフォルダを使用したリソース名の修飾」を参照してください。

アクション

「テスト・コンソールの起動」アイコンをクリックして、サービスやトランスフォーメーションの設計の検証とテストに使用するテスト・コンソールを起動します。MFLの場合、セッション内でもセッション外でもテスト・コンソールを使用できます。詳細は、33.2項「トランスフォーメーションのテスト」を参照してください。

オプション

特定のMFLを削除するには、「削除」アイコンをクリックします。16.4項「MFLの削除」を参照してください。

16.2 MFLの追加

MFLを追加するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、MFLを追加するプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 「リソースの作成」リストで、「変換」の下にある「MFLファイル」を選択して「新しいMFLファイル・リソースの作成」ページを表示します。

4. 「リソース名」フィールドにこのMFLの一意の名前を入力します。このフィールドは必須です。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

5. 「リソースの説明」フィールドにMFLの説明を入力します。

6. 「MFLテキスト」フィールドで、次のいずれかを実行します。

- 新しいMFLに関するテキストを入力します。

- 「参照」をクリックして既存のMFLを検索し、インポートします。

- 既存のMFLのテキストをコピーして、このフィールドに貼り付けます。

このフィールドは必須です。

7. 「保存」をクリックします。MFLファイル・リソースが現在のセッションで作成および保存されます。

8. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

16.3 MFLの編集

MFLを編集するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 16.1項「MFLの検索」の説明に従って、MFLファイルを検索します。

3. MFLファイル名をクリックします。MFLリソースの詳細の表示ページに、表16-2に示す情報が表示されます。

表16-2 MFLリソースの詳細

プロパティ

説明

最終更新者

このMFLファイルを作成したか、構成にインポートしたユーザー。

最終更新日

ユーザーがこのMFLファイルを作成したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このMFLファイルが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このMFLファイルを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。たとえば、メッセージングを行うビジネス・サービスまたはプロキシ・サービスのリクエストまたはレスポンス・メッセージの種類としてこのMFLファイルを選択した場合は、リンクをクリックするとビジネス・サービスまたはプロキシ・サービスが参照として表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

このMFLファイルの説明(説明が存在する場合)。

MFLテキスト

このMFLのテキスト。

4. フィールドを変更するには、「編集」をクリックします。各フィールドの説明については、16.2項「MFLの追加」を参照してください。
「リソース名」フィールドは変更できません。

5. 「保存」をクリックして、現在のセッションで更新をコミットします。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

16.4 MFLの削除

MFLを削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「MFL」を選択し、「MFLファイルのサマリー」ページを表示します。

3. 削除するMFLの「オプション」フィールドの「削除」アイコンをクリックします。MFLファイルは現在のセッションで削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

17 サービス・アカウント

この章では、サービス・アカウントについて説明し、Oracle Service Bus管理コンソールを使用したサービス・アカウント・リソースの作成、検索、編集および削除の方法の手順について説明します。

サービス・アカウントは、プロキシ・サービスとビジネス・サービスが、アウトバウンド認証や、ローカルまたはリモート・リソース(FTPサーバーやJMSサーバーなど)への認証に使用するユーザー名とパスワードを提供します。たとえば、ビジネス・サービスがWebサービスによるトランスポート・レベルの認証でユーザー名とパスワードを提示する必要がある場合、ユーザー名とパスワードを指定したサービス・アカウントを作成してから、サービス・アカウントの資格証明をアウトバウンド・リクエストに含めるようにビジネス・サービスを構成します。

サービス・アカウントに入力するユーザー名とパスワードは、アウトバウンド認証や、ローカルまたはリモート・リソースに資格証明を提示する際に使用されます。Oracle Service Bus管理コンソールの「セキュリティ構成」モジュールに入力するユーザー名とパスワードは、インバウンド認証および管理リクエストの認証に使用されます。17.1項「サービス・アカウントの指定」を参照してください。

17.1 サービス・アカウントの指定

同じサービス・アカウントを複数のビジネス・サービスおよびプロキシ・サービスに使用することができます。サービス・アカウントが提示するユーザー名とパスワードを指定するには、次のいずれかの方法を使用できます。

- 静的
サービス・アカウントの構成でユーザー名とパスワードを保存する必要があります。サービス・アカウントはこのユーザー名とパスワードをアウトバウンド・リクエストでエンコードします。

- ユーザー名とパスワードのパススルー
サービス・アカウントが受信クライアント・リクエストで受け取ったユーザー名とパスワードを提示します。たとえば、インバウンドHTTP基本リクエストにユーザー名「pat」とパスワード「patspassword」が含まれていた場合、サービス・アカウントはアウトバウンド・リクエストで「pat」および「patspassword」をエンコードします。

この方法では、クライアント・リクエストにクリア・テキストのユーザー名とパスワードが含まれている必要があるため、HTTP BASICプロトコル、クリア・テキスト・パスワードによるWebサービス・セキュリティのユーザー名トークン認証、またはカスタム・ユーザー名とパスワードのトークンを使用するクライアント・リクエストのみに使用できます。

この方法は、Oracle Service Busとエンドポイントが同じ認証ドメインに属する場合にのみ使用することをお薦めします。たとえば、この方法は単一の組織内でメッセージをルーティングし、Oracle Service Busとメッセージ・コンシューマの両方が共通のLDAPサーバーに対して認証される場合に使用します。

この方法には、次の制限が適用されます。

- Oracle Service Bus FTPサーバーまたはJMSサーバーなどのローカルまたはリモート・サーバー、またはシステム・リソースに対して認証するアウトバウンド・リクエストには使用できません。

- fn-bea:lookupBasicCredentials XQuery関数とともに使用できません。詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「XQueryの実装」を参照してください。

注意:
プロキシがアクティブなWSS仲介である場合は、WS-Securityを使用して、WS-Securityユーザー名トークンまたはカスタムのユーザー名/パスワードを暗号化できます。この場合、プロキシは最初にリクエストを復号化し、次にクリア・テキストのユーザー名/パスワードにアクセスするため、ユーザー名/パスワードのパススルーが機能します。

- ユーザー・マッピング
クライアントからのインバウンド・リクエストの認証結果であるユーザー名(ローカルのユーザー名)を、指定するユーザー名およびパスワード(リモートのユーザー名およびパスワード)に関連付ける(マップする)必要があります。サービス・アカウントはマップされている認証クライアントからのリクエストを受け取ると、ビジネス・サービス、またはプロキシ・サービスのアウトバウンド・リクエストに対して、適切なリモート・ユーザー名およびパスワードを提示します。

トランスポート・レベルおよびメッセージ・レベルの両方でクライアントが認証する場合、サービス・アカウントはメッセージ・レベルのユーザー名をリモートのユーザー名およびパスワードにマップします。

匿名のユーザー名をリモートのユーザー名およびパスワードにマップすることもできます。

この方法には、次の制限が適用されます。

- Oracle Service Bus FTPサーバーまたはJMSサーバーなどのローカルまたはリモート・サーバー、またはシステム・リソースに対して認証するアウトバウンド・リクエストには使用できません。

- fn-bea:lookupBasicCredentials XQuery関数とともに使用できません。詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「XQueryの実装」を参照してください。

関連項目

- 19.1項「ビジネス・サービスの作成と構成」

- 20.2.5項「「電子メール・トランスポート構成」ページ」

17.1.1 サービス・アカウント・データとセッションの使用

サービス・アカウントおよびそのデータはすべてOracle Service Busセッションに参加します。サービス・アカウントを作成または変更するには、セッションに入っている必要があります。また、セッションを破棄すると、サービス・アカウントおよびそのデータも破棄されます。セッションをアクティブ化すると、ドメインに構成されているユーザー名/パスワード資格証明マッピング・プロバイダにユーザー名、パスワード、その他のサービス・アカウント・データが保存されます。

17.2 サービス・アカウントの検索

サービス・アカウントを検索するには:

1. 次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、サービス・アカウントを検索します。

- 「リソース・ブラウザ」→「サービス・アカウント」を選択します。「サービス・アカウントのサマリー」に、表17-1に示す情報が表示されます。

2. サービス・アカウントを検索するには、「名前」フィールドにアカウント名の一部、またはすべてを入力します。「パス」フィールドにアカウントのプロジェクト名およびフォルダの一部、または全部を入力することもできます。「検索」をクリックします。
「すべて表示」をクリックすると、検索フィルタが削除され、サービス・アカウントがすべて表示されます。

表17-1 サービス・アカウント情報

プロパティ

説明

サービス・アカウント名

一意のサービス・アカウント名。名前をクリックすると、サービス・アカウントの詳細の表示ページが表示されます。17.4項「サービス・アカウントの編集」を参照してください。

パス

プロジェクト名と、サービス・アカウントが格納されているフォルダの名前。名前をクリックすると、このリソースを含むプロジェクトまたはフォルダが表示されます。4.1.1項「プロジェクトとフォルダを使用したリソース名の修飾」を参照してください。

オプション

「削除」アイコンが含まれます。ビジネス・サービスまたはプロキシ・サービスがサービス・アカウントを使用する構成の場合、削除の警告アイコンは、確認の警告は表示されるがそのサービス・アカウントを削除できることを示します。これにより、削除したサービス・アカウントに対してサービスからの参照が解決されないために、競合が起きることがあります。17.5項「サービス・アカウントの削除」を参照してください。

17.3 サービス・アカウントの追加

サービス・アカウントを追加するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、サービス・アカウントを追加するプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 「リソースの作成」リストから「サービス・アカウント」を選択して、「新しいサービス・アカウントの作成」ページを表示します。

4. 「リソース名」フィールドにこのサービス・アカウントの一意の名前を入力します。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

5. 「リソースの説明」フィールドにサービス・アカウントの説明を入力します。

6. 「リソース・タイプ」で、次のいずれかを実行します。

- 受信クライアント・リクエストで受け取ったユーザー名およびパスワードを提供するサービス・アカウントを作成するには、「パス・スルー」を選択します。

- サービス・アカウントの構成で保存するユーザー名およびパスワードを提供するサービス・アカウントを作成するには、「静的」を選択します。

- 1つまたは複数の認証されたクライアントから、指定するユーザー名およびパスワードにユーザー名をマップするサービス・アカウントを作成するには、「マッピング」を選択します。

7. 前述の手順で選択したリソースの種類に応じて、表17-2に示すいずれかの手順を実行します。

表17-2 リソース・タイプのオプション

選択したリソース・タイプ

手順

パス・スルー

「最後」をクリックします。

静的

1. 「次へ」をクリックします。

2. 「ユーザー名」、「パスワード」および「パスワードの確認」の各フィールドにユーザー名およびパスワードを入力します。

3. 「最後」をクリックします。

マッピング

1つ以上のクライアントから指定するユーザー名およびパスワードにユーザー名をマップするサービス・アカウントを作成するには、次を行います:

1. 「次へ」をクリックします。

2. 認可リモート・ユーザーの入力表で、次の操作を行います。
「リモート・ユーザー名」、「パスワード」および「パスワードの確認」の各フィールドに、アウトバウンド・リクエストで送信するユーザー名およびパスワードを入力します。

「追加」をクリックします。ユーザー・マッピングが「リモート・ユーザー」表に追加されます。

(オプション)認可リモート・ユーザーの入力表で、他のリモート・ユーザーを追加します。

3. 「次へ」をクリックします。

4. 「認証された」 クライアントをリモートのユーザー名およびパスワードにマップするには、認可ローカル・ユーザーの入力表で次の操作を行います。
「ローカル・ユーザー名」フィールドに、インバウンド・リクエストで認証されたクライアントを識別する名前を入力します。

このユーザーをOracle Service Bus管理コンソールの「セキュリティ構成」モジュールに追加していない場合は、このマッピングを実行時環境で使用する前にユーザーを追加します。25.3項「ユーザーの追加」を参照してください。Oracle Service Busでは、存在しないローカル・ユーザーのマッピングを作成することはできますが、このマッピングは認証されたユーザーに一致しないため使用されません。

「リモート・ユーザー名」リストから、「ローカル・ユーザー名」フィールドで指定した認証ユーザーに関するアウトバウンド・リクエストで送信するユーザー名を選択します。

「追加」をクリックします。

5. 「最後」をクリックします。

8. 「保存」をクリックします。サービス・アカウントが現在のセッションで作成および保存されます。

9. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

17.4 サービス・アカウントの編集

サービス・アカウントを編集するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 17.2項「サービス・アカウントの検索」の説明に従って、サービス・アカウントを検索します。

3. サービス・アカウント名をクリックします。サービス・アカウントの詳細の表示ページに、表17-3に示す情報が表示されます。

表17-3 サービス・アカウントの詳細

プロパティ

説明

最終更新者

このサービス・アカウントを作成したか、構成にインポートしたユーザー。

最終更新日

ユーザーがこのサービス・アカウントを作成したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このサービス・アカウントが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このサービス・アカウントを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。たとえば、JMS転送プロトコルを使用するプロキシ・サービスのJMSサービス・アカウントとしてこのサービス・アカウントを選択した場合、リンクをクリックすると、そのプロキシ・サービスが参照として表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

このサービス・アカウントの説明(説明が存在する場合)。

4. フィールドを変更するには、「編集」をクリックします。各フィールドの説明については、17.3項「サービス・アカウントの追加」を参照してください。
「リソース名」フィールドは変更できません。

5. 「保存」をクリックして、現在のセッションで更新をコミットします。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

注意:
変更したサービス・アカウントがWebLogic JMSサーバーの認証に使用されている場合、JMSサーバーが変更を認識するのに最大で60秒かかる場合があります。デフォルトでは、WebLogic Server JMSは各宛先の許可を60秒間隔でチェックします。この動作を変更するには、システム・プロパティweblogic.jms.securityCheckIntervalがWebLogic Server JMSによって許可がチェックされる間隔(秒単位)に設定されるようにWebLogic Serverの起動コマンドを変更します。
このプロパティの値を0に設定すると、JMSリソースに対してsend、receiveおよびgetEnumerationアクションが実行されるたびに、許可チェックが行われます。

関連項目

本番環境の保護の本番環境のセキュリティの保障に関する項を参照してください。

17.5 サービス・アカウントの削除

サービス・アカウントを削除すると、サービス・アカウントに含まれるユーザー名、パスワード、またはローカル・ユーザーからリモート・ユーザーへのマッピング・データも削除されます。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. そのサービス・アカウントを使用する構成のビジネス・サービス、またはプロキシ・サービスがある場合は、そのビジネス・サービス、またはプロキシ・サービスからサービス・アカウントを削除してください。
19.5項「ビジネス・サービス構成の編集」または20.5項「プロキシ・サービス構成の編集」を参照してください。

3. 「リソース・ブラウザ」→「サービス・アカウント」を選択し、「サービス・アカウントのサマリー」ページを表示します。

4. 削除するサービス・アカウントの「オプション」フィールドにある「削除」アイコンをクリックします。
サービス・アカウントは現在のセッションで削除されます。ビジネス・サービスまたはプロキシ・サービスがサービス・アカウントを使用する構成の場合、削除の警告アイコンは、確認の警告は表示されるがそのサービス・アカウントを削除できることを示します。これにより、削除したサービス・アカウントに対してサービスからの参照が解決されないために、競合が起きることがあります。

5. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

18 サービス・キー・プロバイダ

この章では、サービス・キー・プロバイダについて説明し、Oracle Service Bus管理コンソールを使用したサービス・キー・プロバイダ・リソースの作成、検索、編集および削除の方法の手順について説明します。

サービス・キー・プロバイダには、プロキシ・サービスがインバウンドSOAPメッセージの復号化、アウトバウンド認証、およびデジタル署名で使用する、公開鍵インフラストラクチャ(PKI)の資格証明情報が含まれます。PKI資格証明情報とは、デジタル署名や暗号化(Webサービス・セキュリティ)、およびアウトバウンドSSL認証に使用できる資格証明とペアになった秘密鍵です。この証明書には、秘密鍵に対応する公開鍵が含まれています。

注意:
サービス・キー・プロバイダを使用するには、PKI資格証明マッピング・プロバイダを構成する必要があります。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のWebLogic Securityフレームワークの構成の主な手順に関する項を参照してください。

1つのサービス・キー・プロバイダに対して、次のPKI資格証明情報をすべて含めることができます。

- デジタル暗号化用のキー・ペア
プロキシ・サービスがWeb Services Policy文に従って暗号化されているインバウンドSOAPメッセージを復号化する場合に、このキー・ペアが使用されます。サービス・キー・プロバイダでデジタル暗号化をサポートする場合、PKI資格証明マッパーに関連付けられているキーストアには、暗号化をサポートするX.509資格証明が少なくとも1つ必要です。

- デジタル署名用のキー・ペア
プロキシ・サービスのエンドポイントがWebサービスであり、そのWebサービスでクライアントがSOAPエンベロープの1つまたは複数の部分に署名することが必要な場合に、このキー・ペアが使用されます。

- SSLクライアント認証方式(双方向SSL)用のキー・ペア
プロキシ・サービスは、アウトバウンドTLS/SSL (Secure Sockets Layer)接続時にクライアントとして動作するとき、つまり、クライアント証明書認証を必要とするHTTPSビジネス・サービスまたはプロキシ・サービスにメッセージをルーティングするときに、このキー・ペアを使用して認証します。

同じサービス・キー・プロバイダを複数のプロキシ・サービスに使用することができます。

18.1 サービス・キー・プロバイダの検索

サービス・キー・プロバイダを検索するには:

1. 次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、サービス・キー・プロバイダを検索します。

- 「リソース・ブラウザ」→「サービス・キー・プロバイダ」を選択します。「サービス・キー・プロバイダのサマリー」に、表18-1に示す情報が表示されます。

2. サービス・キー・プロバイダを検索するには、「名前」フィールドにプロバイダ名の一部、またはすべてを入力します。「パス」フィールドにプロバイダのプロジェクト名およびフォルダの一部、または全部を入力することもできます。「検索」をクリックします。
「すべて表示」をクリックすると、検索フィルタが削除され、サービス・キー・プロバイダがすべて表示されます。

表18-1 サービス・キー・プロバイダ情報

プロパティ

説明

名前

一意のサービス・キー・プロバイダ名。名前をクリックすると、「サービス・キー・プロバイダの詳細の表示」ページが表示されます。18.3項「サービス・キー・プロバイダの編集」を参照してください。

パス

プロジェクト名と、サービス・キー・プロバイダが格納されているフォルダの名前。名前をクリックすると、このリソースを含むプロジェクトまたはフォルダが表示されます。4.1.1項「プロジェクトとフォルダを使用したリソース名の修飾」を参照してください。

18.2 サービス・キー・プロバイダの追加

サービス・キー・プロバイダを追加するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、サービス・キー・プロバイダを追加するプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

3. 「リソースの作成」リストから「サービス・キー・プロバイダ」を選択して、「新しいサービス・キー・プロバイダの作成」ページを表示します。

4. 「サービス・キー・プロバイダ名」フィールドにこのサービス・キー・プロバイダの一意の名前を入力します。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

5. 「説明」フィールドにサービス・キー・プロバイダの説明を入力します。

6. 表18-2のいずれかの手順を実行します。

表18-2 認証オプション

キー・ペアを追加する対象

手順

デジタル暗号化

1. 「暗号化鍵」の横にある「参照」をクリックします。
暗号化キーの別名の選択ウィンドウに、レルムのPKI資格証明マッパーが使用しているキーストアに含まれるキーの別名が表示されます。

2. 暗号化キーの別名の選択ウィンドウで、キーストアへの安全なアクセスに使用するパスワードを入力します(パスワードはキーストアの作成時に設定する)。

3. X.509証明書にマップして暗号化をサポートするキー・エイリアスを選択します。

4. 「発行」をクリックします。

このサービス・キー・プロバイダをプロキシ・サービスに関連付けると、Oracle Service BusによりX.509証明書がプロキシ・サービスのWSDLに組み込まれます。その後、プロキシ・サービスはこの証明書を使用してエンドポイントに送信するメッセージを暗号化します。プロキシ・サービスは、PKI資格証明に含まれる秘密鍵を使用して、エンドポイントから受信したメッセージを復号化します。

デジタル署名

1. 「デジタル署名鍵」の横にある「参照」をクリックします。
デジタル署名キーの別名の選択ウィンドウに、レルムのPKI資格証明マッパーが使用しているキーストアに含まれるキーの別名が表示されます。

2. デジタル署名キーの別名の選択ウィンドウで、キーストアへの安全なアクセスに使用するパスワードを入力します(パスワードはキーストアの作成時に設定する)。

3. キー・エイリアスを選択します。

4. 「発行」をクリックします。

SSLクライアント認証(双方向SSL)

1. 「SSLクライアント認証キー」の横にある「参照」をクリックします。
SSLクライアント認証キーの別名の選択ウィンドウに、レルムのPKI資格証明マッパーが使用しているキーストアに含まれるキーの別名が表示されます。

2. SSLクライアント認証キーの別名の選択ウィンドウで、キーストアへの安全なアクセスに使用するパスワードを入力します(パスワードはキーストアの作成時に設定する)。

3. キー・エイリアスを選択します。

4. 「発行」をクリックします。

7. 「保存」をクリックします。サービス・キー・プロバイダは現在のセッションに保存されます。

8. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

18.3 サービス・キー・プロバイダの編集

「サービス・キー・プロバイダの詳細の表示」ページを使用して、特定のサービス・キー・プロバイダの詳細を表示し、変更します。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 18.1項「サービス・キー・プロバイダの検索」の説明に従って、サービス・キー・プロバイダを検索します。

3. サービス・キー・プロバイダ名をクリックします。「サービス・キー・プロバイダの詳細の表示」ページに、表18-3に示す情報が表示されます。

表18-3 サービス・キー・プロバイダの詳細

プロパティ

説明

サービス・キー・プロバイダ名

このサービス・キー・プロバイダの名前です。

最終更新者

このサービス・キー・プロバイダを作成したか、構成にインポートしたユーザーです。

最終更新日

ユーザーがこのサービス・キー・プロバイダを作成したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このサービス・キー・プロバイダが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このサービス・キー・プロバイダを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。たとえば、このサービス・キー・プロバイダを特定のプロキシ・サービスのサービス・プロバイダとして選択した場合、リンクをクリックすると、そのプロキシ・サービスが参照として表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

このプロキシ・サービス・プロバイダの説明です(説明が存在する場合) 。

4. フィールドを変更するには、「編集」をクリックします。各フィールドの説明については、18.2項「サービス・キー・プロバイダの追加」を参照してください。

5. 「保存」をクリックして、現在のセッションで更新をコミットします。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

18.4 サービス・キー・プロバイダの削除

サービス・キー・プロバイダを削除すると、関連付けられているキー・ペア・バインディングへのエイリアスもPKI資格証明マッピング・プロバイダから削除されます。ただし、関連付けられているキーと証明書のペアはキーストアから削除されません。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. プロキシ・サービスがサービス・キー・プロバイダを使用するよう構成されている場合は、プロキシ・サービスからサービス・キー・プロバイダを削除します。20.5項「プロキシ・サービス構成の編集」を参照してください。

3. 「リソース・ブラウザ」→「サービス・キー・プロバイダ」を選択し、「サービス・キー・プロバイダのサマリー」ページを表示します。

4. 削除するサービス・キー・プロバイダの「オプション」フィールドで、「削除」アイコンをクリックします。現在のセッションでサービス・キー・プロバイダが削除されます。ビジネス・サービスまたはプロキシ・サービスでサービス・アカウントが使用されるように構成されている場合、削除の警告アイコンは、確認の警告は表示されるがそのサービス・キー・プロバイダを削除できることを示します。これにより、削除したサービス・キー・プロバイダに対してサービスからの参照が解決されないために、競合が起きることがあります。

5. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

19 ビジネス・サービス: 作成と管理

この章では、Oracle Service Bus管理コンソールを使用したビジネス・サービスの作成、構成および管理の方法について説明します。

ビジネス・サービスは、メッセージの交換先となるエンタープライズ・サービスのOracle Service Busでの定義です。ビジネス・サービスは、プロキシ・サービスと同様に、WSDL (Web Services Definition Language)を使用して定義します。ただし、ビジネス・サービスの構成は、パイプラインを持たないという点で、プロキシ・サービスの構成とは異なります。したがって、ビジネス・サービスはOracle Service Busパイプラインで実装されないサービスです。

詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「プロキシ・サービスとビジネス・サービスの構成」を参照してください。

19.1 ビジネス・サービスの作成と構成

この項では、ビジネス・サービスの作成方法と構成方法について説明します。

JCAサービスの場合、JCAバインド(19.1.1項「JCAバインド・リソースからのビジネス・サービスの生成」を参照)またはOracle Enterprise Repository(19.1.2項「Oracle Enterprise Repositoryからのビジネス・サービスの生成」を参照)からビジネス・サービスを生成できます。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、ビジネス・サービスを追加するプロジェクトまたはフォルダを選択します。

3. プロジェクト/フォルダ・ビュー・ページで、「リソースの作成」リストから「ビジネス・サービス」を選択します。

4. 「ビジネス・サービスの作成/ビジネス・サービスの編集 - 全般的な構成」ページで、サービスの名前を入力し、作成するサービスの種類を選択します。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

5. 「次へ」をクリックします。以降に表示されるページは、最初のページで選択した内容によって異なります。以降に表示される各ページで適切な情報を入力し、概要ページが表示されたら、「保存」をクリックして現在のセッションでサービスを保存します。
各ページの入力方法の詳細は、次のページを参照してください。

- 19.2.1項「「全般的な構成」ページ」

- 19.2.2項「「メッセージ・タイプの構成」ページ」

- 19.2.3項「「トランスポート構成」ページ」

- 19.2.4項「プロトコル固有のトランスポート構成ページ」

- 19.2.22項「「SOAPバインド構成」ページ」

- 19.2.23項「「メッセージ処理構成」ページ」

- 19.2.24項「「サマリー」ページ」

- 19.5.2項「ビジネス・サービス・ポリシー・ページ」

- 19.5.3項「ビジネス・サービス・セキュリティ・ページ」

WS-PolicyがアタッチされたWSDLからビジネス・サービスを作成すると、そのポリシー(読取り専用)がプロトコル固有のトランスポート構成ページに表示されます。サービスのWS-Policyのいずれかで認証を指定している場合は、サービス・アカウントを選択する必要があります。このビジネス・サービスにルーティングされるプロキシ・サービスは、このサービス・アカウントを使用してビジネス・サービスへの認証を行います。

19.1.1 JCAバインド・リソースからのビジネス・サービスの生成

Oracle Service Busでは、アウトバウンドJCAバインド・リソースからJCAビジネス・サービスを生成できます。JCAバインド・リソースの詳細は、第13章「JCAバインド」を参照してください。

JCAバインドからJCAビジネス・サービスを生成するには:

1. まだ作成モードまたは編集モードではない場合、Oracle Service Bus管理コンソールのチェンジ・センターで、「作成」または「編集」をクリックします。

2. リソース・ブラウザで「JCAバインド」をクリックします。

3. サービスの生成元のJCAバインドを特定し、「アクション」アイコンをクリックします。

4. ウィンドウが表示されたら、WSDLと生成するサービスの名前を確認し、これらの新しいリソースの場所を選択して「生成」をクリックします。
Oracle Service Busによって、サービスとこれに対応するWSDL.が生成されます。

5. 必要に応じて、生成されたサービスの構成の詳細(「エンドポイントURI」など)を変更します。

19.1.2 Oracle Enterprise Repositoryからのビジネス・サービスの生成

Oracle Service Bus開発環境を使用すると、Oracle Enterprise Repositoryからビジネス・サービスを生成できます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle Enterprise Repositoryからのビジネス・サービスの生成に関する項を参照してください。

19.2 ビジネス・サービスの作成/編集 - ページ・リファレンス

ビジネス・サービスを作成するには、プロジェクト/フォルダ・ビュー・ページの「リソースの作成」リストで「ビジネス・サービス」を選択します。このオプションを選択すると、ビジネス・サービスを構成および追加する一連のページの最初のページが表示されます。表示されるページは、それまでに選択したオプションによって異なります。ページは次のとおりです。

- 19.2.1項「「全般的な構成」ページ」

- 19.2.2項「「メッセージ・タイプの構成」ページ」

- 19.2.3項「「トランスポート構成」ページ」

- 19.2.4項「プロトコル固有のトランスポート構成ページ」

- 19.2.22項「「SOAPバインド構成」ページ」

- 19.2.23項「「メッセージ処理構成」ページ」

- 19.2.24項「「サマリー」ページ」

- 19.5.2項「ビジネス・サービス・ポリシー・ページ」

- 19.5.3項「ビジネス・サービス・セキュリティ・ページ」

19.2.1 「全般的な構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - 全般的な構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

このページでは、ビジネス・サービスの全般的な構成の設定を編集できます。

このページは、ビジネス・サービスを作成するときに、サービスを構成する一連のページで最初に表示されるページです。このページ以降に表示されるページの内容は、このページで選択した項目によって異なります。

表19-1に、ページの使用方法を示します。

表19-1 「ビジネス・サービスの作成/ビジネス・サービスの編集 - 全般的な構成」ページ

オプション

説明

サービス名

ビジネス・サービスのユニークな名前を入力します。

名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

説明

説明を入力します。

サービス・タイプ

サービス・タイプでは、そのサービスで交換されるメッセージのタイプとパッケージが決定されます。作成するビジネス・サービスの種類を選択します。

- 「WSDL Webサービス」 - WSDLに基づくビジネス・サービスを作成するには、このオプションを選択します。完全修飾されたパス名でWSDL名を入力する(例: myProject/myFolder/myWSDL)。または、「参照」をクリックし、「WSDLの選択」ページでWSDLを選択します。
(ポートまたはバインド) - (WSDLで定義されている)ポートの名前を入力して、実際のトランスポート・アドレスを記述するか、または(WSDLで定義されている)バインドの名前を入力して、トランスポート・アドレスにマップします。前述の「参照」を使用してWSDLを選択した場合は、「WSDL定義の選択」ページにWSDLで定義されたポートおよびバインドが一覧表示されます。このページでポートまたはバインドを選択すると、選択した名前が「(ポートまたはバインド)」フィールドに表示されます。

- トランスポート型付きのサービス - EJBトランスポートまたはフロー・トランスポートを使用するサービスを作成する場合、このオプションを選択します。

- メッセージ・サービス - コンテンツ・タイプが大きく異なるメッセージを交換するサービスを作成する場合、このオプションを選択します。このようなメッセージ交換は、リクエスト/レスポンスまたは一方向にすることができます。HTTPトランスポート用のHTTPの「GET」オプション付きで使用された場合は、リクエストのないレスポンスになる可能性があります。Webサービスとは異なり、リクエストとレスポンスのコンテンツ・タイプは同じでなくてもかまいません。

- 任意のSOAPサービス - 明示的に定義された具体的なインタフェースを持たないSOAPサービスを作成する場合、このオプションを選択します。
リストでデフォルトの「SOAP 1.1」を選択したままにするか、「SOAP 1.2」を選択します。

- 任意のXMLサービス - 明示的に定義された具体的なインタフェースを持たないXMLサービスを作成する場合、このオプションを選択します。
HTTP GETは、メッセージング・サービスとこのサービス・タイプのためにのみサポートされます。

- ビジネス・サービス - 既存のビジネス・サービスのクローンを作成する場合、このオプションを選択します。
パス(プロジェクト/フォルダ)とビジネス・サービスの名前を入力するか、「参照」をクリックして、「ビジネス・サービスのサマリー」ページでビジネス・サービスを選択します。

Oracle Service Busでは複数のサービスに同じURIを設定できないため、クローン・サービスのURIを変更する必要があります。

- プロキシ・サービス - 既存のプロキシ・サービスに基づくビジネス・サービスを作成する場合、このオプションを選択します。

注意: サービスが別のサービスから作成された場合、アラート・ルールは次のように保持されます。

- プロキシ・サービスがビジネス・サービスから、またはビジネス・サービスがプロキシ・サービスから作成された場合、アラート・ルール(ある場合)は削除されます。

- プロキシ・サービスが別のプロキシ・サービスから、またはビジネス・サービスが別のビジネス・サービスから作成された場合、アラート・ルール(ある場合)は保持されます。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.2 「メッセージ・タイプの構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - メッセージ・タイプの構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

このページでは、ビジネス・サービスのサービス・タイプがメッセージング・サービスである場合、ビジネス・サービスのタイプを構成できます。

メッセージング・サービス用のバインディング定義は、交換されるメッセージのコンテンツ・タイプの構成で構成されています。レスポンスのコンテンツ・タイプは、リクエストのコンテンツ・タイプと同じである必要はありません。そのため、レスポンスは個別に構成されます(たとえば、サービスでMFLメッセージを受信し、XMLの受信確認を返すことも可能です)。

注意:
タイプが「メッセージング・サービス」の電子メール、ファイル、FTPまたはSFTPトランスポート・ビジネス・サービスがサポートするのは、一方向のメッセージングのみであり、レスポンス・メッセージのタイプは「なし」である必要があります。「なし」以外を選択した場合、ファイル、FTP、またはSFTPプロトコルは「トランスポート構成」ページで使用できません。

表19-2に、「ビジネス・サービスの作成/ビジネス・サービスの編集 - メッセージ・タイプの構成」ページの使用方法を示します。

表19-2 「ビジネス・サービスの作成/ビジネス・サービスの編集 - メッセージ・タイプの構成」ページ

オプション

説明

リクエスト・メッセージ・タイプ

リクエスト・メッセージのメッセージの種類を次の中から選択します。

- なし - リクエスト・メッセージがない場合(HTTP GETなど)は、このオプションを選択します。

- 「バイナリ」 - メッセージのコンテンツタイプが不明か、重要でない場合は、このオプションを選択します。

- 「テキスト」 - メッセージをテキストのみに制限する場合は、このオプションを選択します。

- MFL - メッセージがMFL定義に準拠したバイナリ・ドキュメントの場合は、このオプションを選択します。構成できるMFLファイルは1つに限られます。
MFLの場合は、「参照」をクリックし、MFLブラウザでMFLを選択してから、「発行」をクリックできます。

- XML - メッセージがXMLドキュメントの場合は、このオプションを選択します。一部の型情報を指定するために、交換されるXMLドキュメントのXMLスキーマ型を宣言できます。

- Java - Javaオブジェクトがリクエストで送信されている場合は、このオプションを選択します。Javaオブジェクト・メッセージではJMSトランスポートが使用されます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージでのJavaオブジェクトの送受信に関する説明を参照してください。

レスポンス・メッセージ・タイプ

レスポンス・メッセージのメッセージ・タイプを次の中から選択します。

- なし - レスポンス・メッセージがない場合は、このオプションを選択します。

- 「バイナリ」 - メッセージのコンテンツタイプが不明か、重要でない場合は、このオプションを選択します。

- 「テキスト」 - メッセージをテキストのみに制限する場合は、このオプションを選択します。

- MFL - メッセージがMFL定義に準拠したバイナリ・ドキュメントの場合は、このオプションを選択します。構成できるMFLファイルは1つに限られます。
MFLの場合は、「参照」をクリックし、MFLブラウザでMFLを選択してから、「発行」をクリックできます。

- XML - メッセージがXMLドキュメントの場合は、このオプションを選択します。一部の型情報を指定するために、交換されるXMLドキュメントのXMLスキーマ型を宣言できます。

- Java - Javaオブジェクトがレスポンスで受信されている場合は、このオプションを選択します。Javaオブジェクト・メッセージではJMSトランスポートが使用されます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージでのJavaオブジェクトの送受信に関する説明を参照してください。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.3 「トランスポート構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - トランスポート構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

このページでは、ビジネス・サービスの転送プロトコルを選択し、他の全般的なトランスポート構成設定を設定できます。

アウトバウンド・トランスポートレベルのセキュリティは、Oracle Service Busのプロキシ・サービスとビジネス・サービスの間の接続に適用されます。トランスポートレベルのセキュリティの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のトランスポートレベルのセキュリティの構成に関する項を参照してください。

表19-3に、このページの使用方法を示します。

表19-3 「ビジネス・サービスの作成/編集 - トランスポート構成」ページ

オプション

説明

プロトコル

リストから転送プロトコルを選択します。使用できるプロトコルは、作成しているサービスの種類によって異なります。

- WSDL Webサービス: soa-direct、bpel-10g、dsp、http、jca、jms、sb、ws

- トランスポート型付きのサービス: ejb、flow、jejb

- メッセージ・サービス: 電子メール、ファイル、ftp、http、jms、mq(使用可能な場合)、sftp、tuxedo

- 任意のSOAPサービス: dsp、http、jms、sb

- 任意のXMLサービス: dsp、電子メール、ファイル、ftp、http、jms、mq(使用可能な場合)、sb、sftp、tuxedo

ロード・バランシング・アルゴリズム

次のいずれかのロード・バランシング・アルゴリズムを選択します。

- ラウンドロビン - このビジネス・サービスに対して「エンドポイントURI」フィールドに入力したURLの順番を動的に設定します。最初のものが失敗したら次が試行され、次が失敗したらその次というように、再試行回数を使い果たします。
新しいメッセージごとに、URLの順番が新しく設定されます。

- ランダム - このビジネス・サービスに対して「エンドポイントURI」フィールドに入力したURLの順番をランダムに設定します。最初のものが失敗したら次が試行され、次が失敗したらその次というように、再試行回数を使い果たします。

- ランダムな重みベース - このビジネス・サービスに対して「エンドポイントURI」フィールドに入力した一連のURLの順番をランダムに設定します。ただし、「重み」フィールドに入力した値に基づいて、一部のURLが他のURLよりも頻繁に再試行されます。

- なし - このビジネス・サービスに対して「エンドポイントURI」フィールドに入力した一連のURLの順番を上から順に設定します。

エンドポイントURI

「プロトコル」フィールドで選択した転送プロトコルに基づいた形式でエンドポイントURLを入力します。各プロトコルのURI書式は次のとおりです。オプションのURI要素は大カッコ([])で示します。トランスポートURIの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の各トランスポートの章を参照してください。

- bpel-10g - protocol://host[:port] [/protocol-path]/domain/process[/version[/partnerlink/role]]

- dsp - t3://dsp-ip-address:port/dsp-app-name

- ejb - ejb:jndi_provider_name:ejb_jndi_name
このURIで、jndi_provider_nameはOracle Service Bus JNDIプロバイダ・リソース名、ejb_jndi_nameはEJBに対するJNDIサーバーのJNDI名です。

JNDIプロバイダが同じサーバーに配置されている場合、JNDIプロバイダを指定する必要はありません。この場合のURIはejb::ejb_jndi_nameとなります。

注意: EJBがIBM WebSphereで実行されている場合、ejb_jndi_nameは次の形式である必要があります。

cell/nodes/node_name/servers/server_name/ejb_jndi_name

または

cell/clusters/cluster_name/ejb_jndi_name

http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.iseries.doc/info/iseriesnd/ae/rnam_example_prop3.htmlにあるIBM WebSphereのドキュメントに記載されているとおりです。

- 電子メール - 次の形式の任意の組合せで複数のエンドポイントURIを入力できます。
mailto:name@domain_name.com

mailto:name@domain_name.com?smtp=smtp_server_resource

mailto:name@domain_name.com?mailsession=jndi_mail_session

- ファイル - file:///drivename:/somename

- フロー - flow:<reference path to split-join resource>
reference path to split-join resourceは、分割-結合のパス(プロジェクト/フォルダ)と名前です。たとえば、batchorderProcessing/batchorderです。

- ftp - ftp://host:port/directory

- http - http://host:port/someService
HTTPトランスポートではHTTPエンドポイントとHTTPSエンドポイントの両方がサポートされます。

- jca - jca://<resource_adapter_jndi>

- jejb - jejb:jndi_provider_name:ejb_jndi_name
このURIで、jndi_provider_nameはOracle Service Bus JNDIプロバイダ・リソース名、ejb_jndi_nameはEJBに対するJNDIサーバーのJNDI名です。

EJB 2.1の例: jejb:myProvider:osb.jejb.myJejbBiz21

EJB 3.0の例: jejb:myProvider:myBiz31#osb.jejb.myJejbBiz

注意: EJBがIBM WebSphereで実行されている場合、ejb_jndi_nameは次の形式である必要があります。

cell/nodes/node_name/servers/server_name/ejb_jndi_name

または

cell/clusters/cluster_name/ejb_jndi_name

http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.iseries.doc/info/iseriesnd/ae/rnam_example_prop3.htmlにあるIBM WebSphereのドキュメントに記載されているとおりです。

エンドポイントURI(続き)

- jms - jms://host:port/factoryJndiName/destJndiName
JMS宛先を複数のサーバーにする場合、jms://host1:port,host2:port/connection_factory/jndi_destinationというURI書式を使用します。

ローカル・マシンで行われるルックアップの場合、ホストとポートをURIから省略することもできます。例:

jms:///connection_factory/jndi_destination

クラスタ: JMS URIのホスト名は、Oracle WebLogic Serverに構成されているクラスタ・サーバーのホスト名と正確に一致する必要があります。

注意: Oracle WebLogic Serverでは、「myqueues/myqueue」のようにJNDI名にスラッシュを使用できましたが、スラッシュを使用したJNDI名はOracle Service Busで必要なエンドポイントURIフォーマットに干渉するので、これらの名前は使用できません。この問題を回避するには、JMS外部サーバーを定義し、その外部サーバーをエンドポイントURI内で参照します。詳細は、Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・オンライン・ヘルプの外部サーバーの構成に関する説明を参照してください。

- mq - mq://<local-queue-name>?conn=<mq-connection-resource-ref>
local-queue-nameは、ビジネス・サービスがメッセージを読み取るMQキューの名前です。

mq-connection-resource-refは、MQ接続リソースの名前とパス(プロジェクト/フォルダ)です; たとえば、default/my_MQconnection。

注意: エンドポイントURIはスペースを含むことができないので、名前にスペースがあるMQ接続リソースまたはプロジェクト/フォルダを作成しないでください。

Oracle Service BusでMQトランスポートを使用できるようにするには、9項「MQ接続」を参照してください。

- sb - sb://[<jndi_provider_name/>]service_name
jndi_provider_name(オプション)はOracle Service Bus JNDIプロバイダ・リソースの名前です。省略すると、デフォルトのコンテキストが使用されます。

service_nameは、ターゲット・サービスであり、リモート・プロキシ・サービスURIに対応します。

- sftp - sftp://hostname:port/directory

- soa-direct - [protocol://authority]/default/compositeName[!versionNumber[*label]]/serviceName
SOAサービスがOracle Service Busと同じサーバーに配置される場合、protocolとauthorityは省略可能です。

- tuxedo - tuxedo:resourcename[/remotename]
URIに含まれるresourcenameはWTCインポート名に対応し、remotenameはリモートTuxedoドメインによりエクスポートされたサービス名に対応します。resourcenameは必須でremotenameは省略可能です。

複数のURIが指定されている場合、エンドポイントには一意のリソース名を付ける必要があります。リモート名が指定されていない場合は、その値がリソース名の値になります。リモート名が入力されていない、またはリモート名およびリソース名が同じである場合は、1つのURIのみを使用できます。この場合、リソース名とリモート名は同じ値です。これにより、すでに定義されたWTCインポートで、WTCロード・バランシングおよびフェイルオーバーを使用できるようになります。

- ws - http://host:port/somename or https://host:port/somename

「追加」をクリックして、1つまたは複数のURIを追加します。実行時に、「ロード・バランシング・アルゴリズム」フィールドで選択したロード・バランシング・アルゴリズムに基づいてURLが選択されます。

「ロード・バランシング・アルゴリズム」フィールドで「ランダムな重みベース」を選択した場合は、「エンドポイントURI」フィールドに重みを入力することもできます。デフォルトは1です。

複数のエンドポイントを定義している場合に、「ロード・バランシング・アルゴリズム」フィールドで「なし」を選択すると、エンドポイントの順序が重要になります。上向き矢印と下向き矢印を使用して、「オプション」列でエンドポイントの順序を変更することができます。

Oracle Service Busでは、同じビジネス・サービス内でエンドポイントURIの重複はサポートされなくなりました。

再試行回数

アウトバウンド・リクエストを送信する際の配信の失敗に備えて、各URLエンドポイントの再試行回数(フェイルオーバー試行回数)を指定します。

たとえば、ビジネス・サービスにURI (U1)を1つ構成し、再試行回数を3に設定したとします。最初の試行でU1が失敗すると、システムはU1エンドポイントにさらに3回試行します。

ビジネス・サービスに2つのURI (U1とU2)を構成し、再試行回数を3に設定した場合は、最初の試行(たとえばU1)が失敗すると、システムは次のURI (U2)を試行(フェイルオーバー)します。また失敗すると、システムはさらに2回(U1とU2を1回ずつ)試行します。

再試行の反復間隔

リストのすべてのエンドポイントURIを繰り返すまでのシステムの休止を秒単位で指定します。

たとえば、ビジネス・サービスに2つのURI (U1とU2)を構成し、再試行回数を2で、再試行間隔を5秒に設定したとします。最初の試行(U1)が失敗すると、システムはただちにU2を試行します。U2も失敗すると、5秒後にもう一度U1を試行します。

アプリケーション・エラーの再試行

「はい」または「いいえ」を選択します。

アウトバウンド・リクエストを送信する際の配信の失敗に備えて、アプリケーション・エラー(SOAPフォルトなど)に基づいてエンドポイントURIを再試行するかどうかを指定します。

このフィールドは、HTTP、EJB、JMS、DSP、Tuxedo、SBおよびWSトランスポートにのみ使用できます。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.4 プロトコル固有のトランスポート構成ページ

ビジネス・サービスの作成/ビジネス・サービスの編集 - プロトコル固有のトランスポート構成ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

- 19.2.5項「「BPEL-10gトランスポート構成」ページ」

- 19.2.6項「「DSPトランスポート構成」ページ」

- 19.2.7項「「EJBトランスポート構成」ページ」

- 19.2.8項「「電子メール・トランスポート構成」ページ」

- 19.2.9項「「ファイル・トランスポート構成」ページ」

- 19.2.10項「「フロー・トランスポート構成」ページ」

- 19.2.11項「「FTPトランスポート構成」ページ」

- 19.2.12項「「HTTPトランスポート構成」ページ」

- 19.2.13項「「JCAトランスポート構成」ページ」

- 19.2.14項「「JEJBトランスポート構成」ページ」

- 19.2.15項「「JMSトランスポート構成」ページ」

- 19.2.16項「「MQトランスポート構成」ページ」

- 19.2.17項「「SBトランスポート構成」ページ」

- 19.2.18項「「SFTPトランスポート構成」ページ」

- 19.2.19項「「SOA-DIRECTトランスポート構成」ページ」

- 19.2.20項「「Tuxedoトランスポート構成」ページ」

- 19.2.21項「「WSトランスポート構成」ページ」

19.2.5 「BPEL-10gトランスポート構成」ページ

このページでは、BPEL-10g (Oracle BPEL Process Manager)転送プロトコルを使用するビジネス・サービスのトランスポート設定を構成できます。Oracle BPEL Process ManagerでのOracle Service Busの使用の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle BPEL Process Managerトランスポートに関する項を参照してください。

表19-4 「ビジネス・サービスの作成/ビジネス・サービスの編集 - BPEL-10gトランスポート構成」ページ

プロパティ

説明

ロール

BPELトランスポートは、Oracle Service BusからOracle BPEL Process Managerにリクエスト・メッセージを送信するために使用します。ビジネス・サービスでは、次のロールを処理できます。

- 同期クライアント - Oracle Service Busクライアントとの同期通信では、必要な場所情報はBPELアドレスのみです。このアドレスは、エンドポイントURIとして静的に、およびURIリライトを通じて動的に取得されます。

- 非同期クライアント - Oracle Service Busクライアントとの非同期通信では、Oracle BPEL Process ManagerからOracle Service Busへのコールバックはリクエストと異なる接続上で送信されるため、正しいコールバック・アドレスを提供するようにOracle Service Busを構成する必要があります。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の高度な使用例(非同期)に関する項を参照してください。

- サービス・コールバック - ビジネス・サービスがOracle BPEL Process Managerへのサービス・コールバックとして設計されている(Oracle BPEL Process ManagerがOracle Service Busを通じて外部サービスを呼び出している)場合、コールバック・アドレスは実行時にのみわかります。bpel://callbackのエンドポイントURIを使用します。
マーカーURIでビジネス・サービスを構成する場合は、たとえばTransportHeaderアクションを使用して、$outboundにURIを動的に設定するようにパイプライン・ロジックを構成します。

注意: サービス・コールバック・ビジネス・サービスでは、ロード・バランシングまたはフェイルオーバーはサポートされません。

コールバック・プロキシ

このオプションのフィールドは、非同期クライアント・ロールでのみ使用可能です。このフィールドでは、リクエストを行ったOracle Service Busクライアントへのコールバックのルーティングに使用されるプロキシ・サービス(任意のSOAPタイプのSBまたはHTTPプロキシである必要があります)を選択します。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の高度な使用例(非同期)に関する項を参照してください。

サービス・アカウント

JNDIコンテキスト・セキュリティの場合は、Oracle BPEL Process Manager配信サービスへのアクセスに使用されます。「参照」をクリックし、サービス・アカウントを選択します。サービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。

静的またはパススルーなど、構成できるサービス・アカウントのタイプに制限はありませんが、ランタイムはユーザー名とパスワードにアクセスできる必要があります。

トランザクションを中断

「トランザクションを中断」を選択すると、ビジネス・サービスがトランザクションによって呼び出された場合でも、ビジネス・サービスは非トランザクションになります。

「トランザクションを中断」を選択しない場合は、次のようになります。

- プロトコルによって、WebLogic Serverでサポートされるプロトコル(t3、iiop、http)が指定されている場合は、トランザクションが伝播されます。

- プロトコルがOC4Jサーバー(ormi、opmn)を指定している場合、OC4Jではトランザクションの伝播がサポートされないため、BPELトランスポートで例外がスローされます。

BPELトランスポートでは、次の状況で「トランザクションを中断」オプションが無視されます。

- サービスの品質(QoS)を「ベスト・エフォート」に設定してビジネス・サービスが呼び出される場合。BPELトランスポートでは、QoSをサポートしていないトランザクションが自動的に中断されます。

- QoSを「exactly-once」に設定してビジネス・サービスが呼び出され、トランザクションが存在しない場合。

トランザクション伝播の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のトランザクション伝播に関する項を参照してください。

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するWebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

19.2.6 「DSPトランスポート構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - DSPトランスポート構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のDSPとOracle Data Service Integratorトランスポートに関する項を参照してください。

このページでは、DSP (Oracle Data Service Integrator)転送プロトコルを使用するビジネス・サービスのトランスポート設定を構成できます。表19-5に、このページの使用方法を示します。

表19-5 「ビジネス・サービスの作成/編集 - DSPトランスポート構成」ページ

オプション

説明

デバッグ・レベル

次のいずれか1つを指定します。

- 0 - デバッグ情報なしの場合

- 1 - リクエスト・メッセージに関する情報を出力する場合

- 3 - リクエスト・メッセージとレスポンス・メッセージに関する情報を出力する場合

サービス・アカウント

「参照」をクリックし、表示されるリストでサービス・アカウントを選択します。サービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。

関連項目:

- 17項「サービス・アカウント」

- 17.3項「サービス・アカウントの追加」

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するWebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

ワーク・マネージャは、レスポンス処理用の返信メッセージのポストに使用されます。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.7 「EJBトランスポート構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - EJBトランスポート構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

このページでは、EJB転送プロトコルを使用するビジネス・サービスのトランスポート設定を構成できます。表19-6に、ページの使用方法を示します。

表19-6 「 ビジネス・サービスの作成/編集 - EJBトランスポート構成」ページ

オプション

説明

呼出し元のサブジェクトを渡す

EJBの呼出し時にサービス・アカウントが構成されていない場合、このチェックボックスを選択して、Oracle Service Busがプロキシ・サービスから認証されたサブジェクトを渡すようにします。このオプションを選択すると、「サービス・アカウント」フィールドが無効になります。

サービス・アカウント

「参照」をクリックし、表示されるリストでサービス・アカウントを選択します。サービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。「呼出し元のサブジェクトを渡す」オプションを使用する場合、このオプションは使用できません。

関連項目:

- 17項「サービス・アカウント」

- 17.3項「サービス・アカウントの追加」

トランザクションをサポートする

トランザクションを指定する場合は、このチェック・ボックスを選択します。

クライアントJar

「参照」をクリックし、表示されたリストからEJBクライアントJARリソースを選択します。JARリソースの作成の詳細は、8項「JAR」を参照してください。このフィールドは必須です。

コンバータJar

「参照」をクリックし、表示されるリストでEJBコンバータ・クラスJARリソースを選択します。EJBクライアントJARリソースおよびコンバータ・クラスに関する詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のEJBトランスポートに関する項を参照してください。

ホーム・インタフェース

EJB 2.1のみ - JARによって移入されたオプションから、必要なEJBHomeインタフェースを選択します。このURIサンプルのJNDI名はここで選択するEJBHomeインタフェースに関連付ける必要があります。EJBが必要なタイプのものではない、またはEJBHomeインタフェースがclient-jarで指定されていない場合は、Oracle Service Busから警告が表示されます。

リモート・インタフェース

EJB 2.1のみ - このフィールドは、ホーム・インタフェースの構成に基づいて、自動的に情報が表示されます。

ビジネス・インタフェース

EJB 3.0のみ - 使用するクライアントJARのビジネス・インタフェースを選択します。

ターゲット・ネームスペース

このフィールドにはJARからのピックアップされた情報が表示されます。

スタイル

要件に応じて、「ドキュメントをラップ」または「RPC」を選択します。ステートレス・セッションEJBの2つ以上のメソッドに、同じ数の同じデータ型のパラメータがあり、操作をドキュメント指向にする場合は「ドキュメントをラップ」を指定する必要があります。

EJBへのルーティングまたはパブリッシュの場合、$bodyにはスタイルに合ったコンテンツが必要なので、スタイルは重要です。また、EJBへのコールアウトの場合、スタイルは、特にドキュメントのラップに関して、パラメータ・コンテンツに影響を及ぼします。2番目に、EJBビジネス・サービスを定義して、EJBにルーティングする同じWSDLでプロキシ・サービスを作成する使用パターンもあります。この場合、プロキシの呼出しに使用するクライアント・ツールには、WSDLのスタイルに関する制限がある可能性があるため、注意が必要です。

エンコーディング

「エンコード形式」または「リテラル形式」を選択します。

メソッド

表示されるメソッドは、選択したEJBリモートまたはビジネス・インタフェースのものです。必要なメソッドを選択します(複数のメソッドの選択も可能)。「+」をクリックしてメソッドを展開します。デフォルトのパラメータ値を編集して、提供されている場合(または必要な場合)はコンバータを選択します。

JAX-RPCスタックでサポートされないパラメータまたは戻り値の型を持つメソッドを除外するか、それらの引数をコンバータ・クラスに関連付ける必要があります。

任意のメソッドのデフォルトの操作名を変更できます。(デフォルトでは、操作名はメソッド名です。)EJBに同じ名前のメソッドが含まれている場合、ユニークになるように操作名を変更する必要があります。WSDLはユニークな操作名を必要とします。

注意: EJBのメソッド間で資格証明またはトランザクション設定が異なる場合、ビジネス・サービスのメソッドをカスタマイズし、メソッドごとのビジネス・サービスを作成できます。これにより、トランザクションと資格証明の詳細な制御が可能になります。

例外

このフィールドは、メソッドがビジネス例外をスローした場合に表示されます。EJBメソッドが、ArrayListなどのJava Web Services (JWS)でサポートされないデータ型を持つ例外をスローした場合は、「例外」フィールドを使用して、例外をJWSでサポートされる型に変換するコンバータ・クラスを選択します。

コンバータ・クラスは、com.bea.wli.sb.transports.ejb.ITypeConverterを実装する必要があります。コンバータ・クラスは、チェックされた例外でのみ構成が可能であり、実行時例外には構成できません。

コンバータ・クラスおよび変換された例外クラスをクライアントまたはコンバータJARでパッケージ化します。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のEJBトランスポートに関する項を参照してください。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.8 「電子メール・トランスポート構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - 電子メール・トランスポート構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

このページでは、電子メール・トランスポートプロトコルを使用するビジネス・サービスのトランスポート設定を構成できます。表19-7に、ページの使用方法を示します。

表19-7 「ビジネス・サービスの作成/ビジネス・サービスの編集 - 電子メール・トランスポート構成」ページ

オプション

説明

SSLが必要

Secure Sockets Layerを使用して通信するには、このオプションを選択します。電子メールトランスポートでは一方向SSLがサポートされます。SSL使用時のデフォルトのSMTPポート番号は465です。

注意:

- SSLが機能するためには、電子メール・サーバーの証明書がOracle Service Busトラストストアに存在する必要があります。

- TLSを使用している場合は、デフォルトのトラスト・ストア($JAVA_HOME/jre/lib/security/cacerts)にトラスト証明書を置くか、任意のトラスト・ストアに証明書を置いてから、次のように$DOMAIN_HOME/bin/setDomainEnv.*ファイルにパスを追加する必要があります。

set EXTRA_JAVA_PROPERTIES=%EXTRA_JAVA_PROPERTIES%
-Djavax.net.ssl.trustStore=<path to trustStore>

SMTPサーバー

name@domain_name.comのエンドポイントURIエントリに使用するデフォルトのSMTPサーバーを選択します。表19-3の説明のように、エンドポイントURIにSMTPサーバー・パラメータを指定すると、SMTPサーバー設定のかわりにそれらのサーバー・リソースが使用されます。

「メール・セッション」オプションを使用する場合、SMTPサーバーを選択しないでください。

SMTPリソースの作成の詳細は、31.7項「SMTPサーバーの追加」を参照してください。

メール・セッション

name@domain_name.comのエンドポイントURIエントリに使用する、構成されているメール・セッションのJNDI名を入力します。表19-3の説明のように、エンドポイントURIにJNDIメール・セッション・パラメータを指定すると、メール・セッション設定のかわりにそれらのメール・セッションが使用されます。

「SMTPサーバー」オプションを使用する場合、メール・セッションを入力しないでください。

送信元の名前

このサービスでの送信元の電子メール・アカウントの表示名を入力します。

送信元アドレス

このサービスでの送信元の電子メール・アカウントを入力します。

返信先の名前

電子メール・アカウントの返信先の表示名を入力します。

返信先アドレス

返信先の電子メール・アドレスを入力します。

接続タイムアウト

接続を切断するまでのタイムアウト時間をミリ秒単位で入力します。0を入力すると、タイムアウトは発生しません。

ソケットI/Oタイムアウト

ソケットI/Oタイムアウトの間隔をミリ秒単位で入力します。ゼロ(0)を入力すると、タイムアウトは発生しません。

リクエストのエンコーディング

電子メール・トランスポートにおけるリクエストの文字セット・エンコーディングとして、デフォルトのISO-8859-1を受け入れるか、別の文字セット・エンコーディングを入力します。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.9 「ファイル・トランスポート構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - ファイル・トランスポート構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

このページでは、ファイル・トランスポートプロトコルを使用するビジネス・サービスのトランスポート設定を構成できます。表19-8に、このページの使用方法を示します。

表19-8 「ビジネス・サービスの作成/ビジネス・サービスの編集 - ファイル・トランスポート構成」ページ

オプション

説明

接頭辞

ファイル名の前に付加する接頭辞を入力します。

このフィールドには「*」を入力できません。この文字を入力すると、実行時例外が発生します。

接尾辞

ファイル名に付加する接尾辞を入力します。このフィールドは必須です。

このフィールドには「*」を入力できません。この文字を入力すると、実行時例外が発生します。

リクエストのエンコーディング

ファイル・トランスポートにおけるリクエストの文字セット・エンコーディングとして、デフォルトのutf-8を受け入れるか、別の文字セット・エンコーディングを入力します。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.10 「フロー・トランスポート構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - フロー・トランスポート構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

フロー・トランスポート型のビジネス・サービスを使用して、分割-結合へアクセスします。分割-結合の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の分割-結合によるサービスのパフォーマンスの向上に関する項を参照してください。

このページでは、フロー・トランスポートプロトコルを使用するビジネス・サービスのトランスポート設定を構成できます。表19-9に、このページの使用方法を示します。

表19-9 「ビジネス・サービスの作成/編集 - フロートランスポート構成」ページ

オプション

説明

タイムアウト

レスポンスの待ち時間を秒数で指定します。リクエストのみの(片方向のみの)オペレーションの場合、この値は無視されます。

注意: このプロパティは非推奨になっており、Oracle Service Bus 12cでは使用できなくなります。12c に移行した際の追加のアップグレード手順を回避するためには、このプロパティに対する別の方法として分割-結合に待機アクションを使用します。

注意:
Oracle Service Bus 12cのフロー・トランスポート・ビジネス・サービスでは、アプリケーション・エラーの再試行、繰返しおよび回数プロパティも分割-結合の呼出しに使用できなくなるため、分割-結合は直接呼び出すことになります。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.11 「FTPトランスポート構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - FTPトランスポート構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

このページでは、FTP転送プロトコルを使用するビジネス・サービスのトランスポート設定を構成できます。表19-10に、このページの使用方法を示します。

表19-10 「ビジネス・サービスの作成/編集 - FTPトランスポート構成」ページ

オプション

説明

ユーザー認証

FTPサーバーのユーザーが匿名の場合は、「匿名」を選択し、FTPサーバーが外部的に構成されたアカウントの場合は「外部ユーザー」を選択します。

ID(電子メールID)

このフィールドは、「ユーザー認証」オプションが「匿名」に設定されている場合にのみ使用できます。

匿名ユーザーのメールIDを入力します。

サービス・アカウント

このフィールドは、「ユーザー認証」オプションが「外部ユーザー」に設定されている場合にのみ有効です。

外部ユーザーのサービス・アカウントを入力します。

関連項目:

- 17項「サービス・アカウント」

- 17.3項「サービス・アカウントの追加」

タイムアウト

接続が切断されるまでのソケット・タイムアウト間隔を秒単位で入力します。デフォルトは60秒です。

宛先ファイル名の接頭辞

トランスポートによってリモート・サーバー上のファイル名の先頭に付加される、省略可能な接頭辞を入力します。

このフィールドには「*」を入力できません。この文字を入力すると、実行時例外が発生します。

宛先ファイル名の接尾辞

トランスポートによってリモート・サーバー上のファイル名の末尾に付加される、省略可能な接尾辞を入力します。

このフィールドには「*」を入力できません。この文字を入力すると、実行時例外が発生します。

転送モード

転送モードとして「ascii」または「バイナリ」を選択します。

リクエストのエンコーディング

FTPトランスポートにおけるリクエストの文字セット・エンコーディングとして、デフォルトのUTF-8を受け入れるか、別の文字セット・エンコーディングを入力します。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.12 「HTTPトランスポート構成」ページ

HTTPトランスポートでは HTTP エンドポイントと HTTPS エンドポイントの両方がサポートされます。「ビジネス・サービスの作成/ビジネス・サービスの編集 - HTTPトランスポート構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

このページでは、HTTP転送プロトコルを使用するビジネス・サービスのトランスポート設定を構成できます。表19-11に、ページの使用方法を示します。

表19-11 「ビジネス・サービスの作成/ビジネス・サービスの編集 - HTTPトランスポート構成」ページ

オプション

説明

読取りタイムアウト

読取りタイムアウト時間を秒単位で入力します。

値0ではタイムアウトが行われません。

接続タイムアウト

接続タイムアウト時間を秒単位で入力します。接続を確立する前にタイムアウトの時間を超えると、Oracle Service Busで接続エラーが発生します。

値0ではタイムアウトが行われません。

HTTPリクエスト・メソッド

このパラメータにより、リクエストで次のいずれかのHTTPメソッドを使用できます。

- POST - HTTPリクエストの本文の一部として、長さにかかわらずすべてのデータをソケット接続で直接渡します。このやりとりはクライアントから認識できず、URLも変わりません。RESTベースのリクエストの場合、POSTでは作成/置換操作を実行するか、またはリクエストの操作を実行するようにトランスポートに指示します。

- GET - リクエストの一部として、取得対象を詳しく表した独自の情報を組み込むことができます。この情報は、問合せ文字列内のリクエストURLに追加された文字のシーケンスとして渡されます。「リクエスト・メッセージ・タイプ」が「なし」に設定されている場合は、「サービス・タイプ」が「任意のXMLサービス」または「メッセージ・サービス」のビジネス・サービスでGETを使用できます。RESTベースのリクエストの場合、GETはリモート・リソースの表現を受け取ります。

- PUT - PUTは、「サービス・タイプ」が「任意のXMLサービス」または「メッセージ・サービス」のビジネス・サービスで使用できます。PUTは、RESTベースのリクエストによる作成と置換の操作(既知の場所へのファイルのアップロードなど)を実行するようトランスポートに通知します。

- HEAD - 「レスポンス・メッセージ・タイプ」が「なし」に設定されている場合は、「サービス・タイプ」が「任意のXMLサービス」または「メッセージ・サービス」のビジネス・サービスでHEADを使用できます。HEADは、RESTベースのリクエストでリモート・リソースの完全な表現を取得するのではなく、そのリソースのヘッダー情報を取得するようトランスポートに通知します。

- DELETE - DELETEは、「サービス・タイプ」が「任意のXMLサービス」または「メッセージ・サービス」のビジネス・サービスで使用できます。DELETEは、RESTベースのリクエストによる削除操作を実行するようトランスポートに通知します。

注意: $outbound/transport/request/http:http-method変数でメソッドがすでに設定されている場合は、HTTPリクエスト・メソッドに選択したどのメソッドよりもその値が優先されます。

認証

次のいずれかを選択します。

- なし - このサービスへのアクセスに認証を必要としないことを指定します。
注: ビジネス・サービスにOracle WSMポリシーを指定する場合は、このオプションを選択してください。

- 「基本」 - このサービスにアクセスするには、基本認証が必要であることを指定します。
基本認証では、WebLogic Serverでユーザー名とパスワードを使用し、セキュリティ・レルム(Lightweight Directory Access Protocol (LDAP)ディレクトリ・サービスやWindows Active Directoryなど)で構成された認証プロバイダに対してクライアントの認証が行われます。クライアントは、HTTPリクエスト・ヘッダーでユーザー名とパスワードを送信する必要があります。

HTTPでの基本認証は、パスワードがクリア・テキストで送信されるため推奨しません。HTTPSでは暗号化されたチャネルが提供されるため、パスワードはHTTPSで送信するのが安全です。

警告: デフォルトでは、すべてのユーザー(認可ユーザーおよび匿名ユーザー)がビジネス・サービスにアクセス可能です。ビジネス・サービスにアクセスできるユーザーを制限するには、トランスポートレベルの認可ポリシーを作成する必要があります。25.15項「トランスポートレベルのアクセス・ポリシーの編集」を参照してください。

- クライアント証明書 - 暗号化通信および強力なクライアント認証(双方向SSL)を指定します。このオプションを使用するには、サービス定義のすべてのエンドポイントURIをHTTPSにする必要があります。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のトランスポートレベルのセキュリティの構成に関する項を参照してください。

サービス・アカウント

サービス・アカウントを入力します。サービス・アカウントとは、ユーザー名とパスワードの別名リソースです。基本認証必須フィールドを選択した場合、このフィールドは必須です。

関連項目:

- 17項「サービス・アカウント」

- 17.3項「サービス・アカウントの追加」

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するWebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

リクエストのエンコーディング

HTTPトランスポートにおけるリクエストの文字セット・エンコーディングとして、デフォルトのiso-8859-1を受け入れるか、別の文字セット・エンコーディングを入力します。

レスポンスのエンコーディング

HTTPトランスポートにおけるレスポンスの文字セット・エンコーディングとして、デフォルトのiso-8859-1を受け入れるか、別の文字セット・エンコーディングを入力します。

プロキシ・サーバー

プロキシ・サーバー・リソースを入力するか、「参照」をクリックして構成されたプロキシ・サーバー・リソースの一覧からエントリを選択します。

圧縮のサポート

圧縮サポートを有効にする場合は、このオプションを選択します。有効な場合、リクエスト圧縮アルゴリズム設定でアウトバウンド・リクエスト圧縮アルゴリズムを選択できます。アウトバウンド・レスポンスのContent-Encodingヘッダーに従って、gzipまたはdeflate圧縮のアウトバウンド・レスポンスが自動的にサポートされます。

このオプションが選択されていない場合、圧縮されていないペイロードが送信されます。ヘッダーは追加されません。圧縮されたアウトバウンド・レスポンスを受信すると、エラーになります。

リクエスト圧縮アルゴリズム

圧縮のサポートが選択されている場合、アウトバウンド・リクエストの圧縮を処理するための3つのオプションが使用可能です。

- なし: アウトバウンド・リクエストを圧縮しません。ただし、圧縮されたアウトバウンド・レスポンスは理解されます

- Gzip: gzipではアウトバウンド・ペイロードを圧縮します

- デフレート: deflateではアウトバウンド・ペイロードを圧縮します

Accept-Encodingヘッダーは"gzip, deflate"に設定されます。この2つの圧縮アルゴリズムのいずれかを使用したContent-Encodingヘッダーを含むアウトバウンド・レスポンスは理解されます。

圧縮バッファの有効化

圧縮バッファを有効にする場合は、このオプションを選択します。有効な場合、圧縮されたデータのContent-Lengthを決定する圧縮形式でメッセージ全体がメモリー内バッファに書き込まれます。Content-Lengthヘッダーは、データが受信者に送信される前にレスポンス・オブジェクトに設定されます。

この設定は、リクエスト処理に影響を与えません。インバウンド・レスポンス・データ処理にのみ適用されます。インバウンド・リクエストは常に直接ストリーミングされます。

このオプションは、次のいずれかの条件が真の場合、無効です。

- 圧縮のサポート設定が選択解除されています

- 圧縮のサポート設定が選択され、リクエスト圧縮アルゴリズム・リストで「なし」が選択されています。

注意: この設定は、「チャンク・ストリーミング・モードの使用」設定と相容れません。どちらか一方のみを選択できます。

HTTPリダイレクトの追跡

HTTPリダイレクト(レスポンス・コード3xxによるリクエスト)に自動的に従うことを指定する場合、このチェック・ボックスを選択します。リダイレクトは、ビジネス・サービスのURLにアウトバウンド・リクエストを送信し、そのサービスから、URLが無効になったためこのリクエストを別のURLに送信する必要があることを示すレスポンス・コード(たとえば302)が返された場合に発生します。

「HTTPリダイレクトの追跡」チェックボックスが選択されている場合、リクエストは自動的に新しいURLに再送信され、ユーザー側でのアクションは発生しません。HTTPリダイレクトに自動的に従わない場合は、このチェックボックスを選択解除します。

チャンク・ストリーミング・モードの使用

HTTPチャンク転送エンコーディングを使用してメッセージを送信する場合は、このオプションを選択します。

注意: 「HTTPリダイレクトの追跡」オプションを使用する場合、チャンク・ストリーミングを使用しないでください。チャンク・モードでは、リダイレクトと認証は自動的に処理されません。

セッション固定性

ビジネス・サービスのHTTPリクエストでセッション固定性(セッション・アフィニティとも呼ばれる)を使用するには、このオプションを選択します。詳細は、I.4.4.2項「HTTPセッション固定性を持つWSRPの使用法」を参照してください。

固定セッションID名

セッション固定性が有効になっている場合、固定セッションの識別名を入力します。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.13 「JCAトランスポート構成」ページ

このページでは、JCA転送プロトコルを使用するトランスポート設定を構成できます。JCAトランスポートの使用の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のJCAトランスポートに関する説明および19.1.1項「JCAバインド・リソースからのビジネス・サービスの生成」を参照してください。

表19-12 「JCAトランスポート構成」ページ

オプション

説明

JCAファイル

「参照」をクリックしてJCAバインドを選択します。JCAバインドによって、使用されるアダプタの詳細、WSDLとTopLinkまたはEclipseLinkマッピング・ファイルへのバインド、サービスに必要なアクティブ化指定プロパティや相互指定プロパティなど、サービスの様々な側面が定義されます。

有効なJCAバインドを選択すると、これ以外のトランスポート構成のフィールドが使用可能になります。

JCAバインドの詳細は、第13章「JCAバインド」を参照してください。

アダプタ名

JCAサービスで使用するアダプタの名前を示す読取り専用の値。

アダプタ・タイプ

アダプタ・タイプを示す読取り専用の値。

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するWebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

JNDIサービス・アカウント

JNDIサービス・アカウントはJNDIコンテキスト・セキュリティのためのアカウントで、EISアダプタ管理対象の接続ファクトリへのアクセスに使用します。「参照」をクリックし、サービス・アカウントを選択します。サービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。

JCAビジネス・サービスでは、静的またはパススルーなど、構成できるJNDIサービス・アカウントのタイプに制限はありませんが、ランタイムはユーザー名とパスワードにアクセスできる必要があります。JCAプロキシ・サービスは静的JNDIサービス・アカウントのみを使用できます。

JNDIサービス・アカウントの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の「JCAトランスポート」、セキュリティに関する項を参照してください。

エンドポイント・プロパティ

このフィールドでは、サービスが使用するアダプタ・タイプの再試行回数など、エンドポイント・プロパティに値を割り当てることができます。

サポートされているJCAエンドポイント・プロパティのリストは、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のエンドポイント・プロパティに関する項を参照してください。

動的エンドポイント・プロパティ

このオプションを使用すると、リクエスト・パラメータをJCA準拠サービスに渡すことができます。たとえば、動的エンドポイント・プロパティを使用して、データベース問合せパラメータをデータベース用のOracle JCAアダプタに渡すことができます。

パラメータによる問合せの詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』のOracle JCA Adapter for Databaseに関する項を参照してください。

指定する動的エンドポイント・プロパティごとに名前と値のペアを入力します。エンドポイント・プロパティ・キーが問合せパラメータ名と一致します。

常にJCAファイルからの構成を使用

このオプションを使用して、「アクティブ化指定プロパティ」(プロキシ・サービス)および「相互指定プロパティ」(ビジネス・サービス)を常にJCAファイルから使用するかどうかを決定します。

このオプションが選択されている場合(デフォルト)、JCAトランスポートはJCAファイルのアクティブ化/相互指定プロパティを使用してJCAフレームワークと対話します。

このオプションが選択されていない場合は、アクティブ化/相互指定プロパティをオーバーライドできます。

このオプションを使用した再デプロイメントの影響は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の「JCAトランスポート」、エンドポイント・デプロイメントに関する項を参照してください。

操作名

選択したWSDL操作の読取り専用の名前を表示します。操作は、「アクティブ化/対話の仕様プロパティ」フィールドで示すように、独自のアクティブ化/対話の仕様プロパティを持つことができます。

アクティブ化指定プロパティ/相互指定プロパティ

「アクティブ化指定プロパティ」はプロキシ・サービス用のフィールド名で、「相互指定プロパティ」はビジネス・サービス用のフィールド名です。

このサービスがEISアプリケーションによって呼び出されたインバウンド・サービスである場合、このフィールドには、「操作名」フィールドで示すように、JCAインバウンド操作のアクティブ化仕様プロパティが表示されます。

「常にJCAファイルからの構成を使用」オプションをクリアすると、アクティブ化/相互指定プロパティをオーバーライドできます。

注意: Oracle Adapter Suiteアダプタの場合、アクティブ化/相互指定プロパティが読取り専用として表示されます。Oracle Adapter Suiteアダプタには独自の構成が保存されています。これは、Oracle Adapter Suite管理ツールで変更する必要があります。

接続プロパティ(レガシー)

非管理対象モード接続プロパティ(このリリースでは非推奨)を使用するレガシーJCAサービスの場合、http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jcatransport/transport.html#wp1105451の接続構成オプションを参照してください。

エンドポイントおよびアクティブ化/相互指定プロパティの詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

19.2.14 「JEJBトランスポート構成」ページ

このページでは、JEJB転送プロトコルを使用するトランスポート設定を構成できます。JEJBトランスポートの使用の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のJEJBトランスポートに関する項を参照してください。

表19-13 「JEJBトランスポート構成」ページ

オプション

説明

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するWebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

EJB仕様バージョン

リモートEJBインタフェースのEJBバージョンを選択します。

値でXMLBeansを渡す

トランスポートによってPOJO引数(XMLObject)のインラインXML表現を生成する場合は、このオプションを選択します。この引数のパラメータは、XQuery式でアクセスおよび操作できます。

注意: 値で渡されたXMLObjectの場合、型情報はインラインでは利用できません。このオプションを使用する場合、プロキシ・サービス・パイプラインのJavaコールアウトで型付きのXMLObjectを引数として渡すことはできません。

参照でPOJOを渡す場合は、このオプションを選択しないでください。こうすることでパフォーマンスも向上します。

呼出し元のサブジェクトを渡す

サービス・アカウントを選択するかわりに、このオプションを選択すると、EJBの起動時にプロキシ・サービスから認証済サブジェクトがOracle Service Busによって渡されます。

サービス・アカウント

「参照」をクリックし、表示されるリストでJNDIサービス・アカウントを選択します。サービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。詳細は、第17章「サービス・アカウント」を参照してください。

クライアントJar

「参照」をクリックし、表示されたリストからEJBクライアントJARリソースを選択します。クライアントJARには、リモート・サービスに対するリモート・インタフェースまたはビジネス・インタフェースが含まれます。クライアントJARは汎用アーカイブ・リソースとして登録されます。

ホーム・インタフェース

EJB 2.1のみ - JARによって移入されたオプションから、必要なEJBHomeインタフェースを選択します。

リモート・インタフェース

EJB 2.1のみ - このフィールドは、ホーム・インタフェースの構成に応じて、自動的に情報が表示されます。

ビジネス・インタフェース

EJB 3.0のみ - クライアントJARから、起動するビジネス・インタフェースを選択します。

ターゲット・ネームスペース

このフィールドにはJARからのピックアップされた情報が表示されます。

メソッド

必須のメソッドを選択します。「+」をクリックしてメソッドを展開すると、デフォルトのパラメータ値を編集できます。

任意のメソッドのデフォルトの操作名を変更できます。デフォルトでは、操作名はメソッド名です。EJBに同じ名前のメソッドが含まれている場合(オーバーロード)、一意になるように操作名を変更する必要があります。WSDLでは一意の操作名が必要です。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.15 「JMSトランスポート構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - JMSトランスポート構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のJMSトランスポートに関する項を参照してください。

このページでは、JMS転送プロトコルを使用するビジネス・サービスのトランスポート設定を構成できます。表19-14に、ページの使用方法を示します。

表19-14 「ビジネス・サービスの作成/ビジネス・サービスの編集 - JMSトランスポート構成」ページ

オプション

説明

宛先タイプ

JMSブリッジ宛先の種類を選択します。

- キュー(ポイント・ツー・ポイントの場合)

- トピック(パブリッシュ/サブスクライブの場合)

メッセージ・タイプ

次のいずれかを選択します。

- 「バイト」(未解釈バイトのストリームの場合)

- 「テキスト」(テキスト・メッセージの場合)

このオプションは、レスポンスの「メッセージ・タイプ」に「Java」を選択した場合は無効になっています。

レスポンス・キュー

このオプションは、「宛先タイプ」フィールドで「キュー」が選択されている場合にのみ使用できます。

次のいずれかのレスポンス・オプションを選択します。

- なし - レスポンスは想定されていません。一方向の操作の場合、このオプションを選択します。

- すべてのリクエストURIに対して1つ - レスポンスを処理する1つのURIを入力し、エンコーディングやタイムアウトなどの他のレスポンス構成詳細を設定します。オプションで、JMS/JNDI資格証明を渡すためのJMSサービス・アカウントを選択します。

- リクエストURIごとに1つ - このオプションでは、レスポンス・フェイルオーバーを指定します。レスポンスURIまたは各リクエストURIの宛先を入力します。

オプションで、リクエストとレスポンスのペアごとにJMS/JNDI資格証明用のサービス・アカウントを選択できます。

レスポンス・パターン

このオプションは、「レスポンス・キュー」フィールドでレスポンス・オプションが選択されている場合にのみ使用できます。

次のいずれかを選択します。

- Oracle WebLogic Serverで稼働しているJAX-RPCサービス以外のサービスの場合、すべてJMSCorrelationIDを選択します。

- Oracle WebLogic Serverで実行するJAX-RPCサービスの「JMSMessageID」を選択します。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のJMSリクエスト/レスポンスのメッセージIDと相関IDパターンに関する項を参照してください。

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するOracle WebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

たとえば、ビジネス・サービスがJMS転送プロトコルに対応している場合、ビジネス・サービスのエンドポイントは、そのディスパッチ・ポリシーに関連付けることのできるMDB (メッセージドリブンBean)のJARファイルになります。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

リクエストのエンコーディング

リクエストのエンコード用の文字セットを入力します。デフォルトは、UTF-8です。

レスポンスのエンコーディング

このオプションは、「レスポンス・キュー」フィールドでいずれかのレスポンス・オプションが選択されている場合にのみ使用できます。

レスポンスのエンコード用の文字セットを入力します。デフォルトは、UTF-8です。

レスポンス・タイムアウト

このオプションは、「レスポンス・キュー」フィールドでいずれかのレスポンス・オプションが選択されている場合にのみ使用できます。

接続を切断するまでのレスポンスの待機時間を秒単位で入力します。デフォルトはゼロ(0)で、レスポンスはタイムアウトしません。

クライアントJar

このオプションは、サービスが「Java」レスポンス・タイプのメッセージ・サービスの場合に使用できます。Javaオブジェクトを含むメッセージのデキューに使用するクライアントJARを選択します。クライアントJARを選択すると、クライアントJARはクラスパスに置かれます。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージでのJavaオブジェクトの送受信に関する説明を参照してください。

レスポンスURI

このオプションは、「すべてのリクエストURIに対して1つ」レスポンス・オプションおよびJMSCorrelationIDレスポンス・パターンが選択されている場合に使用できます。

レスポンスURIは次の形式で入力します。

jms://host:port/connection_factory/jndi_destination

複数のサーバーをターゲットとする場合は、次の形式を使用します。

jms://host1:port,host2:port/connection_factory/jndi_destination

レスポンスURIのホストとポートを省略することもできます。例:

jms:///connection_factory/jndi_destination

ホストとポートを省略すると、ローカル・サーバーで接続ファクトリや宛先ルックアップが発生します。これは、リクエストURIが外部接続ファクトリや宛先を指し、レスポンスをローカル・サーバーに送信する場合などに便利です。

注意: Oracle WebLogic Serverでは、「myqueues/myqueue」のようにJNDI名にスラッシュを使用できましたが、スラッシュを使用したJNDI名はOracle Service Busで必要なURIフォーマットに干渉するので、これらの名前は使用できません。この問題を回避するには、JMS外部サーバーを定義し、その外部サーバーをURI内で参照します。詳細は、Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・オンライン・ヘルプの外部サーバーの構成に関する説明を参照してください。

レスポンスのリクエスト

このオプションは、JMSCorrelationIDパターンに対して「リクエストURIごとに1つ」レスポンス・オプションを選択し、レスポンス・フェイルオーバーを指定している場合に使用できます。

汎用の「トランスポート」ページで入力したリクエストURIごとに、前述の「レスポンスURI」フィールドのとおり、レスポンスURIを入力します。

オプションで、リクエスト・キューとレスポンス・キューの両方にサービスで使用するJMS/JNDI資格証明用のサービス・アカウントを選択できます。

対象 - レスポンス

このオプションは、JMSMessageIDパターンに対して「すべてのリクエストURIに対して1つ」レスポンス・オプションを選択している場合に使用できます。

レスポンスを受け取るターゲット・サーバーの名前を入力し、「レスポンスURI」フィールドの説明のとおり、レスポンスURIを入力します。

接続のリクエスト

このオプションは、JMSMessageIDパターンに対して「リクエストURIごとに1つ」レスポンス・オプションを選択し、レスポンス・フェイルオーバーを指定している場合に使用できます。

「順序番号」フィールドの番号で順次識別されるリクエストURIごとに、オプションでJMS接続ファクトリ名を入力します。名前を入力しない場合、JMSトランスポートでは、リクエストURIから接続ファクトリを使用します。

オプションで、リクエスト・キューとレスポンス・キューの両方にサービスで使用するJMS/JNDI資格証明用のサービス・アカウントを選択できます。

対象 - 宛先

このオプションは、JMSMessageIDパターンに対して「リクエストURIごとに1つ」レスポンス・オプションを選択し、レスポンス・フェイルオーバーを指定している場合に使用できます。このフィールドは、「接続のリクエスト」フィールドと組み合せて使用します。

クラスタ内の管理対象サーバーなど、リスト(現在のドメイン内のサーバーによって決まる)されているターゲット・サーバーごとに、「接続のリクエスト」フィールドに対応するリクエストURIを順序番号でリストします。各ターゲットのリクエストURIごとに、レスポンスを受け取るターゲット・サーバーの宛先キューを入力します。

注意: Oracle Service Bus開発環境では、1サーバー環境のみがサポートされるため、リストされるターゲットは1つのみです。複数サーバー環境でこのフィールドを構成するには、このサービスをランタイム環境にデプロイし、Oracle Service Bus管理コンソールでサービス構成を完了します。

JMSサービス・アカウント

このオプションは、「レスポンス・キュー」フィールドで「なし」または「すべてのリクエストURIに対して1つ」オプションを使用している場合に使用できます。

JMSサーバーによって管理されているJMSリソースに使用するサービス・アカウントを選択します。サービス・アカウントは、リクエストとレスポンスの両方に使用される、ユーザーIDとパスワードの別名リソースです。同じサービス・アカウントが、JMSとJNDIの両方に使用されます。

このフィールドは、「呼出し元のサブジェクトを渡す」オプションとは相互排他的です。JMS/JNDI認証にはいずれかを使用します。

詳細は、17項「サービス・アカウント」を参照してください。

SSLを使用

リクエストがTLS/SSL接続を通して行われる場合にのみ、このオプションを選択します。

TLS/SSL (Secure Sockets Layer)では、ネットワークで接続される2つのアプリケーションが互いのIDを認証し、アプリケーション間で交換されるデータを暗号化できるようにすることによって、安全な接続が可能になります。認証を使用すると、サーバー(および必要に応じてクライアント)はネットワーク接続の相手側アプリケーションのIDを検証できます。また、宛先のJNDIエントリに対してアクセス制御が設定されていることにより、管理者から個々のJMS宛先(キューまたはトピック)へのアクセスが制限されている場合、JNDIツリー内でのルックアップ時に、サービスで認証を行う必要があります。サービス・アカウントまたは「呼出し元のサブジェクトを渡す」オプションを使用して認証を行います。

注意: JMSトランスポートでは双方向SSLはサポートされません。

有効期限

メッセージが期限切れになるまでの時間間隔(ミリ秒単位)。デフォルト値の0を指定すると、メッセージは無期限になります。

メッセージ永続性を有効にする

サービスが使用するJMS配信モードです。信頼性とスループットのバランスを取ることができます。メッセージ配信を保証するためにはこのオプションを選択します(デフォルト)。少数のメッセージの紛失が許容される場合は、このオプションを選択解除するとスループットが向上します。

順序単位

メッセージ順序単位を入力します。メッセージ順序単位により、メッセージ・プロデューサは処理順序に関して複数のメッセージを1つの単位にグループ化できるようになります。この順序単位のすべてのメッセージは、メッセージが作成された順序に従って処理する必要があります。

呼出し元のサブジェクトを渡す

Oracle Service Busがメッセージを送信するときに、認証されたサブジェクトを渡すには、このチェックボックスを選択します。

このフィールドを有効にし、ビジネス・サービスが様々なドメインのJMSリソースをターゲットにする場合、両方のドメインでグローバル信頼を有効にします。Oracle WebLogic Serverの保護のWebLogicドメインのセキュリティの構成に関する項を参照してください。

このフィールドは、「サービス・アカウント」オプションとは相互排他的です。JMS/JNDI認証にはいずれかを使用します。

このフィールドを有効にし、ビジネス・サービスが様々なドメインのJMSリソースをターゲットにする場合、両方のドメインでグローバル信頼を有効にします。『Oracle Fusion Middleware Oracle WebLogic Serverの保護』のWebLogicドメインのセキュリティの構成に関する項を参照してください。

JNDIタイムアウト

JNDIツリーでの宛先または接続ファクトリの検索時に使用されるJNDI接続タイムアウト(秒)。

デフォルトはゼロ(0)で、接続はタイムアウトしません。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.16 「MQトランスポート構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - MQトランスポート構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のMQトランスポートに関する項を参照してください。

始める前に

MQ接続リソースを構成します。9項「MQ接続」を参照してください。

MQトランスポートを構成するには

このページでは、ネイティブMQ転送プロトコルを使用するビジネス・サービスのトランスポート設定を構成できます。表19-15に、ページの使用方法を示します。

表19-15 「ビジネス・サービスの作成/編集 - MQトランスポート構成」ページ

オプション

説明

メッセージ・タイプ

次のいずれかを選択します。

- 「バイト」(未解釈バイトのストリームの場合)

- 「テキスト」(テキスト・メッセージの場合)

レスポンスが必要

アウトバウンド・メッセージの送信後にレスポンスを受け取ることを指定する場合は、このオプションを選択します。

レスポンス相関パターン

このオプションは、「レスポンスが必要」チェック・ボックスが選択されている場合のみ使用できます。

レスポンス相関パターンが次のものに基づくかどうかを指定します。

- MessageID

- CorrelationID

- 動的キュー - WebSphere MQ実装で、レスポンス相関に動的キューを使用する場合、このオプションを選択します。MQトランスポートでは、一時動的キューのみサポートされます。

相関値の自動生成

このオプションは、「レスポンスが必要」チェック・ボックスが選択されている場合のみ使用できます。

このチェック・ボックスを選択して、CorrelationIDまたはMessageIDを自動的に生成します。

モデル・キュー

動的キュー・レスポンス相関パターンの場合のみ。動的キューの生成に使用されるモデル・キューの名前を入力します。

MQレスポンスURI

このオプションは、「レスポンスが必要」チェック・ボックスが選択されている場合のみ使用できます。

レスポンスがパブリッシュされる宛先です。エンドポイントURIと同じ形式でレスポンスURIを入力します。

mq://local_queue_name?conn=mq_connection_resource

動的キューを使用する場合:

mq://dynamic_queue_prefix?conn=mq_connection_resource

dynamic_queue_prefixは32文字に制限されており、MQサーバーでの動的キューの作成に使用されます。キュー名は、接頭辞に一意のIDを付加したものになります。たとえば、dynamic_queue_prefixがexampleの場合、動的キューの名前はexample123129083821などになります。

動的キュー・レスポンスURIにワイルドカードとしてアスタリスク(*)を使用することもできます。例:

mq://dynamic_queue_prefix*?conn=mq_connection_resource

mq://dynamic_queue_prefix*

mq://*

URIにdynamic_queue_prefixを含めない場合、トランスポートはMQサーバーによって生成された動的キュー名を使用します。URIにmq_connection_resourceを明示的に指定しない(ベスト・プラクティス)場合、トランスポートはエンドポイントURIのmq_connection_resourceを使用します。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のMQトランスポートに関する項を参照してください。

レスポンス・タイムアウト

このオプションは、「レスポンスが必要」チェック・ボックスが選択されている場合のみ使用できます。

接続を切断するまでのレスポンスの待機時間を秒単位で入力します。デフォルトは300です。

ポーリング間隔

このオプションは、「レスポンスが必要」チェック・ボックスが選択されている場合のみ使用できます。

ポーリング間隔をミリ秒単位で入力します。デフォルトは1000です。

ポーラー・ディスパッチ・ポリシー

ポーラー・スレッドに使用するディスパッチ・ポリシー。

動的キュー・プーリング

動的キュー・レスポンス相関パターンの場合のみ。サービスで、プールされている接続を動的キューに使用する場合、このオプションを選択します。

動的キューに対して別の接続プールを使用するには、動的キューのために専用のMQ接続リソースを構成することを検討してください。

各リクエストに新しい動的キュー・インスタンスを作成する場合(レスポンスの後でキューを破棄する場合)は、このオプションを選択しないでください。

エンドポイントURI 'PUT'オプション

次の中からMQ PUTメッセージ・オプションを入力します。

- MQC.MQPMO_ALTERNATE_USER_AUTHORITY

- MQC.MQPMO_DEFAULT_CONTEXT

- MQC.MQPMO_FAIL_IF_QUIESCING

- MQC.MQPMO_LOGICAL_ORDER

- MQC.MQPMO_NEW_CORREL_ID

- MQC.MQPMO_NEW_MSG_ID

- MQC.MQPMO_NO_CONTEXT

- MQC.MQPMO_NO_SYNCPOINT

- MQC.MQPMO_NONE

- MQC.MQPMO_PASS_ALL_CONTEXT

- MQC.MQPMO_PASS_IDENTITY_CONTEXT

- MQC.MQPMO_RESOLVE_LOCAL_Q

- MQC.MQPMO_SET_ALL_CONTEXT

- MQC.MQPMO_SET_IDENTITY_CONTEXT

- MQC.MQPMO_SYNCPOINT

- MQC.MQPMO_VERSION_1

- MQC.MQPMO_VERSION_2

複数のオプションを区切るには、「|」または「+」を使用します。たとえば、次のように指定できます。

MQC.MQPMO_LOGICAL_ORDER | MQC.MQPMO_NEW_MSG_ID

MQ PUTメッセージ・オプションは、メッセージがアウトバウンド・キューに配置された場合に適用されます。

MQ認識できないレスポンスURI

認識できないレスポンス・メッセージの送信先のキューを示すURIを入力します。「相関値の自動生成」チェック・ボックスが選択された場合のみ、この設定が有効になります。

このフィールドの値を指定しない場合、認証できないレスポンス・メッセージが削除されます。

RFH2ヘッダーのプロセス

メッセージ・ペイロードからWebSphere MQ RFH2ヘッダーを解析して、RFH2データを含むRFH2Headersトランスポート・ヘッダーを自動的に生成する場合はこのオプションを選択します。

このオプションを選択しない場合は、ペイロードはそのまま渡されます。

MQトランスポートでのRFH2ヘッダーの処理方法の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のRFH2ヘッダーに関する説明を参照してください。

ワーカー・スレッド・ディスパッチ・ポリシー

ディスパッチ・ポリシーでは、サービス・エンドポイントに使用するOracle WebLogic Serverワーク・マネージャのインスタンスを参照します。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.17 「SBトランスポート構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - SBトランスポート構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のSBトランスポートに関する項を参照してください。

このページでは、SB(サービス・バス)転送プロトコルを使用するビジネス・サービスのトランスポート設定を構成できます。表19-16 に、ページの使用方法を示します。

表19-16 「ビジネス サービスの作成/編集 - SB構成」ページ

オプション

説明

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するWebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

タイムアウト

サービスがタイムアウトになる時間(秒単位)。

注意: サービス品質が「必ず1回」の場合、タイムアウトは無視されます。

サービス・アカウント

「参照」をクリックし、表示されるリストでサービス・アカウントを選択します。サービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。

関連項目:

- 17項「サービス・アカウント」

- 17.3項「サービス・アカウントの追加」

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.18 「SFTPトランスポート構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - SFTPトランスポート構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のHTTPトランスポートとポーラー・トランスポートに関する項を参照してください。

このページでは、SFTP転送プロトコルを使用するビジネス・サービスのトランスポート設定を構成できます。表19-17に、ページの使用方法を示します。

表19-17 「ビジネス・サービスの作成/ビジネス・サービスの編集 - SFTPトランスポート構成」ページ

オプション

説明

ユーザー認証

次のいずれかを選択します。

- 「ユーザー名パスワード」認証 - 静的なサービス・アカウントがこの認証方式に関連付けられていて、クライアントは提供された資格証明を使用して認証されることを指定します。

- 「ホスト・ベース」認証 - この認証方法を使用するには、ユーザー名とサービス・キー・プロバイダが必要とされることを指定します。既知のホストから接続するユーザーはホストの秘密鍵を使用して認証されます。

- 「公開鍵」認証 - この認証方法を使用するために、ユーザー名とサービス・キー・プロバイダが必要とされることを指定します。すべてのユーザーがそれぞれの秘密鍵を持っています。

注意: Oracle Service Busサービスは、SFTPサーバーからの資格証明を認証するために、サービス・キー・プロバイダを使用することはありません。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のSFTPトランスポートのトランスポートレベルのセキュリティの構成に関する項で説明しているように、これはknown_hostsファイルのみを使用してSFTPサーバーを認証します。

サービス・アカウント

ユーザーのサービス・アカウントを入力するか、「参照」をクリックしてブラウザからサービス・アカウントを選択します。

サービス・キー・プロバイダ

このオプションは、「ホスト・ベース」認証または「公開鍵」認証が選択されている場合にのみ使用できます。

「サービス・キー・プロバイダ」フィールドに、サービス・キー・プロバイダを入力します。「参照」をクリックし、サービス・キー・プロバイダをブラウザから選択できます。このフィールドは必須です。

ユーザー名

このオプションは、「ホスト・ベース」認証または「公開鍵」認証が選択されている場合にのみ使用できます。

ユーザー名を入力します。

タイムアウト

接続が切断されるまでのソケット・タイムアウト間隔を秒単位で入力します。0を入力すると、タイムアウトは発生しません。デフォルト値は60です。

宛先ファイル名の接頭辞

トランスポートによってリモート・サーバー上のファイル名の先頭に付加される、省略可能な接頭辞を入力します。

このフィールドには「*」を入力できません。この文字を入力すると、実行時例外が発生します。

宛先ファイル名の接尾辞

トランスポートによってリモート・サーバー上のファイル名の末尾に付加される、省略可能な接尾辞を入力します。

このフィールドには「*」を入力できません。この文字を入力すると、実行時例外が発生します。

リクエストのエンコーディング

SFTPトランスポートでは、リクエストの文字セット・エンコーディングとしてデフォルトのUTF-8を受け入れます。

優先暗号スイート

サーバーと通信する際に使用する暗号スイートを選択します。

デフォルト値のUse Runtime Defaultを使用した場合、サポートされている暗号スイートのリストがサーバーに送信され、一致が検出されるまで1つずつ試行されます。

優先データ整合性アルゴリズム

データ整合性チェック用のバルクハッシュのアルゴリズムを選択します。

デフォルト値のUse Runtime Defaultを使用した場合、Oracle Service Busは優先アルゴリズムhmac-sha1を送信します。サーバーによってそれがサポートされていない場合は、サポートされているアルゴリズムのリストがサーバーに送信され、一致が検出されるまで1つずつ試行されます。

優先公開鍵アルゴリズム

公開鍵暗闘用の非対称鍵アルゴリズムを選択します。

デフォルト値のUse Runtime Defaultを使用した場合、Oracle Service Busは優先アルゴリズムssh-dssを送信します。サーバーによってそれがサポートされていない場合は、サポートされているアルゴリズムのリストがサーバーに送信され、一致が検出されるまで1つずつ試行されます。

優先鍵交換アルゴリズム

メッセージを暗号化するためのセッション鍵ネゴシエーション用のデフォルトの鍵交換プロトコルを選択します。

デフォルト値のUse Runtime Defaultを使用した場合、Oracle Service Busは優先アルゴリズム diffie-hellman-group1-sha1を送信します。サーバーによってそれがサポートされていない場合は、サポートされているアルゴリズムのリストがサーバーに送信され、一致が検出されるまで1つずつ試行されます。

優先圧縮アルゴリズム

zlibを使用して、処理中のデータを圧縮するかどうかを選択します。データを圧縮する場合は「zlib」を、それ以外の場合は「None」を選択します。デフォルトは、「None」。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.19 「SOA-DIRECTトランスポート構成」ページ

表19-18に、SOA-DIRECTトランスポートのトランスポート固有の構成オプションを示します。

SOA-DIRECTトランスポートの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のSOA-DIRECTトランスポートに関する項を参照してください。

表19-18 「ビジネス・サービスの作成/ビジネス・サービスの編集 - SOA-DIRECTトランスポート構成」ページ

プロパティ

説明

JNDIサービス・アカウント

オプション。ターゲットSOAサービスのJNDIルックアップ用のセキュリティ資格証明を指定します。サービス・アカウントは静的である必要があります。「参照」をクリックし、サービス・アカウントを選択します。サービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。

ロール

必須。サービスで使用する通信パターンを指定します。次のいずれかのオプションを選択します。

- 同期クライアント(デフォルト) - このロールでは、非同期コールバックがないため、「コールバック・プロキシ」オプションは無効です。「WS-Addressingのバージョン」オプションも無効です。

- 非同期クライアント - このロールでは、通常、非同期コールバックが必要なため、コールバック・プロキシを指定できます。WS-Addressingのバージョンを選択する必要があります。非同期オプションが有効になるのは、WSDLサービスのタイプがSOAPの場合のみです。

- サービス・コールバック - このロールは、外部サービスの起動後、非同期コールバックをSOAサービスに返すためのものです。
「サービス・コールバック」ロールのサービスには、ロード・バランシングやフェイルオーバーは使用できません。

コールバック・プロキシ

オプション。「非同期クライアント」ロールの場合のみ有効です。

このオプションでは、コールバックを受け取るプロキシ・サービスを指定できます。コールバック・プロキシを選択する際、リクエストまたはプロキシ・サービス・パイプラインによってWS-Addressingが指定されていないと、Oracle Service BusでReplyToプロパティがSOAPヘッダーに自動的に移入されます。SBトランスポート(RMI用)を使用するWSDLプロキシ・サービスを選択し、コールバック・プロキシ・サービスでWS-Addressingが認識される必要があります。

リクエストで送信されるか、プロキシ・サービス・パイプラインで設定されるWS-Addressingプロパティが、このオプションで設定するコールバック・プロキシのかわりに使用されます。

コールバック・プロキシを指定せず、リクエストにReplyToプロパティが含まれていない場合、プロキシ・サービス・パイプラインを介してSOAPヘッダーにReplyToプロパティを指定する必要があります。

フォルト・プロキシ

このオプションは現在サポートされていません。非同期パターンでフォルトを処理するようコールバック・サービスを構成する必要があります。

WS-Addressingのバージョン

必須。「非同期クライアント」ロールの場合のみ有効です。

リクエストまたはプロキシ・サービス・パイプラインにWS-Addressingが含まれていない場合に使用するデフォルトのWS-Addressingのバージョンを指定します。リクエストで送信されるか、プロキシ・サービス・パイプラインで設定されるWS-Addressingのプロパティが、このオプションで設定するWS-Addressingのバージョンのかわりに使用されます。

環境間でWS-Addressingのバージョンが異なる場合、プロキシ・サービス・パイプラインで必要なトランスフォーメーションを行います。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のトランスフォーメーションの例に関する項を参照してください。

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するWebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

呼出し元のサブジェクトを渡す

オプション。SOAサービスの起動時にOracle Service Busがプロキシ・サービスから認証されたサブジェクトを渡すようにする場合、このオプションを選択します。このオプションを選択すると、「呼出し元のサブジェクトを渡す」にかわる選択肢である「呼出しサービス・アカウント」オプションが無効になります。

注意: クライアントとターゲット・サーバーが異なるドメインにある場合、その間でドメイン信頼が有効であることを確認します。詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』のドメイン間のセキュリティ・サポートに関する重要な情報に関する項を参照してください。

呼出しサービス・アカウント

オプション。「呼出し元のサブジェクトを渡す」にかわる選択肢で、RMI呼出し用のサービス・アカウントを選択することで、カスタム・セキュリティ資格証明を指定します。任意のタイプ(パス・スルー、静的、マッピング)のサービス・アカウントを指定できます。

「参照」をクリックし、サービス・アカウントを選択します。サービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.20 「Tuxedoトランスポート構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - Tuxedoトランスポート構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のTuxedoトランスポートに関する項を参照してください。

このページでは、Tuxedo転送プロトコルを使用するビジネス・サービスのトランスポート設定を構成できます。表19-19に、ページの使用方法を示します。

表19-19 「ビジネス・サービスの作成/ビジネス・サービスの編集 - Tuxedoトランスポート構成」ページ

オプション

説明

フィールド表クラス

受信されるFMLまたはFML32バッファを表すクラス名を入力します。これらは、フィールド名を要素名にマップするために、FMLまたはFML32-to-XML変換ルーチンで使用されます。完全修飾クラス名をスペースで区切ってリストします。

Viewクラス

送受信されるVIEWまたはVIEW32バッファを表すクラス名を入力します。これらは、フィールド名を要素名にマップするために、VIEWからXMLまたはVIEW32からXMLへの変換ルーチンで使用されます。完全修飾クラス名をスペースで区切ってリストします。

クラスJar

このエンドポイント操作に必要なFML/FML32またはVIEW/VIEW32クラスを持つJARファイルを含むJARリソースを選択します。

リモート・アクセス・ポイント

インポートと関連付けられた利用可能なオプションからリモート・アクセス・ポイントを選択します。このリストには、WTCで構成されたリモート・アクセス・ポイントが含まれます。関連するリモート・アクセス・ポイントがない場合、ビジネス・サービスは作成できません。

リモート・アクセス・ポイントがない場合、または新規ポイントを作成する場合は「新規」を選択します。対応するアクセス・ポイント名とネットワーク・アドレスを隣のフィールドに入力します。エンドポイントの検証時に、各WTCサーバーのWTC構成にアクセス・ポイントが追加されます。WTCサーバーがない場合は、作成されます。

複数のURIを指定した場合、URIごとに1つのリモート・アクセス・ポイントが存在し、そのURIが参照用に表示されます。複数のURIが存在している場合、各URIに異なるリモート・アクセス・ポイントが必要です。既存のWTCリソースに対応するURIがすでに指定されている場合、対応するリモート・アクセス・ポイントが表示されますが、編集することはできません。

ローカル・アクセス・ポイント

このフィールドは、「リモート・アクセス・ポイント」フィールドで「新規」を選択した場合のみ表示されます。

新しく作成したリモート・アクセス・ポイントと関連付けるローカル・アクセス・ポイントを、リストから選択します。存在しない場合、または新しく作成する場合は「新規」を選択します。対応するローカル・アクセス・ポイント名とローカル・ネットワーク・アドレスを隣のフィールドに入力します。

リクエスト・バッファ・タイプ

リモートTuxedoサービスが受信するバッファの種類を選択します。

リクエスト・バッファ・サブタイプ

このオプションが有効になるのは、前述の「リクエスト・バッファ・タイプ」の値がVIEWまたはVIEW32の場合です。リクエスト・バッファに関連付けるバッファのサブタイプを入力します。

レスポンスが必要

双方向の呼出しを指定する場合に選択します。選択しない場合、基礎になるtpcallがTPNOREPLYフラグで呼び出され、nullレスポンスが非同期的にポストされます。

トランザクションを中断

トランザクションがある場合、このチェックボックスを選択してトランザクションを停止します。この機能は、リモート・サービスがトランザクションに対応していない場合に役立ちます。

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するWebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

このワーク・マネージャは、一方向起動の場合のnull返信の非同期のポストに使用されます。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

リクエストのエンコーディング

Tuxedoトランスポートのリクエストのエンコーディングを設定する文字を指定します。

レスポンスのエンコーディング

Tuxedoトランスポートのレスポンスのエンコーディングを設定する文字を指定します。

タイムアウト

トランスポート・ランタイムが応答を待機する最大時間(秒数)を、0以上の整数値で指定します。この値を設定しない、またはゼロ(デフォルト)に設定すると、BLOCKTIME (ローカルのWTCアクセス・ポイントが遮断コールを許可する最大秒数)でタイムアウトになります。

変換スタイル

次のいずれかを選択します。

- 「なし」 - (デフォルト)フィールドの順序を無視します。

- 順序付け - すべてのフィールドを正しい順序で表示します。

- 順序付けとグループ別 - フィールドが論理的にレコード構造になっている場合、発生順に並べ替えられ、レコードごとにグループ化されます。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.21 「WSトランスポート構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - WSトランスポート構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のWSトランスポートに関する項を参照してください。

このページでは、WS転送プロトコルを使用するビジネス・サービスのトランスポート設定を構成できます。表19-20に、ページの使用方法を示します。

表19-20 「ビジネス サービスの作成/編集 - WSトランスポート構成」ページ

オプション

説明

レスポンス・タイムアウト

レスポンスの待ち時間を秒数で指定します。

このフィールドを指定しない場合、レスポンスのタイムアウトは発生しません。ビジネス・サービスは、RMポリシーで構成されたシーケンス・タイムアウトの期間待機します。

値ゼロ(0)を入力すると、タイムアウトは発生しません(タイムアウトしません)。

サービス・アカウント

サービス・アカウントを入力するか、「参照」をクリックして、表示されたリストからサービス・アカウントを選択します。

サービス・アカウントにより、このサービスにHTTP基本認証ポリシーがある場合に使用する資格証明を指定されます。

エラー・メッセージをキューに入れる

構成されたエラー・キューにエラー・メッセージを送信することを指定します。

エラー・キューURI

このオプションは、「エラー・メッセージをキューに入れる」チェック・ボックスが選択されている場合のみ有効です。

エラー・メッセージを格納するJMSキューのURIを次の形式で入力します。

jms://host:port/connFactoryJndiName/queueJndiName

注意: Oracle WebLogic Serverでは、「myqueues/myqueue」のようにJNDI名にスラッシュを使用できましたが、スラッシュを使用したJNDI名はOracle Service Busで必要なURIフォーマットに干渉するので、これらの名前は使用できません。この問題を回避するには、JMS外部サーバーを定義し、その外部サーバーをURI内で参照します。詳細は、Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・オンライン・ヘルプの外部サーバーの構成に関する説明を参照してください。

JMSエラー・キューのサービス・アカウント

このオプションは、「エラー・メッセージをキューに入れる」チェック・ボックスが選択されている場合のみ有効です。

サービス・アカウントを入力するか、「参照」をクリックして、表示されたリストからサービス・アカウントを選択します。

サービス・アカウントにより、JNDI参照およびエラー・キューへのエラー・メッセージ送信用に使用する資格証明が指定されます。

エラー・キューにSSLを使用

このオプションは、「エラー・メッセージをキューに入れる」チェック・ボックスが選択されている場合のみ有効です。

エラー・キューへの接続にSSLを使用する場合に選択します。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.22 「SOAPバインド構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - SOAPバインド構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

このページでは、WSDLに基づくビジネス・サービスのSOAPバインディングを構成できます。

Web Services Interoperability Organizationで定義されたBasic Profileにサービスを準拠させるかどうかを指定する場合は、「WS-I準拠の適用」チェックボックスを選択します。このオプションが有効になるのは、SOAP 1.1サービスの場合に限られます。

サービスをWS-I準拠として指定すると、サービス間で送受信されるメッセージの確認が行われます。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.23 「メッセージ処理構成」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - メッセージ処理構成」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

このページを使用して、Oracle Service Busでのメッセージ・コンテンツの処理方法を指定します。表19-21に、ビジネス・サービスのメッセージ処理オプションを示します。様々なトランスポート・タイプに対して様々なオプションが使用できます。

表19-21 「ビジネス・サービスの作成/ビジネス・サービスの編集 - メッセージ処理構成」ページ

オプション

説明

XOP/MTOMサポート

この機能によって、MTOM/XOP形式でのアウトバウンド・メッセージのエンコードが可能になります。SOAP Message Transmission Optimization Mechanism (MTOM)は、バイナリ・データをWebサービスとの間で送受信する方法です。MTOMでは、XML-binary Optimized Packaging (XOP)を使用してバイナリ・データを転送します。

Oracle Service Busでは、次のトランスポートを使用したXOP/MTOMがサポートされます。

- HTTP/S

- ローカル

- SB

「有効」チェック・ボックスを選択すると、ビジネス・サービスでアウトバウンド・メッセージをMTOM/XOP形式でエンコードできます。このオプションは、前のリリースの構成に基づくインポートされたビジネス・サービスに対しては無効になります。

「XOP/MTOMサポート」が有効になっている場合は、$headerおよび$bodyメッセージ・コンテキスト変数のバイナリ・データを処理する方法を次のオプションから選択します。

- 参照によるバイナリ・データを含む: (デフォルト)アウトバウンド・レスポンス・メッセージで、$bodyメッセージ・コンテキスト変数の設定時にxop:Include要素をctx:binary-content要素で置換します。

- 値によるバイナリ・データを含む: アウトバウンド・レスポンス・メッセージで、$bodyメッセージ・コンテキスト変数の設定時にxop:Include要素を対応するバイナリ・データのBase64エンコード・テキスト・バージョンで置換します。

「XOP/MTOMサポート」がビジネス・サービスに対して有効になっている場合は、すべてのアウトバウンド・メッセージがMTOM形式である必要はありません。かわりに、この設定はビジネス・サービスがMTOMペイロードを処理できることを指定します。

Oracle Service BusではMTOMとSwAの組合せがサポートされないため、Oracle Service Busがアウトバウンド・リクエストをビジネス・サービスにディスパッチしようとした場合、およびビジネス・サービスでMTOMとXOPの両方が有効で、$attachmentsメッセージ・コンテキスト変数がnullでない場合は、システムによってランタイム・エラーが発行されます。

添付ファイル

Oracle Service Busでは、HTTP/Sトランスポートを使用したMIME添付ファイルのストリーミングがサポートされます。

この機能を使用すると、アウトバウンド・レスポンス・メッセージ内の添付ファイルをディスク・ファイルに格納し、添付ファイルのコンテンツをメモリーにバッファリングせずにストリーミング形式でデータを処理できます。これにより、ビジネス・サービスで、大きな添付ファイルを堅牢かつ効率的に処理できます。

「添付ファイルのディスクへのページング」チェック・ボックスを選択すると、ビジネス・サービスがアウトバウンド・レスポンス・メッセージ内の添付ファイルをストリーミングできます。

「XOP/MTOMサポート」を有効にした場合、「添付ファイル」オプションは、「XOP/MTOMサポート」で「参照によるバイナリ・データを含む」オプションを選択した場合にのみ使用できます。添付ファイルを含むペイロードはRFC 822に準拠している必要があることにも注意してください。具体的には、インターネット・ヘッダーを含む行は、CRLF(復帰改行)で終了する必要があります。

結果キャッシュ

結果が変わることがめったにないビジネス・サービスを起動する場合、結果キャッシュを使用すると、外部サービスが直接起動されるかわりに、キャッシュされている結果がクライアントに返されるため、ビジネス・サービスのパフォーマンスが向上します。

結果キャッシュをビジネス・サービスに使用するには、27.2.11項「結果キャッシュのグローバルな有効化」での説明のとおり、まず結果キャッシュをグローバルに有効にする必要があります。

次のガイドラインを使用して、「詳細設定」セクションで結果キャッシュを構成します。

- 「サポートされています」オプションを選択します。これを行うと、残りのフィールドが有効になります。

- 式ネームスペース - 式(キャッシュ・トークン式または有効期限、あるいはその両方)を使用して結果キャッシュを構成する場合、式で使用するネームスペースと対応する接頭辞を入力できます。このフィールドでは、既存のネームスペースのリストを表示することもできます。

- キャッシュ・トークン式 - Oracle Service Busでは、キャッシュ・キーを使用して取得または移入するキャッシュ結果を識別します。キャッシュ・キーのキャッシュ・トークン部分は一意の識別子です。式(キャッシュ・トークン式)を使用して、ビジネス・サービスのキャッシュ結果を一意に識別するキャッシュ・キーのキャッシュ・トークン部分を生成できます。
リクエスト(ビジネス・サービスを起動するプロキシ・サービス・メッセージ・フロー内)内の値からキャッシュ・トークンを生成する場合、パイプライン$body、$header、$operationまたは$transportMetaData($outbound/ctx:transport/ctx:requestまたは$outbound/ctx:transport/ctx:response)から値を取得する式を使用します。たとえば、メッセージ$body内の顧客IDからcache-tokenに移入できます。

キャッシュ・トークン式は、文字列または、属性や子要素のない要素などの単純な内容に解決される必要があります。式がnullと評価される場合またはエラーの場合、結果はキャッシュされません。

注意: ビジネス・サービス構成でキャッシュ・トークン式を設定せずに、リクエストからキャッシュ・トークンを生成できます。これを行うには、プロキシ・サービス・パイプラインの$outbound/ctx:transport/ctx:request/ctx:cache-tokenに値を含めます。このcache-tokenの値は、ビジネス・サービス構成のキャッシュ・トークン式をオーバーライドします。

- 有効期限 - 有効期限または存続時間(TTL)によって、ビジネス・サービスの結果キャッシュ内のエントリがいつフラッシュされるかが決まります。存続時間ゼロ(0)は、有効期限がないことを表します。負の存続時間はキャッシュをしないことを表します。次のいずれかを選択します。

結果キャッシュ(続き)

- デフォルトの使用 - デフォルトは、DOMAIN_HOME/config/osb/coherence/osb-coherence-config.xml内のexpiry-delay値です。デフォルトは5分です。

- 期間 - 特定の時間の長さを指定します。

- XQuery式 - リクエストまたはレスポンスから有効期限の値を取得するXQuery式を入力します。「リクエスト」または「レスポンス」を選択します。
リクエストまたはレスポンス内の値から有効期限を生成するには、パイプライン$body、$header、$operationまたは$transportMetaData($outbound/ctx:transport/ctx:requestまたは$outbound/ctx:transport/ctx:response)から値を取得する式を使用します。たとえば、Cache-Control HTTPヘッダーに設定した値を使用します。

有効期限は、整数(秒数を表す)、XQuery dayTimeDuration (XSDタイプ)または属性や子要素のない要素など、秒を表す単純な内容の整数値に解決される必要があります。式がnullと評価される場合またはエラーの場合、結果はキャッシュされません。

注意: ビジネス・サービス構成で有効期限を設定せずに、リクエストから有効期限を生成できます。これを行うには、プロキシ・サービス・パイプラインの$outbound/ctx:transport/ctx:request/ctx:cache-ttlに値を含めます。cache-ttl要素の値は、ビジネス・サービス構成の有効期限をオーバーライドします。

結果キャッシュの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「ビジネス・サービスの結果キャッシュによるパフォーマンスの向上」を参照してください。

終了後

「次へ」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

19.2.24 「サマリー」ページ

「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページは、ビジネス・サービスの作成および編集(19.1項「ビジネス・サービスの作成と構成」および19.5項「ビジネス・サービス構成の編集」を参照)に関する一連のページの1つです。

このページで、ビジネス・サービスの構成の設定の確認および編集ができます。

設定を表示または変更するには、該当するカテゴリ(「全般的な構成」、「トランスポート構成」など)の行で「編集」をクリックします。編集できるページは、ビジネス・サービスを作成したときに構成したページによって異なります。すべてのページを次のリストに示します。

- 19.2.1項「「全般的な構成」ページ」

- 19.2.2項「「メッセージ・タイプの構成」ページ」

- 19.2.3項「「トランスポート構成」ページ」

- 19.2.4項「プロトコル固有のトランスポート構成ページ」

- 19.5.2項「ビジネス・サービス・ポリシー・ページ」

- 19.5.3項「ビジネス・サービス・セキュリティ・ページ」

19.3 ビジネス・サービスに関連付けられたWSDLのエクスポート

WSDLに基づくビジネス・サービスのWSDLをエクスポートし、IDEなどの外部ツールでWSDLを表示および編集できます。WSDLは、JARファイルとしてエクスポートされます。

これは、システムの管理モジュールにあるリソースのエクスポート機能とは異なります。リソースのエクスポート機能は、2つのドメイン間でリソースを移動およびステージングする場合に使用します。29.2項「リソースのエクスポート」を参照してください。

始める前に

WSDLをセッション中にエクスポートすることはできません。3.1項「チェンジ・センターの使用」を参照してください。

WSDLをエクスポートするには

1. 次のいずれかの操作を行います。

- 「リソース・ブラウザ」→「ビジネス・サービス」を選択し、「ビジネス・サービスのサマリー」ページを表示します。

- 「プロジェクト・エクスプローラ」を選択して、WSDLとしてエクスポートするビジネス・サービスを含むプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

2. WSDLをエクスポートするビジネス・サービスの行の「WSDLのエクスポート」アイコンをクリックします。ダイアログ・ボックスが表示され、エクスポートされたJARファイルを開くか、保存するよう求められます。

3. ダイアログ・ボックスで、「開く」をクリックしてファイルを開くか、「保存」をクリックしてファイルを保存します。

19.4 ビジネス・サービスの検索

ビジネス・サービスを検索するには:

1. 次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、ビジネス・サービスを検索します。

- 「リソース・ブラウザ」→「ビジネス・サービス」を選択します。「ビジネス・サービスのサマリー」ページに、表19-22に示す情報が表示されます。プロパティの詳しい説明については、19.5項「ビジネス・サービス構成の編集」を参照してください。

2. リストの項目数を制限するために、名前またはパス、あるいはその両方でフィルタできます。「検索」にある「名前」フィールドと「パス」フィールドに、検索対象の名前、パスまたはその両方を入力し、「検索」ボタンをクリックします。
このパスは、プロジェクト名、およびビジネス・サービスが格納されるフォルダの名前になります。

ワイルド・カード文字の*および?を使用できます。検索では大文字小文字は区別されます。

「すべて表示」をクリックすると、ドメイン内のすべてのビジネス・サービスが表示されます。これにより、前回の検索で使用された検索パラメータがクリアされます。

表19-22 「ビジネス・サービスの概要」ページ

プロパティ

説明

名前

ビジネス・サービスの一意の名前。名前をクリックすると「ビジネス・サービスの表示 - 構成の詳細」ページが表示されます。

19.5項「ビジネス・サービス構成の編集」を参照してください。

パス

パスは、プロジェクト名とビジネス・サービスが存在するフォルダの名前で構成されます。たとえば、UDDI/BusServices/OSB_servicesです。

ビジネス・サービスのパスをクリックすると、ビジネス・サービスを含む 「プロジェクト・ビュー」ページまたは「フォルダ・ビュー」ページ が表示されます。

アクション

次のいずれかを行います。

- 「テスト・コンソールの起動」アイコンをクリックして、サービスやトランスフォーメーションの設計の検証とテストに使用するテスト・コンソールを起動します。ビジネス・サービスの場合、テスト・コンソールは実行時(つまり、セッションをアクティブ化したとき)にのみ使用できます。トランスフォーメーションの場合、セッション内またはセッション外のどちらで作業しているかにかかわらず、テスト・コンソールを使用できます。33.1項「サービスのテスト」および33.2項「トランスフォーメーションのテスト」を参照してください。

- WSDLベースのビジネス・サービスの場合、「WSDLのエクスポート」アイコンが表示されます。このアイコンをクリックして、WSDLをエクスポートします。これにより、WSDLを、IDEなどの外部ツールで表示または変更できるようになります。
これは、システムの管理モジュールにあるリソースのエクスポート機能とは異なります。リソースのエクスポート機能は、2つのドメイン間でリソースを移動およびステージングする場合に使用します。4.28項「WSDLのエクスポート」を参照してください。

- 「WSDLの生成」アイコンは、EJBやJEJBなどのトランスポート型ビジネス・サービスで表示されます(分割-結合フロー・サービスには表示されません)。このアイコンをクリックしてWSDLを生成すると、WSDLの表示や変更を行えます。4.29項「WSDLの生成」を参照してください。

オプション

「削除」アイコンをクリックするとサービスが削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。詳細は、19.6項「ビジネス・サービスの削除」を参照してください。

19.5 ビジネス・サービス構成の編集

ビジネス・サービス構成を編集するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。
詳細を見るだけなら、セッションに入る必要はありません。

2. 19.4項「ビジネス・サービスの検索」の説明に従って、表示または編集するビジネス・サービスを検索します。

3. ビジネス・サービス名をクリックします。選択したビジネス・サービスの構成情報が 「ビジネス・サービスの表示 - 構成の詳細」ページ に表示されます。

4. 設定を表示または編集するには、次のいずれかを行います。

- 表示または変更するプロパティのカテゴリ名(「全般的な構成」、「トランスポート構成」など)の横にある「編集」アイコンをクリックします。編集できるページは、ビジネス・サービスを作成したときに構成したページによって異なります。
すべてのページのリストは、19.5.1項「「ビジネス・サービスの表示 - 構成の詳細」ページ」を参照してください。

- ページの下部にある「編集」をクリックして「ビジネス・サービスの作成/ビジネス・サービスの編集 - 全般的な構成」ページを表示します。このページは、このビジネス・サービスを構成するための一連のページの最初のページです。

5. 19.1項「ビジネス・サービスの作成と構成」の説明に従って、表示または編集を続けます。

6. 「ビジネス・サービスの作成/ビジネス・サービスの編集 - サマリー」ページで「保存」をクリックし、現在のセッションでの更新をコミットします。

7. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

19.5.1 「ビジネス・サービスの表示 - 構成の詳細」ページ

「ビジネス・サービスの表示 - 構成の詳細」ページには、ビジネス・サービスの構成の詳細が表示されます。表19-23に、このページに表示されるすべてのプロパティを示します。(表示されるプロパティは、ビジネス・サービスの詳細によって異なります。)

このページでリストしたカテゴリは、19.2項「ビジネス・サービスの作成/編集 - ページ・リファレンス」で説明されているように、ビジネス・サービス構成の作成および編集に使用したビジネス・サービスの作成/ビジネス・サービスの編集の各ページに対応しています。

カテゴリ名の横にある「編集」リンクをクリックすると、関連する構成ページが表示されます。

表19-23 「ビジネス・サービスの表示:構成の詳細」ページ

プロパティ

説明

最終更新者

このビジネス・サービスを作成したか、構成にインポートしたユーザー。

最終更新日

ユーザーがこのビジネス・サービスを作成したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このビジネス・サービスが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。詳細は、4.22項「リソースへの参照の表示」を参照してください。

参照元

このビジネス・サービスを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。詳細は、4.22項「リソースへの参照の表示」を参照してください。

説明

このビジネス・サービスの説明(説明が存在する場合)。

全般的な構成

「全般的な構成」ページ で構成されたプロパティを示します。

メッセージ・タイプの構成

19.2.2項「「メッセージ・タイプの構成」ページ」で構成されたプロパティを示します。

トランスポート構成

19.2.3項「「トランスポート構成」ページ」で構成されたプロパティを示します。

BPEL-10gトランスポート構成

19.2.5項「「BPEL-10gトランスポート構成」ページ」で構成されたプロパティを示します。

DSPトランスポート構成

19.2.6項「「DSPトランスポート構成」ページ」で構成されたプロパティを示します。

EJBトランスポート構成

19.2.7項「「EJBトランスポート構成」ページ」で構成されたプロパティを示します。

電子メール・トランスポート構成

19.2.8項「「電子メール・トランスポート構成」ページ」で構成されたプロパティを示します。

ファイル・トランスポート構成

19.2.9項「「ファイル・トランスポート構成」ページ」で構成されたプロパティを示します。

フロー・トランスポート構成

19.2.10項「「フロー・トランスポート構成」ページ」で構成されたプロパティを示します。

FTPトランスポート構成

19.2.11項「「FTPトランスポート構成」ページ」で構成されたプロパティを示します。

HTTPトランスポート構成

19.2.12項「「HTTPトランスポート構成」ページ」で構成されたプロパティを示します。

JCAトランスポート構成

19.2.13項「「JCAトランスポート構成」ページ」で構成されたプロパティを示します。

JEJBトランスポート構成

19.2.14項「「JEJBトランスポート構成」ページ」で構成されたプロパティを示します。

JMSトランスポート構成

19.2.15項「「JMSトランスポート構成」ページ」で構成されたプロパティを示します。

MQトランスポート構成

19.2.16項「「MQトランスポート構成」ページ」で構成されたプロパティを示します。

SBトランスポート構成

19.2.17項「「SBトランスポート構成」ページ」で構成されたプロパティを示します。

SFTPトランスポート構成

19.2.18項「「SFTPトランスポート構成」ページ」で構成されたプロパティを示します。

SOA-DIRECTトランスポート構成

19.2.19項「「SOA-DIRECTトランスポート構成」ページ」で構成されたプロパティを示します。

Tuxedoトランスポート構成

19.2.20項「「Tuxedoトランスポート構成」ページ」で構成されたプロパティを示します。

WSトランスポート構成

19.2.21項「「WSトランスポート構成」ページ」で構成されたプロパティを示します。

メッセージ処理構成

19.2.23項「「メッセージ処理構成」ページ」で構成されたプロパティを示します。

19.5.2 ビジネス・サービス・ポリシー・ページ

「ビジネス・サービスの表示 - ポリシー構成」ページは、ビジネス・サービスの編集(19.1項「ビジネス・サービスの作成と構成」および19.5.1項「「ビジネス・サービスの表示 - 構成の詳細」ページ」を参照)に関する一連のページの1つです。

このページを使用して、サービス・タイプがWSDLベースのXML Webサービス、メッセージング・サービス、任意のSOAPサービスまたは任意のXMLサービスであるビジネス・サービスのポリシー設定を構成します。表19-24に、ページの使用方法を示します。Oracle WSMポリシーをWSDLベースのXML Webサービス、メッセージング・サービス、任意のXMLサービスのプロキシ・サービスで使用するには、プロトコルをHTTPに設定する必要があります。

WSDLベースのサービスでは、サービスにバインドされているWLS 9.2ポリシーは、有効なWSDL内に置かれます(インライン化)。抽象ポリシーは、インライン化される前に前処理されます。Oracle WSMポリシーは参照によってバインドされ、有効なWSDL内にインライン化されません。

表19-24 「ビジネス・サービスの表示 - ポリシー」ページ

オプション

編集するには

サービス・ポリシー構成

「サービス・ポリシー構成」フィールドのオプションは次のとおりです。

Oracle WSMポリシー

- OWSMポリシー・ストアから - ポリシーは、Oracle Enterprise Managerで管理される中央のOWSMポリシー・ストアに定義されています。これらのポリシーは、WS-Security 1.0/ 1.1、SAML 1.1/2.0、KerberosToken Profileおよびその他の業界標準をサポートしています。
このオプションを使用して、事前定義されたリストのポリシーを追加できます。「サービス・レベル・ポリシー」の下の「追加」をクリックします。必要に応じてフィルタ処理を使用して、必要なポリシーを探します。ビジネス・サービスの場合、クライアント側のポリシーのみが表示されます。

ビジネス・サービスの作成に使用するWSDLに標準の埋込みWS-Securityポリシーが含まれている場合、Oracle Service Busはエラーをスローし、競合を表示します。この競合を解決するには、埋込みWSDLポリシーを、互換性のあるOracle Web Services Managerポリシーに置き換えます。これを実行するには、「OWSMポリシー・ストアから」を選択し、「互換性の追加」をクリックします。Oracle Service Busは、WSDLに埋め込まれている標準ポリシーに基づいてOracle Web Services Managerポリシー・ストアから最も近い一致ポリシーの検索をベスト・エフォートで試行します。このアルゴリズムによって0個、1個または複数の一致ポリシーが戻される可能性があります。

「互換性の追加」をクリックしても互換性のあるポリシーがOracle Service Busによって検出されない場合は、「追加」をクリックし、適切なOracle Web Services Managerポリシーを選択します。Oracle Service Busによって複数の互換性のあるポリシーが戻される場合は、使用しないポリシーを削除します。

注意: このオプションは、Oracle Web Services Managerを使用するようにドメインを構成した場合にのみアクティブになります。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle Web Services ManagerによるOracle Service Busの保護に関する説明を参照してください。

WLS 9のポリシー

- WSDLから - このオプションは、サービス・ポリシーがサービスの基となっているWSDLに関連付けられている場合に選択します。これらのポリシーは、WS-Security 1.0、SAML 1.1およびその他の業界標準をサポートしています。
このオプションを使用すると、WSDLからのリクエスト・ポリシーおよびレスポンス・ポリシーを表示(読取り専用)できます。

注意: Oracle Service BusでサポートされていないWS-Securityポリシーに関するビジネス・サービス構成でエラーが発生した場合は、「OWSMポリシー・ストアから」オプションを使用して、組込みWSDLポリシーを互換性のあるOracle WSMポリシーに置き換えます。

- 事前定義ポリシーまたはWS-Policyリソースから - 管理コンソールからサービス・レベル・ポリシー、オペレーション・レベル・ポリシー(リクエストおよびレスポンスの両方のメッセージに適用するポリシー)、リクエスト・ポリシー、およびレスポンス・ポリシーを追加するには、このオプションを選択します。
ポリシーは、Oracle WebLogic Serverに事前定義されているか、またはWS-PolicyリソースでOracle Service Busにユーザー定義されています。これらのポリシーは、WS-Security 1.0、SAML 1.1およびその他の業界標準をサポートしています。

このオプションを使用すると、サービス、操作、リクエストおよびレスポンス・レベルでポリシーを追加できます。リストからポリシーを選択するには、適切な項目の下で「追加」をクリックします。

注意: ポリシー・バインディング・モデルは相互排他的です。サービスでは1種類のポリシーのみを使用する必要があります。サービスに直接ポリシーをバインドすると、すべてのWSDLベースのポリシーは無視されます。

ポリシーを追加した後で、「セキュリティ」ページでオーバーライドを指定できます。

終了後

「更新」をクリックしてこの構成を保存するか、「リセット」をクリックして変更を元に戻します。

19.5.3 ビジネス・サービス・セキュリティ・ページ

「ビジネス・サービスの表示 - セキュリティ構成」ページは、ビジネス・サービスの編集(19.1項「ビジネス・サービスの作成と構成」および19.5.1項「「ビジネス・サービスの表示 - 構成の詳細」ページ」を参照)に関する一連のページの1つです。

このページで使用できるフィールドは、ビジネス・サービスでのポリシーの使用法によって異なります。たとえば、サービスでOracle WSMポリシー(推奨)を使用する場合、「ポリシーのオーバーライド」が「セキュリティ」ページに表示されます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle Web Services ManagerによるOracle Service Busの保護に関する項を参照してください。

サービスにバインドされているWLS 9.2ポリシーは、有効なWSDL内に置かれます(インライン化)。抽象ポリシーは、インライン化される前に前処理されます。Oracle WSMポリシーは参照によってバインドされ、有効なWSDL内にインライン化されません。

このページを使用して、WSDLベースのポリシーを持つ、または事前定義ポリシー・バインディングを使用するビジネス・サービスのセキュリティ設定を構成できます。表19-25に、ページの使用方法を示します。

表19-25 「ビジネス・サービスの表示 - セキュリティ」ページ

オプション

編集するには

サービス・アカウント

「参照」をクリックし、表示されるリストでサービス・アカウントを選択します。サービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。

注意: このオプションは、Oracle Web Services Managerポリシーを使用するサービスには使用できません。これは、ユーザー資格証明がオーバーライド・キーによって提供されるためです。

関連項目:

- 17.1項「サービス・アカウントの指定」

- 17.3項「サービス・アカウントの追加」

ポリシーのオーバーライド

Oracle WSMポリシーでは、許可されているオーバーライドを必要なだけ指定します。

詳細は、表19-24および『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle Web Services ManagerによるOracle Service Busの保護に関する説明を参照してください。

終了後

「更新」をクリックしてこの構成を保存するか、「リセット」をクリックして変更を元に戻します。

19.6 ビジネス・サービスの削除

ビジネス・サービスを削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「ビジネス・サービス」を選択し、「ビジネス・サービスのサマリー」ページを表示します。

3. 削除するビジネス・サービスの行の「削除」アイコンをクリックします。ビジネス・サービスは現在のセッションで削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

20 プロキシ・サービス: 作成と管理

この章では、Oracle Service Bus管理コンソールを使用したプロキシ・サービスの作成、構成および管理の方法について説明します。

プロキシ・サービスとは、WebLogic Server上にローカルに実装されるサービスのOracle Service Bus定義です。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のプロキシ・サービスとビジネス・サービスの構成に関する項を参照してください。

20.1 プロキシ・サービスの作成と構成

この項では、プロキシ・サービスの作成方法と構成方法について説明します。

JCAサービスの場合、20.1.1項「JCAバインド・リソースからのプロキシ・サービスの生成」の説明のとおり、JCAバインドからプロキシ・サービスを生成できます。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択して、プロキシ・サービスを追加するプロジェクトまたはフォルダを選択します。

3. プロジェクト/フォルダ・ビュー・ページで、「リソースの作成」リストから「プロキシ・サービス」を選択します。

4. 全般的な構成」ページで、サービスの名前を入力し、作成するサービスの種類を選択します。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

5. 「次へ」をクリックします。以降に表示されるページは、最初のページで選択した内容によって異なります。以降に表示される各ページで適切な情報を入力し、概要ページが表示されたら、「保存」をクリックして現在のセッションでサービスを保存します。
各ページの入力方法の詳細は、次のページを参照してください。

- 20.2.1項「「全般的な構成」ページ」

- 20.2.2項「「メッセージ・タイプの構成」ページ」

- 20.2.3項「「トランスポート構成」ページ」

- 20.2.4項「プロトコル固有のトランスポート構成ページ」

- 20.2.17項「「操作選択構成」ページ」

- 20.2.18項「「メッセージ処理」ページ」

- 20.2.19項「「サマリー」ページ」

- 20.5.2項「プロキシ・サービス・ポリシー・ページ」

- 20.5.3項「プロキシ・サービス・セキュリティ・ページ」

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

7. プロキシ・サービスの作成が終了したら、次の手順は、そのメッセージ・フローの構成です。メッセージ・フローによって、プロキシ・サービスの実装が決定されます。詳細は、22.1項「メッセージ・フローの表示と編集」を参照してください。

20.1.1 JCAバインド・リソースからのプロキシ・サービスの生成

Oracle Service Busでは、インバウンドJCAバインド・リソースからJCAプロキシ・サービスを生成できます。JCAバインド・リソースの詳細は、第13章「JCAバインド」を参照してください。

JCAバインドからJCAプロキシ・サービスを生成するには:

1. まだ作成モードまたは編集モードではない場合、Oracle Service Bus管理コンソールのチェンジ・センターで、「作成」または「編集」をクリックします。

2. リソース・ブラウザで「JCAバインド」をクリックします。

3. サービスの生成元のJCAバインドを特定し、「アクション」アイコンをクリックします。

4. ウィンドウが表示されたら、WSDLと生成するサービスの名前を確認し、これらの新しいリソースの場所を選択して「生成」をクリックします。
Oracle Service Busによって、サービスとこれに対応するWSDL.が生成されます。

5. 必要に応じて、生成されたサービスの構成の詳細(「エンドポイントURI」など)を変更します。

20.2 プロキシ・サービスの作成/編集 - ページ・リファレンス

プロキシ・サービスを作成するには、プロジェクト/フォルダ・ビュー・ページの「リソースの作成」リストで「プロキシ・サービス」を選択します。このオプションを選択すると、プロキシ・サービスを構成および追加する一連のページの最初のページが表示されます。表示されるページは、それまでに選択したオプションによって異なります。ページは次のとおりです。

- 20.2.1項「「全般的な構成」ページ」

- 20.2.2項「「メッセージ・タイプの構成」ページ」

- 20.2.3項「「トランスポート構成」ページ」

- 20.2.4項「プロトコル固有のトランスポート構成ページ」

- 20.2.17項「「操作選択構成」ページ」

- 20.2.18項「「メッセージ処理」ページ」

- 20.2.19項「「サマリー」ページ」

- 20.5.2項「プロキシ・サービス・ポリシー・ページ」

- 20.5.3項「プロキシ・サービス・セキュリティ・ページ」

20.2.1 「全般的な構成」ページ

「プロキシ・サービスの作成/プロキシ・サービスの編集 - 全般的な構成」ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

このページを使用して、プロキシ・サービスの全般的な構成設定を変更します。

このページは、プロキシ・サービスを作成する際に、サービスを構成するための一連のページで最初に表示されるページです。このページ以降に表示されるページの内容は、このページで選択した項目によって異なります。

表20-1に、ページの使用方法を示します。

表20-1 「プロキシ・サービスの作成/プロキシ・サービスの編集 - 全般的な構成」ページ

オプション

説明

サービス名

プロキシ・サービスのユニークな名前を入力します。

名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

説明

説明を入力します。

サービス・タイプ

作成するプロキシ・サービスの種類を選択します。

- WSDL Webサービス - WSDLに基づくプロキシ・サービスを作成する場合、このオプションを選択します。パスで修飾されたWSDL名(myProject/myFolder/myWSDLなど)を入力します。または、「参照」をクリックし、「WSDL定義の選択」ページでWSDLを選択します。
(ポートまたはバインド) - (WSDLで定義されている)ポートの名前を入力して、実際のトランスポート・アドレスを記述するか、または(WSDLで定義されている)バインドの名前を入力して、トランスポート・アドレスにマップします。「参照」を使用してWSDLを選択した場合は、「WSDL定義の選択」ページに定義されたポートおよびバインドが一覧表示されます。

注意: 操作に「SOAP本体タイプ」を使用する場合は、WSDLに同じ入力メッセージで2つの操作がないことを確認してください。「SOAP本体タイプ」操作は、入力メッセージを調べて一意に識別することはできません。

- トランスポート型付きのサービス - JEJBプロキシ・サービスを作成する場合、このオプションを選択します。

- メッセージ・サービス - あるデータ型のメッセージを受信し、別のデータ型のメッセージで応答できるサービスを作成する場合は、このオプションを選択します。このようなメッセージ交換は、リクエスト/レスポンスまたは一方向にすることができます。
(HTTP GETをサポートしているサービス・タイプは、「任意のXMLサービス」と「メッセージング・サービス」のみです。)

- 任意のSOAPサービス - 明示的に定義された具体的なインタフェースを持たないSOAPサービスを作成する場合、このオプションを選択します。
リストから「SOAP 1.1」または「SOAP 1.2」を選択し、使用するSOAPバージョンを指定します。

- 任意のXMLサービス - 明示的に定義された具体的なインタフェースを持たないXMLサービスを作成する場合、このオプションを選択します。
(HTTP GETをサポートしているサービス・タイプは、「任意のXMLサービス」と「メッセージング・サービス」のみです。)

- ビジネス・サービス - 選択したビジネス・サービスにルーティングするルート・ノードを備えたプロキシ・サービスを作成する場合は、このオプションを選択します。トランスポート型付きのビジネス・サービスからプロキシ・サービスを作成することはできません。DSPトランスポート・ビジネス・サービスからプロキシ・サービスを作成した場合、プロキシ・サービスではDSPトランスポートを使用できないため、Oracle Service Busは、プロキシ・サービスのトランスポート・タイプをHTTPに切り替えます。プロキシ・サービスのトランスポート・タイプを、その他の使用可能なトランスポートに変更することができます。
パス(プロジェクト/フォルダ)とビジネス・サービスの名前を入力するか、「参照」をクリックして、「ビジネス・サービスの選択」ページでビジネス・サービスを選択します。

サービス・タイプ(続き)

- プロキシ・サービス - 既存のプロキシ・サービスのクローンを作成する場合は、このオプションを選択します。Oracle Service Busでは複数のサービスに同じURIを設定できないため、クローン・サービスのURIを変更する必要があります。
注意: サービスが別のサービスから作成された場合、アラート・ルールは次のように保持されます。

- プロキシ・サービスがビジネス・サービスから、またはビジネス・サービスがプロキシ・サービスから作成された場合、アラート・ルール(ある場合)は削除されます。

- プロキシ・サービスが別のプロキシ・サービスから、またはビジネス・サービスが別のビジネス・サービスから作成された場合、アラート・ルール(ある場合)は保持されます。

サービス・キー・プロバイダ

必要に応じて、サービス・キー・プロバイダのパス(プロジェクト/フォルダ)と名前を入力するか、「参照」をクリックして、「サービス・キー・プロバイダの選択」ページから選択します。

サービス・キー・プロバイダは、次のような特定の場合にのみ必要となります。

- 双方向のアウトバウンドTLS/SSLで、クライアント証明書認証を必要とするHTTPSサービスに対してプロキシ・サービスからメッセージをルーティングする場合。

- 一部のWebサービス・セキュリティのシナリオ(プロキシ・サービスでメッセージの暗号化を必要とする場合など)。

Webサービス・セキュリティ対応のプロキシ・サービスを追加するには、WS-Policyが付加されたWSDL (ポートまたはバインディング)からプロキシ・サービスを作成する必要があります。

詳細は、第18章「サービス・キー・プロバイダ」を参照してください。サービス・キー・プロバイダの作成方法については、18.2項「サービス・キー・プロバイダの追加」を参照してください。

レジストリにパブリッシュ

このオプションは、デフォルトのUDDIレジストリが存在する場合にのみ表示されます。

プロキシ・サービスを、デフォルトのレジストリに自動的にパブリッシュする場合は、このオプションを選択します。詳細は、30.8項「自動パブリッシュの使用」を参照してください。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

20.2.2 「メッセージ・タイプの構成」ページ

「プロキシ・サービスの作成/プロキシ・サービスの編集 - メッセージ・タイプの構成」ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

このページを使用して、種類が「メッセージング・サービス」であるプロキシ・サービスのメッセージの種類を構成します。

メッセージング・サービス用のバインディング定義は、交換されるメッセージのcontent-typeの構成で構成されます。レスポンスのcontent-typeは、リクエストのコンテンツ・タイプと同じである必要はありません。そのため、レスポンスは個別に構成されます(たとえば、サービスでMFLメッセージを受信し、XMLの受信確認を返すことができます)。

注意:
タイプが「メッセージング・サービス」の電子メール、ファイル、FTPまたはSFTPトランスポート・プロキシ・サービスがサポートするのは、一方向のメッセージングのみであり、レスポンス・メッセージのタイプは「なし」である必要があります。「なし」以外のオプションを選択すると、「トランスポート構成」ページで電子メール、ファイル、FTPまたはSFTPなどのプロトコルが使用できなくなります。

表20-2に、「プロキシ・サービスの作成/プロキシ・サービスの編集 - メッセージ・タイプの構成」ページの使用方法を示します。

表20-2 「プロキシ・サービスの作成/プロキシ・サービスの編集 - メッセージ・タイプの構成」ページ

オプション

説明

リクエスト・メッセージ・タイプ

リクエスト・メッセージのメッセージの種類を次の中から選択します。

- なし - リクエスト・メッセージがない場合は、このオプションを選択します。

- 「バイナリ」 - メッセージのコンテンツタイプが不明か、重要でない場合は、このオプションを選択します。

- 「テキスト」 - メッセージをテキストのみに制限する場合は、このオプションを選択します。

- MFL - メッセージがMFL定義に準拠したバイナリ・ドキュメントの場合は、このオプションを選択します。MFLファイル名(そのパスで修飾されている)を入力するか、または「参照」をクリックして、ファイルを選択します。
構成できるMFLファイルは1つに限られます。

注意: 複数のMFLファイルをサポートするには、コンテンツをバイナリまたはテキストとして定義し、メッセージ・フローのMFLアクションを使用してXMLに変換します。

- XML - メッセージがXMLドキュメントの場合は、このオプションを選択します。XMLファイル名(そのパスで修飾されている)を入力するか、または「参照」をクリックして、ファイルを選択します。
必要に応じて、交換されるXMLドキュメントのXMLスキーマ型を(「要素またはタイプ」フィールドで)宣言して、一部の型情報を指定します。

- Java - Javaオブジェクトがリクエストで送信されている場合は、このオプションを選択します。Javaオブジェクト・メッセージではJMSトランスポートが使用されます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージでのJavaオブジェクトの送受信に関する説明を参照してください。

レスポンス・メッセージ・タイプ

レスポンス・メッセージのメッセージ・タイプを次の中から選択します。

- なし - レスポンス・メッセージがない場合は、このオプションを選択します。
注意: サービスからの成功または失敗のメッセージをコール元のクライアントに伝搬するために、パイプラインで返信アクションを使用している場合は、「なし」以外のオプションを選択します。「なし」オプションによって、返信がブロックされます。

- 「バイナリ」 - メッセージのコンテンツタイプが不明か、重要でない場合は、このオプションを選択します。

- 「テキスト」 - メッセージをテキストのみに制限する場合は、このオプションを選択します。

- MFL - メッセージがMFL定義に準拠したバイナリ・ドキュメントの場合は、このオプションを選択します。MFLファイル名(そのパスで修飾されている)を入力するか、または「参照」をクリックして、ファイルを選択します。
構成できるMFLファイルは1つに限られます。

注意: 複数のMFLファイルをサポートするには、コンテンツをバイナリまたはテキストとして定義し、メッセージ・フローのMFLアクションを使用してXMLに変換します。

- XML - メッセージがXMLドキュメントの場合は、このオプションを選択します。XMLファイル名(そのパスで修飾されている)を入力するか、または「参照」をクリックして、ファイルを選択します。
必要に応じて、交換されるXMLドキュメントのXMLスキーマ型を(「要素またはタイプ」フィールドで)宣言して、一部の型情報を指定します。

- Java - Javaオブジェクトがレスポンスで受信されている場合は、このオプションを選択します。Javaオブジェクト・メッセージではJMSトランスポートが使用されます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージでのJavaオブジェクトの送受信に関する説明を参照してください。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

20.2.3 「トランスポート構成」ページ

「プロキシ・サービスの作成/プロキシ・サービスの編集 - トランスポート構成」ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

このページを使用して、プロキシ・サービスの転送プロトコルを選択し、その他の全般的なトランスポート構成設定を設定します。表20-3に、ページの使用方法を示します。

注意:
インバウンド・トランスポートレベルのセキュリティは、クライアント・アプリケーションとOracle Service Busプロキシ・サービスに適用されます。アウトバウンド・トランスポートレベルのセキュリティは、Oracle Service Busのプロキシ・サービスとビジネス・サービスの間の接続に適用されます。トランスポートレベルのセキュリティの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のトランスポートレベルのセキュリティの構成に関する項を参照してください。

表20-3 「プロキシ・サービスの作成/編集 - トランスポート構成」ページ

オプション

説明

プロトコル

リストから転送プロトコルを選択します。使用できるプロトコルは、作成しているサービスの種類によって異なります。

- WSDL Webサービス: http、jca、jms、ローカル、sb、ws

- トランスポート型付き: jejb

- メッセージ・サービス: 電子メール、ファイル、ftp、http、jms、ローカル、mq(使用可能な場合)、sftp、tuxedo

- 任意のSOAPサービス: http、jms、ローカル、sb

- 任意のXMLサービス: 電子メール、ファイル、ftp、http、jms、ローカル、mq(使用可能な場合)、sb、sftp、tuxedo

エンドポイントURI

前述の「プロトコル」フィールドで選択した転送プロトコルに基づいた形式で、エンドポイントURIを入力します。形式は次のとおりです。

- 電子メール - mailfrom:mail-server-hostname:mail-server-port

- ファイル - file:///drivename:/somename

- ftp - ftp://hostname:port/directory

- http - someName
HTTPトランスポートではHTTPエンドポイントとHTTPSエンドポイントの両方がサポートされます。

- jca - jca://<resource_adapter_jndi>

- jejb - URL形式はejb_jndi_nameです。JEJBプロキシ・サービスに構成されているURIは、JEJBトランスポートによってクライアントJARのリモート/ビジネス・インタフェースから生成されるステートレス・セッションBeanを検索するためのグローバルJNDI名になります。
注意: EJB 3.0の場合、ejb_jndi_nameは生成されるBeanの@javax.ejb.Stateless注釈のmappedName属性です。生成されたEJBサービスのルックアップJNDI名には、#interface_classという接尾辞が付加されます。これがビジネス・インタフェースの完全修飾名です。

次のようにJEJBプロキシ・サービスにアクセスできます。

EJB 2.1: protocol://host:port/ejb_jndi_name

EJB 3.0: protocol://host:port/ejb_jndi_name#interface_class

注意: EJBがIBM WebSphereで実行されている場合、ejb_jndi_nameは次の形式である必要があります。

cell/nodes/node_name/servers/server_name/ejb_jndi_name

または

cell/clusters/cluster_name/ejb_jndi_name

http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.iseries.doc/info/iseriesnd/ae/rnam_example_prop3.htmlにあるIBM WebSphereのドキュメントに記載されているとおりです。

- jms - jms://host:port/factoryJndiName/destJndiName
JMS宛先として複数のサーバーを指定するには、次のURI形式を使用します。

jms://host1:port,host2:port/QueueConnectionFactory/DestName

ローカル・マシンで行われるルックアップの場合、ホストとポートをURIから省略することもできます。例:

jms:///connection_factory/jndi_destination

プロキシ・サービスを作成するとき、エンドポイントのサーバーが使用可能でない場合でも、JMSエンドポイントのURIを構成できます。ただし、JMSの場合は、セッションをアクティブ化する時点でエンドポイントが使用可能である必要があります。詳細は、3.2項「セッションのアクティブ化」を参照してください。

注意: Oracle WebLogic Serverでは、「myqueues/myqueue」のようにJNDI名にスラッシュを使用できましたが、スラッシュを使用したJNDI名はOracle Service Busで必要なエンドポイントURIフォーマットに干渉するので、これらの名前は使用できません。この問題を回避するには、JMS外部サーバーを定義し、その外部サーバーをエンドポイントURI内で参照します。詳細は、Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・オンライン・ヘルプの外部サーバーの構成に関する説明を参照してください。

クラスタ: JMS URIのホスト名は、WebLogic Serverに構成されているクラスタ・サーバーのホスト名と正確に一致する必要があります。

- ローカル
このトランスポートではエンドポイントURIは必要ありません。

エンドポイントURI(続き)

- mq - mq://<local-queue-name>?conn=<mq-connection-resource-ref>
local-queue-nameは、プロキシ・サービスがメッセージを読み取るMQキューの名前です。

mq-connection-resource-refは、MQ接続リソースの名前とパス(プロジェクト/フォルダ)です; たとえば、default/my_MQconnection。

注意: エンドポイントURIはスペースを含むことができないので、名前にスペースがあるMQ接続リソースまたはプロジェクト/フォルダを作成しないでください。

Oracle Service BusでMQトランスポートを使用できるようにするには、第9章「MQ接続」を参照してください。

- sb - service_name
service_nameは、プロキシ・サービスの一意の識別子です。デフォルトでは、この名前がプロキシ・サービス名になります。

service_nameには、URIで許可されている文字(RFC2396(http://www.ietf.org/rfc/rfc2396.txt)を参照)のみを含める必要があります。ただし、フォワード・スラッシュ(/)またはコロン(:)を含めることはできません。

- sftp - sftp://hostname:port/directory

- tuxedo - exportname
URI exportnameはリモートTuxedoドメインがTuxedoサービスとして識別するWTCエクスポートに一致します。

複数のURIが指定されている場合、エンドポイントには一意のリソース名を付ける必要があります。リモート名が指定されていない場合は、その値がリソース名の値になります。リモート名が入力されていない、またはリモート名およびリソース名が同じである場合は、1つのURIのみを使用できます。この場合、リソース名とリモート名は同じ値です。これにより、既に定義されたWTCインポートを使用しているユーザーは、WTCロード・バランシングおよびフェイルオーバーを使用できるようになります。

注意: 同一のURIを2つ構成すると、そのサービス名がすでに存在していることを通知するエラーが表示されます。

- ws - /contextPath
contextPathは、HTTPトランスポートまたはWSトランスポートを使用するプロキシ・サービスで一意である必要があります。

すべてのヘッダーを取得

トランスポートからすべてのヘッダーを取得する場合は「はい」を選択します。

定義された一連のヘッダーを取得する場合は「いいえ」を選択します。「いいえ」を選択した場合は、「ヘッダー」フィールドに一連のヘッダーを入力してから、「追加」をクリックします。(この手順は、ローカル・トランスポートには該当しません。)

注意: セキュリティの脆弱性につながるため、Oracle Service Busは、リクエストのHTTP Authorizationヘッダーをパイプラインに渡しません。ユーザー名と暗号化されていないパスワードをログ・ファイルに書き込むログ・アクションが誤って作成される可能性があるからです。設計パターンでパイプラインにHTTP Authorizationヘッダーが必要な場合、次のようにします。

a.Oracle Service Busの起動コマンドで、システム・プロパティcom.bea.wli.sb.transports.http.GetHttpAuthorizationHeaderAllowedをtrueに設定します。

b.Oracle Service Bus管理コンソールの「トランスポート構成」ページで「すべてのヘッダーを取得」を選択するか、ユーザー指定のヘッダーを選択して認可を指定します。

c.Oracle Service Busを再起動します。

Oracle Service Busによって、Authorizationヘッダーがパイプラインに渡されます。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

20.2.4 プロトコル固有のトランスポート構成ページ

「プロキシ・サービスの作成/プロキシ・サービスの編集 - Transport-Type構成」の各ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

このページは、構成するトランスポートの種類によって異なります。次のページがあります。

- 20.2.5項「「電子メール・トランスポート構成」ページ」

- 20.2.6項「「ファイル・トランスポート構成」ページ」

- 20.2.7項「「FTPトランスポート構成」ページ」

- 20.2.8項「「HTTPトランスポート構成」ページ」

- 20.2.9項「「JCAトランスポート構成」ページ」

- 20.2.10項「「JEJBトランスポート構成」ページ」

- 20.2.11項「「JMSトランスポート構成」ページ」

- 20.2.12項「「MQトランスポート構成」ページ」

- 20.2.13項「「SBトランスポート構成」ページ」

- 20.2.14項「「SFTPトランスポート構成」ページ」

- 20.2.15項「「Tuxedoトランスポート構成」ページ」

- 20.2.16項「「WSトランスポート構成」ページ」

20.2.5 「電子メール・トランスポート構成」ページ

「プロキシ・サービスの作成/プロキシ・サービスの編集 - 電子メール・トランスポート構成」ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

このページでは、電子メール・トランスポートプロトコルを使用するプロキシ・サービスのトランスポート設定を構成できます。表20-4に、ページの使用方法を示します。

表20-4 「プロキシ・サービスの作成/編集 - 電子メール・トランスポート構成」ページ

オプション

説明

SSLが必要

Secure Sockets Layerを使用して通信するには、このオプションを選択します。デフォルトのSSLポート番号は次のとおりです。

- POP3(S): 995

- IMAP: 993

注: SSLが機能するためには、電子メール・サーバーの証明書がOracle Service Busトラストストアに存在する必要があります。電子メールトランスポートでは一方向SSLがサポートされます。

サービス・アカウント

サービス・アカウント名を入力するか、「参照」をクリックしてブラウザからサービス・アカウントを選択します。

管理対象サーバー

このフィールドは、クラスタ・ドメインでのみ使用できます。

ポーリング・サーバーとして機能させる管理対象サーバーを選択します。すべての管理対象サーバーがメッセージを処理できますが、メッセージをポーリングできるのは、1台のサーバーのみです。

ポーリング間隔

ポーリング間隔を秒単位で入力します。

電子メール・プロトコル

電子メール・アカウントのサーバーの種類としてPOP3またはIMAPを選択します。

読取り制限

ポーリング・スイープ当たりの読取りメッセージの最大数を指定します。無制限にするには「0」と入力します。

参照渡し

このチェック・ボックスを選択すると、ファイルはアーカイブ・ディレクトリにステージングされ、ヘッダーに参照として渡されます。

デフォルトでは、新しいサービスを作成するときに、「参照渡し」オプションが選択されるため、アーカイブ・ディレクトリの場所を指定する必要があります。

添付ファイルを参照として渡す

このチェック・ボックスを選択すると、添付ファイルはアーカイブ・ディレクトリにステージングされ、ヘッダーに参照として渡されます。

デフォルトでは、「参照渡し」オプションが選択されている場合、「添付ファイルを参照渡し」オプションが暗黙的に適用されるため、アーカイブ・ディレクトリの場所を指定する必要があります。

読取り後のアクション

メッセージの読込み後の動作を選択します。

- アーカイブ - メッセージはアーカイブされます。

- 「削除」 - メッセージが削除されます。

- 移動 - メッセージは移動されます。「移動」は、IMAPプロトコルでのみ使用可能です。

添付ファイル

添付ファイルの処理方法を選択します。

- アーカイブ - 添付ファイルはアーカイブ・ディレクトリに保存されます。

- 無視 - 添付ファイルは無視されます。

注意: 添付ファイルをアーカイブする場合、「参照渡し」パラメータの設定に関係なく、添付ファイルは参照としてメッセージ・ヘッダーに渡されます。

IMAP移動先フォルダ

「読取り後のアクション」フィールドが「移動」に設定されている場合、メッセージの移動先フォルダを入力します。

ダウンロード・ディレクトリ

電子メールをダウンロードするための一時的な場所を入力します。

アーカイブ・ディレクトリ

「読取り後のアクション」フィールドが「アーカイブ」に設定されている場合、アーカイブ場所へのパスを入力します。

「参照渡し」または「添付ファイルを参照渡し」オプションが選択されている場合、このフィールドは必須です。

エラー・ディレクトリ

問題が生じたときにメッセージと添付ファイルを書き込むファイル・システム・ディレクトリへのパスを入力します。

リクエストのエンコーディング

電子メール・トランスポートにおけるリクエストの文字セット・エンコーディングとして、デフォルトのISO-8859-1を受け入れるか、別の文字セット・エンコーディングを入力します。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

20.2.6 「ファイル・トランスポート構成」ページ

「プロキシ・サービスの作成/プロキシ・サービスの編集 - ファイル・トランスポート構成」ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

このページでは、ファイル・トランスポートプロトコルを使用するプロキシ・サービスのトランスポート設定を構成できます。表20-5に、このページの使用方法を示します。

表20-5 「プロキシ・サービスの作成/編集 - ファイル・トランスポート構成」ページ

オプション

説明

ファイル・マスク

プロキシ・サービスがポーリングするファイルを指定します。URIがディレクトリの場合に*.*を指定すると、サービスはディレクトリ内のすべてのファイルをポーリングします。「ファイル・マスク」には、ワイルドカード文字の*および?のみ使用できます。正規表現はサポートされていません。

管理対象サーバー

このフィールドは、クラスタ・ドメインでのみ使用できます。

ポーリング・サーバーとして機能させる管理対象サーバーを選択します。すべての管理対象サーバーがメッセージを処理できますが、メッセージをポーリングできるのは、1台のサーバーのみです。

ポーリング間隔

ポーリング間隔を秒単位で入力します。デフォルトは 60 です。

読取り制限

ポーリング・スイープ当たりの読取りメッセージの最大数を指定します。無制限にするには0と入力します。デフォルトは10です。

到着順にソート

イベントが受信順に配信されるように指定する場合は、このチェック・ボックスを選択します。

クラスタ環境で実行されるプロキシ・サービスに対してこのオプションを選択すると、メッセージは常に同じサーバーに送信されます。つまり、このオプションを選択した場合、サーバー全体のロード・バランシングは無視されます。

サブディレクトリのスキャン

すべてのディレクトリを再帰的にスキャンする場合は、このチェック・ボックスを選択します。

参照渡し

このチェック・ボックスを選択すると、ファイルはアーカイブ・ディレクトリにステージングされ、ヘッダーに参照として渡されます。

読取り後のアクション

メッセージの読込み後の動作を選択します。

- アーカイブ - メッセージはアーカイブされます。

- 「削除」 - メッセージが削除されます。

ステージ・ディレクトリ

ファイルの処理中に一時的にファイルをステージングする中間ディレクトリを入力します。

ステージ・ディレクトリは、ポーリング・ディレクトリ(file:///c:/dir1/dir2などのファイル・トランスポート・プロキシ・サービスのURLで識別されるディレクトリ)内に配置しないでください。

アーカイブ・ディレクトリ

「読取り後のアクション」オプションが「アーカイブ」に設定されている場合、アーカイブ場所へのパスを入力します。「アーカイブ・ディレクトリ」フィールドは、「参照渡し」フィールドを選択した場合の必須フィールドでもあります。

アーカイブ・ディレクトリは、ポーリング・ディレクトリ内に配置しないでください。

エラー・ディレクトリ

問題が生じたときにメッセージと添付ファイルをポストする場所を入力します。

エラー・ディレクトリは、ポーリング・ディレクトリ内に配置しないでください。

リクエストのエンコーディング

ファイル・トランスポートにおけるリクエストの文字セット・エンコーディングとして、デフォルトのUTF-8を受け入れるか、別の文字セット・エンコーディングを入力します。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

20.2.7 「FTPトランスポート構成」ページ

「プロキシ・サービスの作成/プロキシ・サービスの編集 - FTPトランスポート構成」ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

このページでは、FTP転送プロトコルを使用するプロキシ・サービスのトランスポート設定を構成できます。表20-6に、このページの使用方法を示します。

表20-6 「プロキシ・サービスの作成/編集 - FTPトランスポート構成」ページ

オプション

説明

ユーザー認証

FTPサーバーのユーザーが匿名の場合は、「匿名」を選択し、FTPサーバーが外部的に構成されたアカウントの場合は「外部ユーザー」を選択します。

ID(電子メールID)

このフィールドは、「ユーザー認証」オプションが「匿名」に設定されている場合にのみ使用できます。

匿名ユーザーのメールIDを入力します。

サービス・アカウント

このフィールドは、「ユーザー認証」オプションが「外部ユーザー」に設定されている場合にのみ有効です。

ユーザーのサービス・アカウントを入力します。このフィールドは、「ユーザー認証」オプションが「外部ユーザー」に設定されている場合、必須です。

参照渡し

このチェック・ボックスを選択すると、ファイルはアーカイブ・ディレクトリにステージングされ、ヘッダーに参照として渡されます。

リモート・ストリーミング

処理時にリモート・サーバーからFTPファイルを直接ストリーミングする場合は、このチェック・ボックスを選択します。このオプションを選択した場合、アーカイブ・ディレクトリはリモートのFTPサーバー・コンピュータ上のリモート・ディレクトリになります。そのため、FTPユーザー・ディレクトリを基準にした相対パスでアーカイブ・ディレクトリを指定する必要があります。

ファイル・マスク

選択されるファイルの正規表現を入力します。デフォルトは*.*です。

管理対象サーバー

このフィールドは、クラスタ・ドメインでのみ使用できます。

ポーリング・サーバーとして機能させる管理対象サーバーを選択します。すべての管理対象サーバーがメッセージを処理できますが、メッセージをポーリングできるのは、1台のサーバーのみです。

ポーリング間隔

ポーリング間隔を秒単位で入力します。デフォルトは 60 です。

読取り制限

ポーリング・スイープ当たりの読取りメッセージの最大数を指定します。無制限にするには0と入力します。デフォルトは10です。

読取り後のアクション

メッセージが読み込まれた後の動作を選択します。

- アーカイブ - メッセージはアーカイブされます。

- 「削除」 - メッセージが削除されます。

転送モード

転送モードとして「ascii」または「バイナリ」を選択します。

アーカイブ・ディレクトリ

「読取り後のアクション」オプションが「アーカイブ」に設定されている場合、アーカイブ場所へのパスを入力します。このフィールドは、「参照渡し」オプションが選択されている場合、必須です。

注意: アーカイブ・ディレクトリ、ダウンロード・ディレクトリ、およびエラー・ディレクトリは絶対パスであり、自動的に作成されます。相対パスを指定すると、ファイルはWebLogic Serverを起動するJavaプロセスを基準にした相対的な位置に作成されます。

ダウンロード・ディレクトリ

ファイルの転送中にファイルがダウンロードされるローカル・コンピュータのディレクトリを入力します。

注意: アーカイブ・ディレクトリ、ダウンロード・ディレクトリ、およびエラー・ディレクトリは絶対パスであり、自動的に作成されます。相対パスを指定すると、ファイルはWebLogic Serverを起動するJavaプロセスを基準にした相対的な位置に作成されます。

エラー・ディレクトリ

問題が発生した場合にメッセージがポストされる場所を入力します。

注意: アーカイブ・ディレクトリ、ダウンロード・ディレクトリ、およびエラー・ディレクトリは絶対パスであり、自動的に作成されます。相対パスを指定すると、ファイルはWebLogic Serverを起動するJavaプロセスを基準にした相対的な位置に作成されます。

リクエストのエンコーディング

FTPトランスポートにおけるリクエストの文字セット・エンコーディングとして、デフォルトのUTF-8を受け入れます。

サブディレクトリのスキャン

すべてのディレクトリを再帰的にスキャンする場合は、このチェック・ボックスを選択します。

到着順にソート

イベントを受信順に配信する場合は、このチェック・ボックスを選択します。

タイムアウト

接続が切断されるまでのソケット・タイムアウト間隔を秒単位で入力します。0を入力すると、タイムアウトは発生しません。

再試行回数

FTP接続失敗時の再試行回数を指定します。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

20.2.8 「HTTPトランスポート構成」ページ

HTTPトランスポートでは、 HTTP エンドポイントおよび HTTPS エンドポイントの両方がサポートされるようになりました。

「プロキシ・サービスの作成/プロキシ・サービスの編集 - HTTPトランスポート構成」ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

このページでは、HTTP転送プロトコルを使用するプロキシ・サービスのトランスポート設定を構成できます。表20-7に、ページの使用方法を示します。

表20-7 「プロキシ・サービスの作成/プロキシ・サービスの編集 - HTTPトランスポート構成」ページ

オプション

説明

HTTPSが必要

インバウンドHTTPSエンドポイントの場合は、このチェック・ボックスを選択します。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のトランスポートレベルのセキュリティの構成に関する項を参照してください。

認証

次のいずれかを選択します。

- なし - 認証を必要としないことを指定します。
注: プロキシ・サービスにOracle WSMポリシーを指定する場合は、このオプションを選択してください。

- 「基本」 - このサービスにアクセスするには、基本認証が必要であることを指定します。
基本認証では、WebLogic Serverでユーザー名とパスワードを使用し、セキュリティ・レルム(Lightweight Directory Access Protocol (LDAP)ディレクトリ・サービスやWindows Active Directoryなど)で構成された認証プロバイダに対してクライアントの認証が行われます。クライアントは、HTTPリクエスト・ヘッダーでユーザー名とパスワードを送信する必要があります。

HTTPでの基本認証は、パスワードがクリア・テキストで送信されるため推奨しません。HTTPSでは暗号化されたチャネルが提供されるため、パスワードはHTTPSで送信するのが安全です。

警告:デフォルトでは、すべてのユーザー(認可ユーザーおよび匿名ユーザー)がプロキシ・サービスにアクセス可能です。プロキシ・サービスにアクセスできるユーザーを制限するには、トランスポートレベルの認可ポリシーを作成する必要があります。25.15項「トランスポートレベルのアクセス・ポリシーの編集」を参照してください。

- クライアント証明書 - 暗号化通信および強力なクライアント認証(双方向SSL)を指定します。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のトランスポートレベルのセキュリティの構成に関する項を参照してください。

- カスタム認証 - 認証トークンがHTTPヘッダーに含まれていることを指定します。クライアントのIDは、ここでクライアントが指定したトークンを使用して設定されます。トークンをOracle Service BusユーザーにマップするIDアサーション・プロバイダを構成する必要があります。
カスタム認証トークンには、構成されたWebLogic Server IDアサーション・プロバイダがサポートする任意のアクティブなトークン・タイプを指定できます。

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーを選択します。デフォルトのディスパッチ・ポリシーを使用するには、空白のままにします。

ディスパッチ・ポリシーでは、サービス・エンドポイントに使用するOracle WebLogic Serverワーク・マネージャのインスタンスを参照します。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

リクエストのエンコーディング

- HTTPインバウンド・トランスポートの場合は次のとおりです。
クライアント・リクエストでContent-Typeヘッダーの文字セット・エンコーディング・パラメータが指定されていないときは、文字セット・エンコーディング・パラメータを入力します。値を入力しない場合は、このフィールドにデフォルトのISO-8859-1が設定されます。

- HTTPアウトバウンド・トランスポートの場合は次のとおりです。
リクエスト・エンコーディングを構成していない場合、Oracle Service Busランタイムがビジネス・サービスにリクエストを行う際に最適なエンコーディングが決定されます。パススルー以外のシナリオでは、実行時のデフォルトの文字エンコーディングはUTF-8となります。ただし、パススルーのシナリオでは、ランタイムはアウトバウンド・レスポンスで受信したエンコーディングのパススルーを行います。

レスポンスのエンコーディング

HTTPトランスポートにおけるレスポンスの文字セット・エンコーディングとして、デフォルトのiso-8859-1を受け入れるか、別の文字セット・エンコーディングを入力します。

圧縮のサポート

圧縮サポートを有効にする場合は、このオプションを選択します。gzipまたはdeflateを含むContent-Encodingヘッダーが存在する場合、リクエスト・ペイロードは解凍されます。ネストした圧縮はサポートされません。圧縮サポート用に構成されているプロキシも圧縮されていないリクエストを理解し、圧縮されていないレスポンスを送信できます。

このオプションが選択されていない場合、クライアントが圧縮データを送信すると、プロキシ・サービスはデータを理解できず、リクエストを拒否します。クライアントがgzipまたはdeflateを含むAccept-Encodingヘッダーを送信した場合、無視されます。レスポンスは圧縮されずに送信されます。

圧縮バッファの有効化

圧縮バッファを有効にする場合は、このオプションを選択します。有効な場合、圧縮されたデータのContent-Lengthを決定する圧縮形式でメッセージ全体がメモリー内バッファに書き込まれます。Content-Lengthヘッダーは、データがクライアントに送信される前にレスポンス・オブジェクトに設定されます。この設定は、リクエスト処理に影響を与えません。インバウンド・レスポンス・データ処理にのみ適用されます。インバウンド・リクエストは常に直接ストリーミングされます。

認証ヘッダー

Oracle Service Busがトークンを抽出するHTTPヘッダー(Authorization以外の任意)を入力します。このフィールドが使用可能になるのは、「カスタム認証」チェックボックスが選択されている場合のみです。

たとえば、client-xyz-tokenです。

認証トークン・タイプ

認証トークン・タイプを選択します。IDアサーション・プロバイダ用に構成されたアクティブなトークン・タイプのみが使用可能になります(カスタム・トークンの詳細は、IDアサーション・プロバイダの構成(http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/security/message_level_cust_auth.html#wp1066076)を参照してください)。このフィールドが使用可能になるのは、「カスタム認証」チェックボックスが選択されている場合のみです。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

20.2.9 「JCAトランスポート構成」ページ

このページでは、JCA転送プロトコルを使用するトランスポート設定を構成できます。JCAトランスポートの使用の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のJCAトランスポートに関する項および20.1.1項「JCAバインド・リソースからのプロキシ・サービスの生成」を参照してください。

表20-8 「JCAトランスポート構成」ページ

オプション

説明

JCAファイル

「参照」をクリックしてJCAバインドを選択します。JCAバインドによって、使用されるアダプタの詳細、WSDLとTopLinkまたはEclipseLinkマッピング・ファイルへのバインド、サービスに必要なアクティブ化指定プロパティや相互指定プロパティなど、サービスの様々な側面が定義されます。

有効なJCAバインドを選択すると、これ以外のトランスポート構成のフィールドが使用可能になります。

JCAバインドの詳細は、第13章「JCAバインド」を参照してください。

アダプタ名

JCAサービスで使用するアダプタの名前を示す読取り専用の値。

アダプタ・タイプ

アダプタ・タイプを示す読取り専用の値。

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するWebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

JNDIサービス・アカウント

JNDIサービス・アカウントはJNDIコンテキスト・セキュリティのためのアカウントで、EISアダプタ管理対象の接続ファクトリへのアクセスに使用します。「参照」をクリックし、サービス・アカウントを選択します。サービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。

JCAビジネス・サービスでは、静的またはパススルーなど、構成できるJNDIサービス・アカウントのタイプに制限はありませんが、ランタイムはユーザー名とパスワードにアクセスできる必要があります。JCAプロキシ・サービスは静的JNDIサービス・アカウントのみを使用できます。

JNDIサービス・アカウントの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の「JCAトランスポート」、セキュリティに関する項を参照してください。

エンドポイント・プロパティ

このフィールドでは、サービスが使用するアダプタ・タイプの再試行回数など、エンドポイント・プロパティに値を割り当てることができます。

サポートされているJCAエンドポイント・プロパティのリストは、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のエンドポイント・プロパティに関する項を参照してください。

動的エンドポイント・プロパティ

このオプションを使用すると、リクエスト・パラメータをJCA準拠サービスに渡すことができます。たとえば、動的エンドポイント・プロパティを使用して、データベース問合せパラメータをデータベース用のOracle JCAアダプタに渡すことができます。

パラメータによる問合せの詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』のOracle JCA Adapter for Databaseに関する項を参照してください。

指定する動的エンドポイント・プロパティごとに名前と値のペアを入力します。エンドポイント・プロパティ・キーが問合せパラメータ名と一致します。

常にJCAファイルからの構成を使用

このオプションを使用して、「アクティブ化指定プロパティ」(プロキシ・サービス)および「相互指定プロパティ」(ビジネス・サービス)を常にJCAファイルから使用するかどうかを決定します。

このオプションが選択されている場合(デフォルト)、JCAトランスポートはJCAファイルのアクティブ化/相互指定プロパティを使用してJCAフレームワークと対話します。

このオプションが選択されていない場合は、アクティブ化/相互指定プロパティをオーバーライドできます。

このオプションを使用した再デプロイメントの影響は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の「JCAトランスポート」、エンドポイント・デプロイメントに関する項を参照してください。

操作名

選択したWSDL操作の読取り専用の名前を表示します。操作は、「アクティブ化/対話の仕様プロパティ」フィールドで示すように、独自のアクティブ化/対話の仕様プロパティを持つことができます。

アクティブ化指定プロパティ/相互指定プロパティ

「アクティブ化指定プロパティ」はプロキシ・サービス用のフィールド名で、「相互指定プロパティ」はビジネス・サービス用のフィールド名です。

このサービスがEISアプリケーションによって呼び出されたインバウンド・サービスである場合、このフィールドには、「操作名」フィールドで示すように、JCAインバウンド操作のアクティブ化仕様プロパティが表示されます。

「常にJCAファイルからの構成を使用」オプションをクリアすると、アクティブ化/相互指定プロパティをオーバーライドできます。

注意: Oracle Adapter Suiteアダプタの場合、アクティブ化/相互指定プロパティが読取り専用として表示されます。Oracle Adapter Suiteアダプタには独自の構成が保存されています。これは、Oracle Adapter Suite管理ツールで変更する必要があります。

接続プロパティ(レガシー)

非管理対象モード接続プロパティ(このリリースでは非推奨)を使用するレガシーJCAサービスの場合、http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jcatransport/transport.html#wp1105451の接続構成オプションを参照してください。

エンドポイントおよびアクティブ化/相互指定プロパティの詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

20.2.10 「JEJBトランスポート構成」ページ

このページでは、JEJB転送プロトコルを使用するトランスポート設定を構成できます。JEJBトランスポートの使用の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のJEJBトランスポートに関する項を参照してください。

表20-9 「JEJBトランスポート構成」ページ

オプション

説明

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するWebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

EJB仕様バージョン

リモートEJBインタフェースのEJBバージョンを選択します。

値でXMLBeansを渡す

トランスポートによってPOJO引数(XMLObject)のインラインXML表現を生成する場合は、このオプションを選択します。この引数のパラメータは、XQuery式でアクセスおよび操作できます。

注意: 値で渡されたXMLObjectの場合、型情報はインラインでは利用できません。このオプションを使用する場合、プロキシ・サービス・パイプラインのJavaコールアウトで型付きのXMLObjectを引数として渡すことはできません。

参照でPOJOを渡す場合は、このオプションを選択しないでください。こうすることでパフォーマンスも向上します。

トランザクション属性

トランザクションを処理するために次のいずれかのオプションを選択します。

Supports - トランスポートは着信トランザクションを受け入れます。サービス品質は、操作がトランザクションで呼び出される場合は「必ず1回」、操作がトランザクション外部から呼び出される場合は「ベストエフォート」です。

Required - トランスポートは着信トランザクションを受け入れます。発信トランザクションが存在しない場合、トランスポートが発信トランザクションを開始します。サービス品質は「必ず1回」です。

RequiresNew - トランスポートは常に新しいトランザクションを開始し、進行中のトランザクションを中断します。サービス品質は「必ず1回」です。

Mandatory - トランスポートは既存のトランザクションのメソッドを呼び出します。サービス品質は「必ず1回」です。

NotSupported - トランスポートは既存のトランザクションを中断し、呼出し時に再開します。サービス品質は「ベストエフォート」です。

Never - トランスポートはトランザクションのメソッドを呼び出しません。サービス品質は「ベストエフォート」です。

クライアントJar

「参照」をクリックし、表示されたリストからEJBクライアントJARリソースを選択します。クライアントJARには、リモートEJBのリモートまたはビジネス・インタフェースが含まれます。クライアントJARは汎用アーカイブ・リソースとして登録されます。

ホーム・インタフェース

EJB 2.1専用 - クライアントJARによって設定されるオプションから必須のEJBHomeインタフェースを選択します。

リモート・インタフェース

EJB 2.1のみ - このフィールドは、ホーム・インタフェースの構成に応じて、自動的に情報が表示されます。

ビジネス・インタフェース

EJB 3.0のみ - クライアントJARから、起動するビジネス・インタフェースを選択します。

ターゲット・ネームスペース

このフィールドにはJARからのピックアップされた情報が表示されます。

メソッド

必須のメソッドを選択します。「+」をクリックしてメソッドを展開すると、デフォルトのパラメータ値を編集できます。

任意のメソッドのデフォルトの操作名を変更できます。デフォルトでは、操作名はメソッド名です。EJBに同じ名前のメソッドが含まれている場合(オーバーロード)、一意になるように操作名を変更する必要があります。WSDLでは一意の操作名が必要です。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

20.2.11 「JMSトランスポート構成」ページ

「プロキシ・サービスの作成/プロキシ・サービスの編集 - JMSトランスポート構成」ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のJMSトランスポートに関する項を参照してください。

このページでは、JMS転送プロトコルを使用するプロキシ・サービスのトランスポート設定を構成できます。表20-10に、ページの使用方法を示します。

表20-10 プロキシ・サービスの作成/編集 - JMSトランスポートの構成ページ

オプション

説明

宛先タイプ

次のいずれかを選択します。

- キュー(ポイント・ツー・ポイント宛先タイプの場合)

- トピック(パブリッシュ/サブスクライブ宛先の場合)

レスポンスが必要

このオプションは、「宛先タイプ」に「キュー」が選択されている場合にのみ使用できます。

アウトバウンド・メッセージの送信後にレスポンスを受け取ることを指定する場合は、このオプションを選択します。

レスポンス・パターン

このオプションは、 「レスポンスが必要」 チェックボックスが選択されている場合のみ使用できます。

次のいずれかを選択します。

- Oracle WebLogic Serverで実行するJAX-RPCサービスの「JMSMessageID」を選択します。

- その他のすべてのサービスの場合は、「JMSCorrelationID」を選択します。このオプションを選択した場合、「レスポンスURI」にも入力する必要があります。

レスポンス・メッセージ・タイプ

このオプションは、「レスポンスが必要」チェック・ボックスが選択されている場合のみ使用できます。

次のいずれかを選択します。

- 「バイト」(未解釈バイトのストリームの場合)

- 「テキスト」(テキスト・メッセージの場合)

このオプションは、レスポンスの「メッセージ・タイプ」に「Java」を選択した場合は無効になっています。

クライアントJar

このオプションは、リクエスト・タイプがJavaのメッセージ・サービスで使用できます。Javaオブジェクトを含むメッセージのデキューに使用するクライアントJARを選択します。クライアントJARを選択すると、クライアントJARはクラスパスに置かれます。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージでのJavaオブジェクトの送受信に関する説明を参照してください。

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するOracle WebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

たとえば、ビジネス・サービスがJMS転送プロトコルに対応している場合、ビジネス・サービスのエンドポイントは、そのディスパッチ・ポリシーに関連付けることのできるMDB (メッセージドリブンBean)のJARファイルになります。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

リクエストのエンコーディング

リクエストのエンコード用の文字セットを入力します。デフォルトは、UTF-8です。

レスポンスのエンコーディング

このオプションは、 「レスポンスが必要」 チェックボックスが選択されている場合のみ使用できます。

レスポンスのエンコード用の文字セットを入力します。デフォルトは、UTF-8です。

レスポンスURI

このオプションは、「レスポンス相関パターン」で「JMSCorrelationID」が選択されている場合にのみ使用できます。

レスポンスURIは次の形式で入力します。

jms://host:port/connection_factory/jndi_destination

複数のサーバーをターゲットとする場合は、次の形式を使用します。

jms://host1:port,host2:port/connection_factory/jndi_destination

レスポンスURIのホストとポートを省略することもできます。例:

jms:///connection_factory/jndi_destination

ホストとポートを省略すると、ローカル・サーバーで接続ファクトリや宛先ルックアップが発生します。これは、リクエストURIが外部接続ファクトリや宛先を指し、レスポンスをローカル・サーバーに送信する場合などに便利です。

注意: Oracle WebLogic Serverでは、「myqueues/myqueue」のようにJNDI名にスラッシュを使用できましたが、スラッシュを使用したJNDI名はOracle Service Busで必要なURIフォーマットに干渉するので、これらの名前は使用できません。この問題を回避するには、JMS外部サーバーを定義し、その外部サーバーをURI内で参照します。詳細は、Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・オンライン・ヘルプの外部サーバーの構成に関する説明を参照してください。

レスポンス接続ファクトリ

このオプションは、「レスポンス相関パターン」で「JMSMessageID」が選択されている場合にのみ使用できます。

レスポンス接続ファクトリURIを入力します。

接続ファクトリが指定されていない場合、リクエストの接続ファクトリがレスポンスに使用されます。

JMSサービス・アカウント

JMSサーバーによって管理されているJMSリソースに使用するサービス・アカウントを選択します。サービス・アカウントは、リクエストとレスポンスの両方に使用される、ユーザーIDとパスワードの別名リソースです。同じサービス・アカウントが、JMSとJNDIの両方に使用されます。

詳細は、第17章「サービス・アカウント」を参照してください。

SSLを使用

リクエストがTLS/SSL接続を通して行われる場合にのみ、このオプションを選択します。

TLS/SSL (Secure Sockets Layer)では、ネットワークで接続される2つのアプリケーションが互いのIDを認証し、アプリケーション間で交換されるデータを暗号化できるようにすることによって、安全な接続が可能になります。認証を使用すると、サーバー(および必要に応じてクライアント)はネットワーク接続の相手側アプリケーションのIDを検証できます。また、宛先のJNDIエントリに対してアクセス制御が設定されていることにより、管理者から個々のJMS宛先(キューまたはトピック)へのアクセスが制限されている場合、JNDIツリー内でのルックアップ時に、サービスで認証を行う必要があります。

注意: JMSトランスポートでは双方向SSLはサポートされません。

メッセージ・セレクタ

メッセージ・セレクタ式を入力します。

式に一致するプロパティを持つメッセージのみが処理されます。

JMSクライアントID

トピックに対してのみ、サブスクライバ用に使用するクライアントIDを入力します。有効な値が入力されていない場合、クライアントIDは自動的に生成されます。カスタムIDを割り当てることで、サービスをモニターするときにこのコンポーネントを識別できます。これは、永続サブスクライバに対してのみ有効です。

JMSクライアントIDは、トピックのサブスクライバ用のサブスクライバ名とClientID値を生成するために使用される、いくつかのMDBの1つです。JMSクライアントIDを定義すると、サブスクライバ名とクライアントIDを調べることにより、特定のトピックのサブスクライバの識別、表示が容易になります。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のプロキシ・サービスでのJMSクライアントIDの指定に関する説明を参照してください。

恒久サブスクリプション

このオプションは、「宛先タイプ」に「トピック」が選択されている場合にのみ使用できます。

サブスクリプションが恒久である場合はこのチェック・ボックスを選択し、サブスクリプションが恒久でない場合は、このチェック・ボックスをブランクのままにします。

再試行回数

メッセージがエラー宛先に移されるまでに許可される配信の再試行回数を入力します。このフィールドは、Oracle WebLogic Server JMS宛先にのみ適用されます。

再試行間隔

ロールバックまたは復元されたメッセージが再配信されるまでの時間をミリ秒単位で入力します。このフィールドは、Oracle WebLogic Server JMS宛先にのみ適用されます。

エラー宛先

再配信制限に達したメッセージのターゲット宛先の名前を入力します。このフィールドは、Oracle WebLogic Server JMS宛先にのみ適用されます。

有効期限ポリシー

有効期限の経過したメッセージが宛先で検出されたときに使用する有効期限ポリシーを選択します。このフィールドは、Oracle WebLogic Server JMS宛先にのみ適用されます。

XAが必要

接続ファクトリがXAである場合は、このチェック・ボックスを選択します。

この値は、リモート接続ファクトリを使用できない場合に考慮されます。接続ファクトリが使用可能であり、この値がtrueである場合は、接続ファクトリがトランザクションとして定義されていることを確認してください。

トランザクション・タイムアウト

JMSプロキシ・サービスがトランザクションの処理されるのを待つ時間を秒単位で入力します。このオプションは、XA接続ファクトリを使用するサービスにのみ適用されます。デフォルトは、600秒です。

トピック・メッセージ配信

このオプションは、「宛先タイプ」に「トピック」を選択した場合に使用できます。

「トピック・メッセージ配信」では、インバウンドJMSメッセージを処理したり高可用性とフェイルオーバーを提供したりする様々なオプションが提供されます。

メッセージドリブンBeanによって受信JMSメッセージを処理する方法を決定するために次のいずれかのプロパティを選択します。

- アプリケーションごとに1コピー(デフォルト) - JMSプロキシ・サービスがクラスタにデプロイされている場合、このオプションによって、インバウンドJMSメッセージがクラスタ内の1つの使用可能なサーバーでのみ処理され、高可用性とスケーラビリティが提供されます。

- サーバーごとに1コピー - トピックにパブリッシュされたインバウンドJMSメッセージをクラスタのメンバーごとにプロキシ・サービスで受信する場合にこのオプションを選択します。

- 互換性 - クラスタ内の特定の管理対象サーバーまたはすべての管理対象サーバーでインバウンドJMSメッセージを処理する場合は、このオプションを選択します。このプロパティを選択した場合は、ターゲットのサーバーを選択します。

注意: : バージョン10.3.4より前のOracle WebLogic Server上でデプロイされたトピック宛先の場合、有効なオプションは「互換性」のみです。

「トピック・メッセージ配信」で選択した「1コピー」オプションは、JMS接続ファクトリに設定された「サブスクリプション共有ポリシー」および「クライアントIDポリシー」をオーバーライドします。

ターゲット

このオプションは、「トピック・メッセージ配信」オプションに「互換性」を選択した場合に、Oracle Service Busクラスタでのみ使用できます。受信JMSメッセージを処理するターゲット・サーバーを選択します。「トピック・メッセージ配信」に「1コピー」オプションのいずれかを選択した場合は、このフィールドにクラスタの名前が表示されます。

対象を設定しない場合は、クラスタ内の管理対象サーバーごとのJMSプロキシ・サービス・インスタンス(トピックからのメッセージの読取り)によってメッセージのコピーが取得されます。

JNDIタイムアウト

JNDIツリーでの宛先または接続ファクトリの検索時に使用されるJNDI接続タイムアウト(秒)。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

20.2.12 「MQトランスポート構成」ページ

「プロキシ・サービスの作成/プロキシ・サービスの編集 - MQトランスポート構成」ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のMQトランスポートに関する項を参照してください。

始める前に

MQ接続リソースを構成します。第9章「MQ接続」を参照してください。

MQトランスポートを構成するには

このページでは、ネイティブMQ転送プロトコルを使用するプロキシ・サービスのトランスポート設定を構成できます。表20-11に、ページの使用方法を示します。

表20-11 「プロキシ・サービスの作成/編集 - MQトランスポート構成」ページ

オプション

説明

レスポンスが必要

アウトバウンド・メッセージの送信後にレスポンスを受け取ることを指定する場合は、このオプションを選択します。

レスポンス相関パターン

このオプションは、「レスポンスが必要」チェック・ボックスが選択されている場合のみ使用できます。

レスポンス相関パターンがMessageIDまたはCorrelationIDのいずれに基づく必要があるかを指定します。

MQレスポンスURI

このオプションは、「レスポンスが必要」チェック・ボックスが選択されている場合のみ使用できます。

レスポンスがパブリッシュされる宛先です。レスポンスURIを、エンドポイントURIと同じ形式でmq://<local-queue-name>?conn=<mq-connection-resource-ref>のように入力します。

レスポンス・メッセージ・タイプ

このオプションは、「レスポンスが必要」チェック・ボックスが選択されている場合のみ使用できます。

次のいずれかを選択します。

- 「バイト」(未解釈バイトのストリームの場合)

- 「テキスト」(テキスト・メッセージの場合)

トランザクション・タイムアウト

プロキシ・サービスにより開始されたXAトランザクションがタイムアウトするまでの待機時間を秒単位で入力します。このプロパティは、XAトランザクション用に構成されたMQ接続リソースを使用する(「XA有効」オプションがMQ接続リソースに対して選択されている)サービスにのみ適用されます。

デフォルト値は300秒です。

ポーリング間隔

ポーリング間隔をミリ秒単位で入力します。デフォルトは1000です。

ポーラー・ディスパッチ・ポリシー

ポーラー・スレッドに使用するディスパッチ・ポリシー。

バックアウトしきい値

「配信失敗メッセージURI」フィールドに指定したキューにパイプラインがメッセージをリダイレクトする前に、メッセージを再試行する回数を示す値を入力します。

このフィールドに値が指定されていない場合は、再試行を実行しないで、メッセージを配信失敗キューにリダイレクトします。

MQ配信失敗メッセージURI

「バックアウトしきい値」フィールドに指定した再試行回数を行った後、リクエスト・メッセージがリダイレクトされる配信失敗メッセージ・キューのURIを入力します。

このフィールドに値を指定しない場合、「バックアウトしきい値」フィールドに指定した再試行回数を行った後、メッセージはキューに返され、各ポーリングのMQトランスポートに無視されます。配信失敗メッセージURIの形式はエンドポイントURI形式と同じです。

エンドポイントURI 'GET'オプション

次のオプションでMQ GETメッセージ・オプションを入力します。

- MQC.MQGMO_ACCEPT_TRUNCATED_MSG

- MQC.MQGMO_ALL_MSGS_AVAILABLE

- MQC.MQGMO_BROWSE_FIRST

- MQC.MQGMO_BROWSE_NEXT

- MQC.MQGMO_COMPLETE_MSG

- MQC.MQGMO_CONVERT

- MQC.MQGMO_FAIL_IF_QUIESCING

- MQC.MQGMO_LOCK

- MQC.MQGMO_LOGICAL_ORDER

- MQC.MQGMO_MARK_BROWSE_CO_OP

- MQC.MQGMO_MARK_SKIP_BACKOUT

- MQC.MQGMO_NO_SYNCPOINT

- MQC.MQGMO_NONE

- MQC.MQGMO_NO_WAIT

- MQC.MQGMO_SYNCPOINT

- MQC.MQGMO_SYNCPOINT_IF_PERSISTENT

- MQC.MQGMO_UNLOCK

- MQC.MQGMO_UNMARK_BROWSE_CO_OP

- MQC.MQGMO_UNMARK_BROWSE_HANDLE

- MQC.MQGMO_UNMARKED_BROWSE_MSG

- MQC.MQGMO_VERSION_1

- MQC.MQGMO_VERSION_2

- MQC.MQGMO_VERSION_3

- MQC.MQGMO_WAIT

複数のオプションを区切るには、「|」または「+」を使用します。たとえば、次のように指定できます。

MQC.MQGMO_ACCEPT_TRUNCATED_MSG | MQC.MQGMO_LOCK

インバウンド・キューからのメッセージを読み込む場合、MQ GETメッセージ・オプションが適用されます。

RFH2ヘッダーのプロセス

メッセージ・ペイロードからWebSphere MQ RFH2ヘッダーを解析して、RFH2データを含むRFH2Headersトランスポート・ヘッダーを自動的に生成する場合はこのオプションを選択します。

このオプションを選択しない場合は、ペイロードはそのまま渡されます。

MQトランスポートでのRFH2ヘッダーの処理方法の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のRFH2ヘッダーに関する説明を参照してください。

返信先ヘッダーの無視

キュー・マネージャの返信先ヘッダーを無視するには、このオプションを選択します。

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーを選択します。

ディスパッチ・ポリシーでは、サービス・エンドポイントに使用するOracle WebLogic Serverワーク・マネージャのインスタンスを参照します。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

20.2.13 「SBトランスポート構成」ページ

「プロキシ・サービスの作成/プロキシ・サービスの編集 - SBトランスポート構成」ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のSBトランスポートに関する項を参照してください。

このページでは、SB(サービス・バス)転送プロトコルを使用するプロキシ・サービスのトランスポート設定を構成できます。表20-12 に、ページの使用方法を示します。

表20-12 プロキシ・サービスの作成/編集 - SBトランスポートの構成ページ

オプション

説明

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーを選択するか、または、デフォルトのディスパッチ・ポリシーを使用します。

ディスパッチ・ポリシーでは、リクエストを処理するためにサービス・エンドポイントに使用するOracle WebLogic Serverワーク・マネージャのインスタンスを参照します。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

SSLを使用

指定されている場合、リクエストをSSL接続を使用して送信する必要があります。

ただし、非セキュアな接続が禁止されるわけではありません。管理者は、サーバーのすべての非セキュアなプロトコル(T3またはHTTPなど)を閉じて、セキュアなクライアント接続を厳格に実施する必要があります。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

20.2.14 「SFTPトランスポート構成」ページ

「プロキシ・サービスの作成/プロキシ・サービスの編集 - SFTPトランスポート構成」ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のHTTPトランスポートとポーラー・トランスポートに関する項を参照してください。

このページでは、SFTP転送プロトコルを使用するプロキシ・サービスのトランスポート設定を構成できます。表20-13に、ページの使用方法を示します。

表20-13 プロキシ・サービスの作成/編集 - SFTPトランスポートの構成ページ

オプション

説明

ユーザー認証

次のいずれかを選択します。

- 「ユーザー名パスワード」認証 - 静的なサービス・アカウントがこの認証方式に関連付けられていて、クライアントは提供された資格証明を使用して認証されることを指定します。

- 「ホスト・ベース」認証 - この認証方法を使用するには、ユーザー名とサービス・キー・プロバイダが必要とされることを指定します。既知のホストから接続するユーザーはホストの秘密鍵を使用して認証されます。

- 「公開鍵」認証 - この認証方法を使用するために、ユーザー名とサービス・キー・プロバイダが必要とされることを指定します。すべてのユーザーがそれぞれの秘密鍵を持っています。

注意: Oracle Service Busサービスは、SFTPサーバーからの資格証明を認証するために、サービス・キー・プロバイダを使用することはありません。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のSFTPトランスポートのトランスポートレベルのセキュリティの構成に関する項で説明しているように、これはknown_hostsファイルのみを使用してSFTPサーバーを認証します。

サービス・アカウント

ユーザーのサービス・アカウントを入力するか、「参照」をクリックしてブラウザからサービス・アカウントを選択します。

サービス・キー・プロバイダ

このオプションは、「ホスト・ベース」認証または「公開鍵」認証が選択されている場合にのみ使用できます。

「サービス・キー・プロバイダ」フィールドに、サービス・キー・プロバイダを入力します。「参照」をクリックし、サービス・キー・プロバイダをブラウザから選択できます。このフィールドは必須です。

ユーザー名

このオプションは、「ホスト・ベース」認証または「公開鍵」認証が選択されている場合にのみ使用できます。

ユーザー名を入力します。

参照渡し

このチェック・ボックスを選択すると、ファイルはアーカイブ・ディレクトリにステージングされ、ヘッダーに参照として渡されます。

リモート・ストリーミング

処理時にリモート・サーバーからSFTPファイルを直接ストリーミングする場合は、このチェック・ボックスを選択します。このオプションを選択した場合、アーカイブ・ディレクトリはリモートのSFTPサーバー・コンピュータのリモート・ディレクトリになります。そのため、SFTPユーザー・ディレクトリを基準にした相対パスでアーカイブ・ディレクトリを指定する必要があります。

ファイル・マスク

選択されるファイルの正規表現を入力します。デフォルトは*.*です。

管理対象サーバー

このフィールドは、クラスタ・ドメインでのみ使用できます。

ポーリング・サーバーとして機能させる管理対象サーバーを選択します。すべての管理対象サーバーがメッセージを処理できますが、メッセージをポーリングできるのは、1台のサーバーのみです。

ポーリング間隔

指定した場所からファイルをポーリングする間隔を秒単位で入力します。デフォルトは 60 です。

読取り制限

ポーリング・スイープ当たりの読取りメッセージの最大数を指定します。無制限にするには0と入力します。デフォルトは10です。

読取り後のアクション

メッセージが読み込まれた後の動作を選択します。

- アーカイブ - メッセージはアーカイブされます。

- 「削除」 - メッセージが削除されます。

アーカイブ・ディレクトリ

「読取り後のアクション」オプションが「アーカイブ」に設定されている場合、アーカイブ場所へのパスを入力します。このフィールドは、「参照渡し」オプションが選択されている場合、必須です。

注意: アーカイブ・ディレクトリ、ダウンロード・ディレクトリ、およびエラー・ディレクトリは絶対パスであり、自動的に作成されます。相対パスを指定すると、ファイルはWebLogic Serverを起動するJavaプロセスを基準にした相対的な位置に作成されます。

ダウンロード・ディレクトリ

ファイルの転送中にファイルがダウンロードされるローカル・コンピュータのディレクトリを入力します。

注意: アーカイブ・ディレクトリ、ダウンロード・ディレクトリ、およびエラー・ディレクトリは絶対パスであり、自動的に作成されます。相対パスを指定すると、ファイルはWebLogic Serverを起動するJavaプロセスを基準にした相対的な位置に作成されます。

エラー・ディレクトリ

問題が発生した場合にメッセージがポストされる場所を入力します。

注意: アーカイブ・ディレクトリ、ダウンロード・ディレクトリ、およびエラー・ディレクトリは絶対パスであり、自動的に作成されます。相対パスを指定すると、ファイルはWebLogic Serverを起動するJavaプロセスを基準にした相対的な位置に作成されます。

リクエストのエンコーディング

SFTPトランスポートでは、リクエストの文字セット・エンコーディングとしてデフォルトのUTF-8を受け入れます。

優先暗号スイート

サーバーと通信する際に使用する暗号スイートを選択します。

デフォルト値のUse Runtime Defaultを使用した場合、サポートされている暗号スイートのリストがサーバーに送信され、一致が検出されるまで1つずつ試行されます。

優先データ整合性アルゴリズム

データ整合性チェック用のバルクハッシュのアルゴリズムを選択します。

デフォルト値のUse Runtime Defaultを使用した場合、Oracle Service Busは優先アルゴリズムhmac-sha1を送信します。サーバーによってそれがサポートされていない場合は、サポートされているアルゴリズムのリストがサーバーに送信され、一致が検出されるまで1つずつ試行されます。

優先公開鍵アルゴリズム

公開鍵暗闘用の非対称鍵アルゴリズムを選択します。

デフォルト値のUse Runtime Defaultを使用した場合、Oracle Service Busは優先アルゴリズムssh-dssを送信します。サーバーによってそれがサポートされていない場合は、サポートされているアルゴリズムのリストがサーバーに送信され、一致が検出されるまで1つずつ試行されます。

優先鍵交換アルゴリズム

メッセージを暗号化するためのセッション鍵ネゴシエーション用のデフォルトの鍵交換プロトコルを選択します。

デフォルト値のUse Runtime Defaultを使用した場合、Oracle Service Busは優先アルゴリズム diffie-hellman-group1-sha1を送信します。サーバーによってそれがサポートされていない場合は、サポートされているアルゴリズムのリストがサーバーに送信され、一致が検出されるまで1つずつ試行されます。

優先圧縮アルゴリズム

zlibを使用して、処理中のデータを圧縮するかどうかを選択します。データを圧縮する場合は「zlib」を、それ以外の場合は「None」を選択します。デフォルトは、「None」。

サブディレクトリのスキャン

すべてのディレクトリを再帰的にスキャンする場合は、このチェック・ボックスを選択します。

到着順にソート

イベントを受信順に配信する場合は、このチェック・ボックスを選択します。

タイムアウト

接続が切断されるまでのソケット・タイムアウト間隔を秒単位で入力します。0を入力すると、タイムアウトは発生しません。デフォルト値は60です。

再試行回数

SFTP接続失敗時の再試行回数を指定します。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

20.2.15 「Tuxedoトランスポート構成」ページ

「プロキシ・サービスの作成/プロキシ・サービスの編集 - Tuxedoトランスポート構成」ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のTuxedoトランスポートに関する項を参照してください。

このページでは、Tuxedo転送プロトコルを使用するプロキシ・サービスのトランスポート設定を構成できます。表20-14に、ページの使用方法を示します。

表20-14 プロキシ・サービスの作成/編集 - Tuxedoトランスポートの構成ページ

オプション

説明

フィールド表クラス

受信されるFML/FML32バッファを表すクラス名を入力します。これらは、フィールド名を要素名にマップするために、FML/FML32-to-XML変換ルーチンで使用されます。完全修飾クラス名をスペースで区切ってリストします。

Viewクラス

送受信されるVIEW/VIEW32バッファを表すクラス名を入力します。これらは、フィールド名を要素名にマップするためにVIEW-to-XMLまたはVIEW32-to-XML変換ルーチンで使用されます。完全修飾クラス名をスペースで区切ってリストします。

Tuxedoのバッファ・タイプX_C_TYPEとX_COMMONは、VIEW/VIEW32バッファと同様に処理されます。

受信リクエストにVIEWが含まれる場合、該当するVIEWクラスをOracle Service BusのCLASSPATHに指定する必要があります。

クラスJar

このエンドポイント操作に必要なFML/FML32またはVIEW/VIEW32クラスを持つJARファイルを含むJARリソースを選択します。

ローカル・アクセス・ポイント

エクスポートに関連付けられたリストから、ローカル・アクセス・ポイントを選択します。リストには、WTCで構成されたローカル・アクセス・ポイントが含まれます。関連するローカル・アクセス・ポイントがない場合、プロキシ・サービスは作成できません。

ローカル・アクセス・ポイントがない場合、または新規ポイントを作成する場合は「新規」を選択します。対応するローカル・アクセス・ポイント名とローカル・ネットワーク・アドレスを隣のフィールドに入力します。エンドポイントの検証時に、各WTCサーバーのWTC構成にアクセス・ポイントが追加されます。WTCサーバーがない場合は、作成されます。

「新規」オプションを選択した後では、既存のアクセス・ポイント名を入力できます。この場合、既存の情報が新しいパラメータで更新されます。変更できるのは、ホスト名とポート番号に限られます。

リモート・アクセス・ポイント

このフィールドは、「ローカル・アクセス・ポイント」フィールドで「新規」を選択した場合のみ表示されます。

新しく作成したローカル・アクセス・ポイントと関連付けるリモート・アクセス・ポイントを、リストから選択します。存在しない場合、または新しく作成する場合は「新規」を選択します。対応するアクセス・ポイント名とネットワーク・アドレスを隣のフィールドに入力します。

「新規」オプションを選択した後では、既存のアクセス・ポイント名を入力できます。この場合、既存の情報が新しいパラメータで更新されます。変更できるのは、ホスト名とポート番号に限られます。

リモート・アクセス・ポイントは、インバウンド・リクエストのWTC接続の認証プリンシパルにもなります。(オプション)デフォルトのセキュリティ・レルムで同じアクセス・ポイントIDを持つユーザーを作成して、インバウンド呼出しを許可することができます。これを行うには、「ユーザーを作成しますか。」リストから「はい」を選択します。セキュリティの問題を回避するために、パスワードは一時変数を使用してランダムに生成されます。

応答バッファ・タイプ

このオプションは、「レスポンスが必要」オプションが選択されている場合にのみ使用できます。

リモートTuxedoクライアントが受信するバッファのタイプを選択します。

応答バッファ・サブタイプ

このオプションは、「レスポンスが必要」オプションが選択されていて、「レスポンス・バッファ・タイプ」の値が「VIEW」または「VIEW32」の場合にのみ使用できます。

応答バッファに関連付けるバッファのサブタイプを入力します。

レスポンスが必要

このサービスにレスポンスの送信が想定されている場合は、このチェックボックスを選択します。

デフォルトのステータスでは、このオプションが選択されています。

サービスのタイプが「メッセージ・サービス」で、レスポンス・メッセージのタイプが「なし」の場合は、このオプションの選択が解除され、使用できません。

リクエストのエンコーディング

Tuxedoトランスポートのリクエストのエンコーディングを設定する文字を指定します。

レスポンスのエンコーディング

Tuxedoトランスポートのレスポンスのエンコーディングを設定する文字を指定します。

変換スタイル

次のいずれかを選択します。

- 「なし」 - (デフォルト)フィールドの順序を無視します。

- 順序付け - すべてのフィールドを正しい順序で表示します。

- 順序付けとグループ別 - フィールドが論理的にレコード構造になっている場合、発生順に並べ替えられ、レコードごとにグループ化されます。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

20.2.16 「WSトランスポート構成」ページ

「プロキシ・サービスの作成/プロキシ・サービスの編集 - WSトランスポート構成」ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のWSトランスポートに関する項を参照してください。

このページでは、WS転送プロトコルを使用するプロキシ・サービスのトランスポート設定を構成できます。表20-15に、ページの使用方法を示します。

表20-15 プロキシ・サービスの作成/編集 - WSトランスポートの構成ページ

オプション

説明

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーを選択するか、または、デフォルトのディスパッチ・ポリシーを使用します。

ディスパッチ・ポリシーでは、サービス・エンドポイントに使用するOracle WebLogic Serverワーク・マネージャのインスタンスを参照します。

ワーク・マネージャの詳細は、次の説明を参照してください。

- 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

再試行回数

パイプラインへのメッセージの配信の再試行回数を入力します。

プロキシ・サービスのリクエスト・パイプラインで処理されない例外が発生した場合、着信WSトランスポート・メッセージは、再試行回数で指定された回数まで、パイプラインに再配信されます。この値は、WSトランスポート・メッセージの信頼性の高い処理を実現するために重要です。

再試行の遅延

エラーの発生後に、パイプラインへのメッセージの配信を再試行するまでシステムが一時停止する秒数です。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

20.2.17 「操作選択構成」ページ

「プロキシ・サービスの作成/プロキシ・サービスの編集 - 操作選択構成」ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。このページは、作成するサービスに操作が含まれる場合のみに表示されます。

このページを使用して、WS-Iを適用し(SOAP 1.1サービスの場合のみ)、このプロキシ・サービスによって呼び出される操作の決定に使用される選択アルゴリズムを選択できます。このオプションは、WSDLに基づいて定義されたSOAPサービスまたはXMLサービスでのみ使用できます。

WSDL仕様では、受信するSOAPメッセージのタイプに基づいて呼び出す操作を計算するデフォルトのアルゴリズムが定義されています。ただし、その他の手段に基づいて操作を選択しなければならない場合もあります(パフォーマンスや、署名および暗号化に問題があったり、デフォルトのアルゴリズムが使用できない場合など)。

Oracle Service Busには、アルゴリズムが追加で用意されています。これらはそれぞれ同じパターンに従っており、式の評価に基づいて値を取得し、その値を使用して静的な表から対応する操作をルックアップします。

通常、Oracle Service Busは、インバウンド・メッセージのデータが不足し、処理を判断できない場合や、データが有効な処理に対応していない場合にも、柔軟に対処します。どちらの場合も、$operationは空になります。Oracle Service Busでは、このようなメッセージをすべて拒否するのではなく、コンテキスト内のoperation変数を初期化せずに、メッセージの処理を続行します。

ただし、プロキシ・サービスがWSDLベースで、次の条件の1つ以上が当てはまる場合は、セキュリティ要件が適用されます。

- WSDLにWS-Securityポリシーが存在し、プロキシがアクティブな仲介になっています。

- プロキシにメッセージ・レベルのカスタム認証(カスタム・トークンまたはユーザー名/パスワード)が存在します。

これらの条件に該当する場合、操作選択アルゴリズムが有効な操作名を返すかどうかを確認するチェックが実行時に行われます。操作選択アルゴリズムでnullまたはWSDLに存在しない操作が返された場合、メッセージは拒否され、エラーが発生します。

表20-16に、「プロキシ・サービスの作成/プロキシ・サービスの編集 - 操作選択構成」ページの使用方法を示します。

表20-16 プロキシ・サービスの作成/編集 - 操作選択の構成ページ

オプション

説明

WS-I準拠の適用

SOAP 1.1サービス専用です。

Web Services Interoperability Organizationで定義されたBasic Profileにサービスを準拠させるかどうかを指定する場合は、このチェックボックスを選択します。

サービスをWS-I準拠として指定すると、サービス間で送受信されるメッセージの確認が行われます。プロキシの場合、プロキシが受信したリクエスト・メッセージの確認が行われます。呼び出されるサービス(つまり、プロキシがサービス・コールアウト・アクションまたはルート・ノードを介して呼び出すサービスなど)の場合、それらのサービスから受信したレスポンス・メッセージの確認が行われます。呼び出されるサービスから受信したメッセージを確認するかどうかを決定するのは、呼び出されるサービス側のWS-I準拠プロパティであり、プロキシ側ではありません。呼び出されるサービスでWS-I準拠のテストを指定すると、メッセージ・フローによってレスポンス・エラーのfaultが生成されます。

選択アルゴリズム

次のいずれか1つを選択し、必要に応じて追加の手順を実行します。

- トランスポート・ヘッダー - ルックアップ値を含むトランスポート・ヘッダーを定義する場合は、このアルゴリズムを選択します。その後、次の手順を実行します。
「ヘッダー名」フィールドに、起動される操作を選択するときにキーとして使用される値を抽出するトランスポート・ヘッダーを入力します。

「操作のマッピング」フィールドで、「値」フィールドに各操作の値を指定します。この値が操作のキーとして使用されます。

- SOAPActionヘッダー - このプロキシ・サービスに関連付けられたWSDLから自動的に操作のマッピングが行われるように指定する場合は、このアルゴリズムを選択します。

- WS-Addressing - ルックアップ値がSOAPメッセージのSOAPヘッダー内のWS-Addressing Actionタグに入るように指定するには、このアルゴリズムを選択します。その後、「操作のマッピング」フィールドにある「値」フィールドに、各操作の値を指定します。この値が操作のキーとして使用されます。

- SOAPヘッダー - SOAPヘッダーに対して評価されるXPath式を定義するには、このアルゴリズムを選択します。これにより、ルック・アップ値を取得できるようになります。その後、次の手順を実行します。
「XPath式」フィールドに、起動される操作を選択するときにキーとして使用される値を抽出するXPath式を指定します。

「操作のマッピング」フィールドで、「値」フィールドに各操作の値を指定します。この値が操作のキーとして使用されます。

- SOAP本体タイプ - WSDL仕様で定義されたデフォルトのアルゴリズムです。受信するSOAPメッセージのタイプに基づいて呼び出す操作が計算されます。
プロキシ・サービスを構成するWebサービス・セキュリティのパススルー・シナリオで本体が暗号化されている場合は、このアルゴリズムを選択することはできません。パススルーの暗号化されたSOAPヘッダーについても同様です。

同じ入力メッセージで2つの操作のあるWSDLの場合、入力メッセージを調べて操作をユニークに識別できないため、このアルゴリズムを操作に選択しないでください。

- ペイロード・タイプ - WSDLポートまたはWSDLバインディングに基づいたXMLサービスでのみ使用できます。

ヘッダー名

このオプションは、「選択アルゴリズム」オプションが「トランスポート・ヘッダー」に設定されている場合にのみ使用できます。

呼び出される操作を選択するときにキーとして使用される値を抽出するトランスポート・ヘッダーを入力します。

XPath式

このオプションは、「選択アルゴリズム」オプションが「SOAPヘッダー」に設定されている場合にのみ使用できます。

呼び出される操作を選択するときにキーとして使用される値を抽出するXPath式を指定します。

操作のマッピング

このオプションは、「選択アルゴリズム」オプションが「トランスポート・ヘッダー」、「WS-Addressing」または「SOAP本体タイプ」に設定されている場合にのみ使用できます。

「値」フィールドに各操作の値を指定します。この値が操作のキーとして使用されます。

終了後

「次へ」をクリックして、次のページでこのサービスの構成を続けるか、「最後」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

20.2.18 「メッセージ処理」ページ

「プロキシ・サービスの作成/プロキシ・サービスの編集 - メッセージ処理」ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

このページを使用して、プロキシ・サービスがメッセージ・コンテンツをストリーミングする必要があるかどうか、サービスが受信したリクエスト・メッセージをデコードする方法と送信したレスポンス・メッセージをエンコードする方法、およびプロキシ・サービスがメモリー内の添付ファイルのコンテンツをバッファリングするかわりにMIME添付ファイルをストリーミングする必要があるかどうかを指定します。

このページを使用して、プロキシ・サービスがメッセージ・コンテンツをメモリーに格納するかわりにストリーミングできるようにすることができます。該当する場合に、プロキシ・サービスがMTOM/XOP形式でインバウンド・メッセージをデコードおよび解析し、MTOM/XOP形式を使用してレスポンスを送信できるようにすることもできます。SOAP Message Transmission Optimization Mechanism (MTOM)は、バイナリ・データをWebサービスとの間で送受信する方法です。MTOMでは、XML-binary Optimized Packaging (XOP)を使用してバイナリ・データを転送します。

このページを使用して、プロキシ・サービスでMIME添付ファイルのコンテンツをディスク・ファイルに格納し、添付ファイルのコンテンツをメモリーにバッファリングせずにストリーミング形式でデータを処理することもできます。これにより、プロキシ・サービスで、大きな添付ファイルを堅牢かつ効率的に処理できます。

表20-17に、「プロキシ・サービスの作成/プロキシ・サービスの編集 - メッセージ処理」ページの使用方法を示します。

表20-17 「プロキシ・サービスの作成/プロキシ・サービスの編集 - メッセージ処理」ページ

オプション

説明

トランザクションが必要

Oracle Service Busによって、トランザクションのコンテキストでプロキシ・サービス・メッセージ・フローが実行されるようにするには、このオプションを選択します。グローバル・トランザクションがすでに存在する場合、(このオプションを選択しない場合でも)トランスポート・プロバイダによってトランザクションがリクエスト内に伝播されます。グローバル・トランザクションがない場合、メッセージ・フロー・ランタイムでトランザクションが開始されます。メッセージ・フロー・ランタイムがトランザクションを開始すると、トランザクション・コンテキストが開始した後で、サービス構成の評価または実行(たとえば、セキュリティ・チェックまたはWS-I評価)が行われ、メッセージ・フローが実行されます。この方法により、すべての処理と実行が確実にトランザクション・コンテキスト内で行われます。

メッセージ・フロー・ランタイムがトランザクションを開始する場合、サービス品質は「必ず1回」です。ただし、サービス・コールアウト・アクションまたはパブリッシュ・アクションのアウトバウンド・サービス品質パラメータが「ベスト・エフォート」(デフォルト)に設定されていると、Oracle Service Busはそれらのアクションをトランザクション・コンテキスト外で実行します。Oracle Service Busによってそれらのアクションを同じリクエスト・トランザクション・コンテキスト内で実行するためには、それらのアクションのサービス品質を「必ず1回」に設定します。

サービスでは、このオプションの設定に関係なく、メッセージ・パターン(同期、非同期、一方向)が保持されます。

トランザクションのタイムアウトに関しては、Oracle WebLogic Serverコンソールで構成されたグローバル・トランザクションのタイムアウト値が適用されます。

トランザクションでの例外

Oracle Service Busでは、失敗したトランザクションに対してシステム・エラー・ハンドラが起動されます。ユーザー構成のエラー・ハンドラでは、失敗したトランザクションの例外は捕捉できません。同期パターンの場合、トランザクションの例外はレスポンスを介して返されます。非同期パターンの場合、トランザクションはリクエスト内でコミットされるよう設計されており、例外はリクエスト・スレッドで返されます。

非同期パターンでは、リクエストでトランザクションがコミットした後でレスポンスのエラーが発生してもトランザクションには影響しません。

レスポンスに同じトランザクション

このオプションは、一方向の非同期メッセージ・パターンにのみ適用されます。

このオプションを選択すると、Oracle Service Busで、トランザクション・コンテキストがリクエスト・スレッドからレスポンス・スレッドに伝播されます。

このオプションを選択すると、メッセージ・パターンの最初の設定(非同期、一方向など)に関係なく、メッセージ・パターンは自動的に同期になります。

たとえば、一方向パターンなどのように、リクエスト内のビジネス・サービスでレスポンスの送信前にトランザクションのコミットが必要な場合などは、このオプションを使用しません。

トランザクションのタイムアウトに関しては、Oracle WebLogic Serverコンソールで構成されたグローバル・トランザクションのタイムアウト値が適用されます。

コンテンツのストリーミング

メッセージ・コンテンツをメモリーに格納せずにストリーミングする場合は、このオプションを選択します。

「有効」チェック・ボックスを選択し、次の項目を選択します。

- 中間コンテンツをメモリー(メモリー・バッファ)またはディスク・ファイル(ディスク・バッファ)のいずれにバッファするか

- 「圧縮」を有効にするかどうか

詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「bodyコンテンツのストリーミング」を参照してください。

XOP/MTOMサポート

Oracle Service Busでは、次のトランスポートを使用したXOP/MTOMがサポートされます。

- HTTP/S

- ローカル

- SB

「有効」チェック・ボックスを選択して、該当する場合にプロキシ・サービスがMTOM/XOP形式でインバウンド・メッセージをデコードおよび解析し、MTOM/XOP形式を使用してレスポンスを送信できるようにすることもできます。このオプションは、前のリリースの構成に基づくインポートされたプロキシ・サービスに対しては無効になります。

「XOP/MTOMサポート」が有効になっている場合は、$headerおよび$bodyメッセージ・コンテキスト変数のバイナリ・データを処理する方法を次のオプションから選択します。

- 参照によるバイナリ・データを含む: (デフォルト)インバウンド・リクエスト・メッセージで、$headerおよび$bodyメッセージ・コンテキスト変数の設定時にxop:Include要素をctx:binary-content要素で置換します。

- 値によるバイナリ・データを含む: インバウンド・リクエスト・メッセージで、$headerおよび$bodyメッセージ・コンテキスト変数の設定時にxop:Include要素を対応するバイナリ・データのBase64エンコードされたテキスト・バージョンで置換します。

バイナリ・データに直接アクセスする必要がある場合、たとえばJavaコールアウトまたはMessage Format Language (MFL)変換にデータを渡す場合は、「値によるバイナリ・データを含む」を使用します。

「値によるバイナリ・データを含む」は次の場合に使用します。

- MTOMとMTOM以外のサービスの間にブリッジを作成する場合。たとえば、MTOM対応でないサービスにルーティングされるリクエストを受信するMTOM対応のプロキシ・サービスについて考えます。このオプションを使用して、XML内のバイナリ・データをBase64エンコード形式で送信するために既存の標準に準拠できます。

- バイナリ・データのかわりにbase64binary要素の使用を必要とするXMLスキーマに照らしてメッセージのコンテンツを検証する場合

「XOP/MTOMサポート」がプロキシ・サービスに対して有効になっている場合は、すべてのインバウンド・メッセージがMTOM形式である必要はありません。かわりに、この設定では、MTOM形式のメッセージが到着したときに、プロキシ・サービスでそれを適宜処理する必要があることを指定します。「XOP/MTOMサポート」が有効になっていないプロキシ・サービスがMTOM形式のメッセージを受信した場合、サービスはメッセージを拒否し、ランタイム・エラーを発行することにも注意してください。

添付ファイル

Oracle Service Busでは、次のトランスポートを使用したMIME添付ファイルのストリーミングがサポートされます。

- HTTP/S

- ローカル(添付ファイルのストリーミングが有効になっているHTTPプロキシを通じてチェーンしている場合)

「添付ファイルのディスクへのページング」チェック・ボックスを選択すると、プロキシ・サービスがMIME添付ファイルをストリーミングできます。HTTPプロキシ・サービスに対して有効になっている場合、オプションはプロキシ・サービス・インバウンド・リクエスト・メッセージに適用されます。

「XOP/MTOMサポート」を選択した場合、「添付ファイル」オプションは、「XOP/MTOMサポート」で「参照によるバイナリ・データを含む」オプションを選択した場合にのみ使用できます。添付ファイルを含むペイロードはRFC 822に準拠している必要があることにも注意してください。具体的には、インターネット・ヘッダーを含む行は、CRLF(復帰改行)で終了する必要があります。

終了後

「次へ」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページでこの構成を確認し、保存します。

20.2.19 「サマリー」ページ

「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページは、プロキシ・サービスの作成および編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

このページを使用して、プロキシ・サービスの構成設定を保存する前に、表示または変更します。

設定を表示または変更するには、該当するカテゴリ(「全般的な構成」、「トランスポート構成」など)の行で「編集」をクリックします。編集できるページは、プロキシ・サービスを作成したときに構成したページによって異なります。すべてのページを次のリストに示します。

- 20.2.1項「「全般的な構成」ページ」

- 20.2.2項「「メッセージ・タイプの構成」ページ」

- 20.2.3項「「トランスポート構成」ページ」

- 20.2.4項「プロトコル固有のトランスポート構成ページ」

- 20.2.5項「「電子メール・トランスポート構成」ページ」

- 20.2.6項「「ファイル・トランスポート構成」ページ」

- 20.2.7項「「FTPトランスポート構成」ページ」

- 20.2.8項「「HTTPトランスポート構成」ページ」

- 20.2.9項「「JCAトランスポート構成」ページ」

- 20.2.10項「「JEJBトランスポート構成」ページ」

- 20.2.11項「「JMSトランスポート構成」ページ」

- 20.2.12項「「MQトランスポート構成」ページ」

- 20.2.13項「「SBトランスポート構成」ページ」

- 20.2.14項「「SFTPトランスポート構成」ページ」

- 20.2.15項「「Tuxedoトランスポート構成」ページ」

- 20.2.16項「「WSトランスポート構成」ページ」

- 20.2.17項「「操作選択構成」ページ」

- 20.2.18項「「メッセージ処理」ページ」

20.3 プロキシ・サービスに関連付けられたWSDLのエクスポート

WSDLベースのプロキシ・サービスのWSDLをエクスポートできます。これにより、IDEなどの外部ツールでWSDLを表示または変更できます。WSDLは、JARファイルとしてエクスポートされます。これは、システムの管理モジュールにあるリソースのエクスポート機能とは異なります。リソースのエクスポート機能は、2つのドメイン間でリソースを移動およびステージングする場合に使用します。29.2項「リソースのエクスポート」を参照してください。

始める前に

WSDLをセッション中にエクスポートすることはできません。3.1項「チェンジ・センターの使用」を参照してください。

WSDLをエクスポートするには

1. 次のいずれかの操作を行います。

- 「リソース・ブラウザ」→「プロキシ・サービス」を選択し、「プロキシ・サービスのサマリー」ページを表示します。

- 「プロジェクト・エクスプローラ」を選択して、WSDLとしてエクスポートするプロキシ・サービスを含むプロジェクトまたはフォルダを選択します。プロジェクト/フォルダ・ビュー・ページが表示されます。

2. WSDLをエクスポートするプロキシ・サービスの行の「WSDLのエクスポート」アイコンをクリックします。ダイアログ・ボックスが表示され、エクスポートされたJARファイルを開くか、保存するよう求められます。

3. ダイアログ・ボックスで、「開く」をクリックしてファイルを開くか、「保存」をクリックしてファイルを保存します。

20.4 プロキシ・サービスの検索

プロキシ・サービスを検索するには:

1. 次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、プロキシ・サービスを検索します。

- 「リソース・ブラウザ」→「プロキシ・サービス」を選択します。「プロキシ・サービスのサマリー」ページに、表20-18に示す情報が表示されます。プロパティの詳しい説明については、20.5項「プロキシ・サービス構成の編集」を参照してください。

2. リストの項目数を制限するために、名前またはパス、あるいはその両方でフィルタできます。「検索」にある「名前」フィールドと「パス」フィールドに、検索対象の名前、パスまたはその両方を入力し、「検索」ボタンをクリックします。
このパスは、プロジェクト名、およびプロキシ・サービスが格納されるフォルダの名前になります。

ワイルド・カード文字の*および?を使用できます。検索では大文字小文字は区別されます。

「すべて表示」をクリックすると、ドメイン内のすべてのプロキシ・サービスが表示されます。これにより、前回の検索で使用された検索パラメータがクリアされます。

表20-18 「プロキシ・サービスのサマリー」ページ

プロパティ

説明

名前

プロキシ・サービスの一意の名前。名前をクリックすると「プロキシ・サービスの表示 - 構成の詳細」ページが表示されます。

20.5項「プロキシ・サービス構成の編集」を参照してください。

パス

パスは、プロジェクト名、およびプロキシ・サービスが格納されるフォルダの名前です。たとえば、UDDI/Proxies/OSB_servicesです。

プロキシ・サービスのパスをクリックすると、そのサービスを含む 「プロジェクト・ビュー」ページまたは「フォルダ・ビュー」ページ が表示されます。

アクション

次のいずれかを行います。

- 「メッセージ・フローの編集」アイコンをクリックして、プロキシ・サービスのメッセージ・フローを編集します。22.1項「メッセージ・フローの表示と編集」を参照してください。

- 「テスト・コンソールの起動」アイコンをクリックして、サービスやトランスフォーメーションの設計の検証とテストに使用するテスト・コンソールを起動します。ビジネス・サービスの場合、テスト・コンソールは実行時(つまり、セッションをアクティブ化したとき)にのみ使用できます。トランスフォーメーションの場合、セッション内またはセッション外のどちらで作業しているかにかかわらず、テスト・コンソールを使用できます。33.1項「サービスのテスト」および33.2項「トランスフォーメーションのテスト」を参照してください。

- WSDLベースのビジネス・サービスの場合、「WSDLのエクスポート」アイコンが表示されます。このアイコンをクリックして、WSDLをエクスポートします。これにより、WSDLを、IDEなどの外部ツールで表示または変更できるようになります。
これは、システムの管理モジュールにあるリソースのエクスポート機能とは異なります。リソースのエクスポート機能は、2つのドメイン間でリソースを移動およびステージングする場合に使用します。4.28項「WSDLのエクスポート」を参照してください。

オプション

「削除」アイコンをクリックするとサービスが削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。詳細は、20.6項「プロキシ・サービスの削除」を参照してください。

20.5 プロキシ・サービス構成の編集

この項では、プロキシ・サービス構成の編集方法について説明します。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 表示または編集するプロキシ・サービスを検索します。20.4項「プロキシ・サービスの検索」を参照してください。

3. プロキシ・サービス名をクリックします。選択したプロキシ・サービスに関する構成情報が、 「プロキシ・サービスの表示 - 構成の詳細」ページ に表示されます。

4. 設定を表示または編集するには、次のいずれかを行います。

- 表示または変更するプロパティのカテゴリ名(「全般的な構成」、「トランスポート構成」など)の横にある「編集」アイコンをクリックします。編集できるページは、プロキシ・サービスを作成したときに構成したページによって異なります。
すべてのページのリストは、20.5.1項「「プロキシ・サービスの表示 - 構成の詳細」ページ」を参照してください。

- ページの下部にある「編集」をクリックして「プロキシ・サービスの作成/プロキシ・サービスの編集 - 全般的な構成」ページを表示します。このページは、このプロキシ・サービスを構成するための一連のページの最初のページです。

5. 20.1項「プロキシ・サービスの作成と構成」の説明に従って、表示または編集を続けます。

6. 「プロキシ・サービスの作成/プロキシ・サービスの編集 - サマリー」ページで「保存」をクリックし、現在のセッションでの更新をコミットします。

7. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

20.5.1 「プロキシ・サービスの表示 - 構成の詳細」ページ

「プロキシ・サービスの表示 - 構成の詳細」ページには、プロキシ・サービスの構成の詳細が表示されます。表20-19に、このページに表示されるすべてのプロパティを示します。(表示されるプロパティは、プロキシ・サービスの詳細によって異なります。)

このページでリストしたカテゴリは、20.2項「プロキシ・サービスの作成/編集 - ページ・リファレンス」で説明されているように、プロキシ・サービス構成の作成および編集に使用したプロキシ・サービスの作成/プロキシ・サービスの編集の各ページに対応しています。

カテゴリ名の横にある「編集」リンクをクリックすると、関連する構成ページが表示されます。

表20-19 プロキシのサービスのビュー: 「構成の詳細」ページ

プロパティ

説明

最終更新者

このプロキシ・サービスを作成したか、構成にインポートしたユーザー。

最終更新日

ユーザーがこのプロキシ・サービスを作成したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このプロキシ・サービスが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。

参照元

このプロキシ・サービスを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。

説明

このプロキシ・サービスの説明(説明が存在する場合)。

全般的な構成

20.2.1項「「全般的な構成」ページ」で構成されたプロパティを示します。

メッセージ・タイプの構成

20.2.2項「「メッセージ・タイプの構成」ページ」で構成されたプロパティを示します。

トランスポート構成

20.2.3項「「トランスポート構成」ページ」で構成されたプロパティを示します。

電子メール・トランスポート構成

20.2.5項「「電子メール・トランスポート構成」ページ」で構成されたプロパティを示します。

ファイル・トランスポート構成

20.2.6項「「ファイル・トランスポート構成」ページ」で構成されたプロパティを示します。

FTPトランスポート構成

20.2.7項「「FTPトランスポート構成」ページ」で構成されたプロパティを示します。

HTTPトランスポート構成

20.2.8項「「HTTPトランスポート構成」ページ」で構成されたプロパティを示します。

JCAトランスポート構成

20.2.9項「「JCAトランスポート構成」ページ」で構成されたプロパティを示します。

JMSトランスポート構成

20.2.11項「「JMSトランスポート構成」ページ」で構成されたプロパティを示します。

MQトランスポート構成

20.2.12項「「MQトランスポート構成」ページ」で構成されたプロパティを示します。

SBトランスポート構成

20.2.13項「「SBトランスポート構成」ページ」で構成されたプロパティを示します。

SFTPトランスポート構成

20.2.14項「「SFTPトランスポート構成」ページ」で構成されたプロパティを示します。

Tuxedoトランスポート構成

20.2.15項「「Tuxedoトランスポート構成」ページ」で構成されたプロパティを示します。

WSトランスポート構成

20.2.16項「「WSトランスポート構成」ページ」で構成されたプロパティを示します。

メッセージ・レベル・セキュリティ構成

20.5.3項「プロキシ・サービス・セキュリティ・ページ」で構成されたプロパティを示します。

操作選択構成

20.2.17項「「操作選択構成」ページ」で構成されたプロパティを示します。

メッセージ処理構成

20.2.18項「「メッセージ処理」ページ」で構成されたプロパティを示します。

20.5.2 プロキシ・サービス・ポリシー・ページ

「プロキシ・サービスの表示 - ポリシー」ページは、プロキシ・サービスの編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

このページを使用して、サービス・タイプがWSDLベースのXML Webサービス、メッセージング・サービス、任意のSOAPサービスまたは任意のXMLサービスであるプロキシ・サービスのポリシー設定を構成します。表20-20に、ページの使用方法を示します。Oracle WSMポリシーをWSDLベースのXML Webサービス、メッセージング・サービス、任意のXMLサービスのプロキシ・サービスで使用するには、プロトコルをHTTPに設定する必要があります。

WSDLベースのサービスでは、サービスにバインドされているWLS 9.2ポリシーは、有効なWSDL内に置かれます(インライン化)。抽象ポリシーは、インライン化される前に前処理されます。Oracle WSMポリシーは参照によってバインドされ、有効なWSDL内にインライン化されません。

表20-20 「プロキシ・サービス - ポリシー」ページ

オプション

編集するには

サービス・ポリシー構成

「サービス・ポリシー構成」フィールドのオプションは次のとおりです。

- OWSMポリシー・ストアから - ポリシーは、Oracle Enterprise Managerで管理される中央のOWSMポリシー・ストアに定義されています。これらのポリシーは、WS-Security 1.0/ 1.1、SAML 1.1/2.0、KerberosToken Profileおよびその他の業界標準をサポートしています。
このオプションを使用して、事前定義されたリストのポリシーを追加できます。「サービス・レベル・ポリシー」の下の「追加」をクリックします。必要に応じてフィルタ処理を使用して、必要なポリシーを探します。プロキシ・サービスの場合、サービス・ポリシーのみが表示されます。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle Web Services ManagerによるOracle Service Busの保護に関する項を参照してください。

- WSDLから - このオプションは、サービス・ポリシーがサービスの基となっているWSDLに関連付けられている場合に選択します。これらのポリシーは、WS-Security 1.0、SAML 1.1およびその他の業界標準をサポートしています。
このオプションを使用すると、WSDLからのリクエスト・ポリシーおよびレスポンス・ポリシーを表示(読取り専用)できます。

- 事前定義ポリシーまたはWS-Policyリソースから - 管理コンソールからサービス・レベル・ポリシー、オペレーション・レベル・ポリシー(リクエストおよびレスポンスの両方のメッセージに適用するポリシー)、リクエスト・ポリシー、およびレスポンス・ポリシーを追加するには、このオプションを選択します。
ポリシーは、Oracle WebLogic Serverに事前定義されているか、またはWS-PolicyリソースでOracle Service Busにユーザー定義されています。これらのポリシーは、WS-Security 1.0、SAML 1.1およびその他の業界標準をサポートしています。

このオプションを使用すると、サービス、操作、リクエストおよびレスポンス・レベルでポリシーを追加できます。リストからポリシーを選択するには、適切な項目の下で「追加」をクリックします。

注意: ポリシー・バインディング・モデルは相互排他的です。サービスでは1種類のポリシーのみを使用する必要があります。サービスに直接ポリシーをバインドすると、すべてのWSDLベースのポリシーは無視されます。

終了後

「更新」をクリックしてこの構成を保存するか、「リセット」をクリックして変更を元に戻します。

20.5.3 プロキシ・サービス・セキュリティ・ページ

「プロキシ・サービスの表示 - セキュリティ」ページは、プロキシ・サービスの編集(20.1項「プロキシ・サービスの作成と構成」および20.5項「プロキシ・サービス構成の編集」を参照)に関する一連のページの1つです。

このページを使用して、プロキシ・サービスのセキュリティ・レベルを構成します。

このページで使用できるフィールドは、プロキシ・サービスでのポリシーの使用法によって異なります。たとえば、プロキシ・サービスでOracle WSMポリシー(推奨)を使用する場合、「ポリシーのオーバーライド」が「セキュリティ」ページに表示されます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle Web Services ManagerによるOracle Service Busの保護に関する項を参照してください。

WLS9.2ポリシーの場合、カスタム・ユーザー名/パスワードとカスタム・トークンの構成は、ほぼ同じです。どちらの場合も、Oracle Service Busで必要な情報を検索できるようにするためのXPath式を指定します。これらのXPath式のルートは次のとおりです。

- サービスのバインディングがAnySOAPまたはWSDL-SOAPの場合、soap-env:Envelope/soap-env:Headerを使用します。

- サービスのバインディングがSOAPベースでない場合、soap-env:Bodyを使用します。

すべてのXPath式は有効なXPath形式である必要があります。使用するネームスペースをXPath式で宣言するには、次のようなXPathの"declare namespace"構文を使用します。

declare namespace
ns='http://webservices.example.com/MyExampleService';)

表20-21に、「プロキシ・サービスの表示 - セキュリティ構成」ページについて示します。

表20-21 プロキシのサービス - セキュリティの構成ページのビュー

オプション

編集するには

サービス・キー・プロバイダ

必要に応じて、サービス・キー・プロバイダのパス(プロジェクト/フォルダ)と名前を入力するか、「参照」をクリックして、「サービス・キー・プロバイダの選択」ページから選択します。

詳細は、第18章「サービス・キー・プロバイダ」を参照してください。サービス・キー・プロバイダの作成方法については、18.2項「サービス・キー・プロバイダの追加」を参照してください。

ポリシーのオーバーライド

Oracle WSMポリシーでは、許可されているオーバーライドを必要なだけ指定します。

詳細は、表20-20および『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle Web Services ManagerによるOracle Service Busの保護に関する項を参照してください。

WS-Securityヘッダーの処理

クライアントのリクエストにWS-Securityセキュリティ・ヘッダーが含まれている場合、このヘッダーを処理するかどうかを指定します。

- 「はい」を選択すると、アクティブな仲介のシナリオで、クライアントは、WS-Securityをリクエスト・メッセージやレスポンス・メッセージに適用します。プロキシ・サービスが、セキュリティ・ヘッダーを処理してWS-Securityポリシーを適用します。
このオプションは、セキュリティ・ポリシーを持つWSDLにプロキシ・サービスが基づいている場合、または、「サービス・ポリシー構成」ページでポリシーをサービスに添付する場合に、自動的に「はい」に設定されます。

- 「いいえ」を選択すると、WS-Securityパススルーのシナリオで、クライアントは、WS-Securityをリクエスト・メッセージやレスポンス・メッセージに適用します。プロキシ・サービスは、セキュリティ・ヘッダーを処理しません。そのかわりに、セキュアなリクエスト・メッセージをそのままビジネス・サービスに渡します。

トランスポート・アクセス制御

すべてのプロキシ・サービスに対して、トランスポート・レベルのポリシーを作成することができます。トランスポート・レベルのポリシーでは、クライアントがプロキシ・サービスとの接続を確立しようとしたときにセキュリティ・チェックが適用されます。トランスポート・レベルのポリシーのリストに入っているユーザーからのリクエストだけが続行を許可されます。

メッセージ・アクセス制御

メッセージ・レベルのアクセス制御ポリシーでは、メッセージ・レベル・セキュリティを持つプロキシ・サービスをクライアントが呼び出そうとしたときに、セキュリティ・チェックが適用されます。次のような場合はメッセージ・レベルのアクセス制御ポリシーを作成できます。

- プロキシ・サービスがアクティブなWeb Serviceセキュリティ仲介者である場合(WS-Securityヘッダーを処理する)。

- プロキシ・サービスが、このページでカスタム認証を設定したプロキシ・サービスの場合。

メッセージ・レベルのポリシーのリストに入っているユーザーだけが、その操作を呼び出せます。

認証タイプ

次のいずれかを選択します。

- プロキシ・サービスでカスタム認証を使用しない場合、「なし」を選択します。

- 「カスタム・ユーザー名とパスワード」
このオプションを選択する場合、「ユーザー名XPath」フィールドおよび「ユーザー・パスワードXPath」フィールドにも値を入力する必要があります。

- カスタム・トークン
このオプションを選択する場合、「トークン・タイプ」を選択し、「トークンXPath」フィールドにも値を入力する必要があります。

ユーザー名XPath

このオプションは、「カスタム認証設定」オプションが「カスタム・ユーザー名とパスワード」に設定されている場合にのみ使用できます。使用できる場合、このオプションは必須です。

XPath式としてユーザー名を入力します。

XPath式は、必要に応じて、メッセージ・ヘッダーまたはペイロードに対して評価されます。これにより、Oracle Service Busがカスタム認証用のユーザー名を取得できます。

ユーザー・パスワードXPath

このオプションは、「カスタム認証設定」オプションが「カスタム・ユーザー名とパスワード」に設定されている場合にのみ使用できます。使用できる場合、このオプションは必須です。

XPath式としてパスワードを入力します。

XPath式は、必要に応じて、メッセージ・ヘッダーまたはペイロードに対して評価されます。これにより、Oracle Service Busがカスタム認証用のパスワード値を取得できます。

トークン・タイプ

このオプションは、「カスタム認証設定」オプションが「カスタム・トークン」に設定されている場合にのみ使用できます。使用できる場合、このオプションは必須です。

リストからトークン・タイプを選択します。WebLogic Server IDアサーション・プロバイダに対して構成されているアクティブなトークン・タイプのみ使用できます。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のカスタム・トークンに対するIDアサーション・プロバイダの構成に関する項を参照してください。

トークンXPath

このオプションは、「カスタム認証設定」オプションが「カスタム・トークン」に設定されている場合にのみ使用できます。使用できる場合、このオプションは必須です。

XPath式を入力して、カスタム・トークンへのパスを指定します。Oracle Service Busは、必要に応じて、メッセージ・ヘッダーまたはペイロードに対して「トークンXPath」式を評価して、カスタム認証用のトークンを取得します。

コンテキスト・プロパティ

(オプション) 1つまたは複数のコンテキスト・プロパティを指定して、認証(「カスタム・ユーザー名とパスワード」)またはIDアサーション(「カスタム・トークン」)セキュリティ・プロバイダに追加コンテキスト情報を渡します。

コンテキスト・プロパティは、WebLogic Security Frameworkに追加情報を渡して、セキュリティ・プロバイダがコンテキスト情報を取得できるようにする手段(ContextHandlerインタフェース)を提供します。使用可能な値については、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のセキュリティ・プロバイダに渡されたコンテキスト・プロパティに関する項を参照してください。

「プロパティ名」にリテラル文字列を入力し、「値セレクタ」に有効なXPath式を入力します。(XPath式にリテラル文字列を使用することも可能です。)

XPath式は、カスタム・トークンまたはカスタム・ユーザー名/パスワードで使用されているのと同じメッセージ部に対して評価されます。つまり、「値セレクタ」XPath式は、SOAPベースのプロキシ・サービスの場合はヘッダーに関して評価され、非SOAPベースのプロキシ・サービスの場合はペイロードに関して評価されます。

XPath式は、実行時に評価され、プロパティの値を生成します。ContextHandlerは名前と値のリストであるため、セキュリティ・プロバイダが検索対象の名前を認識している必要があります。そのため、セキュリティ・プロバイダがこれらのユーザー定義プロパティのいずれかの値を要求した場合にのみXPath式は評価されます。

「プロパティの追加」をクリックして、このコンテキスト・プロパティを追加します。複数のコンテキスト・プロパティを追加することができます。

終了後

「更新」をクリックしてこの構成を保存するか、「リセット」をクリックして変更を元に戻します。

20.6 プロキシ・サービスの削除

プロキシ・サービスを削除すると、Oracle Service Busがコントロールするリポジトリから、および適切な認可プロバイダから参照されたすべてのACLのプロキシが削除されます。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「プロキシ・サービス」を選択し、「プロキシ・サービスのサマリー」ページを表示します。

3. 削除するプロキシ・サービスの行の「削除」アイコンをクリックします。プロキシ・サービスは現在のセッションで削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

21 プロキシ・サービス: アクション

この章では、ルート、パブリッシュ、サービス・コールアウト、トランスポート・ヘッダー、条件付きアクション、エラー・アクションおよびメッセージ変換アクションなど、Oracle Service Bus管理コンソールを使用したメッセージ・フローへの異なるタイプのアクションの追加方法について説明します。

アクションとは、パイプラインを流れるメッセージの定義方法を定義するパイプライン・ステージ、エラー・ハンドラ・ステージ、ルート・ノード、およびブランチ・ノードの要素です。

この章の内容は次のとおりです。

- 21.1項「メッセージ・フローでのアクションの追加と編集」

- 21.2項「パブリッシュ・アクションの追加」

- 21.3項「パブリッシュ表アクションの追加」

- 21.4項「動的パブリッシュ・アクションの追加」

- 21.5項「ルーティング・オプション・アクションの追加」

- 21.6項「サービス・コールアウト・アクションの追加」

- 21.7項「トランスポート・ヘッダー・アクションの追加」

- 21.8項「ルート・ノードへの動的ルーティングの追加」

- 21.9項「ルート・ノードへのルーティング・アクションの追加」

- 21.10項「ルート・ノードへのルーティング表の追加」

- 21.11項「For Eachアクションの追加」

- 21.12項「If...Thenアクションの追加」

- 21.13項「エラーの生成アクションの追加」

- 21.14項「返信アクションの追加」

- 21.15項「再開アクションの追加」

- 21.16項「スキップ・アクションの追加」

- 21.17項「割当てアクションの追加」

- 21.18項「削除アクションの追加」

- 21.19項「挿入アクションの追加」

- 21.20項「Javaコールアウト・アクションの追加」

- 21.21項「MFL変換アクションの追加」

- 21.22項「名前変更アクションの追加」

- 21.23項「置換アクションの追加」

- 21.24項「検証アクションの追加」

- 21.25項「アラート・アクションの追加」

- 21.26項「ログ・アクションの追加」

- 21.27項「レポート・アクションの追加」

21.1 メッセージ・フローでのアクションの追加と編集

アクションとは、プロキシ・サービスを流れるメッセージの定義方法を定義するパイプライン・ステージ、エラー・ハンドラ・ステージ、ルート・ノード、およびブランチ・ノードの要素です。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

また、パイプライン・ステージ、ルート・ノード、およびオプションでエラー・ハンドラ・ステージをすでに追加していることも前提としています。次を参照してください。

- 22.4項「メッセージ・フローへのパイプライン・ペア・ノードの追加」

- 22.7項「パイプラインへのステージの追加」

- 24.2項「プロキシ・サービス・エラー・ハンドラの追加」

メッセージ・フローにアクションを追加するには

1. アクションを追加するコンポーネントを選択します。たとえば、「ステージ」アイコンをクリックして、「ステージの編集」をクリックするか、または、「ルート・ノード」アイコンをクリックし、「ルートの編集」をクリックします。

2. ステージまたはルート・ノードにすでに追加しているアクションに応じて、次のいずれかを行います。

- まだアクションを何も追加していない場合、「ステージ構成の編集」ページには、「アクションの追加」アイコンのみが表示されます。そのアイコンをクリックして、アクション・タイプを選択します。

- すでに1つ以上のアクションを追加している場合、「ステージ構成の編集」ページには、「パブリッシュ」アイコンまたは「ルーティング」アイコンなどの、それらのアクションを表す1つ以上のアイコンが表示されます。該当するアイコンをクリックし、「アクションの追加」をクリックして、アクション・タイプを選択します。

- パブリッシュ・アクションのリクエストおよびレスポンス・アクションなどの一部のアクションには、アクションを割り当てるための「アクションの追加」リンクが含まれています。そのアイコンをクリックして、アクション・タイプを選択します。

メッセージ・フローのアクションは任意の組合せで連鎖できます。

メッセージ・フローに構成できるアクションを表21-1から表21-4に示します。

表21-1 メッセージ・フロー - 通信アクション

アクション

説明

詳細情報

動的にパブリッシュ

Xquery式によって識別されたサービスにメッセージをパブリッシュします。

21.4項「動的パブリッシュ・アクションの追加」

パブリッシュ

静的に指定されたサービスにメッセージをパブリッシュします。

21.2項「パブリッシュ・アクションの追加」

パブリッシュ表

ゼロまたはそれ以上の静的に指定されたサービスにメッセージをパブリッシュします。切替え式の条件ロジックを使用して、どのサービスをパブリッシュに使用するか実行時に決定します。

21.3項「パブリッシュ表アクションの追加」

ルーティング・オプション

アウトバウンド・リクエストのURI、サービスの品質、モード、再試行パラメータ、メッセージ優先度の各プロパティの一部またはすべてを変更します。

21.5項「ルーティング・オプション・アクションの追加」

サービス・コールアウト

Oracle Service Busに登録済のプロキシ・サービスまたはビジネス・サービスの同期(ブロッキング)コールアウトを構成します。

21.6項「サービス・コールアウト・アクションの追加」

トランスポート・ヘッダー

メッセージのトランスポート・ヘッダーの値を設定します。

21.7項「トランスポート・ヘッダー・アクションの追加」

動的ルーティング

XQueryリソースで使用できるルーティング情報に基づいて、メッセージ・ルートを割り当てます。

21.8項「ルート・ノードへの動的ルーティングの追加」

ルーティング

メッセージのターゲット・サービスを指定し、ターゲット・サービスへのメッセージのルーティング方法を構成します。

21.9項「ルート・ノードへのルーティング・アクションの追加」

ルーティング表

切替え式の条件表に含まれた一連のルートを割り当てます。これは、単一のXQuery式の結果に基づいて、異なるルートが選択されます。

21.10項「ルート・ノードへのルーティング表の追加」

表21-2 メッセージ・フロー - フロー制御アクション

アクション

説明

詳細情報

For each

値のシーケンスを反復処理し、アクションのブロックを実行します。

21.11項「For Eachアクションの追加」

If...Then

XQuery式のブール結果に基づいて、1つのアクションまたは一連のアクションを条件付きで実行します。

21.12項「If...Thenアクションの追加」

エラーの生成

指定されたエラー・コード(文字列)と記述を含む例外を発生させます。

21.13項「エラーの生成アクションの追加」

返信

呼出し元に即時返信を送信します。

21.14項「返信アクションの追加」

再開

エラー・ハンドラによってエラーが処理された後、メッセージ・フローを再開します。

21.15項「再開アクションの追加」

スキップ

実行時に現在のステージの実行がスキップされて、処理がメッセージ・フローの次のステージに進むように指定します。

21.16項「スキップ・アクションの追加」

表21-3 メッセージ・フロー - メッセージ処理アクション

アクション

説明

詳細情報

割当て

コンテキスト変数にXQuery式の結果を割り当てます。

21.17項「割当てアクションの追加」

削除

XPath式で指定されたコンテキスト変数または一連のノードを削除します。

21.18項「削除アクションの追加」

挿入

XPath式で選択したノードを基準として特定された場所にXQuery式の結果を挿入します。

21.19項「挿入アクションの追加」

Javaコールアウト

パイプラインからJavaメソッドを呼び出します。

21.20項「Javaコールアウト・アクションの追加」

MFL変換

パイプラインで非XMLからXML、またはXMLから非XMLに変換します。

21.21項「MFL変換アクションの追加」

名前変更

要素のコンテンツを変更せずに、XPath式で選択した要素の名前を変更します。

21.22項「名前変更アクションの追加」

置換

XPath式で指定されたノードまたはノードのコンテンツを置き換えます。

21.23項「置換アクションの追加」

検証

XMLスキーマ要素またはWSDLリソースに対して、XPath式で選択した要素を検証します。

21.24項「検証アクションの追加」

表21-4 メッセージ・フロー - レポート・アクション

アクション

説明

詳細情報

アラート

パイプラインのメッセージ・コンテキストに基づいて、アラート通知を送信します。

21.25項「アラート・アクションの追加」

ログ

ログに記録するメッセージを作成します。

21.26項「ログ・アクションの追加」

レポート

プロキシ・サービスのメッセージ・レポートを有効にします。

21.27項「レポート・アクションの追加」

3. アクションを追加したら、表21-5に示すように、さらにステージまたはルート・ノードのアクションを構成できます。

表21-5 ステージ構成の編集タスク

内容

手順

アクションの削除

該当するアイコンを選択してから、「このアクションを削除」をクリックします。

アクションを下に移動する(降格する)

該当するアイコンを選択してから、「アクションを下に移動」をクリックします。アクションがこのステージに含まれる次のアクションの下に移動します。

このオプションは、ステージに2つ以上のアクションが含まれる場合にのみ表示されます。

アクションを上に移動する(昇格する)

該当するアイコンを選択してから、「アクションを上に移動」をクリックします。アクションがこのステージに含まれる前のアクションの上に移動します。

このオプションは、ステージに2つ以上のアクションが含まれる場合にのみ表示されます。

アクションの切取り

該当するアイコンを選択してから、「切取り」をクリックします。

アクションのコピー

該当するアイコンを選択してから、「コピー」をクリックします。

切り取りまたはコピーしたアクションを貼り付ける

該当するアイコンを選択してから、「アクションの貼付け」をクリックします。

アクションのコピーと貼付けは、ステージ全体で可能です。ただし、「割当て」アクション、「置換」アクション、または「挿入」アクションの場合は、次の点に注意してください。

- ソース(コピー)ステージの変数関連およびユーザー定義のすべてのネームスペースは、ターゲット(貼付け)ステージではユーザー定義のネームスペースとして追加されます。

- 重複するネームスペース(ソース・ステージおよびターゲット・ステージ両方で同一のネームスペース)はコピーされません。

- 競合するネームスペース(同じ接頭辞を使用しているがURIの異なるネームスペース宣言)はコピーされます。構成の保存は可能でありますが、ステージBの競合するネームスペース宣言を削除しないかぎり、アクティブ化することはできません。

ステージの検証

「ステージ構成の編集」ページで、「検証」をクリックして、そのステージで構成したすべてのアクションを検証します。

4. 「保存」をクリックして、現在のセッションで更新をコミットします。

5. 22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、メッセージ・フローの作成を続けます。

6. 「保存」をクリックして、現在のセッションで更新をコミットします。

7. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

21.2 パブリッシュ・アクションの追加

静的に指定された、メッセージのターゲット・サービスを指定し、メッセージのパッケージおよびサービスへの送信方法を構成するには、パブリッシュ・アクションを使用します。

パブリッシュの動作の詳細は37.4項「メッセージ・フローでのトランスフォーメーションの実行」を参照してください。

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 「アクションの追加」→「通信」→「パブリッシュ」を選択します。

3. 「サービス」をクリックします。「サービスの選択」ページが表示されます。

4. リストからサービスを選択してから、「発行」をクリックします。これがメッセージのターゲット・サービスとなります。

5. サービスの操作がすでに定義されている場合、「操作」リストから選択して、呼び出す操作を指定できます。

6. アウトバウンド処理をインバウンド処理と同じにする場合、「インバウンド操作のアウトバウンドでの使用」チェックボックスを選択します。

7. メッセージのパッケージとサービスへの送信方法を構成するために、「リクエスト・アクション」フィールドで「アクションの追加」をクリックします。その後で、サービスと関連付けるアクションを選択します。複数のアクションを追加することも可能です。21.1項「メッセージ・フローでのアクションの追加と編集」を参照してください。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.3 パブリッシュ表アクションの追加

ゼロまたはそれ以上の静的に指定されたサービスにメッセージをパブリッシュするには、パブリッシュ表アクションを使用します。切替え式の条件ロジックを使用して、どのサービスをパブリッシュに使用するか実行時に決定します。

パブリッシュの動作の詳細は37.4項「メッセージ・フローでのトランスフォーメーションの実行」を参照してください。

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 「アクションの追加」→「通信」→「パブリッシュ表」を選択します。

3. 「式」をクリックします。XQuery式エディタ・ページが表示されます。実行時にルーティングの決定を行う値を返すXQuery式を作成します。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

4. 「演算子」リストから、比較演算子を選択します。その後で、隣のフィールドに、XQuery式から返される値が評価される対象の値を入力します。

5. 「サービス」をクリックして、指定した値の式による評価がtrueの場合にメッセージをパブリッシュするサービスを選択します。「サービスの選択」ページが表示されます。

6. リストからサービスを選択してから、「発行」をクリックします。これがメッセージのターゲット・サービスとなります。

7. サービスの操作がすでに定義されている場合、起動リストから選択して、呼び出す操作を指定できます。

8. アウトバウンド処理をインバウンド処理と同じにする場合、「インバウンド操作のアウトバウンドでの使用」チェックボックスを選択します。

9. メッセージのパッケージとサービスへの送信方法を構成するために、「リクエスト・アクション」フィールドで「アクションの追加」をクリックし、サービスと関連付ける1つ以上のアクションを選択します。追加するアクションのタイプの詳細は、21.1項「メッセージ・フローでのアクションの追加と編集」を参照してください。

10. 新しいケースを挿入するには、「ケース」アイコンをクリックし、「新しいケースの挿入」を選択します。

11. 新しいケースについて、ステップ4 - 8を繰り返します。

12. ビジネス・ロジックで指定されているようにケースを追加します。

13. シーケンス内に定義されている最後のケースの「ケース」アイコンをクリックし、「デフォルト・ケースの挿入」を選択して末尾にデフォルト・ケースを追加します。

14. デフォルト・ケースを構成します。このケースの構成では、それ以前のケースが満たされていない場合のルーティングの動作を指定します。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.4 動的パブリッシュ・アクションの追加

XQuery式によって指定されたサービスに対してメッセージをパブリッシュするには、動的パブリッシュ・アクションを使用します。

パブリッシュの動作の詳細は37.4項「メッセージ・フローでのトランスフォーメーションの実行」を参照してください。

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「通信」→「動的にパブリッシュ」を選択します。

3. 「式」をクリックします。

4. XQuery式エディタで、XQuery式を入力するか、次と同様の結果となるXQueryリソースを選択します。

<ctx:route>
<ctx:service isProxy="false">project/folder/businessservicename</ctx:service>
<ctx:operation>foo</ctx:operation>
</ctx:route>

注意:
プロキシ・サービスが呼び出されている場合は、isProxyをtrueに設定します。ビジネス・サービスが呼び出されている場合は、isProxyをfalseに設定します。
operation要素は省略可能です。

5. 「保存」をクリックします。

6. 「リクエスト・アクション」フィールドの「アクションの追加」をクリックしてアクションを追加した上で、そのサービスに関連付けるアクションを選択します。複数のアクションを追加することも可能です。追加できるアクションのタイプの詳細は、21.1項「メッセージ・フローでのアクションの追加と編集」のアクションの表を参照してください。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.5 ルーティング・オプション・アクションの追加

$outboundのアウトバウンド・リクエストのURI、サービスの品質、モード、および再試行パラメータの一部またはすべてを変更するには、ルーティング・オプション・アクションを使用します。これらのプロパティは、$outbound上の割り当て、挿入、置換、または削除アクションで変更できますが、ルーティング・オプションを使用すると、XPath、XQuery、または$outboundコンテキスト変数の構造を理解していなくてもこのタスクを実行できます。

ルーティング・オプションのアクションはコンテキスト変数$outboundが有効な場合にのみ使用できます。次のアクションに追加できます。

- パブリッシュ

- 動的にパブリッシュ

- パブリッシュ表

- サービス・コールアウト

- ルーティング

- 動的ルーティング

- ルーティング表

ルーティングの詳細は、第37章「Oracle Service Busでのメッセージ・フローの作成」を参照してください。

ルーティング・オプション・アクションを構成する手順:

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「通信」→「ルーティング・オプション」を選択します。

3. 次の手順のいずれか、またはすべてを実行します。

- アウトバウンド・メッセージのURIを設定する場合: 「URI」を選択して、XQuery式エディタをクリックします。URIを返す式を入力します。これで呼び出されたサービスのURIがオーバーライドされます。

注意:
別のプロキシ・サービスにルーティングする場合は、URIのオーバーライドは無効です。

- サービス品質要素を設定する場合: 「サービス品質」を選択して、リストで「サービス品質」オプションを選択します。これで、自動計算されたデフォルトがオーバーライドされます。

- モードを設定するには、「モード」を選択して、リストから「リクエスト」または「リクエスト-レスポンス」を選択します。

注意:
これは、通常、呼び出されたサービスのインタフェースに基づいて、自動的に設定されています。Any SoapまたはAny XMLサービスなどでは、設定されていない場合もあります。

- 再試行間隔を設定する場合: 「再試行間隔」を選択して、再試行の間隔を秒単位で指定します。これで呼び出されたサービスで構成されたデフォルトがオーバーライドされます。

- 再試行回数を設定する場合: 「再試行回数」を選択して、アクションを中断するまでの再試行回数を指定します。これで呼び出されたサービスで構成されたデフォルトがオーバーライドされます。

- メッセージの優先度を設定する場合: 「優先度」を選択して、XQuery式エディタをクリックします。正の整数を返す式を入力します。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.6 サービス・コールアウト・アクションの追加

Oracle Service Busに登録済のプロキシ・サービスまたはビジネス・サービスの同期(ブロッキング)コールアウトを構成するには、サービス・コールアウト・アクションを使用します。

サービス・コールアウト・アクションの詳細は37.5項「サービス・コールアウト・メッセージの作成」を参照してください。

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「通信」→「サービス・コールアウト」を選択します。

3. 「サービス」をクリックします。サービス・ブラウザが表示されます。

4. 登録済のプロキシ・サービスまたはビジネス・サービスのリストでサービスを選択し、「発行」をクリックします。

5. 前述のステップ3で選択したサービスがWSDLベースであり、サービスで呼び出せる操作がある場合、これらの操作は操作の呼出しリストに一覧表示されます。サービスで呼び出す操作を選択します。

注意:
様々な理由からOracle Service Busで必要とする操作を選択すると、選択した操作のみが呼び出されることは保証されません。たとえば、操作Aを選択した場合でも、メッセージに操作Bの呼び出しが含まれていると、操作Bも呼び出されます。

6. 次のいずれかのオプションを選択して、リクエスト・メッセージとレスポンス・メッセージの構成方法を指定します。

- 「SOAP本体の構成」を選択して、SOAP本体を構成します。このオプションを選択すると、$bodyを直接使用できます。

注意:
このオプションでサポートしているSOAP-RPCエンコード形式は、ペイロードのパラメータやドキュメントを構成している場合はサポートされません。

- 「ペイロード・パラメータの構成」または「ペイロード・ドキュメントの構成」を選択して、ペイロードを構成します。

7. 以降の構成オプションは、選択したサービスの種類とそのサービスに対して選択した構成オプションによって異なります。
表21-6に、各オプションの手順を示します。

表21-6 サービス・コールアウトの構成オプション

オプション

手順

「SOAPリクエスト本体」および 「SOAPレスポンス本体」

これらのオプションを構成するには、次の手順を実行します。

- 「SOAPリクエスト本体」フィールドに、コールアウト・リクエストのSOAP本体要素のXMLを保持する変数の名前を入力します。

- 「SOAPレスポンス本体」フィールドに、レスポンスのSOAP本体要素のXMLがバインドされる変数の名前を入力します。

「SOAPリクエスト・ヘッダー」および 「SOAPレスポンス・ヘッダー」

これらのオプションを構成するには、次の手順を実行します。

- 「SOAPリクエスト・ヘッダー」フィールドに、コールアウト・リクエストのSOAPヘッダー要素のXMLを保持する変数の名前を入力します。
SOAPリクエスト・ヘッダーの入力ドキュメントは、<soap-env:Header>...</soap-env:Header>でラップする必要があります。

- 「SOAPレスポンス・ヘッダー」フィールドに、レスポンスのSOAPヘッダー(存在する場合)のXMLがバインドされる変数の名前を入力します。

「リクエスト・パラメータ」および 「レスポンス・パラメータ」

オプションを構成するには、次の手順を実行します。

- 「リクエスト・パラメータ」フィールドに、実行時に評価される、リクエスト・パラメータの値を指定する変数の名前を入力します。
入力変数にはコアのペイロード・ドキュメントだけを指定します。SOAPパッケージは、Oracle Service Busによって自動的に作成されます。そのため、入力ドキュメントを<soap-env:Body>...</soap-env:Body>でラップしません。

たとえば、このリクエスト・パラメータに使用されるbody入力変数を作成する場合は、$body(soap-env:Bodyラッパーが保持されます)ではなく、body/*(ラッパーsoap-env:Bodyを削除します)というXPath文を使用して、その変数のコンテンツを定義します。

- 「レスポンス・パラメータ」フィールドに、実行時にレスポンスを割り当てる変数の名前を入力します。

「リクエスト・ドキュメント」および 「レスポンス・ドキュメント」

これらのオプションを構成するには、次の手順を実行します。

- 「リクエスト・ドキュメント変数」フィールドに、リクエスト・ドキュメントを割り当てる変数の名前を入力します。
SOAPドキュメント・タイプのサービスの場合、サービスに送信されるSOAPメッセージの本文を作成する変数は、実行時に評価されます。任意のXMLサービスの場合、サービスに送信されるXMLメッセージの本文を作成する変数は、実行時に評価されます。

SOAPドキュメント・タイプのサービスおよび任意のXMLサービスの場合、入力変数にはコアのペイロード・ドキュメントだけを指定します。SOAPパッケージは、Oracle Service Busによって自動的に作成されます。そのため、入力ドキュメントを<soap-env:Body>...</soap-env:Body>でラップしません。

たとえば、このリクエスト・パラメータに使用されるbody入力変数を作成する場合は、$body(soap-env:Bodyラッパーが保持されます)ではなく、body/*(ラッパーsoap-env:Bodyを削除します)というXPath文を使用して、その変数のコンテンツを定義します。

メッセージ・サービスの場合、メッセージの本文を作成する変数は、サービスが想定するデータ型に基づいて評価されます。次の制限は、メッセージ・サービスで使用される変数に適用されます。

- バイナリ・データを受信するサービスの場合は、変数にctx:binary-content要素が必要です。

- MFLデータを受信するサービスの場合は、変数に同等のXMLデータが必要です。

- テキスト・データを受信するサービスの場合、変数は文字列になります。

- 「レスポンス・ドキュメント変数」フィールドに、実行時にレスポンス・ドキュメントを割り当てる変数の名前を入力します。

8. (オプション)1つ以上のトランスポート・ヘッダーを追加します。詳細は、21.7項「トランスポート・ヘッダー・アクションの追加」を参照してください。

注意:
指定するトランスポート・ヘッダーに加え、その他のヘッダーがOracle Service Busバインディング・レイヤーによって追加されます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージ・フローでのトランスポート・ヘッダーの構成に関する項を参照してください。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.7 トランスポート・ヘッダー・アクションの追加

メッセージのヘッダーの値を設定するには、トランスポート・ヘッダー・アクションを使用します。

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「通信」→「トランスポート・ヘッダー」を選択します。

3. トランスポート・ヘッダーの設定対象リストから、次のいずれかを選択して、どのメッセージ・コンテキストの場所を変更するかをランタイムに対して指定します。

- アウトバウンド・リクエスト - アウトバウンド・リクエスト(ルート、パブリッシュ、またはサービス・コールアウト・アクションでプロキシ・サービスによって送信されるメッセージ)のヘッダーの値を設定するには、このオプションを選択します。このヘッダー要素は、メッセージ・コンテキストの次の場所にあります。

$outbound/ctx:transport/ctx:request/tp:headers

- インバウンド・レスポンス - インバウンド・レスポンス(プロキシ・サービスがクライアントに返信するレスポンス・メッセージ)のヘッダーの値を設定するには、このオプションを選択します。このヘッダー要素は、メッセージ・コンテキストの次の場所にあります。

$inbound/ctx:transport/ctx:response/tp:headers

4. (オプション)すべてのヘッダーをインバウンド・メッセージとアウトバウンド・メッセージとの間でパススルーするには、「パイプラインを介してすべてのヘッダーを渡す」を選択します。ソース・ヘッダー・セットのすべてのヘッダーはターゲット・ヘッダー・セットにコピーされ、ターゲット・ヘッダー・セットの既存の値はすべて上書きされます。
ヘッダー固有のパス・スルー・オプションに関連してこのオプションを使用する方法の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージ・フローでのトランスポート・ヘッダーの構成に関する項を参照してください。

5. 追加する各ヘッダーについて、次の手順を行います。

1. 「トランスポート・ヘッダー」表で「ヘッダーの追加」をクリックして、ヘッダーを構成するためのフィールドを表示します。

2. 次のいずれかを実行して、ヘッダーを指定します。

- 「名前」列のリストから、ヘッダー名を選択します。リストには、事前定義されたすべてのターゲット・トランスポートのヘッダー名が含まれています(たとえば、HTTPトランスポートの場合はContent-Type、JMSトランスポートの場合はJMSCorrelationIDなど)。

- 「その他」フィールドにヘッダー名を入力します。ヘッダー名がこのサービスのトランスポート用に事前定義されたいずれかのヘッダーでない場合、そのヘッダーはトランスポート仕様の定義のとおりユーザー・ヘッダーになります。

3. 「アクション」列でいずれかのオプションを選択して、ヘッダーの値の設定方法を指定します。
ヘッダーを式に設定

このオプションを選択すると、XQuery式またはXSLT式を使用して、ヘッダーの値を設定できます。「text/xml」などの簡単な式にすることも、複雑なXQuery式またはXSLT式にすることもできます。

Oracle Service Busトランスポート・レイヤーでは、すべてのヘッダーのXML表現を文字列値として定義するため、式の結果は、ヘッダーの値が設定される前に文字列に変換されます。何も返さない式のヘッダーの値は、空の文字列に設定されます。式を使用してヘッダーを削除することはできません。

注意:
このアクションで指定できるヘッダー設定がすべて実行時に反映されるわけではありません。設定できる所定のトランスポートのヘッダーおよび実行時に反映されるヘッダー設定の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージ・フローでのトランスポート・ヘッダーの構成に関する項を参照してください。

ヘッダーの削除

リクエストまたはレスポンスのメタデータからヘッダーが削除されるように指定します。

インバウンド・リクエストからヘッダーをコピー(アウトバウンド・リクエストにトランスポート・ヘッダーを設定する場合)

または

アウトバウンド・レスポンスからヘッダーをコピー(インバウンド・レスポンスにトランスポート・ヘッダーを設定する場合)

このヘッダーがインバウンド・メッセージの同じ名前を持つ対応するヘッダーからアウトバウンド・メッセージに、またその逆に直接コピーされるように指定します。たとえば、アウトバウンド・リクエストのSOAPActionヘッダーを設定するには、「インバウンド・リクエストからヘッダーをコピー」を選択すると、ランタイムが$inboundのSOAPActionリクエスト・ヘッダーから値をコピーします。インバウンド・レスポンス・ヘッダーの場合、コピーするヘッダーのソースは、$outboundのレスポンス・ヘッダーです。

ソースに存在しないヘッダーに対してヘッダーのコピー・オプションが選択された場合、このオプションは無視され、このヘッダーのターゲットではアクションが実行されません。

「パイプラインを介してすべてのヘッダーを渡す」オプションに関連してこのオプションを使用する方法の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージ・フローでのトランスポート・ヘッダーの構成に関する項を参照してください。

6. 表にヘッダーを追加するには、「ヘッダー」アイコンをクリックし、「ヘッダーの追加」をクリックします。
この表を展開すると、別のトランスポート・ヘッダーの構成に使用できる新しい一連のオプションを含む追加の行が表示されます。この表には、必要な数のヘッダーを追加することができます。ランタイムでは、対応するXMLの生成時に、ネームスペースを宣言し、適切な順序でヘッダー要素を配置するため、表のヘッダーの順序を指定する必要はありません。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.7.1 アウトバウンドHTTPトランスポート・ヘッダーでのCookieの設定

HTTPメッセージ・フローでは、次の方法でトランスポート・ヘッダーにCookieを設定できます。

- 複雑なXML式を使用する(Oracle Service Busのデフォルト)

- 文字列式を使用する(サーバー起動オプションが必要)

21.7.1.1 複雑なXML式としてのCookieの設定

複雑なXML式を使用してCookieを設定する(Oracle Service Busのデフォルト・フォーマット)には、次の式の構文を使用して、アウトバウンド・リクエストのHTTP Cookieヘッダーの値を構成します。

<cookie-values xmlns="http://www.bea.com/wli/sb/transports/http">
<value>{fn:concat("cookie_name", "=", "cookie_value")}</value>
</cookie-values>

21.7.1.2 文字列式を使用したCookieの設定

アウトバウンド・リクエストで文字列を含むCookieヘッダーを設定するには、ドメインのstartWebLogicコマンドに次のオプションを追加する必要があります。

-Dcom.bea.osb.http.cookieAsNoComplexElement=true

このオプションを使用してサーバーを再起動した後、文字列式を使用してHTTP Cookieヘッダーを設定することができます。例:

$cookie_name = "cookie_value"

21.8 ルート・ノードへの動的ルーティングの追加

XQueryリソースで使用できるルーティング情報に基づいて、メッセージ・ルートを割り当てます。

これは終端アクションなので、このアクションの後に別のアクションを追加することはできません。ただし、このアクションには、リクエストとレスポンスのアクションを含めることができます。

ルーティングの詳細は、第37章「Oracle Service Busでのメッセージ・フローの作成」を参照してください。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

ルート・ノードに動的ルーティングを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 「ルート・ノード」アイコンをクリックして「ルートの編集」をクリックします。「ステージ構成の編集」ページが表示されます。

3. 「アクションの追加」アイコンをクリックして、「通信」→「動的ルーティング」を選択します。

4. 「式」をクリックします。XQuery式エディタが表示されます。

5. XQuery式エディタで、XQuery式を入力します。次のような結果になります。

<ctx:route>
<ctx:service isProxy='true'>{$service}</ctx:service>
<ctx:operation>{$operation}</ctx:operation>
</ctx:route>

注意:
プロキシ・サービスが呼び出されている場合は、isProxyをtrueに設定します。ビジネス・サービスが呼び出されている場合は、isProxyをfalseに設定します。

- サービス名は完全修飾サービス名です。

- 操作要素はオプションです。

6. 「保存」をクリックします。

7. 「リクエスト・アクション」フィールドの「アクションの追加」をクリックしてアクションを追加した上で、そのサービスに関連付けるアクションを選択します。複数のアクションを追加することも可能です。追加するアクションのタイプの詳細は、21.1項「メッセージ・フローでのアクションの追加と編集」のアクションの表を参照してください。

8. 「レスポンス・アクション」フィールドの「アクションの追加」をクリックしてアクションを追加した上で、そのサービスに関連付けるアクションを選択します。複数のアクションを追加することも可能です。追加するアクションのタイプの詳細は、21.1項「メッセージ・フローでのアクションの追加と編集」のアクションの表を参照してください。

9. 「保存」をクリックします。

10. 22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、メッセージ・フローの作成を続けます。

11. 「保存」をクリックして、現在のセッションで更新をコミットします。

12. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

21.9 ルート・ノードへのルーティング・アクションの追加

そのメッセージのターゲット・サービスを指定し、サービスへのメッセージのルーティング方法を構成します。

これは終端アクションなので、このアクションの後に別のアクションを追加することはできません。ただし、このアクションには、リクエストとレスポンスのアクションを含めることができます。

ルーティングの詳細は、第37章「Oracle Service Busでのメッセージ・フローの作成」を参照してください。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

ルート・ノードにルーティング・アクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 「ルート・ノード」アイコンをクリックして「ルートの編集」をクリックします。「ステージ構成の編集」ページが表示されます。

3. 「アクションの追加」アイコンをクリックして、「通信」→「ルーティング」を選択します。

4. 「サービス」をクリックします。サービス・ブラウザが表示されます。

5. リストからサービスを選択してから、「発行」をクリックします。そのサービスがデフォルトのリンクのかわりに表示されます。

6. アウトバウンド処理をインバウンド処理と同じにする場合、「インバウンド操作のアウトバウンドでの使用」チェックボックスを選択します。

7. 「リクエスト・アクション」フィールドの「アクションの追加」をクリックしてアクションを追加した上で、そのサービスに関連付けるアクションを選択します。複数のアクションを追加することも可能です。追加できるアクションのタイプの詳細は、21.1項「メッセージ・フローでのアクションの追加と編集」のアクションの表を参照してください。

8. 「レスポンス・アクション」フィールドの「アクションの追加」をクリックしてアクションを追加した上で、そのサービスに関連付けるアクションを選択します。複数のアクションを追加することも可能です。追加できるアクションのタイプの詳細は、21.1項「メッセージ・フローでのアクションの追加と編集」のアクションの表を参照してください。

9. 「保存」をクリックします。

10. 22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、メッセージ・フローの作成を続けます。

11. 「保存」をクリックして、現在のセッションで更新をコミットします。

12. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

21.10 ルート・ノードへのルーティング表の追加

ルーティング表は、切替え式の条件表にラップされた一連のルートです。これは、単一のXQuery式の結果に基づいて各種ルートを選択できる短縮形の構文です。ステージ・エディタで複数レベルの分岐アクションをネストできます。

メッセージのターゲット・サービスを指定し、ターゲット・サービスへのメッセージのルーティング方法を構成します。

これは終端アクションなので、このアクションの後に別のアクションを追加することはできません。ただし、このアクションには、リクエストとレスポンスのアクションを含めることができます。

ルーティングの詳細は、第37章「Oracle Service Busでのメッセージ・フローの作成」を参照してください。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

ルート・ノードにルーティング表を追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 「ルート・ノード」アイコンをクリックして「ルートの編集」をクリックします。「ステージ構成の編集」ページが表示されます。

3. 「アクションの追加」アイコンをクリックして、「通信」→「ルーティング表」を選択します。ルーティング表アクションが表示されます。

4. 「演算子」リストから、比較演算子を選択して、隣のフィールドに値式を入力します。

5. 「サービス」をクリックします。「サービスの選択」ページが表示されます。

6. リストからサービスを選択してから、「発行」をクリックします。

7. サービスで操作を呼び出すには、「操作」リストから操作を選択します。

8. アウトバウンド処理をインバウンド処理と同じにする場合、「インバウンド操作のアウトバウンドでの使用」チェックボックスを選択します。

9. 「リクエスト・アクション」フィールドの「アクションの追加」をクリックしてアクションを追加した上で、そのサービスに関連付けるアクションを選択します。複数のアクションを追加することも可能です。

10. 「レスポンス・アクション」フィールドの「アクションの追加」をクリックしてアクションを追加した上で、そのサービスに関連付けるアクションを選択します。複数のアクションを追加することも可能です。
追加できるリクエストおよびレスポンス・アクションのタイプの詳細は、21.1項「メッセージ・フローでのアクションの追加と編集」を参照してください。

11. 新しいケースを挿入するには、「ケース」アイコンをクリックし、「新しいケースの挿入」を選択します。

12. 新しいケースについて、ステップ2から7を繰り返します。「ケース」アイコンをクリックして、「デフォルト・ケースの挿入」を選択すると、それ以前のすべてのケースが満たされなかった場合に選択されるルートのデフォルトのケースを末尾に追加できます。

13. 「保存」をクリックします。

14. 22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、メッセージ・フローの作成を続けます。

15. 「保存」をクリックして、現在のセッションで更新をコミットします。

16. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

21.11 For Eachアクションの追加

一連の値を反復処理してアクションのブロックを実行するには、For Eachアクションを使用します。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

For Eachアクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「フロー制御」→「For Each」を選択します。

3. 「変数」フィールドに変数名を入力し、「XPath」をクリックして、XPath式を作成するためのXPathエディタを開きます。次に、Do ()ループでアクションを構成します。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.12 If... Then...アクションの追加

XQuery式のブール結果に基づき、1つまたは複数のアクションを条件付きで実行するには、If Thenアクションを使用します。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

If... Then...アクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「フロー制御」→「If...Then」を選択します。

3. 「条件」をクリックして、「XQuery条件エディタ」ページを表示します。
作成した条件は、then()句に入る前に、標準のif...thenロジックに従って実行されるテストとして使用されます。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

4. XQuery条件を編集したら、「アクションの追加」をクリックしてから、その条件に関連付けるアクションを選択します。追加するアクションのタイプの詳細は、21.1項「メッセージ・フローでのアクションの追加と編集」を参照してください。
ルート・ノードでは、ルーティング・アクション、動的ルーティング・アクション、またはルーティング表アクションのみを選択できます。ただし、これらのアクションには、リクエストとレスポンスのアクションを入れることができます。

5. ロジックの必要性に応じて「If...Then」アイコンをクリックし、「else-if条件の追加」または「else条件の追加」をクリックしてelse-if条件またはelse条件を追加します。「アクションの追加」をクリックして、アクションをこれらの条件と関連付けます。
条件アクションはネストできます。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.13 エラーの生成アクションの追加

指定したエラー・コード(文字列)と説明を使用して例外を発生させるには、エラーを発生させるアクションを使用します。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

エラーを発生させるアクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「フロー制御」→「エラーの生成」を選択します。

3. 「エラー・コード」フィールドに、発生させるエラー・コードを入力します。

4. 「エラー・メッセージ」フィールドに、エラー・コードの説明を入力します。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.13.1 トランザクション

サービスがトランザクションの場合、トリガーされたエラー発生アクションにより、非同期のリクエストのトランザクションまたは同期のリクエスト/レスポンスのトランザクションが中断されます。たとえば、メッセージを参照し、SOAPフォルトは発生せず、エラーを発生させるアクションによりトランザクションが中断された場合にも、エラーを発生させるアクションが実行する際の条件を決定できます。

21.14 返信アクションの追加

呼出し元に即時に返信されるように指定するには、返信アクションを使用します。

返信アクションは、リクエスト・パイプライン、レスポンス・パイプライン、またはエラー・パイプラインで使用できます。成功時または失敗時に返信するように構成できます。HTTPインバウンド・トランスポートでの失敗時の返信の場合、返信アクションでは、呼出し元に即時に返信されるように指定します。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

返信アクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「フロー制御」→「返信」を選択します。

3. 「成功時」を選択すると、メッセージが成功した場合に返信します。「失敗時」を選択すると、メッセージが失敗した場合に返信します。
トランザクションがOracle Service Busによって開始されている場合、「失敗時に返信」によってトランザクションが中断されます。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.15 再開アクションの追加

エラー・ハンドラによってエラーが処理された後で、メッセージ・フローを再開するには、再開アクションを使用します。このアクションにパラメータはありません。このアクションはエラー・パイプラインでのみ使用できます。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

再開アクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「フロー制御」→「再開」を選択します。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.16 スキップ・アクションの追加

実行時にこのステージの実行がスキップされて、処理がメッセージ・フローの次のステージに進むように指定するには、スキップ・アクションを使用します。このアクションにはパラメータがなく、リクエスト・パイプライン、レスポンス・パイプライン、エラー・パイプラインで使用できます。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

スキップ・アクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「フロー制御」→「スキップ」を選択します。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.17 割当てアクションの追加

XQuery式の結果をコンテキスト変数に割り当てるには、割当てアクションを使用します。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

割当てアクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「メッセージ処理」→「割当て」を選択します。

3. 「式」をクリックします。XQuery式エディタ・ページが表示されます。XQuery式を使用して、名前付き変数に割り当てるデータを作成します。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

4. 式を編集したら、変数フィールドにコンテキスト変数を入力します。メッセージ・コンテキスト変数の詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「inbound変数とoutbound変数」および「ディスパッチするメッセージの作成」を参照してください。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.18 削除アクションの追加

削除アクションは、コンテキスト変数またはXPath式で指定したすべてのノードを削除するときに使用します。削除アクションは一連の更新アクションの1つです。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

削除アクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. コンテキスト変数を削除するには、「変数」オプションを選択し、コンテキスト変数の名前を「変数」フィールドに入力します。
または、XPath式で選択されたすべてのノードを削除するには、「XPath」オプションを選択して、「XPath」をクリックします。「XPath式エディタ」ページが表示されます。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。式を保存したら、「変数」フィールドにコンテキスト変数を入力します。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.19 挿入アクションの追加

XPath式で選択したノードを基準に、指定した位置にXQuery式を挿入するには、挿入アクションを使用します。挿入アクションは更新アクションの1つです。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

挿入アクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「メッセージ処理」→「挿入」を選択します。

3. 「式」をクリックして、XQuery式を編集します。XQuery式を使用して、名前付き変数で指定された場所に挿入されるデータを作成します。XQuery式エディタ・ページが表示されます。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

4. 式を編集したら、リストで相対的な位置を選択します。相対的な位置は、XPath式の結果を基準として挿入位置を決める場合に使用します。

- の前に - XPath式で選択される各要素や属性の前に兄弟として

- の後ろに - XPath式で選択される各要素や属性の後に兄弟として

- の最初の子として - XPath式で指定される各要素の最初の子として。XPathの結果が属性を返す場合はエラーが発生します。

- の最後の子として - XPath式で指定される各要素の最後の子として。XPathが属性を返す場合はエラーが発生します。

5. 「XPath」をクリックします。「XPath式エディタ」ページが表示されます。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。
有効な構成には、次の構成が含まれます。

- XQuery式とXPath式の両方が要素を返します。

- XQuery式とXPath式の両方が属性を返します。この場合、XQuery式は属性を返す必要があります。

6. XPath式の編集が終わったら、変数フィールドにコンテキスト変数を入力します。XPathは、この変数の内容を評価します。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.20 Javaコールアウト・アクションの追加

メッセージ・フローからJavaメソッド、またはEJBビジネス・サービスを呼び出すには、Javaコールアウト・アクションを使用します。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

Javaコールアウト・アクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「メッセージ処理」→「Javaコールアウト」を選択します。

3. 「メソッド」をクリックします。「JARの選択」ページが表示されます。リストからJARリソースを選択します。「クラスとメソッドの選択」ページが表示されます。

4. 表示されたJavaクラスのリストで、該当するクラスの横にある+をクリックしてメソッドのリストを表示します。メソッドを選択して、「発行」をクリックします。「ステージの編集」ページに、次のようにJavaコールアウト・アクションが表示されます。

- 「メソッド」はステップ2および3で選択したJavaメソッドの名前に置き換えられます。この名前は「クラスとメソッドの選択」ページへのリンクです。このリンクをクリックして、Javaメソッドの選択内容を変更することができます。
メソッドは静的メソッドである必要があります。

- パラメータ: Javaメソッドが必要とする各引数に対するXQuery式エディタ・ページへの「式」リンクが用意されています。それぞれのリンクに対するラベルは、引数のデータ型を示します。これは次のいずれかです。

- Java.lang.String

- プリミティブ型および対応するクラス型(intとjava.lang.Integerなど)

- java.lang.BigDecimalおよびjava.lang.BigInteger(これらの型は、四捨五入のエラーやオーバーフローが許容されない財務関連の計算で使用されます)

- org.apache.xbeans.XmlObjectのみ(型指定されたXML Beanはなし)

- byte[]

- java.lang.String[](入力のみ)

- XmlObject[](入力のみ)

- javax.activation.DataSource

- 結果: 結果を割り当てる変数を入力する「結果」フィールド。このフィールドに対するラベルは、結果のデータ型を示します。

注意:
結果がバイト配列(唯一返される可能性のある配列)の場合は、バイナリ・コンテンツのXML要素が返されます。

- パラメータを参照として戻す: このオプションにより、jcidがパイプライン・オブジェクト・リポジトリのオブジェクトへのキーである実際のタイプに関係なく、Javaコールアウトの呼出しの戻り値を<java-content ref="jcid"参照要素にします。「結果」値フィールドに、java-content参照を含む変数の名前を入力します。このオプションを使用すると、パススルーを提供するか、Javaコールアウトおよびインライン・アクションでメッセージ情報追加を実行するか、Javaと非Javaトランスポート間でメッセージ変換を実行するために、パイプラインXMLに加えてメッセージ・フローで参照オブジェクトを処理できます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージでのJavaオブジェクトの送受信に関する説明を参照してください。

- サービス・アカウントをアタッチ: 「サービス・アカウント」リンクでは、Javaメソッドに対するセキュリティ・コンテキストがある場合、オプションのサービス・アカウントを指定できます。セキュリティ・コンテキストおよびサービス・アカウントの詳細は、第17章「サービス・アカウント」を参照してください。
固定およびマップされたサービス・アカウントの場合、そのサービス・アカウントのユーザーID/パスワードはローカル・システムとJavaコールアウトに伝播されたセキュリティ・コンテキストで認証されます。passthruの場合、セキュリティ・コンテキストはJavaコールアウトに伝播されます。(WS-Securityで)定義されている場合、このコンテキストは、メッセージ・レベルのコンテキストになります。そうでない場合は、トランスポート・レベルのコンテキストになります。

5. 「パラメータ」で、「式」をクリックします。XQuery式エディタ・ページが表示されます。XQuery式エディタを使用して、Javaメソッドに必要な引数を指定します。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。
入力値の型が宣言されている入力引数の型と一致しない場合、Oracle Service Busは入力値を入力引数の宣言された型に自動的に型キャストします。たとえば、入力引数の宣言された型がJavaプリミティブのintの場合、文字列値"123"は整数123に変換されます。

6. 「結果」フィールドで、Javaメソッドが返した結果に対して、変数を割り当てます。

7. Javaメソッドに対するセキュリティ・コンテキストがある場合は、チェックボックスを選択して、「サービス・アカウント」をクリックします。「サービス・アカウントの選択」ページが表示されます。リストから必要なサービス・アカウントを選択して、「発行」をクリックします。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.21 MFL変換アクションの追加

MFL(メッセージ書式言語)変換アクションを使用して、メッセージ・パイプライン内でメッセージ・コンテンツをXMLとXML以外の形式との間で変換します。MFLは、バイナリ・データのレイアウトを記述するために使用する特別なXMLドキュメントです。Oracle独自の言語を使用して、フォーマットされたバイナリ・データをXMLデータに、またはXMLデータをバイナリ・データに変換するルールを定義します。16項「MFL」を参照してください。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

MFL変換アクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「メッセージ処理」→「MFL変換」を選択します。

3. MFLトランスフォーメーションの適用リストから、「XMLから非XMLへ」または「非XMLからXMLへ」を必要に応じて選択します。

4. 「式」をクリックします。XQuery式エディタを使用して、MFL変換アクションを実行する変数を指定します。この入力は、XMLへの変換の場合はテキストまたはバイナリ、XML以外への変換の場合はXMLである必要があります。メッセージ・コンテキストのバイナリ・コンテンツは、バイナリ・コンテンツXML要素によって表されます。入力がバイナリでなければならない場合、このXMLはXquery式の結果となります。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

5. 次のいずれかのオプションを選択します。

- MFLリソース: 「リソース」リンクをクリックします。「MFLの選択」ページが表示されます。MFL変換アクションを実行する静的なMFLリソースを選択します。

- からのMFLリソース: 「式」リンクをクリックします。XQuery式エディタ・ページが表示されます。XQuery式エディタを使用して、変換アクションを実行するMFLリソースを動的に指定するXQuery式を作成または編集します。形式は、project/folder/MFLresourcenameです。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

6. 変数に割当てフィールドで、この変換アクションの結果を割り当てる変数名を入力します。結果は、バイナリ・コンテンツのXML要素になります。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.22 名前変更アクションの追加

XPath式で選択された要素のコンテンツを変更せずに要素名を変更するには、名前変更アクションを使用します。名前変更アクションは更新アクションの1つです。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

名前変更アクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「メッセージ処理」→「名前変更」を選択します。

3. 「XPath」をクリックします。「XPath式エディタ」ページが表示されます。XPath式を使用して、名前を変更する(名前付き変数内の)データを指定します。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

4. 「変数」フィールドに、名前を変更する要素を保持するコンテキスト変数を入力します。

5. 次のいずれかを行います。

- ローカル名を使用して選択した要素名を変更する場合は、最初の「ローカル名」オプションを選択して、「ローカル名」フィールドにローカル名を入力します。

- ネームスペースを使用して選択した要素名を変更する場合は、最初の「ネームスペース」オプションを選択して、「ネームスペース」フィールドにネームスペースを入力します。

- ローカル名とネームスペースを使用して選択した要素名を変更するには、ローカル名とネームスペース・オプションを選択して、ローカル名とネームスペース・フィールドにローカル名とネームスペースを入力します。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.23 置換アクションの追加

XPath式で指定されたノードまたはノードのコンテンツを置き換えるには、置換アクションを使用します。ノードまたはそのコンテンツは、XQuery式が返した値で置換されます。

置換アクションでは、単純な値、要素、属性を置き換えることができます。XQuery式から何も返されない状態は、アクションがノード全体を置き換えるか、ノード・コンテンツのみを置き換えるかにより、識別されたノードを削除すること、または空のノードを作成することと同じです。

置換アクションは更新アクションのセットの内の1つです。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

置換アクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「メッセージ処理」→「置換」を選択します。

3. 「XPath」をクリックします。「XPath式エディタ」ページが表示されます。XPath式を使用して、置換する(名前付き変数内の)データを指定します。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

4. XPath式の編集が終わったら、「変数」フィールドにコンテキスト変数を入力します。

5. 「式」をクリックします。XQuery式エディタ・ページが表示されます。XQuery式を使用して、名前付き変数内のXPathで指定したデータを置換するデータを作成します。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

6. XQuery式を編集したら、次のいずれかのオプションを選択します。

- 「ノード全体を置換」 - 定義したXPath式で選択したノードとそのすべてのコンテンツを置換するように指定します。

- ノードのコンテンツを置換 - ノードは置換せず、そのコンテンツのみ置換するように指定します。

注意:
「ノード全体を置換」オプションを選択してXPathを./*に設定するよりも、「ノードのコンテンツを置換」オプションを選択して「XPath」フィールドを空白にする方が効率的です。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.24 検証アクションの追加

XMLスキーマ要素またはWSDLリソースに対して、XPath式で選択した要素を検証するには、検証アクションを使用します。検証できるのは、グローバル要素のみです。Oracle Service Busはローカル要素に対する検証に対応していません。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

検証アクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「メッセージ処理」→「検証」を選択します。

3. 「XPath」をクリックします。検証する要素を指定するXPath式を作成します。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。XPath式エディタで式を作成したら、「保存」をクリックして、「ステージ構成の編集」ページで式を挿入します。

4. 変数フィールドに、検証する要素を保持する変数の名前を入力します。

5. 「リソース」をクリックし、「WSDL」または「スキーマ」を選択します。

6. 「WSDLブラウザ」または「XMLスキーマ・ブラウザ」から、次の手順を実行します。

1. WSDLまたはXMLスキーマを選択します。

2. WSDLまたはXMLスキーマのタイプまたは要素を選択します。

3. 「発行」をクリックします。

7. この検証の結果(ブール結果)を保存する場合は、検証結果を変数に保存を選択し、結果を保存する変数の名前を入力します。
また、WSDL要素やXMLスキーマ要素に対する検証が失敗したときにエラーを発生させる場合は、検証の失敗で「エラーの生成」を選択します。

完了した後に

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.25 アラート・アクションの追加

アラート宛先にアラートを送信するには、アラート・アクションを使用して、パイプラインのメッセージ・コンテキストに基づいてアラートを生成します。SLAアラートと異なり、アラート・アクションで生成された通知は、主にビジネスでの使用、またはエラーの報告を目的とし、システムの状態を監視するものではありません。このことを考慮して、アラートの宛先を構成および選択する必要があります。アラートの宛先の詳細は、6項「アラート宛先」を参照してください。

サービスに対してパイプライン・アラートが有効になっていない場合や、ドメイン・レベルでパイプライン・アラートが有効になっていない場合は、メッセージの処理中に、構成したアラート・アクションがバイパスされます。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

アラート・アクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「レポート」→「アラート」を選択します。

3. 「宛先」をクリックします。「アラート宛先の選択」ページが表示されます。リストから必要なアラートの宛先を選択して、「発行」をクリックします。
デフォルトでは、アラートは常に管理コンソールに出力されます。

4. 「式」をクリックします。XQuery式エディタ・ページが表示されます。コンテキスト変数のXQuery式を通じてアラート・メッセージに追加するメッセージ・コンテキストを指定します。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

5. 「アラート・サマリー」フィールドにアラートの簡単な説明文を入力します。説明文は、電子メール通知の場合の件名になり、80文字以内である必要があります。説明文が存在しない場合、「Oracle Service Busアラート」というあらかじめ定義された件名がかわりに使用されます。

6. 「重大度」リストで、このアラートの重大度を「通常」、「警告」、「軽度」、「重度」、「クリティカル」、「致命的」から選択します。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.26 ログ・アクションの追加

ログに記録するメッセージを作成し、ログに使用する一連の属性を定義するには、ログ・アクションを使用します。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

注意:
ログ・ファイルまたは標準出力(サーバー・コンソール)にログ・データを表示するには、Oracle WebLogic Serverのロギングを次の重大度に設定する必要があります。

- ログの最低の重大度: 情報

- ログ・ファイル: 情報

- 標準出力: 情報

ログの重大度の設定の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverログ・ファイルの構成とログ・メッセージのフィルタ処理』のログの重大度の使用に関する説明を参照してください。

ログ・アクションを追加するには

1. 必ずロギングをグローバルに有効にしてください。詳細は、27.2.9項「ログのグローバルな有効化」を参照してください。

2. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

3. 該当するアイコンをクリックして、「アクションの追加」→「レポート」→「ログ」を選択します。

4. 「式」をクリックします。XQuery式エディタ・ページが表示されます。コンテキスト変数のXQuery式を通じてログに記録するメッセージ・コンテキストを指定します。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

5. 「注釈」フィールドに、このログ・アクションのメモを入力します。これらのメモは、事前に定義された式の結果と一緒にログに記録されます。

6. 「重大度」リストで、次のいずれかのオプションを選択します。

表21-7 ログ・アクションの重大度

重大度

一般的な用途

情報

通常の処理を報告するために使用する、低レベルの情報メッセージ。

警告

不審なオペレーションまたは構成が発生しましたが、通常のオペレーションに支障は生じません。

エラー

ユーザー・エラーが発生したことを示します。システムまたはアプリケーションでは、割込みやサービスの限定的な低下を起こすことなくエラーに対処できます。

デバッグ

アプリケーションの開発中に、アプリケーション内の下位レベルのアクティビティに関する詳細な説明を提供するメッセージの作成および使用が有効である可能性があります。

プロキシ・サービスの操作設定におけるログの重大度が、ログ・アクションの重大度と同じであることを確認します。プロキシ・サービスの操作設定の詳細は、26.8項「プロキシ・サービスの操作設定の構成」を参照してください。

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

21.27 レポート・アクションの追加

プロキシ・サービスのメッセージ・レポートを有効にするには、レポート・アクションを使用します。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

レポート・アクションを追加するには

1. 21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションを追加する場所に移動します。

2. 該当するアイコンをクリックして、「アクションの追加」→「レポート」→「レポート」を選択します。

3. 「式」をクリックします。XQuery式エディタ・ページが表示されます。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。XQuery式を使用して、Oracle Service Busダッシュボートにレポートされるデータを作成します。

4. XQuery式を編集したら、「キーの追加」をクリックします。「キー名」フィールドと「キー値」フィールド(XPath式編集用の画面に移動するための「XPath」リンクとコンテキスト変数を入力できる「変数」フィールドを持つ)の2つのフィールドが表示されます。
キー値のペアは、メッセージ・コンテキスト変数やメッセージ・ペイロードからキー識別子を抽出して、残りのメッセージを無視する場合に使用します。キーは、メッセージを識別する便利な手段となります。キーは、「レポート」モジュールでレポート・インデックスとして表示されます。28.1項「レポート・メッセージの表示」および28.2項「メッセージの詳細の表示」を参照してください。

1. 「キー名」フィールドにキーの名前を入力します。

2. 「XPath」をクリックします。「XPath式の編集。」ページが表示されます。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

3. 「変数」フィールドにコンテキスト変数を入力します。

4. さらにキー値を追加するには、「キー」アイコンをクリックして「キーの追加」を選択します。キーを削除するには、「キー」アイコンをクリックして「このキーを削除」を選択します。

たとえば、ステージのエラー・ハンドラで構成されたレポート・アクションを考えてみます。このアクションは、エラーが発生した場合にfaultコンテキスト変数のコンテンツを報告します。レポート・アクションは次のように構成されます。

- キー名 = errorCode

- キー値 = ./ctx:errorCode in variable fault

実行時にこのこのアクションが行われるたびに、データ・ストリームを通じてメッセージが報告されます。次の表は、レポート・アクションが2回実行された後の結果を示しています。

レポート・インデックス

DBタイムスタンプ

インバウンド・サービス

エラー・コード

errorCode=BEA-382505

04/26/07 9:45 AM

MortgageBroker/ProxySvcs/loanGateway3

BEA-382505

errorCode=BEA-382505

04/26/07 9:45 AM

BEA-382505

終了後

このアクションの構成が完了したら、21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、引き続き他のアクションを構成するか、この構成を保存します。

22 プロキシ・サービス: メッセージ・フロー

この章では、Oracle Service Bus管理コンソールを使用したメッセージ・フローの作成および構成の方法について説明します。この項には、パイプライン・ペア、条件付きブランチ、ステージ、オペレーション・ブランチおよびルート・ノードの作成および構成が含まれます。メッセージ・フローの詳細は、第37章「Oracle Service Busでのメッセージ・フローの作成」を参照してください。

メッセージ・フローおよびそれらのコンポーネントの詳細は、第37章「Oracle Service Busでのメッセージ・フローの作成」を参照してください。

22.1 メッセージ・フローの表示と編集

この項では、メッセージ・フローの表示方法と編集方法について説明します。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. メッセージ・フローを表示または編集するプロキシ・サービスを見つけ出します。次のいずれかの操作を行います。

- 「プロジェクト・エクスプローラ」を選択して、「プロジェクト・ビュー」ページまたはプロジェクト/フォルダ・ビュー・ページを表示します。次に、プロジェクトおよびフォルダに移動して、プロキシ・サービスを検索します。

- 「リソース・ブラウザ」→「プロキシ・サービス」を選択し、「プロキシ・サービスのサマリー」ページを表示します。

3. メッセージ・フローを表示または編集するプロキシ・サービスの行の「メッセージ・フローの編集」アイコンをクリックします。

- 選択したプロキシ・サービスに、まだメッセージ・フローが作成されていない場合は、1つのアイコン(「プロキシ・サービス」アイコン)が含まれた「メッセージ・フローの編集」ページが表示されます。これが、プロキシ・サービスの開始ノードです。このアイコンをクリックして、メッセージ・フローの作成を開始します。

- プロキシ・サービスにすでにメッセージ・フローがある場合は、ページにはフローが図で表示されます。アイコンをクリックして、メッセージ・フローの各部を表示または編集します。

このページで、メッセージ・フローを作成するために実行できる作業の詳細は、22.2項「「メッセージ・フローの編集」ページ」を参照してください。

4. 「保存」をクリックして、現在のセッションで更新をコミットします。

5. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

22.2 「メッセージ・フローの編集」ページ

「メッセージ・フローの編集」ページを使用して、プロキシ・サービスのメッセージ・フローを作成します。

「メッセージ・フローの編集」ページの左側のナビゲーション・ペインに、メッセージ・フロー内のノードとオブジェクトのツリー・ビューが表示されます。オブジェクトの詳細が別のページで定義されている場合は、オブジェクトの名前をクリックして、関連付けられているページを表示できます。

右側のペインには、メッセージ・フローを作成するためのフィールドが表示されます。メッセージ・フローがまだ定義されていない場合、ペインには、サービスの開始ノードを示す1つの「プロキシ・サービス」アイコンが含まれます。アイコンをクリックして、サービスのパイプライン・ペア・ノード、ルート・ノード、条件付きブランチ、操作ブランチ、およびエラー処理を追加します。

ページにオブジェクトを追加すると、そのオブジェクトを示すアイコンがページに表示されます。オブジェクト間の関係は、線と境界を示す四角形で示されます。「メッセージ・フローの編集」ページのアイコンをクリックすると、そのオブジェクトで実行できるアクションのメニューが表示されます。メニューに含まれるオプションは、コンテキストに応じて異なります。アイコンとオプションの完全なリストについては、表22-1を参照してください。

表22-1 「メッセージ・フローの編集」ページのアイコンとオプション

アイコン

説明

メニュー・オプション

プロキシ・サービス

メッセージ・フローの開始ノード。

- パイプライン・ペアの追加 - 22.4項「メッセージ・フローへのパイプライン・ペア・ノードの追加」を参照してください。

- ルートの追加 - 22.8項「メッセージ・フローへのルート・ノードの追加」を参照してください。

- 条件付きブランチの追加 - 22.5項「メッセージ・フローへの条件付きブランチの追加」を参照してください。

- 操作ブランチの追加 - 22.6項「メッセージ・フローへの操作ブランチの追加」を参照してください。

- サービス・エラー・ハンドラの追加 - 24.2項「プロキシ・サービス・エラー・ハンドラの追加」を参照してください。

パイプライン・ペア・ノード

パイプライン・ペア・ノードはリクエスト・パイプラインとレスポンス・パイプラインから成ります。

- 「名前とコメントの編集」

- パイプライン・ペアの追加 - 22.4項「メッセージ・フローへのパイプライン・ペア・ノードの追加」を参照してください。

- 条件付きブランチの追加 - 22.5項「メッセージ・フローへの条件付きブランチの追加」を参照してください。

- 操作ブランチの追加 - 22.6項「メッセージ・フローへの操作ブランチの追加」を参照してください。

- ルートの貼付け - このオプションは、ルート・ノードの切取りまたはコピーを行い、クリップ・ボードにある場合にのみ使用できます。

レスポンス・パイプライン

前述のパイプライン・ペア・ノードを参照してください。

- ステージの追加 - 22.7項「パイプラインへのステージの追加」を参照してください。

- パイプライン・エラー・ハンドラの追加 - 24.3項「パイプライン・エラー・ハンドラの追加」を参照してください。

リクエスト・パイプライン

前述のパイプライン・ペア・ノードを参照してください。

- ステージの追加 - 22.7項「パイプラインへのステージの追加」を参照してください。

- パイプライン・エラー・ハンドラの追加 - 24.3項「パイプライン・エラー・ハンドラの追加」を参照してください。

エラー・ハンドラのあるパイプライン

エラー・ハンドラが定義されているパイプライン。

- パイプライン・エラー・ハンドラの編集 - 24.3項「パイプライン・エラー・ハンドラの追加」を参照してください。

- 「パイプライン・エラー・ハンドラの削除」

ルート・ノード

ルート・ノード・アクションは、ルート・ノードを通過する際のメッセージの処理を定義します。

- ルートの編集 - 22.8項「メッセージ・フローへのルート・ノードの追加」を参照してください。

- 「名前とコメントの編集」

- ルート・エラー・ハンドラの追加 - 24.5項「ルート・ノード・エラー・ハンドラの追加」を参照してください。

エラー・ハンドラがあるルート・ノード

エラー・ハンドラが定義されているルート・ノード。

- ルート・エラー・ハンドラの編集 - 24.5項「ルート・ノード・エラー・ハンドラの追加」を参照してください。

- 「ルート・エラー・ハンドラの削除」

ステージ・ノード

ステージ・ノードは、アクションのコンテナです。

- ステージの編集 - 22.7項「パイプラインへのステージの追加」を参照してください。

- 「名前とコメントの編集」

- ステージの追加 - 22.7項「パイプラインへのステージの追加」を参照してください。

- ステージ・エラー・ハンドラの追加 - 24.4項「ステージ・エラー・ハンドラの追加」を参照してください。

エラー・ハンドラがあるステージ・ノード

エラー・ハンドラが定義されているステージ・ノード。

- ステージ・エラー・ハンドラの編集 - 24.4項「ステージ・エラー・ハンドラの追加」を参照してください。

- 「ステージ・エラー・ハンドラの削除」

条件付きブランチ・ノード

条件付きブランチ・ノードを使用すると、可能ないくつかのパスのうちの1つに限定して処理を進ませることができます。

- ブランチの編集 - 22.5項「メッセージ・フローへの条件付きブランチの追加」を参照してください。

- 「名前とコメントの編集」

操作ブランチ・ノード

オペレーション・ブランチ・ノードでは、指定された操作に基づいてどのブランチに進むかが判断されます。

- ブランチの編集 - 22.6項「メッセージ・フローへの操作ブランチの追加」を参照してください。

- 「名前とコメントの編集」

ブランチ・ノード

ブランチ・ノードは、条件付きブランチ・ノードまたはオペレーション・ブランチ・ノードによって定義される代替ノードの1つです。

- パイプライン・ペアの追加 - 22.4項「メッセージ・フローへのパイプライン・ペア・ノードの追加」を参照してください。

- ルートの追加 - 22.8項「メッセージ・フローへのルート・ノードの追加」を参照してください。

- 条件付きブランチの追加 - 22.5項「メッセージ・フローへの条件付きブランチの追加」を参照してください。

- 操作ブランチの追加 - 22.6項「メッセージ・フローへの操作ブランチの追加」を参照してください。

- ルートの貼付け - このオプションは、ルート・ノードの切取りまたはコピーを行い、クリップ・ボードにある場合にのみ使用できます。

エラー・ハンドラ

エラー・ハンドラは、メッセージ・フローでエラーを再送するロジックを提供します。

- サービス・エラー・ハンドラの追加 - 24.2項「プロキシ・サービス・エラー・ハンドラの追加」を参照してください。

22.3 「ステージ構成の編集」ページ

「ステージ構成の編集」ページを使用して、メッセージ・フローのパイプライン・ステージ、エラー・ハンドラ・ステージ、およびルート・ノードにアクションを追加します。

- 「ステージ構成の編集」ページでまだ何も定義されていない場合、表示されるオブジェクトは「アクションの追加」アイコンのみです。アイコンをクリックして作業を開始します。

- ステージまたはルート・ノードがすでに構成されている場合は、そのステージまたはルート・ノードに対して定義されているアクションとオブジェクトがページに表示されます。必要に応じて、既存のアクションを編集するか、または、アクションを表すアイコンのいずれかをクリックして、ステージにアクションを追加します。

ステージに追加できるすべての種類のアクションの操作手順については、21.1項「メッセージ・フローでのアクションの追加と編集」を参照してください。

22.4 メッセージ・フローへのパイプライン・ペア・ノードの追加

メッセージ・フローには、パイプライン・ペア・ノード(プロキシ・サービス、またはサービスの処理用のリクエスト・パイプラインとレスポンス・パイプライン)と、ステージ、パイプライン、およびプロキシ・サービスに対して定義できるエラー・ハンドラをゼロ個以上入れることができます。パイプラインは、1つまたは複数のステージを持つことができ、ステージはアクションを持ちます。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

メッセージ・フローにパイプライン・ペア・ノードを追加するには

1. 「プロキシ・サービス」アイコンをクリックし、「パイプライン・ペアの追加」をクリックします。

2. パイプライン・ペア・ノードのデフォルト名を変更して説明を追加するには、次の操作を行います。

1. 「パイプライン・ペア・ノード」アイコンをクリックし、名前とアノテーションの編集をクリックします。

2. 必要に応じて名前と説明を変更します。

3. 「保存」をクリックします。

注意:
パイプライン名やルート・ノード名を変更すると、パイプライン・カウンタがゼロにリセットされるので、「モニター」モジュールの「ダッシュボード」ページに表示されるメッセージの数と他のコンポーネントのメッセージ数との相関関係がなくなる可能性があります。これは、Oracle Service Busでは、いったん削除して再作成するアクションとして名前の変更を処理しているためです。これらのメッセージ数は、サービスのモニター間隔と同じ時間が経過した後に再び関連付ける必要があります。

3. パイプラインにステージを追加するには、22.7項「パイプラインへのステージの追加」を参照してください。

4. パイプラインのステージにアクションを追加するには、21.1項「メッセージ・フローでのアクションの追加と編集」を参照してください。

5. 22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、メッセージ・フローの作成を続けます。

6. 「保存」をクリックして、現在のセッションで更新をコミットします。

7. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

22.5 メッセージ・フローへの条件付きブランチの追加

ブランチ・ノードを使用すると、可能ないくつかのパスのうちの1つに限定して処理を進めることができます。分岐は、XPathベースの切替え表に基づいて実行されます。表の各ブランチは、条件(たとえば、<500)を指定し、これが単一のXPath式(たとえば、$bodyの./ns: PurchaseOrder/ns:totalCost)に対してメッセージ・フローの降順に評価されます。最初に満たされた条件によって、次に進むべきブランチが決まります。満たされる分岐条件がない場合は、デフォルトのブランチに進みます。ブランチ・ノードでは、メッセージ・フロー内にいくつかの子孫を持つことができます(デフォルトのブランチを含め各ブランチに1つずつ)。

プロキシ・サービスがWSDLに基づいておらず、複数のドキュメント・タイプを入力として受信する場合は、条件付きブランチ・ノードを使用することを検討してください。

条件付きブランチ処理は、単純でありながらユニークな文字列値のタグが付いたブランチをまとめた参照表を基準に行われます。メッセージ・コンテキストの変数をそのノードのルック・アップ変数として指定し、実行時に、この値を使用してどのブランチに進むかが判断されます。ルックアップ変数に一致するブランチがない場合は、デフォルトのブランチに進みます。ブランチ・ノードに到達する前にルックアップ変数の値を設定するように、プロキシ・サービスを設定する必要があります。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

メッセージ・フローに条件付きブランチを追加するには

1. 「パイプライン・ペア・ノード」アイコンまたは「ブランチ・ノード」アイコンをクリックして、「条件付きブランチ・ノードの作成」をクリックします。条件付きブランチ・ノードが追加され、挿入したブランチ・ノードの後の既存のノードが、新しい条件付きブランチ・ノードのデフォルト・ブランチに移動します。

2. ブランチ・ノードのデフォルト名を変更して説明を追加するには、次を行います:

1. 「条件付きブランチ」アイコンをクリックし、名前とアノテーションの編集をクリックします。

2. 必要に応じて名前と説明を変更します。

3. 「保存」をクリックします。

3. ブランチ定義を追加するには、「条件付きブランチ」アイコンをクリックし、「ブランチの編集」をクリックします。「ブランチ・ノードの編集」ページが表示されます。

4. 次のようにします。

1. 「選択したパス」フィールドで「編集」をクリックして、XPath式を追加し、パスを指定します。23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

2. 「変数」フィールドにコンテキスト変数を入力します。

3. 「演算子」フィールドから、比較演算子を選択します。

4. 「値」フィールドにブランチの値を入力します。

5. 「ラベル」フィールドにブランチのラベルを入力します。

5. (オプション)「オプション」で次のようにします。

- 「新しいブランチの追加」をクリックして、このブランチ・ノードに新しいブランチ定義を追加します。

- 「このブランチを削除」をクリックして、ブランチ定義を削除します。

- 「ブランチを上に移動」または「ブランチを下に移動」をクリックして、ブランチ定義の位置を変更します。このオプションは、複数のブランチ定義が存在する場合にのみ表示されます。

6. 「保存」をクリックして、現在のセッションで更新をコミットします。

7. 22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、メッセージ・フローの作成を続けます。

8. 「保存」をクリックして、現在のセッションで更新をコミットします。

9. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

22.6 メッセージ・フローへの操作ブランチの追加

メッセージ・フローでWeb Services Description Language (WSDL)ベースのプロキシ・サービスを定義する場合、オペレーション固有の処理が必要になります。Oracle Service Busでは、オペレーションに基づくブランチ・ノードを手動で構成するかわりに、オペレーションに基づいて自動的に分岐するように構成された、最小限のブランチ・ノードが用意されています。つまり、オペレーション・ブランチ・ノードをメッセージ・フローに作成すると、Oracle Service Bus管理コンソールでは、WSDLに定義されたオペレーションがブランチ・ノード構成ページに表示されるため、これらのオペレーションに基づいて分岐ロジックをすばやく構築できます。

ブランチ・ノードを使用すると、可能ないくつかのパスのうちの1つに限定して処理を進めることができます。分岐は、XPathベースの切替え表に基づいて実行されます。表の各ブランチは、条件(たとえば、<500)を指定し、これが単一のXPath式(たとえば、$bodyの./ns: PurchaseOrder/ns:totalCost)に対してメッセージ・フローの降順に評価されます。最初に満たされた条件によって、次に進むべきブランチが決まります。満たされる分岐条件がない場合は、デフォルトのブランチに進みます。ブランチ・ノードでは、メッセージ・フロー内にいくつかの子孫を持つことができます(デフォルトのブランチを含め各ブランチに1つずつ)。

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

メッセージ・フローにオペレーション・ブランチを追加するには

1. 「パイプライン・ペア・ノード」アイコンまたは「ブランチ・ノード」アイコンをクリックして、「操作ブランチ・ノードの作成」をクリックします。操作ブランチ・ノードが追加され、挿入したブランチ・ノードの後の既存のノードが、新しい操作ブランチ・ノードのデフォルト・ブランチに移動します。

2. ブランチ・ノードのデフォルト名を変更して説明を追加するには、次を行います:

1. 「操作ブランチ」アイコンをクリックし、名前とアノテーションの編集をクリックします。

2. 必要に応じて名前と説明を変更します。

3. 「保存」をクリックします。

3. ブランチ定義を追加するには、「操作ブランチ」アイコンをクリックし、「ブランチの編集」をクリックします。「ブランチ・ノードの編集」ページが表示されます。

4. 「操作ブランチ定義」パネルで、サービス操作を選択します。

5. (オプション)「オプション」で次のようにします。

- 「新しいブランチの追加」をクリックして、このブランチ・ノードに新しいブランチ定義を追加します。

- 「このブランチを削除」をクリックして、ブランチ定義を削除します。

- 「ブランチを上に移動」または「ブランチを下に移動」をクリックして、ブランチ定義の位置を変更します。このオプションは、複数のブランチ定義が存在する場合にのみ表示されます。

6. 「保存」をクリックします。

7. 22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、メッセージ・フローの作成を続けます。

8. 「保存」をクリックして、現在のセッションで更新をコミットします。

9. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

22.7 パイプラインへのステージの追加

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

パイプラインにステージを追加するには

1. 必要に応じて、「パイプライン・ペア・ノード」アイコンの左側にあるプラス記号クリックしてパイプライン・ペア・ノードを展開します。パイプライン・ペアには、「リクエスト・パイプライン」および「レスポンス・パイプライン」が含まれています。

2. ステージに追加するパイプラインをクリックしてから、「ステージの追加」をクリックします。

3. ステージのデフォルト名を変更して説明を追加するには、次を行います:

1. 「ステージ」アイコンをクリックし、名前とアノテーションの編集をクリックします。

2. 必要に応じて名前と説明を変更します。

3. 「保存」をクリックします。

4. ステージにアクションを追加するには、「ステージ」アイコンをクリックし、「ステージの編集」をクリックします。21.1項「メッセージ・フローでのアクションの追加と編集」を参照してください。

5. ステージにエラー処理を追加するには、「ステージ」アイコンをクリックし、「ステージ・エラー・ハンドラの追加」をクリックします。24.4項「ステージ・エラー・ハンドラの追加」を参照してください。「メッセージ・フローの編集」ページが表示されます。

6. 22.1項「メッセージ・フローの表示と編集」の説明に従って、メッセージ・フローの作成を続けます。

7. 「保存」をクリックして、現在のセッションで更新をコミットします。

8. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

22.8 メッセージ・フローへのルート・ノードの追加

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

メッセージ・フローにルート・ノードを追加するには

1. パイプライン・ペアの「パイプライン・ペア・ノード」アイコンをクリックして、「ルートの追加」をクリックします。

2. ルート・ノードのデフォルト名の変更と説明の追加を行うには、「ルート・ノード」アイコンをクリックして、名前とアノテーションの編集をクリックします。必要に応じて名前と説明を変更し、「保存」をクリックします。

注意:
パイプライン名やルート・ノード名を変更すると、パイプライン・カウンタがゼロにリセットされるので、「モニター」モジュールの「ダッシュボード」ページに表示されるメッセージの数と他のコンポーネントのメッセージ数との相関関係がなくなる可能性があります。これは、Oracle Service Busでは、いったん削除して再作成するアクションとして名前の変更を処理しているためです。これらのメッセージ数は、サービスのモニター間隔と同じ時間が経過した後に再び関連付ける必要があります。

3. ルート・ノードにアクションを追加するには、「ルート・ノード」アイコンをクリックし、「ルートの編集」をクリックします。「メッセージ・フローの編集」ページが表示されます。ルート・ノードに追加できるアクションの詳細は、次のセクションを参照してください。

- 21.12項「If...Thenアクションの追加」

- 21.8項「ルート・ノードへの動的ルーティングの追加」

- 21.9項「ルート・ノードへのルーティング・アクションの追加」

- 21.10項「ルート・ノードへのルーティング表の追加」

- 24.5項「ルート・ノード・エラー・ハンドラの追加」

4. 22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、メッセージ・フローの作成を続けます。

5. 「保存」をクリックして、現在のセッションで更新をコミットします。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

22.9 ステージおよびルート・ノードの切取り、コピー、貼付け

ステージおよびルート・ノードの切り取り、コピー、貼付けが行えます。

- ステージまたはルート・ノードを切り取るには、そのアイコンをクリックし、「切取り」または「コピー」を選択します。

- このプロキシ・サービスのメッセージ・フロー内の異なるパイプライン・ペアから、または、異なるプロキシ・サービスのメッセージ・フローから切り取った、またはコピーしたステージを貼り付けるには、次のいずれかを行います。

- 「リクエスト・パイプライン」または「レスポンス・パイプライン」アイコンをクリックして、「ステージの貼付け」をクリックします。

- パイプラインの「ステージ」アイコンをクリックして、「貼付け」をクリックします。

- 別のプロキシ・サービスのメッセージ・フローから切り取った、またはコピーしたルート・ノードを貼り付けるには、パイプライン・ペアの「パイプライン・ペア・ノード」アイコンをクリックして、「ルートの貼付け」をクリックします。

23 プロキシ・サービス: XQueryエディタおよびXPathエディタ

この章では、メッセージ・フローでXQueryおよびXPath式を使用する方法について説明します。

プロキシ・サービスのメッセージ・フローでは、メッセージ・コンテキスト変数へのXQuery式の割り当て、XQuery式のブール結果に基づくIf...Then...アクションの割り当て、XPath式に対して相対的に指定した位置へのXQuery式の結果の挿入、コンテキスト変数のXQuery式を使用したログ用のメッセージ・コンテキストの指定などを実行できます。

コンテキストで必要な式を作成するために、メッセージ・フローの該当するコンテキストで、「XQuery式エディタ」、「XQuery条件エディタ」、「XPath式エディタ」を使用できます。

23.1 インラインXQueryおよびXPath式の作成と編集

「ステージ構成の編集」ページでステージまたはルート・ノードにアクションを追加する場合、構成の詳細を入力するページにスケルトン構造が表示されます。図23-1に例を示します。

図23-1 アクション構成スケルトンの例

コンテキスト上適切である場合は、XQueryエディタへアクセスするためのリンクがスケルトンによって用意されます。アクションのコンテキスト上必要である場合、インラインで実行される式をこのエディタで作成できます。

始める前に

次の説明では、パイプライン・ステージ、エラー・ハンドラ・ステージ、またはルート・ノードの「ステージ構成の編集」ページでアクションの作成または編集を行うものとします。22.1項「メッセージ・フローの表示と編集」および21.1項「メッセージ・フローでのアクションの追加と編集」を参照してください。

インライン式を作成または変更するには

1. 「ステージ構成の編集」ページで、アクション内に式を追加または編集する場所を特定します。

2. 「式」リンクをクリックして、コンテキストに適切なエディタを開きます。式がまだ定義されていない場合は、その位置において使用可能な式の種類がリンクに示されます。

- XQuery式を作成するには、「式」をクリックします。Oracle Service Bus以外で作成したXQueryまたはXSLTリソースをインポートしてインラインXQueryにバインドすることもできます。

- if...then...アクション用にXQuery条件式を作成するには、「条件」をクリックします。

- メッセージ・コンテキスト変数用のXPath式を作成するには、「XPath」をクリックします。

式がその位置に対してすでに定義されている場合、「式」、「条件」または「XPath」リンクは式自体を示すtrue()のようなリンクに置き換わります。式の長さが長すぎる場合は、$body/urn:POSta...のような式の一部になります。式(または式のフラグメント)をクリックして適切なエディタで式を開きます。

3. 次のトピックの説明を参照して、式を構築します。

- 23.3項「エディタ・ワークスペースのテキスト・フィールドでの式の構築」

- 23.4項「インライン式で使用するネームスペースの作成」

- 23.5項「XQueryエディタによる変数の構造の作成」

- 23.6項「XQueryエディタでのカスタムXPath関数の作成」

- 23.7項「外部XQueryリソースのインラインXQueryへのバインディング」

- 23.8項「外部XSLTリソースのインラインXQueryへのバインディング」

- 23.9項「動的XQuery式のインラインXQueryへのバインディング」

- 23.10項「「ビルダー」オプションを使用したXQuery比較式の入力」

- 23.11項「「ビルダー」オプションを使用した単項式の入力」

4. (オプション)次のいずれか、または両方を実行します。

- 式を検証するには、「検証」をクリックします。

- 式をテストするには、「テスト」をクリックします。33.3項「XQueryテストの実行」を参照してください。

5. 「保存」をクリックして、エディタを閉じ、式をアクションに挿入します。

終了後

21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションの構成を続行します。

23.2 XQueryエディタのレイアウトとタスクについて

XQuery式エディタ、XQuery条件エディタ、およびXPath式エディタは、それぞれ次のコンポーネントから構成されています。

- 23.2.1項「パレット」

- 23.2.2項「ワークスペース」

- 23.2.3項「プロパティ・インスペクタ」

23.2.1 パレット

各エディタの左側のパネルには、次に示すパレットがあります。エディタでパレットの名前をクリックすると、そのパレットが表示されます。各パレットには、エディタ内で式に挿入できるエンティティが含まれています。

- 「ネームスペース定義」パレットには、Oracle Service Busのデフォルト・ネームスペース、変数のネームスペース、およびユーザー定義ネームスペースが表示されます。新しいネーム・スペースを定義することもできます。定義されたネーム・スペースはユーザー定義ネーム・スペースのリストに追加されます。
詳細は、次を参照してください。

- 23.3項「エディタ・ワークスペースのテキスト・フィールドでの式の構築」

- 23.4項「インライン式で使用するネームスペースの作成」

- 「XQuery関数」パレットには、一連の標準XQuery関数が表示されます。式に関数を挿入するときには、入力する必要があるパラメータ値ついてプレースホルダーが使用されます。
詳細は、次を参照してください。

- 23.3項「エディタ・ワークスペースのテキスト・フィールドでの式の構築」

- 23.6項「XQueryエディタでのカスタムXPath関数の作成」

- 23.7項「外部XQueryリソースのインラインXQueryへのバインディング」

- 「変数の構造」パレットには、XPath式を使用して、変数や変数のパスを挿入するためのツールが用意されています。
変数の構造は、エディタに表示される変数または変数のパスのグラフィカルな表現です。変数の構造が視覚化されることにより、変数の内容を参照するインラインXQuery式の構築が容易になります。

注意:
変数の構造では、変数は作成されません。変数は、ステージでの割当てアクションの対象として実行時に作成されます。

Oracle Service Busには事前定義されたメッセージ・コンテキスト変数(attachments、body、header、outbound、およびinbound)があり、その内容を変数の構造として表示できます。ユーザーが独自に変数の構造を定義することもできます。

詳細は、次を参照してください。

- 23.3項「エディタ・ワークスペースのテキスト・フィールドでの式の構築」

- 23.5項「XQueryエディタによる変数の構造の作成」

23.2.2 ワークスペース

ページの右側は、XQuery式、XQuery条件、またはXPathを作成するためのワークスペースになっています。ワークスペースはそれぞれのエディタによって異なります。

23.2.3 プロパティ・インスペクタ

プロパティ・インスペクタは、3種類のエディタのすべてで、ページの右下に表示されます。パレットの1つからアイテムを式に追加するために選択すると、選択したアイテムがプロパティ・インスペクタに表示されます。表示されたアイテムは、ワークスペースに貼り付けることができます。23.3項「エディタ・ワークスペースのテキスト・フィールドでの式の構築」を参照してください。

23.3 エディタ・ワークスペースのテキスト・フィールドでの式の構築

XQuery式エディタ、XQuery条件エディタ、およびXPath式エディタのすべてにテキスト・フィールドがあり、このフィールドに直接入力するか、または、パレットから貼り付けることで、式を構築できます。

始める前に

次の手順は、23.1項「インラインXQueryおよびXPath式の作成と編集」の説明に従って、XQuery式エディタ、XQuery条件エディタまたはXPath式エディタで式を作成または編集していることを前提としています。

テキスト・フィールドで式を構築する手順:

1. テキスト・フィールドを含むパネルを表示します。エディタに応じて、次のいずれかを実行します。

- まだ選択していない場合は、XQuery式エディタで、(ワークスペースのボタン・バーの下にある)「XQueryテキスト」を選択します。

- まだ選択していない場合は、XQuery条件エディタで、(ワークスペースのボタン・バーの下にある)「テキスト」を選択します。

- XPath式エディタでは、その他のツールを選択するオプションがないため、何も選択する必要はありません。

注意:
前述のいずれかのリンクを選択すると、コンテキストに応じた完全な式を作成できるテキスト・フィールドが表示されます。ただし、このトピックで説明されているツールと方法は、23.7項「外部XQueryリソースのインラインXQueryへのバインディング」および23.8項「外部XSLTリソースのインラインXQueryへのバインディング」で説明されているとおり、インポートされたリソースからインライン式への変数のバインディングなどのように、エディタにテキスト・フィールドが表示されている場合はいつでも使用できます。

2. 必要に応じて、式または式の一部を、フィールドに入力または貼り付けます。この方法で完全な式が作成できた場合は、ステップ7に進みます。それ以外の場合は、次の手順に進みます。

3. 次の表23-1の説明に従って、式に追加する項目を含むパレットを選択し、追加する項目を特定します。

表23-1 パレット

パレット

説明および使用方法

ネームスペース定義

デフォルトのOracle Service Busネームスペース、変数ネームスペース、およびユーザー定義のネームスペースを一覧表示します。定義されている場合は、ネームスペースの略語が一覧表示されます。

リストをスクロールして、目的のネームスペースを見つけ出します。

ネームスペースを定義することもできます。23.4項「インライン式で使用するネームスペースの作成」を参照してください。

XQuery関数

標準のXQuery関数と開発したカスタム関数がタイプ別にアルファベット順で含まれます。ツリーの各ノードを展開または縮小します。これを実行するには、プラス記号(+)またはマイナス記号(-)をクリックします。

関連項目:

- 11項「XQueryトランスフォーメーション」

- 『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「XQueryの実装」を参照してください。

変数の構造

変数とそれらのコンテンツがツリー形式で表示されるため、視覚的に確認できます。

変数の構造とそのコンテンツを表示するには

- パレットの上部にあるリストから構造の名前を選択します。リストには、組込みメッセージ・コンテキスト変数(attachments、body、header、outbound、inbound)と、型ごと(「XMLタイプ」、「サービス・インタフェース」、「単純な型」)に整理されたユーザー定義の構造が一覧表示されます。

- ツリーの各ノードを展開または縮小します。これを実行するには、プラス記号(+)またはマイナス記号(-)をクリックします。

ユーザーが独自に変数の構造を定義することもできます。23.5項「XQueryエディタによる変数の構造の作成」を参照してください。

変数の構造では、変数は作成されません。変数は、ステージでの割当てアクションの対象として実行時に作成されます。

変数の構造のツリーから項目をテキスト・フィールドに挿入すると、パスを記述するXPath式として挿入されます。

11項「XQueryトランスフォーメーション」も参照してください。

4. 次の表23-2に示されている方法のいずれかを使用して、目的の項目をテキスト・フィールドに貼り付けます。

表23-2 エディタのテキスト・フィールドに項目を貼り付ける方法

パレット

操作

「ネームスペース定義」パレット

標準のマウスまたはキーボードでの、ネームスペースの選択、コピー、および貼付けを使用します。例:

1. 文字列上でマウス・ポインタをドラッグして、ネームスペースの文字列全体(または、存在する場合は、その略語)を選択します。

2. [Ctrl]+[C]を押して、文字列をコピーします。

3. テキスト・フィールドの、ネームスペースを挿入する場所をクリックします。

4. [Ctrl]+[V]を押して、文字列を貼り付けます。

「XQuery関数」 パレットまたは 「変数の構造」 パレット

項目をパレットからテキスト・フィールドにドラッグします。

注意: パレットからワークスペースへのドラッグは、Internet Explorerでのみサポートされています。

「XQuery関数」 パレットまたは 「変数の構造」 パレット

1. パレットの項目をクリックします。「プロパティ・インスペクタ」ペインに項目が表示されます。
関数は、提供する必要がある値のプレースホルダーと共に表示されます。

変数とそれらの属性は、XPath式として表示されます。

2. テキスト・フィールドの、項目を挿入する場所をクリックします。

3. 「プロパティのコピー」をクリックして、テキスト・フィールド内の選択した場所に項目を貼り付けます。

「XQuery関数」 パレットまたは 「変数の構造」 パレット

1. パレットの項目をクリックします。「プロパティ・インスペクタ」ペインに項目が表示されます。

2. 標準のキーボードまたはマウスのアクションを使用して、プロパティ・インスペクタで項目を選択およびコピーします。

3. 標準のキーボードまたはマウスのアクションを使用して、テキスト・フィールド内の場所を選択して、項目をテキスト・フィールドに貼り付けます。

5. 引き続き、関数のドラッグ・アンド・コピーを行って、目的の式を構築します。

6. 必要に応じて、テキスト・フィールドで式を編集します。

7. (オプション)次のいずれか、または両方を実行します。

- 「検証」をクリックします。式の検証が成功した場合は、メッセージが表示されます。

- 式をテストするには、「テスト」をクリックします。33.3項「XQueryテストの実行」を参照してください。

8. 「保存」をクリックして、エディタを閉じ、式をアクションに挿入します。

終了後

21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションの構成を続行します。

23.4 インライン式で使用するネームスペースの作成

「ネームスペース定義」パレットには、デフォルトのネームスペースのリストが含まれています。新しいネームスペースを定義することもできます。

始める前に

次の手順は、23.1項「インラインXQueryおよびXPath式の作成と編集」の説明に従って、XQuery式エディタ、XQuery条件エディタまたはXPath式エディタで式を作成または編集していることを前提としています。

ネームスペースを作成してインライン式で使用するには

1. 「ネームスペース定義」を選択します。「ネームスペース定義」パレットには、デフォルトのネームスペースのリストと、存在する場合は、変数ネームスペースおよびユーザー定義済のネームスペースのリストが含まれています。

2. ユーザーのネームスペースを定義および追加するには

1. 「ネームスペースの追加」をクリックします。

2. 「接頭辞」フィールドに、ネームスペースの一意の識別子を入力します。同じ接頭辞を複数回使用することはできません。

3. 「URI」フィールドに、このネームスペースのURLをhttp://url/.../の形式で入力するか、またはURNをuddi:server:の形式で入力します。

4. 「追加」をクリックして、「ユーザー定義済みネームスペース」にネームスペースを追加します。

5. 23.1項「インラインXQueryおよびXPath式の作成と編集」の説明に従って、ユーザー定義済ネームスペースをコピーして、XQuery式、XQuery条件、またはXPathに貼り付けます。

終了後

23.1項「インラインXQueryおよびXPath式の作成と編集」の説明に従って続行します。

23.5 XQueryエディタによる変数の構造の作成

XQueryエディタおよびXPathエディタの「変数の構造」パレットには、変数のコンテンツがグラフィカルに表示されます。これには、デフォルトで、組込みのメッセージ・コンテキスト変数attachments、body、header、outbound、およびinboundが含まれています。

変数の構造のマッピングでは、各エントリはラベルを持ち、変数または変数パスを1つまたは複数の構造にマップします。これらのマッピングのスコープは、ステージまたはルート・ノードです。

次に基づいて、独自の変数の構造を宣言することもできます。

- 次のようなXMLタイプ

- スキーマ要素

- WSDL要素

- スキーマ・タイプ

- WSDLタイプ

- MFL

- サービス・インタフェース

- 単純な型(文字列または任意のXML)

この機能は、すべてのユーザー定義変数と$inbound、$outboundおよび$faultに対して直接使用できます。ただし、この機能を使用して$attachmentsのXML添付ファイル、$headerのヘッダーまたは$bodyのドキュメントとRPCパラメータに直接アクセスすることはできません。例外として、WSDLプロキシ・サービスによって受信されたリクエスト・メッセージの$bodyのドキュメントとパラメータには直接アクセスできます。

始める前に

次の手順は、23.1項「インラインXQueryおよびXPath式の作成と編集」の説明に従って、XQuery式エディタ、XQuery条件エディタまたはXPath式エディタで式を作成または編集していることを前提としています。

変数の構造を作成するには

1. 「変数の構造」を選択します。

2. 「変数の構造」パレットで「新しい構造の追加」をクリックします。

3. 続けて、次の表23-3に示す作業のいずれかを行います。

表23-3 新しい変数の構造の作成

内容

手順

変数をXMLスキーマの型にマップする変数の構造の作成

1. まだ選択していない場合は、「変数の構造」パレットの上部にある「XMLタイプ」を選択します。

2. 「構造ラベル」フィールドに、作成する変数の表示名を入力します。この表示名を使用すると、実行時には影響を及ぼさず設計時に構造を認識できるように、構造に意味のある名前を付けることができます。

3. 「構造パス」フィールドに、実行時の変数の構造のパスを入力します。このパスは、$で始まる必要があります。

4. 「タイプ」フィールドで該当するオプションを選択し、次に「スキーマ・タイプ」を選択します。

5. 「参照」をクリックします。XMLスキーマ・ブラウザが表示されます。リストからXMLスキーマを選択し、定義ペインからXMLスキーマの型を選択して、「発行」をクリックします。

6. 「追加」をクリックして変数の構造を作成します。

変数をWSDLの型にマップする変数の構造の作成

1. まだ選択していない場合は、「変数の構造」パレットの上部にある「XMLタイプ」を選択します。

2. 「構造ラベル」フィールドに、作成する変数の表示名を入力します。この表示名を使用すると、実行時には影響を及ぼさず設計時に構造を認識できるように、構造に意味のある名前を付けることができます。

3. 「構造パス」フィールドに、実行時の変数の構造のパスを入力します。

4. 「タイプ」フィールドで該当するオプションを選択し、次に「WSDLタイプ」を選択します。

5. 「参照」をクリックします。WSDLブラウザが表示されます。WSDLのリストからWSDLを選択し、定義ペインからWSDLの型を選択して、「発行」をクリックします。

6. 「追加」をクリックして変数の構造を作成します。

変数をXMLスキーマ要素にマップする変数の構造の作成

1. まだ選択していない場合は、「変数の構造」パレットの上部にある「XMLタイプ」を選択します。

2. 「構造ラベル」フィールドに、作成する変数の表示名を入力します。この表示名を使用すると、実行時には影響を及ぼさず設計時に構造を認識できるように、構造に意味のある名前を付けることができます。

3. 「構造パス」フィールドに、実行時の変数の構造のパスを入力します。

4. 「タイプ」フィールドで該当するオプションを選択してから、「スキーマ要素」を選択します。

5. 「参照」をクリックします。XMLスキーマ・ブラウザが表示されます。リストからXMLスキーマを選択し、定義ペインからXMLスキーマの型を選択して、「発行」をクリックします。

6. 「追加」をクリックして変数の構造を作成します。

変数をWSDL要素にマップする変数の構造の作成

1. まだ選択していない場合は、「変数の構造」パレットの上部にある「XMLタイプ」を選択します。

2. 「構造ラベル」フィールドに、作成する変数の表示名を入力します。この表示名を使用すると、実行時には影響を及ぼさず設計時に構造を認識できるように、構造に意味のある名前を付けることができます。

3. 「構造パス」フィールドに、実行時の変数の構造のパスを入力します。

4. 「タイプ」フィールドで該当するオプションを選択してから、「WSDL要素」を選択します。

5. 「参照」をクリックします。WSDLブラウザが表示されます。WSDLのリストからWSDLを選択し、定義ペインからWSDL要素を選択して、「発行」をクリックします。

6. 「追加」をクリックして変数の構造を作成します。

変数を子要素にマップする変数の構造の作成

1. まだ選択していない場合は、「変数の構造」パレットの上部にある「XMLタイプ」を選択します。

2. 「構造ラベル」フィールドに、作成する変数の表示名を入力します。この表示名を使用すると、実行時には影響を及ぼさず設計時に構造を認識できるように、構造に意味のある名前を付けることができます。

3. 「構造パス」フィールドに、実行時の変数の構造のパスを入力します。

4. 「タイプ」フィールドで、作成する変数の型を選択します。
XMLスキーマ要素またはWSDL要素の変数を作成するには、このオプションに関連付けられているオプションを選択し、「スキーマ要素」または「WSDL要素」を選択します。

MFL変数を作成するには、このオプションに関連付けられているオプションを選択し、「MFL」を選択します。

5. XMLスキーマ、WSDL、またはMFLについては、「参照」をクリックし、ブラウザに表示されるリストからオブジェクトを選択して、「発行」をクリックします。たとえば、MFLのリストでMFLを選択し、「発行」をクリックします。

6. 作成する構造の子として要素を設定するために、「子として設定」チェックボックスを選択します。

7. 「追加」をクリックして変数の構造を作成します。

MFLリソースを使用する変数の構造の作成

1. まだ選択していない場合は、「変数の構造」パレットの上部にある「XMLタイプ」を選択します。

2. 「構造ラベル」フィールドに、作成する変数の表示名を入力します。この表示名を使用すると、実行時には影響を及ぼさず設計時に構造を認識できるように、構造に意味のある名前を付けることができます。

3. 「構造パス」フィールドに、実行時の変数の構造のパスを入力します。

4. 「タイプ」フィールドで該当するオプションを選択してから、「参照」を選択します。MFLブラウザが表示されます。

5. MFLのリストからMFLを選択し、「発行」をクリックします。

6. 「追加」をクリックして変数の構造を作成します。

サービス・インタフェース変数の構造の作成

1. 「変数の構造」パレットの上部で、「サービス・インタフェース」を選択します。

2. 「構造ラベル」フィールドに、作成する変数の表示名を入力します。この表示名を使用すると、実行時には影響を及ぼさず設計時に構造を認識できるように、構造に意味のある名前を付けることができます。

3. 「構造パス」フィールドには、デフォルトの$bodyがすでに設定されています。このフィールドは変更できません。

4. WSDLベースのサービス・フィールドで「サービス・ブラウザ」アイコンを選択し、サービス・ブラウザに表示されるサービスのリストでサービスを選択して、「発行」をクリックします。

選択したサービスは、「WSDLベースのサービス」フィールドに表示されます。

1. 「操作」フィールドで、操作を選択するか、または操作を含めない場合は「なし」を選択します。

2. 「追加」をクリックして変数を作成します。

単純な変数の構造の作成

1. 「変数の構造」パレットの上部で、「単純な型」を選択します。

2. 「構造ラベル」フィールドに、作成する変数の表示名を入力します。この表示名を使用すると、実行時には影響を及ぼさず設計時に構造を認識できるように、構造に意味のある名前を付けることができます。

3. 「構造名」フィールドに、作成する変数の構造の名前を入力します。

4. 「タイプ」フィールドで、「文字列」または「任意のXML」を選択します。

5. 「追加」をクリックして変数を作成します。

終了後

23.1項「インラインXQueryおよびXPath式の作成と編集」の説明に従って続行します。

23.6 XQueryエディタでのカスタムXPath関数の作成

カスタムXQuery関数の作成は、Javaコードの記述が必要な開発プロセスです。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のカスタムXPath関数の作成と使用に関する項を参照してください。

23.7 外部XQueryリソースのインラインXQueryへのバインディング

XQueryリソースをインラインXQuery式にバインドして、アクションの一部としてインラインで実行できます。

始める前に

次の手順は、23.1項「インラインXQueryおよびXPath式の作成と編集」の説明に従って、XQuery式エディタ、XQuery条件エディタまたはXPath式エディタで式を作成または編集していることを前提としています。

XQueryリソースをインライン式にバインドするには

1. 「変数の構造」をクリックします。

2. ワークスペース(ボタン・バーの下)で、「XQueryリソース」を選択します。

3. 「1.実行するXQueryリソースを選択します」ボックスで「参照」をクリックします。

4. XQueryブラウザで、使用するXQueryに関連付けられているオプションを選択し、「発行」をクリックします。

5. 「2.変数のバインド」ボックスで、トランスフォーメーション用の入力パラメータを定義します。「変数名」の下にリストされている各変数に対して、これにマッピングされるXQuery式を入力します。マッピングはパラメータごとに定義する必要があります。たとえば、XQueryトランスフォーメーションにoneおよびtwoという入力パラメータがある場合、「変数名」フィールドには、「one」および「two」という2つのラベルが表示されます。各ラベルに、XQuery式が入力されるテキスト・ボックスが1つ表示されます。
次のXQuery式は、このフィールドの有効な入力例です。

$body/*[1]
$body/po:PurchaseOrder

注意:
bodyという変数名はこのフィールドでは無効な入力となり、例外が発生します。

6. 完了した後は、次のいずれかの操作に進みます。

- 「検証」をクリックします。式の検証が成功した場合は、メッセージが表示されます。

- 「テスト」をクリックします。33.3項「XQueryテストの実行」を参照してください。

- 変更を保存するか、または破棄します。

23.8 外部XSLTリソースのインラインXQueryへのバインディング

XQuery式エディタ・ページでは、実行用XSLTリソースを選択できます。このエディタの詳細は、23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

実行用XSLTリソースを選択するには

1. 「XSLTリソース」オプションを選択します。

2. 「実行するXSLTリソースを選択します」フィールドで「XSLTブラウザ」アイコンを選択します。

3. XSLTブラウザで、実行するXSLTに関連付けられているオプションを選択し、「発行」をクリックします。

4. 「変数のバインド」フィールドの下に、ラベルとそれに対応するテキスト・ボックスがトランスフォーメーションの入力パラメータごとに表示されます。各ラベルはパラメータ名に相当し、各テキスト・ボックスはそのパラメータにマッピングされるXQuery式を定義するためのものです。マッピングはパラメータごとに定義する必要があります。たとえば、XSLトランスフォーメーションにoneおよびtwoという入力パラメータがある場合、「変数マッピング」フィールドには、「one」および「two」というラベルと、ラベルごとにXQuery式を入力するテキスト・ボックスが表示されます。入力変数のマッピングの他に、トランスフォーメーションの入力ドキュメントのXQuery式を指定する必要もあります。このマッピングは、「入力ドキュメント」というラベルが付いたテキスト・ボックスで指定します。
次のXQuery式は、このフィールドの有効な入力例です。

$body/*[1]
$body/po:PurchaseOrder

注意:
bodyという変数名はこのフィールドでは無効な入力となり、例外が発生します。

5. 次の任意の作業を続行します。

- 23.4項「インライン式で使用するネームスペースの作成」

- 23.5項「XQueryエディタによる変数の構造の作成」

- 23.3項「エディタ・ワークスペースのテキスト・フィールドでの式の構築」

- 23.7項「外部XQueryリソースのインラインXQueryへのバインディング」

- 「検証」をクリックします。式の検証が成功した場合は、メッセージが表示されます。

- 「テスト」をクリックします。33.3項「XQueryテストの実行」を参照してください。

23.9 動的XQuery式のインラインXQueryへのバインディング

XQuery式エディタ・ページでは、あらかじめ登録したXQueryリソースの名前を実行時に評価する動的XQuery式を指定できます。このエディタの詳細は、23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

動的XQuery式を定義するには

1. 「動的XQuery」オプションを選択します。

2. 「XQueryリソースの式を入力」領域に、あらかじめ登録したXQueryリソースの名前に実行時に評価するXQuery式を入力します。
XQueryリソース(リソースの完全な名前を表す)の構文は次のとおりです。

Project/folder1/folder2/XQueryResourceName

3. 「XQueryテンプレートまたはカスタム変数を使用して変数をバインドします」領域に、トランスフォーメーションの入力パラメータを定義します。

- 「XQueryテンプレートの選択」フィールドの「参照」をクリックして、問合せ形式(変数の数と名前)のテンプレートとして使用する既存の登録済のリソースを選択します。テンプレートを選択すると、「変数のバインド」領域に変数が表示されます。テンプレートは構成に保持されることはありません。かわりに、テンプレートは問合せの変数を指定するためにクイック・スタートとして機能します。

- 「カスタム変数の追加」フィールドに変数名を入力し、「追加」をクリックします。「変数名」の下にリストされている各変数に対して、これにマッピングされるXQuery式を入力します。マッピングはパラメータごとに定義する必要があります。たとえば、XQueryトランスフォーメーションにoneおよびtwoという入力パラメータがある場合、「変数名」フィールドには、「one」および「two」という2つのラベルが表示されます。各ラベルに、XQuery式が入力されるテキスト・ボックスが1つ表示されます。

次のXQuery式は、変数フィールドの有効な入力例です。

$body/*[1]
$body/po:PurchaseOrder

4. 完了した後は、次のいずれかの操作に進みます。

- 「検証」をクリックします。式の検証が成功した場合は、メッセージが表示されます。

- 「テスト」をクリックします。33.3項「XQueryテストの実行」を参照してください。

- 変更を保存するか、または破棄します。

23.10 「ビルダー」オプションを使用したXQuery比較式の入力

始める前に

次の手順は、23.1項「インラインXQueryおよびXPath式の作成と編集」の説明に従って、XQuery条件エディタでXQuery条件式を作成または編集していることを前提としています。

XQuery比較式を入力する手順:

1. まだ選択していない場合は、XQuery条件エディタで、(ワークスペースのボタン・バーの下にある)「ビルダー」を選択します。

2. まだ選択していない場合は、「式ビルダー」ボックスで、「比較式」を選択します。

3. 「オペランド」フィールドに、コンテキスト変数、ネームスペース定義、またはXQuery関数を入力します。
オペランドを構築する場合、「XQuery関数」パレットからXQuery関数を、「ネームスペース定義」パレットからネームスペースを貼り付けることができます。23.3項「エディタ・ワークスペースのテキスト・フィールドでの式の構築」を参照してください。

4. 「演算子」リストから、比較演算子を選択します。

5. 「値」フィールドに、テキストまたはコンテキスト変数を入力します。
テキストは引用符で囲む必要があります。たとえば、"true"は有効ですが、trueは無効です。

6. 「追加」をクリックします。入力したテキストが「式」ペインに表示されます。

7. 追加の条件を構築する際は、ステップ3 - 6を繰り返します。各条件は、条件リストの最後に追加されます。
複数の条件を使用する場合は、次の点を考慮してください。

- 追加の式を作成する場合は、「組合せ」フィールドで必ず「AND」または「OR」オプションを選択してください。

- 条件を選択し、上矢印および下矢印をクリックして、条件のリスト内を上下に移動できます。「編集」アイコンをクリックして条件を更新したり、「削除」アイコンをクリックして条件を削除したりすることもできます。

- 条件の全体定義では、単項式と比較式を混ぜることもできます。

8. (オプション)次のいずれか、または両方を実行します。

- 「検証」をクリックします。式の検証が成功した場合は、メッセージが表示されます。

- 式をテストするには、「テスト」をクリックします。33.3項「XQueryテストの実行」を参照してください。

9. 「保存」をクリックして、エディタを閉じ、式をアクションに挿入します。

終了後

21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションの構成を続行します。

23.11 「ビルダー」オプションを使用した単項式の入力

始める前に

次の手順は、23.1項「インラインXQueryおよびXPath式の作成と編集」の説明に従って、XQuery条件エディタでXQuery条件式を作成または編集していることを前提としています。

XQuery比較式を入力する手順:

1. まだ選択していない場合は、XQuery条件エディタで、(ワークスペースのボタン・バーの下にある)「ビルダー」を選択します。

2. まだ選択していない場合は、「式ビルダー」ボックスで、「単項式」を選択します。

3. 「NOT」チェックボックスを選択してこの式を否定の式にするか、または空白のままにします。

4. 「式」フィールドに、コンテキスト変数、ネームスペースの定義、またはXQuery関数を入力します。
式を構築する場合、「XQuery関数」パレットからXQuery関数を、「ネームスペース定義」パレットからネームスペースを貼り付けることができます。23.3項「エディタ・ワークスペースのテキスト・フィールドでの式の構築」を参照してください。

5. 「追加」をクリックして、「式」ペインにテキストを追加します。

6. 追加の条件を構築する際は、ステップ3 - 5を繰り返します。各条件は、条件リストの最後に追加されます。
単項式を構築する際は、次の点を考慮してください。

- 追加の式を作成する場合は、「組合せ」フィールドで必ず「AND」または「OR」オプションを選択してください。

- 条件を選択し、上矢印および下矢印をクリックして、条件のリスト内を上下に移動できます。「編集」アイコンをクリックして条件を更新したり、「削除」アイコンをクリックして条件を削除したりすることもできます。

- 条件の全体定義では、単項式と比較式を混ぜることもできます。

7. (オプション)次のいずれか、または両方を実行します。

- 「検証」をクリックします。式の検証が成功した場合は、メッセージが表示されます。

- 式をテストするには、「テスト」をクリックします。33.3項「XQueryテストの実行」を参照してください。

8. 「保存」をクリックして、エディタを閉じ、式をアクションに挿入します。

終了後

21.1項「メッセージ・フローでのアクションの追加と編集」の説明に従って、アクションの構成を続行します。

24 プロキシ・サービス: エラー・ハンドラ

この章では、メッセージ・フローでエラー処理を実装する方法について説明します。

エラー処理は、メッセージ・フロー、パイプライン、ルート・ノード、およびステージ・レベルで構成できます。

24.1 「エラー・ハンドラの編集」ページ

エラー処理は、メッセージ・フロー、パイプライン、ルート・ノード、およびステージ・レベルで構成できます。

「エラー・ハンドラの編集」ページで、エラー・ハンドラを構成します。エラー・ハンドラの動作を指定するには、必ず、少なくとも1つのステージをページに追加する必要があります。次のトピックを参照してください。

- 24.2項「プロキシ・サービス・エラー・ハンドラの追加」

- 24.3項「パイプライン・エラー・ハンドラの追加」

- 24.4項「ステージ・エラー・ハンドラの追加」

- 24.5項「ルート・ノード・エラー・ハンドラの追加」

- 24.6項「エラー・ハンドラの編集」

- 『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「メッセージ・フローでのエラー処理」

24.2 プロキシ・サービス・エラー・ハンドラの追加

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

プロキシ・サービス・エラー・ハンドラを追加するには

1. 「プロキシ・サービス」アイコンをクリックしてから、「サービス・エラー・ハンドラの追加」をクリックします。「エラー・ハンドラの編集」ページが表示されます。

2. 「エラー・ハンドラ」アイコンをクリックしてから、「ステージの追加」をクリックします。

3. 「ステージ」アイコンをクリックして「ステージの編集」をクリックします。「ステージ構成の編集」ページが表示されます。

4. 「アクションの追加」アイコンをクリックし、追加するアクションを選択します。
エラー・ハンドラはパイプラインであるため、構成は他のパイプラインと同じようにして行われます。たとえば、「パブリッシュ」アクションを使用して、他のサービスにエラー通知を送信したり、「割当て」アクションを使用して、コンテキスト変数を変更したりできます。21.1項「メッセージ・フローでのアクションの追加と編集」を参照してください。アクションは任意の組合せで連鎖できます。

「エラーの生成」、「返信」および「再開」の3つのエラー・アクションがよく使用されます。

5. 必要に応じて、「ステージ構成の編集」ページで、他のアクションの追加およびその他の編集を行います。

6. 「ステージ構成の編集」ページで「保存」をクリックし、現在のセッションでの更新をコミットします。

7. 「エラー・ハンドラの編集」ページで「保存」をクリックし、現在のセッションでの更新をコミットします。

終了後

22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、メッセージ・フローの作成を続けます。

24.3 パイプライン・エラー・ハンドラの追加

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

また、この手順は、22.4項「メッセージ・フローへのパイプライン・ペア・ノードの追加」の説明に従って、パイプライン・ペア・ノードを作成していることも前提としています。

パイプライン・エラー・ハンドラを追加するには

1. エラー・ハンドラを追加するパイプラインを含むパイプライン・ペア・ノードに移動します。パイプライン・ペア・ノードがまだ展開されていない場合は、アイコン の横のプラス記号をクリックしてパイプラインを表示します。

2. 「リクエスト・パイプライン」アイコンまたは「レスポンス・パイプライン」アイコンをクリックして、「パイプライン・エラー・ハンドラの追加」をクリックします。「エラー・ハンドラの編集」ページが表示されます。

3. 「エラー・ハンドラ」アイコンをクリックしてから、「ステージの追加」をクリックします。

4. 「ステージ」アイコンをクリックして「ステージの編集」をクリックします。「ステージ構成の編集」ページが表示されます。

5. 「アクションの追加」アイコンをクリックし、追加するアクションを選択します。
エラー・ハンドラはパイプラインであるため、構成は他のパイプラインと同じようにして行われます。たとえば、「パブリッシュ」アクションを使用して、他のサービスにエラー通知を送信したり、「割当て」アクションを使用して、コンテキスト変数を変更したりできます。追加するアクションのタイプの詳細は、21.1項「メッセージ・フローでのアクションの追加と編集」の該当する手順を参照してください。アクションは任意の組合せで連鎖できます。

「エラーの生成」、「返信」および「再開」の3つのエラー・アクションがよく使用されます。

6. 必要に応じて、「ステージ構成の編集」ページで、他のアクションの追加およびその他の編集を行います。

7. 「ステージ構成の編集」ページで「保存」をクリックし、現在のセッションでの更新をコミットします。

8. 「エラー・ハンドラの編集」ページで「保存」をクリックし、現在のセッションでの更新をコミットします。

終了後

22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、メッセージ・フローの作成を続けます。

24.4 ステージ・エラー・ハンドラの追加

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

この手順は、22.7項「パイプラインへのステージの追加」の説明に従って、パイプラインにステージを追加していることも前提としています。

ステージ・エラー・ハンドラを追加するには

1. エラー処理を追加するステージへ移動します。

2. 「ステージ」アイコンをクリックしてから、「ステージ・エラー・ハンドラの追加」をクリックします。「エラー・ハンドラの編集」ページが表示されます。

3. 「エラー・ハンドラ」アイコンをクリックしてから、「ステージの追加」をクリックします。

4. 「ステージ」アイコンをクリックして「ステージの編集」をクリックします。「ステージ構成の編集」ページが表示されます。

5. 「アクションの追加」アイコンをクリックし、追加するアクションを選択します。
エラー・ハンドラはパイプラインであるため、構成は他のパイプラインと同じようにして行われます。たとえば、「パブリッシュ」アクションを使用して、他のサービスにエラー通知を送信したり、「割当て」アクションを使用して、コンテキスト変数を変更したりできます。追加するアクションのタイプの詳細は、21.1項「メッセージ・フローでのアクションの追加と編集」の該当する手順を参照してください。アクションは任意の組合せで連鎖できます。

「エラーの生成」、「返信」および「再開」の3つのエラー・アクションがよく使用されます。

6. 必要に応じて、「ステージ構成の編集」ページで、他のアクションの追加およびその他の編集を行います。

7. 「保存」をクリックして、現在のセッションで更新をコミットします。

終了後

22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、メッセージ・フローの作成を続けます。

24.5 ルート・ノード・エラー・ハンドラの追加

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

また、この手順は、22.8項「メッセージ・フローへのルート・ノードの追加」の説明に従って、ルート・ノードを作成していることも前提としています。

ルート・ノード・ハンドラを追加するには

1. 「ルート・ノード 」アイコンをクリックしてから、「エラー・ハンドラの追加」をクリックします。「エラー・ハンドラの編集」ページが表示されます。

2. 「エラー・ハンドラ」アイコンをクリックしてから、「ステージの追加」をクリックします。

3. 「ステージ」アイコンをクリックして「ステージの編集」をクリックします。「ステージ構成の編集」ページが表示されます。

4. 「アクションの追加」アイコンをクリックし、追加するアクションを選択します。
エラー・ハンドラもある種のパイプラインであるため、構成は他のパイプラインと同じようにして行われます。たとえば、「パブリッシュ」アクションを使用して、他のサービスにエラー通知を送信したり、「割当て」アクションを使用して、コンテキスト変数を変更したりできます。追加するアクションのタイプの詳細は、21.1項「メッセージ・フローでのアクションの追加と編集」の該当する手順を参照してください。アクションは任意の組合せで連鎖できます。

「エラーの生成」、「返信」および「再開」の3つのエラー・アクションがよく使用されます。

5. 必要に応じて、「ステージ構成の編集」ページで、他のアクションの追加およびその他の編集を行います。

6. 「ステージ構成の編集」ページで「保存」をクリックし、現在のセッションでの更新をコミットします。

7. 「エラー・ハンドラの編集」ページで「保存」をクリックし、現在のセッションでの更新をコミットします。

終了後

22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、メッセージ・フローの作成を続けます。

24.6 エラー・ハンドラの編集

始める前に

次の手順は、22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、すでにメッセージ・フローを編集していることを前提としています。

エラー・ハンドラを表示および変更するには

次のいずれかを行います。

表24-1 エラー・ハンドラの表示と変更

内容

手順

プロキシ・サービスのメッセージ・フロー・エラー・ハンドラの表示と変更

「プロキシ・サービス」アイコンをクリックしてから、「サービス・エラー・ハンドラの編集」をクリックします。「エラー・ハンドラの編集」ページが表示されます。24.2項「プロキシ・サービス・エラー・ハンドラの追加」を参照してください。

パイプラインのエラー・ハンドラの表示および変更

「リクエスト・パイプライン」アイコンまたは「レスポンス・パイプライン」アイコンをクリックして、「パイプライン・エラー・ハンドラの編集」をクリックします。「エラー・ハンドラの編集」ページが表示されます。24.3項「パイプライン・エラー・ハンドラの追加」を参照してください。

ルート・ノードのエラー・ハンドラの表示および変更

適切な「ルート・ノード」アイコンをクリックしてから、「ルート・エラー・ハンドラの編集」をクリックします。「エラー・ハンドラの編集」ページが表示されます。24.5項「ルート・ノード・エラー・ハンドラの追加」を参照してください。

ステージのエラー・ハンドラの表示および変更

適切な「ステージ」アイコンをクリックしてから、「ステージ・エラー・ハンドラの編集」をクリックします。「エラー・ハンドラの編集」ページが表示されます。24.4項「ステージ・エラー・ハンドラの追加」を参照してください。

終了後

22.1項「メッセージ・フローの表示と編集」の説明に従って、「メッセージ・フローの編集」ページで、メッセージ・フローの作成を続けます。

25 セキュリティ構成

この章では、Oracle Service Busのインバウンド・セキュリティおよび管理セキュリティで使用されるユーザー、グループおよびロールを作成する方法について説明します。

インバウンド・トランスポート・レベルのセキュリティおよびメッセージ・レベルのセキュリティでは、インバウンド・クライアント・リクエストを認証するためにユーザー、グループ、およびロールのデータが使用されます。プロキシ・サービスやビジネス・サービスの使用をどの認証ユーザーに認可するかを決定するためには、アクセス制御ポリシーが適用されます。

管理セキュリティでは、Oracle Service Busの構成データの作成または変更、Oracle Service Busのパフォーマンスの監視をどの認証ユーザーに認可するかを決定するためにユーザー、グループ、およびロールのデータが使用されます。詳細は、25.1項「ユーザー、グループ、セキュリティ・ロール、およびポリシーについて」を参照してください。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の管理セキュリティの構成に関する項を参照してください。

注意:
ユーザー、グループ、ロールはセキュリティ・プロバイダ・ストアにあるため、構成をエクスポートするときにこれらのオブジェクトをエクスポートすることはできません。エクスポートされた構成をインポートする場合や、WebLogic Serverツール(使用できる場合)を使用して構成をエクスポートおよびインポートする場合は、これらのオブジェクトを再度作成する必要があります。

25.1 ユーザー、グループ、セキュリティ・ロール、およびポリシーについて

この項の内容は次のとおりです。

- 25.1.1項「ユーザー」

- 25.1.2項「グループ」

- 25.1.3項「ロール」

- 25.1.4項「アクセス制御ポリシー」

- 25.1.5項「セキュリティ構成データとセッション」

25.1.1 ユーザー

ユーザーとは、認証が可能なエンティティを指します。ユーザーとして指定できるのは、Webサービス・クライアントなどの人物、またはソフトウェア・エンティティです。各ユーザーには、セキュリティ・レルム内でユニークなID (名前)を割り当てる必要があります。

一般的に、作成するユーザーは次の2つのカテゴリに分類されます。

- プロキシ・サービスまたはビジネス・サービスにアクセスできるクライアント・ユーザー。
多数のクライアント・ユーザーを作成する場合は、ユーザーをセキュリティ・グループに整理することを考慮してください。

- Oracle Service Bus管理コンソールを使用してプロキシ・サービス、ビジネス・サービスなどのOracle Service Busリソースを作成したり変更したりできる管理ユーザー。
Oracle Service Busの管理機能では、ロール・ベースのセキュリティが使用されます。Oracle Service Busでは、アクセス権限を各ユーザーに直接与えるのではなく、セキュリティ・ロールのみに管理権限が与えられます。管理権限をユーザーに与えるには、そのユーザーをデフォルトのセキュリティ・グループのいずれかに入れます。デフォルトのセキュリティ・グループは、事前定義されたセキュリティ・ロールの1つに入っています。

25.1.2 グループ

多数のユーザーの管理を効率化するためには、名前を付けたグループにユーザーを整理することができます。また、アクセス権限やロールIDを個々のユーザーに与えるのではなく、グループに権限やIDを与えます。

25.1.2.1 管理セキュリティ・グループ

Oracle Service Busには、プロキシ・サービスの作成などの管理機能へのアクセス権をユーザーに与えやすくするために、デフォルトのセキュリティ・グループが用意されています。各グループは、管理権限が与えられている、事前定義されたOracle Service Busのセキュリティ・ロールの1つに入っています。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の管理セキュリティの構成に関する項を参照してください。

25.1.3 ロール

セキュリティ・ロールは、実行時環境の条件に基づきユーザーまたはグループに与えることのできるIDです。アクセス制御ポリシーを作成するときに、アクセス権をロール、グループ、またはユーザーに与えることができます。

例として、MyCustomersEastとMyCustomersWestという2つのグループを作成する場合を考えてみます。PrivilegedCustomerという名前のセキュリティ・ロールを作成し、米国の東部標準時の午前8時から午後8時の間にMyCustomersWestグループがこのロールに入り、米国の東部標準時の午後8時から午前8時の間にMyCustomersEastグループがこのロールに入るようにする条件を作成します。次に、プロキシ・サービスのアクセス制御ポリシーを作成して、PrivilegedCustomerロールにサービスへのアクセス権を与えます。所属しているグループがMyCustomersEastであるかMyCustomersWestであるかに応じて、各ユーザーがアクセス権を持つ時間帯が変わることになります。

25.1.3.1 管理セキュリティ・ロール

Oracle Service Busには、管理権限を与える、事前定義された4種類のセキュリティ・ロール(およびWebLogic Serverの事前定義された4種類のロール)が用意されています。Oracle Service Busの管理セキュリティ・ロールのアクセス権限は変更できませんが、それらのロールのいずれかにユーザーまたはグループを入れるための条件は変更できます。

これらのロールと各ロールに使用可能な権限の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の管理セキュリティの構成に関する項を参照してください。

25.1.4 アクセス制御ポリシー

アクセス制御ポリシーは、ユーザー、グループ、またはロールがプロキシ・サービスにアクセスできるようにするための条件を指定します。たとえば、あるプロキシ・サービスへのアクセスを、GoldCustomerロールのユーザーには常に許可し、SilverCustomerロールのユーザーには平日の午後12時以降にのみ許可するというポリシーを作成することができます。

すべてのプロキシ・サービスに対して、トランスポート・レベルのポリシーを作成することができます。トランスポート・レベルのポリシーでは、クライアントがプロキシ・サービスとの接続を確立しようとしたときにセキュリティ・チェックが適用されます。トランスポート・レベルのポリシーのリストに入っているユーザーからのリクエストだけが続行を許可されます。

メッセージ・レベルのアクセス制御ポリシーでは、メッセージ・レベル・セキュリティを持つプロキシ・サービスをクライアントが呼び出そうとしたときに、セキュリティ・チェックが適用されます。次のような場合はメッセージ・レベルのアクセス制御ポリシーを作成できます。

- Webサービス・セキュリティのアクティブな仲介であるプロキシ・サービスの場合

- メッセージ・レベルのカスタム認証を使用するプロキシ・サービスの場合

メッセージ・レベルのポリシーのリストに入っているユーザーだけが、その操作を呼び出せます。

25.1.5 セキュリティ構成データとセッション

ユーザー、グループ、ロールは、セキュリティ・プロバイダにおいて存続し、Oracle Service Busセッションによる制御を受けません。したがって、セッション内でもセッション外でも、これらのデータを作成または変更できます。データに対する追加や変更は、即座に有効になり、すべてのセッションで使用できるようになります。データを追加または変更したときのセッションを破棄した場合でも、セキュリティ・データは破棄 されません 。

アクセス制御ポリシーは認可プロバイダに保持されます。また、Oracle Service Busリポジトリにもこれらへの参照があります。

アクセス制御ポリシーは、Oracle Service Bus設計セッションの外部ではなく内部で管理されます。変更はセッション内で行われるため、他のリソースと同じように変更をコミットまたは破棄できます。

Oracle Service Bus管理コンソールでACLを管理できますが、Oracle Service Busの外でもポリシーを変更できます。ただし、Oracle Service Busの外でポリシーを変更するとOracle Service Busの参照が期限切れになり、無効になる場合があります。

そのため、一貫した管理には、Oracle Service Busセッション外(認可プロバイダMBeansまたはサード・パーティの認可プロバイダ・ツールを使用)でACLを完全に管理するか、またはOracle Service Busセッション内でACLを完全に管理します。2つの方法を組み合せると、ポリシー表示の一貫性が失われる場合があります。

25.2 ユーザーの検索

ユーザーを検索するには:

1. 「セキュリティ構成」→「ユーザー」を選択します。「ユーザーのサマリー」ページに、表25-1に示す情報が表示されます。プロパティの詳しい説明については、25.4項「ユーザーの編集」を参照してください。

2. リストの項目数を制限する、または特定のユーザーを検索するには、ユーザー名でフィルタできます。「名前」フィールドに、ユーザー名の一部または全体を入力し、「検索」をクリックします。
ワイルドカード文字のアスタリスク(*)を使用できます(他のワイルドカード文字はサポートされません)。

「すべて表示」をクリックすると、検索フィルタが削除され、ユーザーがすべて表示されます。

表25-1 ユーザー情報

プロパティ

説明

ユーザー名

ユーザーに割り当てられた名前。この名前は「ユーザーの詳細を表示」ページにリンクされています。25.4項「ユーザーの編集」を参照してください。

グループ・メンバーシップ

このユーザーが所属するグループの名前。この名前は「グループの詳細を表示」ページにリンクされています。25.8項「グループの編集」を参照してください。

認証プロバイダ

このユーザーの認証プロバイダ。

オプション

特定のユーザーを削除するには、「削除」アイコンをクリックします。25.5項「ユーザーの削除」を参照してください。

25.3 ユーザーの追加

ユーザーを追加するには:

1. WebLogic Serverの管理権限を持つユーザーとして、Oracle Service Bus管理コンソールにログインします。管理ロールのユーザーのみがセキュリティ構成データを変更できます。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の管理セキュリティの構成に関する項を参照してください。

2. 「セキュリティ構成」を選択して、「ユーザーのサマリー」ページを表示します。

3. 「新しく追加」をクリックして、「新しいユーザーの作成 - 全般的な構成」ページを表示します。
セッション内で作業しているときもセッション外で作業しているときも、ユーザーを追加できます。

4. 「ユーザー名」フィールドにこのユーザーの一意の名前を入力します。このフィールドは必須です。

5. 「パスワード」フィールドにパスワードを入力します。このフィールドは必須です。

注意:
認証プロバイダは、パスワードの最小長を強制できます。WebLogic認証プロバイダで定義されているユーザーに対しては、パスワードの最小長は8文字です。WebLogic Server管理コンソールを使用すると、この設定をカスタマイズできます(WebLogic認証プロバイダは、デフォルトではDefaultAuthenticatorという名前のセキュリティ・レルムに構成されます)。

6. 「パスワードの確認」フィールドに、「パスワード」フィールドで入力したパスワードを入力します。このフィールドは必須です。

7. 「認証プロバイダ」フィールドで、このユーザーの認証プロバイダを選択します。
セキュリティ・レルムに複数の認証プロバイダが構成されている場合、それらがリストに表示されます。新規ユーザーの情報を格納する認証プロバイダ・データベースを選択します。

8. 「グループ・メンバーシップ」フィールドで、このユーザーのグループを選択します。

1. 「使用可能なグループ」フィールドからグループを選択します。

2. 矢印をクリックしてグループを「現在のグループ」フィールドに移動します。

9. 「保存」をクリックしてユーザーを作成します。
ユーザーが保存され、保存されたユーザーはすぐにすべてのセッションで使用できるようになります。ユーザーを追加しているときにセッション内で作業していて、ユーザーの追加後にセッションを破棄しても、追加した新しいユーザーは削除されません。

25.4 ユーザーの編集

「ユーザーの詳細を表示」ページを使用すると、特定のユーザーの詳細を確認および変更できます。

1. WebLogic Serverの管理権限を持つユーザーとして、Oracle Service Bus管理コンソールにログインします。管理ロールのユーザーのみがセキュリティ構成データを変更できます。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の管理セキュリティの構成に関する項を参照してください。

2. ユーザーを検索します。25.2項「ユーザーの検索」を参照してください。

3. ユーザー名をクリックします。「ユーザーの詳細を表示」ページに、表25-2に示す情報が表示されます。

表25-2 ユーザーの詳細

プロパティ

説明

ユーザー名

このユーザーの名前。

認証プロバイダ

このユーザーの定義を含む認証プロバイダ。

グループ・メンバーシップ

このユーザーが所属するグループの名前。

4. ユーザーの詳細を編集するには、「再構成」をクリックして、「ユーザーの詳細を編集」ページを表示します。
セッション内で作業しているときもセッション外で作業しているときも、ユーザーの詳細を編集できます。

5. 「新しいパスワード」、「パスワードの確認」および「グループ・メンバーシップ」の各フィールドに適切な変更を加えます。各フィールドの説明については、25.3項「ユーザーの追加」を参照してください。
「ユーザー名」フィールドは変更できません。

6. 「変更の保存」をクリックしてユーザーを更新します。
ユーザーの詳細が更新され、更新内容はすぐにすべてのセッションで使用できるようになります。ユーザーを更新しているときにセッション内で作業していて、更新後にセッションを破棄しても、更新内容は削除されません。

25.5 ユーザーの削除

「ユーザーのサマリー」ページを使用すると、選択したユーザーまたは複数のユーザーを削除できます。

1. WebLogic Serverの管理権限を持つユーザーとして、Oracle Service Bus管理コンソールにログインします。管理ロールのユーザーのみがセキュリティ構成データを変更できます。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の管理セキュリティの構成に関する項を参照してください。

2. 「セキュリティ構成」を選択して、「ユーザーのサマリー」ページを表示します。

3. 削除するユーザーを選択します。必要であれば、複数のユーザーを選択することもできます。
セッション内で作業しているときもセッション外で作業しているときも、ユーザーを削除できます。

4. 「削除」をクリックします。ユーザーの削除を確認するメッセージが表示されます。

5. ユーザーを削除するには、「OK」をクリックします。
ユーザーが削除されます。ユーザーを削除しているときにセッション内で作業していて、ユーザーの削除後にセッションを破棄しても、更新内容は削除されません。

6. 削除するユーザーの「オプション」列にある「削除」アイコンをクリックする方法もあります。

25.6 グループの検索

グループを検索するには:

1. 「セキュリティ構成」→「グループ」を選択します。「グループのサマリー」ページに、表25-3に示す情報が表示されます。プロパティの詳しい説明については、25.8項「グループの編集」を参照してください。

2. リストの項目数を制限する、または特定のグループを検索するには、グループ名でフィルタできます。「名前」フィールドに、グループ名の一部または全体を入力し、「検索」をクリックします。
ワイルドカード文字のアスタリスク(*)を使用できます(他のワイルドカード文字はサポートされません)。

「すべて表示」をクリックすると、検索フィルタが削除され、グループがすべて表示されます。

表25-3 グループ情報

プロパティ

説明

グループ名

グループの名前。この名前は「グループの詳細を表示」ページにリンクされています。25.8項「グループの編集」を参照してください。

グループ・メンバーシップ

このグループが所属するグループ。この名前は「グループの詳細を表示」ページにリンクされています。25.8項「グループの編集」を参照してください。

認証プロバイダ

このグループの定義を含む認証プロバイダ。

削除

特定のグループを削除するには、「削除」アイコンをクリックします。25.9項「グループの削除」を参照してください。

25.7 グループの追加

グループを追加するには:

1. WebLogic Serverの管理権限を持つユーザーとして、Oracle Service Bus管理コンソールにログインします。管理ロールのユーザーのみがセキュリティ構成データを変更できます。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の管理セキュリティの構成に関する項を参照してください。

2. 「セキュリティ構成」→「グループ」を選択して、「グループのサマリー」ページを表示します。

3. 「新しく追加」をクリックします。
セッション内で作業しているときもセッション外で作業しているときも、グループを追加できます。

4. 「グループ名」フィールドに一意の名前を入力します。
スペースや特殊文字は入力しないでください。このフィールドは必須です。

5. 「認証プロバイダ」フィールドで、認証プロバイダを選択します。

6. 「グループ・メンバーシップ」フィールドで、このグループが所属するグループを選択します。

1. 「使用可能なグループ」フィールドからグループを選択します。

2. 矢印をクリックしてグループを「現在のグループ」フィールドに移動します。

7. 「保存」をクリックしてグループを作成します。
グループが保存され、保存されたグループはすぐにすべてのセッションで使用できるようになります。グループを追加しているときにセッション内で作業していて、グループの追加後にセッションを破棄しても、追加した新しいグループは削除されません。

25.8 グループの編集

「グループの詳細を表示」ページを使用すると、特定のグループの詳細を確認および変更できます。

1. WebLogic Serverの管理権限を持つユーザーとして、Oracle Service Bus管理コンソールにログインします。管理ロールのユーザーのみがセキュリティ構成データを変更できます。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の管理セキュリティの構成に関する項を参照してください。

2. グループを検索します。25.6項「グループの検索」を参照してください。

3. グループ名をクリックします。「グループの詳細を表示」ページに、表25-4に示す情報が表示されます。

表25-4 グループの詳細

プロパティ

説明

グループ名

このグループの名前。

認証プロバイダ

このグループの定義を含む認証プロバイダ。

グループ

このグループが所属するグループ。

4. グループの詳細を編集するには、「再構成」をクリックして、「グループの詳細を編集」ページを表示します。
セッション内で作業しているときもセッション外で作業しているときも、グループの詳細を編集できます。

5. 「グループ・メンバーシップ」フィールドに適切な変更を加えます。各フィールドの説明については、25.7項「グループの追加」を参照してください。
「グループ名」フィールドは変更できません。

6. 「変更の保存」をクリックしてグループを更新します。
グループの詳細が更新され、更新内容はすぐにすべてのセッションで使用できるようになります。グループを更新しているときにセッション内で作業していて、更新後にセッションを破棄しても、更新内容は削除されません。

25.9 グループの削除

「グループのサマリー」ページを使用すると、選択したグループまたは複数のグループを削除できます。

1. WebLogic Serverの管理権限を持つユーザーとして、Oracle Service Bus管理コンソールにログインします。管理ロールのユーザーのみがセキュリティ構成データを変更できます。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の管理セキュリティの構成に関する項を参照してください。

2. 「セキュリティ構成」を選択して、「グループのサマリー」ページを表示します。

3. 削除するグループを選択します。必要であれば、複数のグループを選択することもできます。
セッション内で作業しているときもセッション外で作業しているときも、グループを削除できます。

4. 「削除」をクリックします。グループの削除を確認するメッセージが表示されます。

5. グループを削除するには、「OK」をクリックします。
グループが削除されます。グループを削除しているときにセッション内で作業していて、グループの削除後にセッションを破棄しても、グループの削除は取り消されません。

6. 削除するグループの「オプション」列にある「削除」アイコンをクリックする方法もあります。

25.10 ロールの検索

ロールを検索するには:

1. 「セキュリティ構成」→「ロール」を選択します。「グローバル・ロール」ページに、表25-5に示す情報が表示されます。プロパティの詳しい説明については、25.12項「ロールの編集」を参照してください。

2. リストに表示される項目の数を制限する、または特定のロールを検索するには、ページをスクロールします。表の上下にあるページ・コントロールを使用します。

表25-5 ロール情報

プロパティ

説明

ロール名

ロールの名前。この名前は「ロール詳細の表示」ページにリンクされています。25.12項「ロールの編集」を参照してください。

プロバイダ名

このグループの認証プロバイダ。

25.11 ロールの追加

ロールを追加するには:

1. WebLogic Serverの管理権限を持つユーザーとして、Oracle Service Bus管理コンソールにログインします。管理ロールのユーザーのみがセキュリティ構成データを変更できます。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の管理セキュリティの構成に関する項を参照してください。

2. 「セキュリティ構成」→「ロール」を選択して、「グローバル・ロール」ページを表示します。

3. 「新規」をクリックします。
セッション内で作業しているときもセッション外で作業しているときも、ロールを追加できます。

4. 「ロール名」フィールドに一意の名前を入力します。このフィールドは必須です。
セキュリティ・ロール名にはスペースや「<」「>」の文字を使用しないでください。セキュリティ・ロール名では大文字と小文字が区別されます。Oracle規則では、セキュリティ・ロール名はすべて単数形です。

5. ロールを作成するには、「OK」をクリックします。
ロールが保存され、保存されたロールはすぐにすべてのセッションで使用できるようになります。ロールを追加しているときにセッション内で作業していて、ロールの追加後にセッションを破棄しても、追加した新しいロールは削除されません。

「OK」をクリックしてロールを作成した場合は、次に、そのロールを適用する条件を定義する必要があります。

6. 25.11.1項「ロール条件の定義」に進みます。

25.11.1 ロール条件の定義

ロール条件を定義するには:

1. 「グローバル・ロール」ページで、新しいグローバル・ロールの名前をクリックして、「グローバル・ロール条件」ページを表示します。

2. 「ロール条件」の下にある「条件の追加」をクリックします。
次のプロンプトが表示されます。

新しい条件として使用する述部を選択

3. リスト・ボックスから述部を選択します。通常は、「グループ」を選択します。グループを使用してセキュリティ・ロールを作成すると、そのグループのすべてのメンバー(つまり複数のユーザー)にセキュリティ・ロールを付与できます。

4. 「次へ」をクリックします。条件の述部に対する選択に応じて、表25-6に示す手順の1つを実行します。

表25-6 条件の述部のオプション

条件の述部

手順

「グループ」を選択した場合は、このロールを保有する1つまたは複数のグループを定義する引数を1つまたは複数入力します

1. 「グループ引数名」フィールドに、グループを定義する引数を入力します。

2. 「追加」をクリックします。

3. 必要に応じてステップ1と2を繰り返してすべての引数を追加します。「削除」をクリックすると、リストからその引数を削除できます。

4. 「終了」をクリックします。

「ユーザー」を選択した場合は、このロールを保有する1つまたは複数のユーザーを定義する引数を1つまたは複数入力します

1. 「ユーザー引数名」フィールドに、ユーザーを定義する引数を入力します。

2. 「追加」をクリックします。

3. 必要に応じてステップ1と2を繰り返してすべての引数を追加します。「削除」をクリックすると、リストからその引数を削除できます。

4. 「終了」をクリックします。

「サーバーが開発モードである」、「全員に対してアクセスを許可」または「全員に対してアクセスを拒否」を選択した場合

「終了」をクリックします。

「指定した時間帯にアクセスが発生」など時間の制約を受ける述部を選択した場合は、開始時刻、終了時刻、およびGMTオフセットを選択します

1. 「開始時刻」フィールドに、許容される最も早い時刻をhh:mm:ss AM|PMの書式で入力します。たとえば、「12:45:00 AM」と入力します。

2. 「終了時刻」フィールドに、許容される最も遅い時刻をhh:mm:ss AM|PMの書式で入力します。たとえば、「12:45:00 AM」と入力します。

3. 「GMTオフセット」フィールドに、GMTより進んだ標準時を使用する場合はその時差をGMT+hh:mmの書式で、GMTより遅れた標準時を使用する場合はGMT-hh:mmの書式で入力します。たとえば、アメリカ東部標準時の場合は「GMT-5:00」と入力します。

4. 「終了」をクリックします。

「コンテキスト要素が定義されている」を選択した場合は、コンテキスト要素名を入力します

1. 「コンテキスト要素名」フィールドに、コンテキスト要素の名前を入力します。

2. 「終了」をクリックします。

「コンテキスト要素の値が数値定数と等しい」、「コンテキスト要素の値が数値定数より大きい」、「コンテキスト要素の値が数値定数より小さい」のいずれかを選択した場合は、コンテキスト要素名と、その値の比較対象となる数値を入力します

1. 「コンテキスト要素名」フィールドに、値を評価するコンテキスト要素の名前を入力します。

2. 「数値」フィールドに、数値を入力します。

3. 「終了」をクリックします。

コンテキスト要素の値が文字列値と等しいを選択した場合は、コンテキスト要素名と、その値の比較対象となる文字列値を入力します

1. 「コンテキスト要素名」フィールドに、値を評価するコンテキスト要素の名前を入力します。

2. 「文字列値」フィールドに、比較対象となる文字列値を入力します。

3. 「終了」をクリックします。

「次の日時より前にアクセスが発生」、「次の日時より後にアクセスが発生など時間の制約を受ける述部を選択した場合

1. 「日付」フィールドに、日付をmm/dd/yyの書式で入力します。たとえば、「1/1/04」と入力します。必要に応じて時刻をhh:mm:ss AM|PMの書式で入力することもできます。その場合は、「1/1/04 12:45:00 AM」のように入力します。

2. 「終了」をクリックします。

時間の制約を受ける述部「指定した曜日にアクセスが発生」を選択した場合は、曜日およびGMTオフセットを選択します

1. 「曜日」フィールドに、曜日を入力します。

2. 「GMTオフセット」フィールドに、GMTより進んだ標準時を使用する場合はその時差をGMT+hh:mmの書式で、GMTより遅れた標準時を使用する場合はGMT-hh:mmの書式で入力します。たとえば、アメリカ東部標準時の場合は「GMT-5:00」と入力します。

3. 「終了」をクリックします。

「指定した日にアクセスが発生」、「指定した日より前にアクセスが発生」または「指定した日より後にアクセスが発生」など時間の制約を受ける述部を選択した場合

1. 「指定した日」フィールドに、現在の月内の日を -31 - 31の値で入力します。負の値は月末から逆に数えることを意味し、-1は月の最終日を表します。0は、その月の初日の前日を表します。

2. 「GMTオフセット」フィールドに、GMTより進んだ標準時を使用する場合はその時差をGMT+hh:mmの書式で、GMTより遅れた標準時を使用する場合はGMT-hh:mmの書式で入力します。たとえば、アメリカ東部標準時の場合は「GMT-5:00」と入力します。

3. 「終了」をクリックします。

5. 必要に応じて手順を繰り返して、各種ロール条件に基づき式を追加します。「ロール条件」セクションでは、表25-7に示す手順を実行して、式を変更できます。

表25-7 ロール条件のオプション

内容

手順

選択した式の順序の変更

「上に移動」および「下に移動」をクリックします。

ロール条件をマージまたはマージ解除し、式の間にあるand文とor文を切り替えます。

「結合」および「結合解除」をクリックします。

否定条件にします(たとえば、「NOTグループOperators」にしてロールからOperatorsグループを除外します)

「否定」をクリックします。

選択した式の削除

「削除」をクリックします。

6. ロール条件のセクションのすべての式が正しいことを確認し、「保存」をクリックします。

7. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

25.12 ロールの編集

「ロール詳細の表示」ページを使用すると、特定のロールの詳細を確認および変更できます。

1. WebLogic Serverの管理権限を持つユーザーとして、Oracle Service Bus管理コンソールにログインします。管理ロールのユーザーのみがセキュリティ構成データを変更できます。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の管理セキュリティの構成に関する項を参照してください。

2. ロールを検索します。25.10項「ロールの検索」を参照してください。

3. ロール名をクリックします。「ロール詳細の表示」ページに、表25-8に示す情報が表示されます。

表25-8 ロールの詳細

プロパティ

説明

名前

ロールの名前。

ロール条件

このロール内のメンバーシップを決定する条件。

セッション内で作業しているときもセッション外で作業しているときも、ロールの詳細を変更できます。

4. 表25-9のいずれかの手順を実行します。

表25-9 ロールのオプション

内容

手順

選択した式の順序の変更

「上に移動」および「下に移動」をクリックします。

ロール条件をマージまたはマージ解除し、式の間にあるand文とor文を切り替えます。

「結合」および「結合解除」をクリックします。

否定条件にします(たとえば、「NOTグループOperators」にしてロールからOperatorsグループを除外します)

「否定」をクリックします。

選択した式の削除

「削除」をクリックします。

5. 「保存」をクリックします。
ロールが更新され、更新内容はすぐにすべてのセッションで使用できるようになります。ロールを更新しているときにセッション内で作業していて、更新後にセッションを破棄しても、更新内容は削除されません。

25.13 ロールの削除

ロールを削除するには:

1. WebLogic Serverの管理権限を持つユーザーとして、Oracle Service Bus管理コンソールにログインします。管理ロールのユーザーのみがセキュリティ構成データを変更できます。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の管理セキュリティの構成に関する項を参照してください。

2. 「セキュリティ構成」→「ロール」を選択して、「グローバル・ロール」ページを表示します。

3. 削除するロールを選択します。必要であれば、複数のロールを選択することもできます。
セッション内で作業しているときもセッション外で作業しているときも、ロールを削除できます。

4. 「削除」をクリックします。ロールの削除を確認するメッセージが表示されます。

5. ロールを削除するには、「OK」をクリックします。
ロールが削除されます。ロールを削除しているときにセッション内で作業していて、ロールの削除後にセッションを破棄しても、ロールの削除は取り消されません。

25.14 アクセス制御ポリシーの検索

「セキュリティ」ページには、現在のOracle Service Busドメイン内のプロキシ・サービスに使用するアクセス制御ポリシーへのリンクが表示されます。

セッション内で作成してまだアクティブ化していないプロキシ・サービスは、このページのリストには表示されません。新しいプロキシ・サービスのアクセス制御ポリシーを編集するには、そのプロキシ・サービスを作成したセッションを先にアクティブ化しておきます。

1. 新しいプロキシ・サービスのアクセス制御ポリシーを検索するには、そのプロキシ・サービスを作成したセッションを先にアクティブ化しておきます。

2. 「アクセス制御」列で「トランスポート・アクセス制御」からプロキシ・サービスの名前を選択するか、「メッセージ・アクセス制御」からプロキシ・サービスの名前または特定の操作を選択します。

25.15 トランスポートレベルのアクセス・ポリシーの編集

ポリシーの詳細を表示ページを使用すると、プロキシ・サービスのトランスポートレベルのアクセス制御ポリシーを編集できます。このページには、表25-10に示す情報が表示されます。

表25-10 ポリシーの詳細

プロパティ

説明

プロキシ・サービス名

「セキュリティ」ページで「トランスポート・アクセス制御」を選択したプロキシ・サービスの名前が表示されます。

プロバイダ

セキュリティ・レルムに対して構成されている認可プロバイダが表示されます。

ポリシー条件

プロキシ・サービスがどのユーザーのリクエストを処理するかを決定する条件が表示されます。

1. WebLogic Serverの管理権限を持つユーザーとして、Oracle Service Bus管理コンソールにログインします。管理ロールのユーザーのみがセキュリティ構成データを変更できます。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の管理セキュリティの構成に関する項を参照してください。

2. アクセス・ポリシーを検索します。25.14項「アクセス制御ポリシーの検索」を参照してください。

3. 「セキュリティ」ページの「トランスポート・アクセス制御」列で、プロキシ・サービスの名前をクリックします。ポリシー・エディタが表示されます。
セッション内で作業しているときも、アクセス制御ポリシーを編集できます。

4. 「認可プロバイダ」フィールドで、認可プロバイダを選択します。「XACMLAuthorizer」を選択することをお薦めします。

注意:
Oracle Service Busでは、WebLogicのデフォルト認可プロバイダのサポートは推奨されません。かわりに、WebLogic XACML認可プロバイダを使用することをお薦めします。

5. ポリシー条件を追加します。25.17項「ポリシー条件の追加」を参照してください。

6. 「ポリシー条件」セクションでの条件の入力が完了したら、「保存」をクリックします。

25.16 メッセージ・レベルのアクセス・ポリシーの編集

ポリシーの詳細を表示ページを使用すると、メッセージ・レベルのセキュリティを要求するために構成されているプロキシ・サービス(Webサービス)のメッセージ・レベルのアクセス制御ポリシーを編集できます。このページには、表25-11に示す情報が表示されます。

表25-11 ポリシーの詳細

プロパティ

説明

プロキシ・サービス名

「プロキシ・サービスのアクセス制御」ページで「ポリシーの表示」を選択したプロキシ・サービスの名前が表示されます。

プロバイダ

レルムに対して構成されている認可プロバイダが表示されます。

操作

保護できるプロキシ・サービスのオペレーションが表示されます。

ポリシー条件

「サービス操作」で選択された操作を呼び出すことのできるユーザーを決定する条件が表示されます。

1. WebLogic Serverの管理権限を持つユーザーとして、Oracle Service Bus管理コンソールにログインします。管理ロールのユーザーのみがセキュリティ構成データを変更できます。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の管理セキュリティの構成に関する項を参照してください。

2. アクセス・ポリシーを検索します。25.14項「アクセス制御ポリシーの検索」を参照してください。

3. 「セキュリティ」ページの「メッセージ・アクセス制御」列で、プロキシ・サービスの名前またはそのプロキシ・サービスの特定の操作をクリックします。ポリシー・エディタが表示されます。
セッション内で作業しているときも、アクセス制御ポリシーを編集できます。

4. 「認可プロバイダ」フィールドで、認可プロバイダを選択します。「XACMLAuthorizer」を選択することをお薦めします。

注意:
Oracle Service Busでは、WebLogicのデフォルト認可プロバイダのサポートは推奨されません。かわりに、WebLogic XACML認可プロバイダを使用することをお薦めします。

5. ポリシー条件を追加します。25.17項「ポリシー条件の追加」を参照してください。

6. 「ポリシー条件」セクションでの条件の入力が完了したら、「保存」をクリックします。

25.17 ポリシー条件の追加

ポリシー条件を追加するには:

1. アクセス制御ポリシーのポリシー・エディタにアクセスします。25.15項「トランスポートレベルのアクセス・ポリシーの編集」または25.16項「メッセージ・レベルのアクセス・ポリシーの編集」を参照してください。

2. ポリシー・エディタで、「ポリシー条件」の下にある「条件の追加」をクリックします。
次のプロンプトが表示されます。

新しい条件として使用する述部を選択

3. リストから述部を選択します。

4. 「次へ」をクリックします。条件の述部に対する選択に応じて、表25-12に示す手順の1つを実行します。

表25-12 条件の述部のオプション

選択

手順

ロール

(着信トランスポート・レベルのセキュリティでは、クライアントによる資格証明の提供を可能にするプロトコルをプロキシ・サービスが使用している場合にのみ、この条件が適用されます。)

1. 「ロール引数名」フィールドに、アクセス権を与えるロールを入力します。
このフィールドに入力したロールがまだ作成されていない場合は、アクセス制御ポリシーを作成した後に作成できます。25.11項「ロールの追加」を参照してください。このロールを作成しないと、だれにもアクセス権が与えられません。

2. 「追加」をクリックします。

3. 必要に応じてステップ1と2を繰り返してすべての引数を追加します。「削除」をクリックすると、リストからその引数を削除できます。

4. 次のいずれかを行います。
引数を保存して述部リストに戻るには、「終了」をクリックします。

変更を破棄して述部リストに戻るには、「戻る」をクリックします。

変更を破棄してポリシーの詳細を表示ページに戻るには、「取消し」をクリックします。

グループ

(着信トランスポート・レベルのセキュリティでは、クライアントによる資格証明の提供を可能にするプロトコルをプロキシ・サービスが使用している場合にのみ、この条件が適用されます。)

1. 「グループ引数名」フィールドに、アクセス権を与えるグループを入力します。
このフィールドに入力したグループがまだ作成されていない場合は、アクセス制御ポリシーを作成した後に作成できます。25.7項「グループの追加」を参照してください。このグループを作成しないと、だれにもアクセス権が与えられません。

2. 「追加」をクリックします。

3. 必要に応じてステップ1と2を繰り返してすべての引数を追加します。「削除」をクリックすると、リストからその引数を削除できます。

4. 次のいずれかを行います。
引数を保存して述部リストに戻るには、「終了」をクリックします。

変更を破棄して述部リストに戻るには、「戻る」をクリックします。

変更を破棄してポリシーの詳細を表示ページに戻るには、「取消し」をクリックします。

ユーザー

(着信トランスポート・レベルのセキュリティでは、クライアントによる資格証明の提供を可能にするプロトコルをプロキシ・サービスが使用している場合にのみ、この条件が適用されます。)

1. 「ユーザー引数名」フィールドに、アクセス権を与えるユーザーを入力します。
このフィールドに入力したユーザーがまだ作成されていない場合は、アクセス制御ポリシーを作成した後に作成できます。25.3項「ユーザーの追加」を参照してください。このユーザーを作成しないと、だれにもアクセス権が与えられません。

2. 「追加」をクリックします。

3. 必要に応じてステップ1と2を繰り返してすべての引数を追加します。「削除」をクリックすると、リストからその引数を削除できます。

4. 次のいずれかを行います。
引数を保存して述部リストに戻るには、「終了」をクリックします。

変更を破棄して述部リストに戻るには、「戻る」をクリックします。

変更を破棄してポリシーの詳細を表示ページに戻るには、「取消し」をクリックします。

指定した曜日にアクセスが発生

1. 「曜日」フィールドに、曜日を入力します。

2. 「GMTオフセット」フィールドに、GMTより進んだ標準時を使用する場合はその時差をGMT+hh:mmの書式で、GMTより遅れた標準時を使用する場合はGMT-hh:mmの書式で入力します。たとえば、アメリカ東部標準時の場合は「GMT-5:00」と入力します。

3. 次のいずれかを行います。
引数を保存して述部リストに戻るには、「終了」をクリックします。

変更を破棄して述部リストに戻るには、「戻る」をクリックします。

変更を破棄してポリシーの詳細を表示ページに戻るには、「取消し」をクリックします。

指定した時間帯にアクセスが発生

1. 「開始時刻」フィールドに、許容される最も早い時刻をhh:mm:ss AM|PMの書式で入力します。たとえば、「12:45:00 AM」と入力します。

2. 「終了時刻」フィールドに、許容される最も遅い時刻をhh:mm:ss AM|PMの書式で入力します。たとえば、「12:45:00 AM」と入力します。

3. 「GMTオフセット」フィールドに、GMTより進んだ標準時を使用する場合はその時差をGMT+hh:mmの書式で、GMTより遅れた標準時を使用する場合はGMT-hh:mmの書式で入力します。たとえば、アメリカ東部標準時の場合は「GMT-5:00」と入力します。

4. 次のいずれかを行います。
引数を保存して述部リストに戻るには、「終了」をクリックします。

変更を破棄して述部リストに戻るには、「戻る」をクリックします。

変更を破棄してポリシーの詳細を表示ページに戻るには、「取消し」をクリックします。

「次の日時より前にアクセスが発生」または「次の日時より後にアクセスが発生

1. 「日付」フィールドに、日付をmm/dd/yyの書式で入力します。たとえば、「1/1/04」と入力します。必要に応じて時刻をhh:mm:ss AM|PMの書式で入力することもできます。その場合は、「1/1/04 12:45:00 AM」のように入力します。

2. 「GMTオフセット」フィールドに、GMTより進んだ標準時を使用する場合はその時差をGMT+hh:mmの書式で、GMTより遅れた標準時を使用する場合はGMT-hh:mmの書式で入力します。たとえば、アメリカ東部標準時の場合は「GMT-5:00」と入力します。

3. 次のいずれかを行います。
引数を保存して述部リストに戻るには、「終了」をクリックします。

変更を破棄して述部リストに戻るには、「戻る」をクリックします。

変更を破棄してポリシーの詳細を表示ページに戻るには、「取消し」をクリックします。

「指定した日にアクセスが発生」、「指定した日より前にアクセスが発生」または「指定した日より後にアクセスが発生」

1. 「指定した日」フィールドに、現在の月内の日を-31から31の値で入力します。負の値は月末から逆に数えることを意味し、-1は月の最終日を表します。0は、その月の初日の前日を表します。

2. 「GMTオフセット」フィールドに、GMTより進んだ標準時を使用する場合はその時差をGMT+hh:mmの書式で、GMTより遅れた標準時を使用する場合はGMT-hh:mmの書式で入力します。たとえば、アメリカ東部標準時の場合は「GMT-5:00」と入力します。

3. 次のいずれかを行います。
引数を保存して述部リストに戻るには、「終了」をクリックします。

変更を破棄して述部リストに戻るには、「戻る」をクリックします。

変更を破棄してポリシーの詳細を表示ページに戻るには、「取消し」をクリックします。

コンテキスト要素の値が文字列定数と等しい

(トランスポート・レベルのセキュリティにのみ適用されます。コンテキスト要素は、Webコンテナなどのコンテナがセキュリティ・プロバイダに提示できる(オプション)パラメータと値のペアです。コンテキスト要素は、メッセージ・レベルのアクセス制御ポリシーでは使用できません。)

1. 「コンテキスト要素名」フィールドで、評価する値のコンテキスト要素の名前を入力します。使用可能な値については、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のセキュリティ・プロバイダに渡されたコンテキスト・プロパティに関する項を参照してください。

2. 「文字列値」フィールドに、比較対象となる文字列値を入力します。

3. 次のいずれかを行います。
引数を保存して述部リストに戻るには、「終了」をクリックします。

変更を破棄して述部リストに戻るには、「戻る」をクリックします。

変更を破棄してポリシーの詳細を表示ページに戻るには、「取消し」をクリックします。

「コンテキスト要素の値が数値定数より大きい」、「コンテキスト要素の値が数値定数と等しい」または「コンテキスト要素の値が数値定数より小さい」

(トランスポート・レベルのセキュリティにのみ適用されます。コンテキスト要素は、Webコンテナなどのコンテナがセキュリティ・プロバイダに提示できる(オプション)パラメータと値のペアです。コンテキスト要素は、メッセージ・レベルのアクセス制御ポリシーでは使用できません。)

1. 「コンテキスト要素名」フィールドで、評価する値のコンテキスト要素の名前を入力します。使用可能な値については、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のセキュリティ・プロバイダに渡されたコンテキスト・プロパティに関する項を参照してください。

2. 「数値」フィールドに、数値を入力します。

3. 次のいずれかを行います。
引数を保存して述部リストに戻るには、「終了」をクリックします。

変更を破棄して述部リストに戻るには、「戻る」をクリックします。

変更を破棄してポリシーの詳細を表示ページに戻るには、「取消し」をクリックします。

コンテキスト要素が定義されている

(トランスポート・レベルのセキュリティにのみ適用されます。コンテキスト要素は、Webコンテナなどのコンテナがセキュリティ・プロバイダに提示できる(オプション)パラメータと値のペアです。コンテキスト要素は、メッセージ・レベルのアクセス制御ポリシーでは使用できません。)

1. 「コンテキスト要素名」フィールドに、コンテキスト要素の名前を入力します。使用可能な値については、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のセキュリティ・プロバイダに渡されたコンテキスト・プロパティに関する項を参照してください。

2. 次のいずれかを行います。
引数を保存して述部リストに戻るには、「終了」をクリックします。

変更を破棄して述部リストに戻るには、「戻る」をクリックします。

変更を破棄してポリシーの詳細を表示ページに戻るには、「取消し」をクリックします。

全員に対してアクセスを拒否、全員に対してアクセスを許可またはサーバーが開発モードである

「終了」をクリックします。

「取消し」をクリックして変更を破棄し、ポリシーの詳細を表示ページに戻ることもできます。

5. 必要に応じてステップ3から5を繰り返して、各種ポリシー条件に基づき式を追加します。「ポリシー条件」セクションでは、表25-13に示す手順を実行して、式を変更できます。

表25-13 ポリシー条件のオプション

内容

手順

選択した式の順序の変更

条件に対応するチェックボックスを選択し、「上に移動」および「下に移動」をクリックします。

ポリシー条件をマージまたはマージ解除し、式の間にあるand文とor文を切り替えます。

該当する条件に対応するチェックボックスを選択し、「結合」および「結合解除」をクリックします。

否定条件にします(たとえば、「NOTグループOperators」にしてポリシーからOperatorsグループを除外します)

条件に対応するチェックボックスを選択し、「否定」をクリックします。

選択した式の削除

条件に対応するチェックボックスを選択し、「削除」をクリックします。

関連項目

『Oracle Fusion Middleware Oracle WebLogic Serverロールおよびポリシーによるリソースの保護』のセキュリティ・ポリシー条件に関する項を参照してください。

26 モニター

この章では、Oracle Service Bus管理コンソールを使用した、Oracle Service Bus(OSB)におけるサービスのモニター方法について説明します。内容には、SLA・アラートとパイプライン・アラートの操作、統計、操作設定およびメトリックが含まれます。

ビジネス・サービスまたはプロキシ・サービスを作成すると、そのサービスのモニターはデフォルトでは無効です。モニターを有効にする方法について、プロキシ・サービスの場合は26.8項「プロキシ・サービスの操作設定の構成」を、ビジネス・サービスの場合は26.9項「ビジネス・サービスの操作設定の構成」をそれぞれ参照してください。

個別にモニターが有効または無効にされているすべてのサービスのモニターを有効または無効にするには、「操作」→「グローバル設定」ページの「モニターの有効化」オプションを使用します。27.2項「グローバル設定の有効化」を参照してください。

実行時のモニターの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「実行時のOracle Service Busのモニター」を参照してください。

26.1 SLAアラートの表示

「SLAアラート」ページでは、SLAアラートの概要を表示し、詳細なアラート履歴情報(表26-1を参照)にアクセスできます。

「SLAアラート」ページには、次の情報が含まれます。

- パイプライン・アラート、サービス・ヘルスおよびサーバー・ヘルスの各情報を表示するためのタブ。
「SLAアラート」タブのヘッダーの数値インジケータには、最後の参照または最後のダッシュボード・リフレッシュ期間のうちいずれか新しい方以降に発生した新しいアラート件数が表示されます。デフォルトでは、ダッシュボード・リフレッシュ間隔は、「リフレッシュなし」に設定されています。ダッシュボード・リフレッシュ間隔を変更するには、27.3項「ユーザー・プリファレンスの設定」を参照してください。

注意:
ダッシュボードの更新間隔の値をデフォルト(更新なし)以外の値に選択すると、ブラウザは、一定間隔で定期的にダッシュボードの表示を更新します。これにより、管理コンソールとやり取りしていなくても、セッションはタイムアウトしなくなります。
ダッシュボード・リフレッシュ間隔機能を慎重に使用することをお薦めします。管理コンソール・セッションを無人のまま放置しないようにしてください。管理コンソール・セッションがアクティブな間は、再認証を行わずに、他のユーザーがそのコンピュータから管理コンソール・セッションにアクセスできます。

- 過去30分間(デフォルトのアラート履歴期間)にSLAアラートが発生したサービスの円グラフ。アラートの履歴データを表示する期間を変更する方法については、27.3項「ユーザー・プリファレンスの設定」を参照してください。
ページのSLAアラートの数は、同じ時間について、アラートを重大度レベルで分けて表示する円グラフと一致します。アラート重大度に対応するグラフの領域をクリックして、詳細を表示できます。

- SLAアラートのトップ10サービスは、これらのサービスによって発行されたアラートの数で降順にリストされています。各サービス名は、サービスのモニターの詳細にリンクされています。26.11項「サービス・メトリックの表示」を参照してください。

- カスタマイズしたアラート表の設定に応じてアラート情報を表示するフィールド。たとえば、タイムスタンプ、アラート名、アラート重大度、アクション、アラートに関連付けられたサービスの名前およびサービスの種類などです。これらのフィールドの詳細は、表26-1を参照してください。
アラート名の横の「注釈」アイコンはアノテーションを示します。アイコンにマウス・ポインタを合せるとアノテーション・テキストをプレビューできます。すべてのアノテーション・テキストを表示するには、このアイコンをクリックします。

- 「表カスタマイザ」アイコン。2.2項「表の表示のカスタマイズ」を参照してください。

- 「拡張アラート履歴」ページへのリンク。26.3項「アラートの検索」を参照してください。

表26-1 SLAアラートの履歴情報

プロパティ

説明

タイムスタンプ

アラート・ルールが最後にtrueに評価された日時。

デフォルトでは、すべてのアラートはタイム・スタンプに基づいて並べられます。

アラート名

アラートに割り当てられた名前。この名前は「アラート詳細」ページにリンクされています。26.5項「アラートの詳細の表示」を参照してください。

アラート名の横の「注釈」アイコンはアノテーションを示します。アイコンにマウス・ポインタを合せるとアノテーション・テキストをプレビューできます。

アラート重大度

ユーザー定義のアラートの重大度。

- 致命的

- クリティカル

- 重度

- 軽度

- 警告

- 通常

サービス

アラートに関連付けられたサービスの名前。この名前は「サービスのモニターの詳細」ページにリンクされています(サービスが現在モニターされている場合のみ)。26.11項「サービス・メトリックの表示」を参照してください。

サービス・タイプ

親サービスのタイプ:プロキシ・サービスまたはビジネス・サービス。

アクション

「アラート・ルールの詳細を表示」アイコンは、アラート・ルールの全般的な構成ページにリンクされています。26.24項「アラート・ルールの構成の表示」を参照してください。

26.2 パイプライン・アラートの表示

「パイプライン・アラート」ページでは、パイプライン・アラートの概要を表示し、詳細なアラート履歴情報(表26-2を参照)にアクセスできます。

「パイプライン・アラート」ページには、次の情報が含まれます。

- SLAアラート、サービス・ヘルスおよびサーバー・ヘルスの各情報を表示するためのタブ。
「パイプライン・アラート」タブのヘッダーの数値インジケータには、最後の参照または最後のダッシュボード・リフレッシュ期間のうちいずれか新しい方以降に発生した新しいアラート件数が表示されます。デフォルトでは、ダッシュボード・リフレッシュ間隔は、「リフレッシュなし」です。ダッシュボード・リフレッシュ間隔を変更するには、27.3項「ユーザー・プリファレンスの設定」を参照してください。

注意:
ダッシュボードの更新間隔の値をデフォルト(更新なし)以外の値に選択すると、ブラウザは、一定間隔で定期的にダッシュボードの表示を更新します。これにより、管理コンソールとやり取りしていなくても、セッションはタイムアウトしなくなります。
ダッシュボード・リフレッシュ間隔機能を慎重に使用することをお薦めします。管理コンソール・セッションを無人のまま放置しないようにしてください。管理コンソール・セッションがアクティブな間は、再認証を行わずに、他のユーザーがそのコンピュータから管理コンソール・セッションにアクセスできます。

- 過去30分間(デフォルトのアラート履歴期間)にパイプライン・アラートが発生したサービスの円グラフ。アラートの履歴データを表示する期間を変更する方法については、27.3項「ユーザー・プリファレンスの設定」を参照してください。
ページのパイプライン・アラートの数は、同じ時間間隔について、アラートを重大度レベルで分けて表示する円グラフと一致します。アラート重大度に対応するグラフの領域をクリックして、詳細を表示できます。

- パイプライン・アラートのトップ10サービスは、これらのサービスによって発行されたアラートの数で降順にリストされています。各サービス名は、サービスのモニターの詳細にリンクされています。26.11項「サービス・メトリックの表示」を参照してください。

- カスタマイズしたアラート表の設定に応じてアラート情報を表示するフィールド。たとえば、タイムスタンプ、アラート・サマリー、アラート重大度、アクション、アラートに関連付けられたサービスの名前およびサービスの種類などです。これらのフィールドの詳細は、表26-2を参照してください。
アラート・サマリーの横の「注釈」アイコンはアノテーションを示します。アイコンにマウス・ポインタを合せるとアノテーション・テキストをプレビューできます。すべてのアノテーション・テキストを表示するには、このアイコンをクリックします。

- 「表カスタマイザ」アイコン。2.2項「表の表示のカスタマイズ」を参照してください。

- 「拡張アラート履歴」ページへのリンク。

表26-2 パイプライン・アラートの履歴情報

プロパティ

説明

タイムスタンプ

アラートが発生した日時。

デフォルトでは、すべてのアラートはタイム・スタンプに基づいて並べられます。

アラート・サマリー

パイプライン・アラート・アクションの簡単な説明文またはOracle Service Busアラート(アラート・サマリー・テキストなしで設計されたパイプライン・アラート・アクションのデフォルト値)。アラート・サマリーは「アラート詳細」ページにリンクされています。26.5項「アラートの詳細の表示」を参照してください。

アラート・サマリーの横の「注釈」アイコンはアノテーションを示します。アイコンにマウス・ポインタを合せるとアノテーション・テキストをプレビューできます。

アラート重大度

ユーザー定義のアラートの重大度。

- 致命的

- クリティカル

- 重度

- 軽度

- 警告

- 通常

サービス

アラートに関連付けられたサービスの名前。この名前は「サービスのモニターの詳細」ページにリンクされています(サービスが現在モニターされている場合のみ)。26.11項「サービス・メトリックの表示」を参照してください。

サービス・タイプ

プロキシ・サービスだけがパイプラインのアラートを定義できます。したがって、パイプライン・アラートの場合、すべての親サービスがプロキシ・サービスになっています。

アクション

「メッセージ・フローの編集」アイコンは、プロキシ・サービスの「メッセージ・フローの編集」ページにリンクされています。

26.3 アラートの検索

アラートを検索するには:

1. 「操作」→「ダッシュボード」を選択します。

2. 「SLAアラート」タブまたは「パイプライン・アラート」タブを選択して、SLAアラートまたはパイプライン・アラートを表示します。

3. 「拡張アラート履歴」をクリックします。「拡張SLAアラート履歴」または「拡張パイプライン・アラート履歴」ページが表示され、詳細なアラートの履歴情報が示されます。

4. リストに表示される項目の数を絞り、特定のアラートだけを検索するには、次の操作を行います。

- 「開く」アイコンをクリックして追加の検索フィルタを表示します。複数の検索条件を指定すると、すべての条件を満たす結果のみが返されます。

- 日付範囲でフィルタします。次のいずれかを行います。

- 「すべて」を選択すると、日付範囲と時間間隔のフィルタ条件が無視され、すべてのアラートが表示されます。

- 「From」と「To」フィールドに、MM/DD/YY HH:MM AM|PMの形式で日時を指定し、「検索」をクリックします。指定した日付範囲に発生したアラートが表示されます。

- 「過去」フィールドに日数を入力してから、時間と分を指定して、「検索」をクリックします。指定した期間に発生したアラートが表示されます。

- アラート重大度でフィルタします。「アラート重大度」リストで選択して、アラートを指定された重大度に制限し、「検索」をクリックします。
「またはそれ以上」チェック・ボックスを選択すると、検索は指定した一定の値以上の重大度に制限されます。重大度を制限の少ない順に並べると、「通常」、「警告」、「軽度」、「重度」、「クリティカル」、「致命的」となります。

- 親サービスでフィルタします。「参照」をクリックして、「サービスの選択」ページを表示します。リストから親サービスを選択して、「発行」をクリックします。「クリア」をクリックして親サービスのフィルタ条件を削除するか、「検索」をクリックします。

- SLAアラート専用。「アラート名(任意の文字列)」でフィルタします。任意の文字列を入力し(ワイルドカード文字も入力可)、「検索」をクリックします。詳細は、26.3.1項「WebLogic診断フレームワークの問合せ言語」を参照してください。

- パイプライン・アラート専用。「アラート・サマリー(任意の文字列)」でフィルタします。任意の文字列を入力し(ワイルドカード文字も入力可)、「検索」をクリックします。詳細は、26.3.1項「WebLogic診断フレームワークの問合せ言語」を参照してください。アラート・サマリー・テキストなしで設計されたパイプライン・アラート・アクションを検索するには、「Oracle Service Busアラート」と入力します。

- 「すべて表示」をクリックすると、検索フィルタが削除され、アラートがすべて表示されます。

「拡張SLAアラート履歴」および「拡張パイプライン・アラート履歴」ページを使用して次のこともできます。

- アラート・データを円グラフで表示するには、「円グラフ・ビュー」を選択します。

- 同じデータを棒グラフで表示するには、「棒グラフ・ビュー」を選択します。

- データを表形式で表示するには、「表ビュー」を選択します。

- データの更新版を表示するには、「リフレッシュ」をクリックします。

- 個々のアラートを削除するには、該当するチェック・ボックスを選択し、ページの下部の「削除」をクリックします。

- すべてのアラートまたは指定した日時範囲に発行されたアラートを削除するには、ページの上部のアラート履歴のパージリンクをクリックします。26.4項「アラートのパージ」を参照してください。

26.3.1 WebLogic診断フレームワークの問合せ言語

アラートはWebLogic診断フレームワークを使用して格納されます。このフレームワークには、ワイルドカードなどの独自の問合せ言語が含まれています。拡張アラート履歴のアラートをフィルタするには、『Oracle Fusion Middleware Oracle WebLogic Server診断フレームワークの構成と使用』のWLDF問合せ言語に関する項に記載されている構文を使用してください。

26.4 アラートのパージ

このページでは、指定したSLAアラートまたはパイプライン・アラートを永続的に削除できます。

注意:
このアクションは元に戻すことができません。

1. 「操作」→「ダッシュボード」を選択します。

2. 「SLAアラート」タブまたは「パイプライン・アラート」タブを選択して、「拡張アラート履歴」リンクをクリックします。

3. 「拡張アラート履歴」ページの右上にある「SLAのアラート履歴のパージ」または「パイプラインのアラート履歴のパージ」をクリックします。

4. 表26-3のいずれかの手順を実行します。

表26-3 アラートのパージのオプション

内容

手順

すべてのSLAアラートまたはパイプライン・アラートのパージ

1. 「アラートをすべてパージ」を選択します。

2. 「パージ」をクリックします。

指定された期間内のSLAアラートまたはパイプライン・アラートのパージ

1. 「...から...までのアラートをパージする」を選択します。

2. パージ開始日時フィールドに、月、日、年、および時間を入力します。

3. 「パージ終了日時」フィールドに、月、日、年、および時間を入力します。

4. 「パージ」をクリックします。

注意:
アラートのパージ元のサーバーが使用可能でない場合、ロギング・フレームワークでパージのレコードを保持し、30分ごとにサーバーをポーリングして、使用可能かどうかを確認します。ロギング・フレームワークによってサーバーが使用可能であることが確認されると、アラートがパージされます。

26.5 アラートの詳細の表示

このページには、表26-4に示す情報などの特定のアラートの詳細が表示されます。

表26-4 アラートの詳細

プロパティ

説明

アラート名

SLAアラート専用。

アラートに割り当てられた名前。この名前はアラート・ルールの構成ページにリンクされています。26.24項「アラート・ルールの構成の表示」を参照してください。

アラート・サマリー

パイプライン・アラート専用。

パイプライン・アラート・アクションの簡単な説明文またはOracle Service Busアラート(アラート・サマリー・テキストなしで設計されたパイプライン・アラート・アクションのデフォルト値)。

説明

アラート・ルールの説明。

タイムスタンプ

- パイプライン・アラートの場合:アラートが発生した日時

- SLAアラートの場合:アラート・ルールが最後にtrueに評価された日時。

重大度

ユーザー定義のアラートの重大度。

- 致命的

- クリティカル

- 重度

- 軽度

- 警告

- 通常

サービス

このアラートに関連付けられたサービスの名前とパス。このフィールドは「サービスのモニターの詳細」ページにリンクされています(サービスが現在モニターされている場合のみ)。26.11項「サービス・メトリックの表示」を参照してください。

サービス・タイプ

親サービスのタイプ:プロキシ・サービスまたはビジネス・サービス。

プロキシ・サービスだけがパイプラインのアラートを定義できます。したがって、パイプライン・アラートの場合、すべての親サービスがプロキシ・サービスになっています。

サーバー

このアラートが生成されたサーバー名。

SLAアラートの場合はN/Aが表示されます。

注釈

このアラートに関するメモを入力できるテキスト・ボックス。アノテーションがあるアラートには、アラート履歴に「注釈」アイコンが表示されます。

26.6 サービスのモニター情報の表示

「サービス・ヘルス」ページには、モニターが有効なサービスのメトリックが表示されます。サービスに対してモニターを有効にする方法について、26.8項「プロキシ・サービスの操作設定の構成」および26.9項「ビジネス・サービスの操作設定の構成」を参照してください。

デフォルトでは、ダッシュボード・リフレッシュ間隔は、「リフレッシュなし」です。ダッシュボード・リフレッシュ間隔を変更するには、27.3項「ユーザー・プリファレンスの設定」を参照してください。

注意:
ダッシュボードの更新間隔の値をデフォルト(更新なし)以外の値に選択すると、ブラウザは、一定間隔で定期的にダッシュボードの表示を更新します。これにより、管理コンソールとやり取りしていなくても、セッションはタイムアウトしなくなります。
ダッシュボード・リフレッシュ間隔機能を慎重に使用することをお薦めします。管理コンソール・セッションを無人のまま放置しないようにしてください。管理コンソール・セッションがアクティブな間は、再認証を行わずに、他のユーザーがそのコンピュータから管理コンソール・セッションにアクセスできます。

「サービス・ヘルス」タブのヘッダーに、次のアイコンが表示されます。

- 「警告」アイコンと数値インジケータ。

- 「エラーあり」条件を使用して、表示されているサービスをフィルタするにはこのアイコンをクリックします。

- 数値は、最終更新以降にエラーが発生したサービスの数を示します。

- 「エンドポイント・オフライン」アイコンと数値インジケータ。

- 「オフライン・エンドポイントURIあり」条件を使用して、表示されているサービスをフィルタするには、このアイコンをクリックします。

- 数値は、ページの最終更新以降にオフラインにされたエンドポイントのサービスの数を示します。

「サービス・ヘルス」ページには、表26-5に示すサービス・メトリックとモニター情報が表示されます。

1. 「統計の表示」フィールドで、次のいずれかを行います。

- 各サービスの現在の集約間隔のモニター統計を表示するには、「現在の集約間隔」を選択します。「現在の集約間隔」ビューには、サービス・メトリックの変動する統計が表示されます。

- 統計の最後のリセット以降のサービスのモニター統計を表示するには、「最後のリセット以降」を選択します。「最後のリセット以降」ビューには、メトリックの集計カウントが表示されます。

2. リストからサーバーを選択して、そのサーバーのメトリックを表示します。
クラスタが存在する場合はクラスタ全体のメトリックがデフォルトで表示されます。管理対象サーバーを個別に選択してそのサーバーのメトリックを表示します。

3. リストに表示される項目の数を絞り、特定のサービスだけを検索するには、次の操作を行います。

- 「開く」アイコンをクリックして追加の検索フィルタを表示します。複数の検索条件を指定すると、すべての条件を満たす結果のみが返されます。

- サービス名でフィルタします。「名前」フィールドに検索対象の名前またはワイルドカード文字(*および?をワイルドカード文字として使用するとより一般的な検索が行えます)を入力し、「検索」をクリックします。
この検索方法は、サービスの名前がすべてのプロジェクトとパスでユニークである場合に推奨される方法です。

- サービス・パスでフィルタします。「パス」フィールドに検索対象のパスを入力します。このパスは、プロジェクト名、およびサービスが格納されるフォルダの名前になります。*および?をワイルドカード文字として使用すると、より一般的な検索が行えます。そのパスに存在するすべてのサービスが表示されます。
「パス」フィールドの形式は次のとおりです。

project-name/root-folder/ . . ./parent-folder

サービスがプロジェクトの直下にある場合、形式はproject-nameとなります。

- サービス名とパスでフィルタします。この検索方法は、同じ名前の複数のサービスが異なるパスに存在する場合に推奨される方法です。

- 親サービスでフィルタします。「サービス」リストで親サービスのタイプ(プロキシ・サービスまたはビジネス・サービス)を選択し、「検索」をクリックします。親サービスのフィルタ条件を無効にする場合は、「すべてのサービス」を選択します。

- メッセージが発生したサービスでフィルタします。「メッセージあり」オプションを選択し、「検索」をクリックします。

- アラートが発生したサービスでフィルタします。「アラートあり」オプションを選択し、「検索」をクリックします。

- エラーが発生したサービスでフィルタします。「エラーあり」オプションを選択し、「検索」をクリックします。

- オフラインURIを持つサービスでフィルタします。「オフライン・エンドポイントURIあり」オプションを選択し、「検索」をクリックします。

- 特定のプロキシ・サービスで呼び出されたサービスでフィルタします。該当するフィールドにプロキシ・サービスの名前とパスを入力するか、「参照」をクリックして「プロキシ・サービスの選択」ページを表示します。リストからプロキシ・サービスを選択して、「発行」をクリックします。「検索」をクリックします。指定したプロキシ・サービスによって呼び出されるビジネス・サービスが表示されます。
「プロキシの呼出し」フィールドではワイルドカード文字はサポートされません。

- 「すべて表示」をクリックすると、検索フィルタが削除され、サービスがすべて表示されます。

表26-5 サービスのモニター情報

プロパティ

説明

名前

サービスに割り当てられた名前。この名前は「サービスのモニターの詳細」ページへのリンクです。26.11項「サービス・メトリックの表示」を参照してください。

パス

サービスに関連付けられたプロジェクト。サービスがプロジェクト・フォルダにある場合は、そのフォルダも表示されます。パスは次の形式で表示されます。

project-name/root-folder/ . . ./parent-folder

このパスはプロジェクト・エクスプローラの対応するパスにリンクされています。

サービス・タイプ

親サービスのタイプ:プロキシ・サービスまたはビジネス・サービス。

集約間隔

このフィールドは、「統計の表示」フィールドで「現在の集約間隔」を選択した場合のみ表示されます。

このサービスのモニターに設定された現在の集約間隔(時間および分)。この間隔は「操作設定」ページで設定します。26.10項「サービスの集約間隔の設定」を参照してください。

平均レスポンス時間

現在の集約間隔での、または最後のリセット以降の、このサービスでメッセージの実行にかかった平均レスポンス時間(ミリ秒)。

メッセージ

現在の集約間隔での、または最後のリセット以降の、このサービスに関連付けられたメッセージの数。

エラー

現在の集約間隔での、または最後のリセット以降の、このサービスに関連付けられたエラー・メッセージの数。

アラート

このフィールドはデフォルトで非表示。

現在の集約間隔での、または最後のリセット以降の、このサービスに関連付けられたアラート(SLAまたはパイプライン)の数。

クラスタ内の個々の管理対象サーバーのプロキシ・サービスの場合、表示されるパイプライン・アラートの数は、現在の集約間隔での、または最後のリセット以降のこのサービスに関連付けられたもののみです。

ビジネス・サービス、個々の管理対象サーバーではN/Aと表示されます。

SLAアラート

現在の集約間隔での、または最後のリセット以降の、このサービスに関連付けられたSLAアラートの数。

クラスタ内の個々の管理対象サーバーについては、「SLAアラート」はN/Aです(クラスタ全体のSLAアラートのみが表示されます)。

パイプライン・アラート

プロキシ・サービス専用。

現在の集約間隔での、または最後のリセット以降の、このサービスに関連付けられたパイプライン・アラートの数。

エンドポイントURIのステータス

(ビジネス・サービスの場合のみ)エンドポイントURIのステータス。このステータスは、「エンドポイントURI」ページにリンクされています。26.15項「ビジネス・サービスのエンドポイントURIのメトリックの表示」を参照してください。

単一ノード・ドメイン(個々のサーバー・インスタンス)用:

- Online - ビジネス・サービスのすべてのエンドポイントURIがオンラインです。

- Offline - ビジネス・サービスのすべてのエンドポイントURIがオフラインです。

- Partial - ビジネス・サービスの少なくとも1つのエンドポイントURIがオフラインです。

クラスタリングされたドメイン用:

- 「サーバー」フィールドが「クラスタ」または管理対象サーバーの1つに設定されている場合、Onlineステータスは、クラスタ全体または選択した管理対象サーバーですべてのエンドポイントURIがオンラインであることを示します。

- 「サーバー」フィールドが「クラスタ」または管理対象サーバーの1つに設定されている場合、Offlineステータスは、クラスタ全体または選択した管理対象サーバーですべてのエンドポイントURIがオフラインであることを示します。

- 「サーバー」フィールドが「クラスタ」に設定されている場合、Partialステータスは、少なくとも1つのサーバー上でビジネス・サービスの1つ以上のエンドポイントURIがオフラインであるか、エンドポイントURIの少なくとも1つがすべてのサーバーでオフラインであるが、同じビジネス・サービスの他のエンドポイントURIが1つまたはすべてのサーバー上で使用できる状態になっていることを示します。

- 「サーバー」フィールドが管理対象サーバーの1つに設定されている場合、Partialステータスは、選択した管理サーバー上で、ビジネス・サービスのエンドポイントURIの少なくとも1つがオフラインであることを示します。

アクション

このフィールドは、「統計の表示」フィールドで「最後のリセット以降」を選択した場合のみ表示されます。

この列では、特定のサービスについて「リセット」アイコンをクリックし、そのサービスの統計をリセットすることができます。これを行うことを確定すると、統計の最後のリセット以降収集された、サービスに関するすべてのモニター統計が削除されます。ただし、サービスの現在の集約間隔において収集中の統計は削除されません。さらに、「リセット」アイコンをクリックすると、サービスのモニター統計の収集がただちに再開されます。

26.7 サービスの統計のリセット

「サービス・ヘルス」ページでは、構成内のすべてのサービスのモニター統計をリセットできます。統計のリセットは、セッション内でもセッション外でも実行できます。

1. 「操作」→「ダッシュボード」→「サービス・ヘルス」を選択します。

2. 「統計の表示」フィールドで「最後のリセット以降」を選択します。「最後のリセット以降」ビューには、メトリックの集計カウントが表示されます。

3. 特定のサービスのモニター統計をリセットするには、そのサービスの「アクション」列の「リセット」アイコンをクリックします。
これを行うことを確定すると、統計の最後のリセット以降収集された、サービスに関するすべてのモニター統計が削除されます。ただし、サービスの現在の集約間隔において収集中の統計は削除されません。さらに、「リセット」アイコンをクリックすると、サービスのモニター統計の収集がただちに再開されます。

4. すべてのサービスのモニター統計をリセットするには、ページの上部にある「すべての統計をリセット」リンクをクリックします。

注意:
「すべての統計をリセット」をクリックすると、ページ上に表示されているかどうかに関わらず、モニターされているサービスがすべてリセットされます。

統計をリセットすることを確定すると、統計の最後のリセット以降収集された、構成内のすべてのサービスに関するモニター統計がすべて削除されます。ただし、いずれのサービスについても現在の集約間隔において収集中の統計は削除されません。さらに、「すべての統計をリセット」アイコンをクリックすると、サービスのモニター統計の収集がただちに再開されます。

26.8 プロキシ・サービスの操作設定の構成

「操作設定」ページを使用して、特定のプロキシ・サービスのサービスやモニターを有効および無効にします。さらに、「操作」→「スマート検索」ページで同様のサービス固有の操作設定を指定できます。ただし、例外として、集約間隔の設定や、アラートまたはロギングの重大度の指定はできません。詳細は、27.1項「操作設定の検索と更新」を参照してください。

サービス・レベル設定の実行時の動作は、対応するグローバル設定によって異なります。実行時にサービスを完全に有効にするには、グローバル設定とサービス・レベル設定の両方を有効にする必要があります。また、サービス状態も有効にする必要があります。27.2項「グローバル設定の有効化」を参照してください。

サービスが実行時に無効でも、モニター構成の設定を変更して保存することができます。たとえば、「サービスのモニター」が無効でも、集約間隔を変更して保存することができます。このように、設定を編集し、後で有効化することも可能です。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「プロキシ・サービス」を選択します。

3. プロキシ・サービス名をクリックします。
「プロキシ・サービスの表示」ページに、表26-6に示す情報が表示されます。

表26-6 プロキシ・サービスの情報

プロパティ

説明

最終更新者

このサービスを作成または編集したか、構成にインポートしたユーザー。

最終更新日

ユーザーがこのサービスを作成または編集したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このサービスが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このサービスを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

このサービスの説明(説明が存在する場合)。

4. 「操作設定」タブを選択します。
表26-7に示されているプロキシ・サービスの操作設定を構成するには、アクティブなセッションで作業する必要があります。

表26-7 プロキシ・サービスの操作設定の構成

内容

操作

「状態」の無効化

「有効」チェック・ボックスを選択解除します。セッションをアクティブ化すると、サービスはメッセージ処理を停止します。

サービスを無効化しても、以前に収集されたサービスに関するすべてのモニター統計は削除されないようになりました。

「状態」の有効化

「有効」チェック・ボックスを選択します。セッションをアクティブ化すると、サービスはメッセージ処理を再開します。

「モニター」の無効化

「有効」チェック・ボックスを選択解除します。セッションをアクティブ化すると、サービスに関するモニター統計の収集が停止され、以前に収集された統計が削除されます。

「モニター」の有効化

「モニター」の横にある「有効」チェックボックスを選択します。「パイプライン・モニターの有効化」リストで重大度を選択してモニターを一定以上のレベルに制限します。レベルを制限の少ない順に並べると、「アクション」、「パイプライン」、「サービス」となります。

セッションをアクティブ化すると、サービスに関するモニター統計の収集が開始されます。

サービスの集約間隔の設定

間隔(時間または分)を選択して「更新」をクリックします。1時間を超える時間を選択した場合、分はデフォルトで常に0が選択されます。ただし、0または1時間を選択した場合には、分単位で間隔を構成することができます。26.10項「サービスの集約間隔の設定」を参照してください。

モニターを有効化したかどうかにかかわらず、集約間隔の設定を変更し、保存できます。

実行時にモニターを有効にするには、「モニターの有効化」チェックボックスを選択します。

「SLAアラート」の無効化

「有効」チェック・ボックスを選択解除します。サービスに対して構成されたアラート・ルールの評価が停止されます。そのため、サービスに関連付けられたSLAアラートを受け取ることはなくなります。

「SLAアラート」の有効化

「有効」チェック・ボックスを選択します。「アラートを有効にする場所」リストで重大度を選択して、SLAアラートを一定以上のレベルに制限します。重大度を制限の少ない順に並べると、「通常」(デフォルト)、「警告」、「軽度」、「重度」、「クリティカル」、「致命的」となります。

サービスのSLAアラートはグローバル・レベルおよびサービス・レベルのモニターの状態に依存します。SLAアラートを実行時に有効にするには、両方のレベルでモニター設定を有効にしておく必要があります。27.2.3項「SLAアラートのグローバルな有効化」を参照してください。

「パイプライン・アラート」の無効化

「有効」チェック・ボックスを選択解除します。セッションをアクティブ化すると、パイプライン・アラートのアクションの実行が停止されます。そのため、サービスに関連付けられたパイプライン・アラートを受け取ることはなくなります。

「パイプライン・アラート」の有効化

「有効」チェック・ボックスを選択します。「アラートを有効にする場所」リストで重大度を選択して、パイプライン・アラートを一定以上のレベルに制限します。重大度を制限の少ない順に並べると、「通常」(デフォルト)、「警告」、「軽度」、「重度」、「クリティカル」、「致命的」となります。

プロキシ・サービスのレポート・アクションの無効化

「メッセージ・レポート」の横にある「有効」チェックボックスを選択解除します。セッションをアクティブ化すると、レポートのアクションの実行が停止されます。そのため、サービスに関連付けられたメッセージ・レポートを受け取ることはなくなります。

プロキシ・サービスのレポート・アクションの有効化

「メッセージ・レポート」の横にある「有効」チェックボックスを選択します。

パイプライン・ログ・アクションのログ出力の無効化

「ロギング」の横にある「有効」チェックボックスを選択解除します。セッションをアクティブ化すると、ログのアクションの実行が停止されます。そのため、サービスに関連付けられたログ出力を受け取ることはなくなります。

パイプライン・ログ・アクションのログ出力の有効化

「ロギング」の横にある「有効」チェックボックスを選択します。「ロギングを有効にする場所」リストで重大度を選択してログ出力を一定以上のレベルに制限します。レベルを制限の少ない順に並べると、「デバッグ」(デフォルト)、「情報」、「警告」、「エラー」となります。

プロキシ・サービスのランタイム実行トレースの有効化

「実行トレース」の横にある「有効」チェックボックスを選択します。実行トレースを有効にすると、メッセージ・フロー・コンテキストやメッセージ・コンテキストから選択された各種詳細がログに記録されます。これらの詳細には、ステージ名、パイプライン名またはルート・ノード名、現在のメッセージ・コンテキストなどが含まれます。

注意: ログ・ファイルまたは標準出力(サーバー・コンソール)にトレースを表示するには、Oracle WebLogic Serverのロギングを次の重大度に設定する必要があります。

- ログの最低の重大度: 情報

- ログ・ファイル: 情報

- 標準出力: 情報

ログの重大度の設定の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverログ・ファイルの構成とログ・メッセージのフィルタ処理』のログの重大度の使用に関する説明を参照してください。

プロキシ・サービスの実行時トレースの無効化

「実行トレース」の横にある「有効」チェックボックスを選択解除します。

プロキシ・サービスのメッセージ・トレースの有効化

「メッセージ・トレース」の横にある「有効」チェックボックスを選択します。メッセージ・トレースを有効にすると、Oracle Service Busパイプラインとプロキシ・サービス間でやり取りされたメッセージ(インバウンド・リクエストおよびレスポンス、アウトバウンド・リクエストおよびレスポンス・メッセージ)がログに記録されます。

注意: ログ・ファイルまたは標準出力(サーバー・コンソール)にトレースを表示するには、Oracle WebLogic Serverのロギングを次の重大度に設定する必要があります。

- ログの最低の重大度: 情報

- ログ・ファイル: 情報

- 標準出力: 情報

ログの重大度の設定の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverログ・ファイルの構成とログ・メッセージのフィルタ処理』のログの重大度の使用に関する説明を参照してください。

ログに記録されたアウトバウンド・メッセージには、適用可能な場合、再試行回数、エラー・コード、およびエラー・メッセージを含めることもできます。

「詳細レベル」リストで、次の中から選択して詳細のレベルを指定します。

- 「簡潔」 - 日付、時間、サービス・タイプ、サービス名、およびURIを表示

- 「ヘッダー」 - XMLのメッセージ・メタデータの表現とともに、terse情報を表示

- 「フル」 - アタッチメント(ある場合)を含む未加工のペイロードとともに、ヘッダー情報を表示

「詳細レベル」リストで「すべて」を選択した場合、「ペイロード・トレース制限」フィールドを利用して、メッセージ・ペイロードの最大サイズ(キロ・バイト)を指定します。また、「デフォルト・エンコーディング」フィールドを利用して、ペイロードをロギングするデフォルトのエンコーディングを指定します。これは、バイナリ・ペイロードまたはバイナリ添付付きSOAPメッセージのロギング時に便利です。

デフォルトのエンコーディング値には、Base64またはhttp://docs.oracle.com/javase/6/docs/technotes/guides/intl/encoding.doc.htmlに定義されているJava対応の任意のエンコーディングを使用できます。

「デフォルト・エンコーディング」フィールドを空のままにすると、Oracle Service Busではペイロードにホストのデフォルトのエンコーディングが使用されます。デフォルトのエンコーディングは、JVM、基になるオペレーティング・システム(OS)、およびOSレベルのロケール設定の組合せに依存します。

「デフォルト・エンコーディング」フィールドで指定された設定が使用できない場合(たとえば、構成で無効なオプションである場合)、Oracle Service BusはペイロードにBase64エンコーディングを使用します。

プロキシ・サービスのメッセージ・トレースの無効化

「メッセージ・トレース」の横にある「有効」チェックボックスを選択解除します。

26.9 ビジネス・サービスの操作設定の構成

「操作設定」ページを使用して、特定のビジネス・サービスのサービスやモニターを有効および無効にします。。さらに、「操作」→「スマート検索」ページで同様のサービス固有の操作設定を指定できます。ただし、例外として、集約間隔の設定や、アラートまたはロギングの重大度の指定はできません。詳細は、27.1項「操作設定の検索と更新」を参照してください。

サービス・レベル設定の実行時の動作は、対応するグローバル設定によって異なります。実行時にサービスを完全に有効にするには、グローバル設定とサービス・レベル設定の両方を有効にする必要があります。また、サービス状態も有効にする必要があります。27.2項「グローバル設定の有効化」を参照してください。

サービスが実行時に無効でも、モニター構成の設定を変更して保存することができます。たとえば、「サービスのモニター」が無効でも、集約間隔を変更して保存することができます。このように、設定を編集し、後で有効化することも可能です。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「ビジネス・サービス」を選択します。

3. ビジネス・サービス名をクリックします。
「ビジネス・サービスの表示」ページに、表26-8に示す情報が表示されます。

表26-8 ビジネス・サービスの情報

プロパティ

説明

最終更新者

このサービスを作成または編集したか、構成にインポートしたユーザー。

最終更新日

ユーザーがこのサービスを作成または編集したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このサービスが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このサービスを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

このサービスの説明(説明が存在する場合)。

4. 「操作設定」タブを選択します。
表26-9に示されているビジネス・サービスの操作設定を構成するには、アクティブなセッションで作業する必要があります。

表26-9 ビジネス・サービス操作設定の構成

内容

操作

「状態」の無効化

「有効」チェック・ボックスを選択解除します。セッションをアクティブ化すると、サービスはメッセージ処理を停止します。

サービスを無効化しても、以前に収集されたサービスに関するすべてのモニター統計は削除されないようになりました。

「状態」の有効化

「有効」チェック・ボックスを選択します。セッションをアクティブ化すると、サービスはメッセージ処理を再開します。

オフラインでのビジネス・サービスのエンドポイントURIの取込みを可能にします。

オフラインURIの再試行間隔を設定します。

「再試行間隔を指定して有効化」チェックボックスを選択します。

このオプションを選択すると、ビジネス・サービスは、実行時に応答しないエンドポイントURIを削除し(オフラインにする)、再試行と以降のリクエストの処理には応答するURIのみが使用されます。

修正作業を行うまでの間応答しないURIをオフラインにしてから再度URIを有効にするには、再試行間隔を設定しないでください。たとえば、再試行間隔をゼロにすると、エンドポイントが永続的にオフラインになります。オンラインに戻すには、「エンドポイントURI」ページのエンドポイントをオンラインとマーク・アクションを使用します。26.15項「ビジネス・サービスのエンドポイントURIのメトリックの表示」を参照してください。

応答しないURIをオフラインにしてから、以降のメッセージを処理するために、指定した時間間隔の後に同じURIエンドポイントへアクセスを再試行するようにビジネス・サービスを構成するには、再試行間隔の値を設定します。「時間」、「分」、および「秒」フィールドを使用して、応答しないURIをアクティブなURI処理ループから除外しておく時間を設定します。

URIは指定した時間間隔の間オフラインにされてから、再試行されます。エンドポイントが応答すると、URIは再度オンラインになるか、オフラインのままで、処理自体が繰り返されます。

再試行間隔を指定できるのは、「再試行間隔を指定して有効化」オプションを選択している場合のみです。

「モニター」の無効化

「有効」チェック・ボックスを選択解除します。セッションをアクティブ化すると、サービスに関するモニター統計の収集が停止され、以前に収集された統計が削除されます。

「モニター」の有効化

「有効」チェック・ボックスを選択します。セッションをアクティブ化すると、サービスに関するモニター統計の収集が開始されます。

サービスの集約間隔の設定

間隔(時間または分)を選択して「更新」をクリックします。1時間を超える時間を選択した場合、分はデフォルトで常に0が選択されます。ただし、0または1時間を選択した場合には、分単位で間隔を構成することができます。26.10項「サービスの集約間隔の設定」を参照してください。

モニターを有効化したかどうかにかかわらず、集約間隔の設定を変更し、保存できます。

実行時にモニターを有効にするには、「モニターの有効化」チェックボックスを選択します。

「SLAアラート」の無効化

「有効」チェック・ボックスを選択解除します。サービスに対して構成されたアラート・ルールの評価が停止されます。そのため、サービスに関連付けられたSLAアラートを受け取ることはなくなります。

「SLAアラート」の有効化

「有効」チェック・ボックスを選択します。「アラートを有効にする場所」リストで重大度を選択して、SLAアラートを一定以上のレベルに制限します。重大度を制限の少ない順に並べると、「通常」(デフォルト)、「警告」、「軽度」、「重度」、「クリティカル」、「致命的」となります。

サービスのSLAアラートはグローバル・レベルおよびサービス・レベルのモニターの状態に依存します。SLAアラートを実行時に有効にするには、両方のレベルでモニター設定を有効にしておく必要があります。27.2.3項「SLAアラートのグローバルな有効化」を参照してください。

ビジネス・サービスで構成された一連のエンドポイントに送信したメッセージのフローを制限する

「スロットルの状態」の横にある「有効」チェック・ボックスを選択します。有効にすると、メッセージが優先順に処理されます。ルーティング・オプションを使用してメッセージに優先度を割り当てることもできます。割り当てない場合、メッセージはファースト・イン・ファースト・アウト方式でデキューされます。

詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「スロットル」を参照してください。

ビジネス・サービスで構成された一連のエンドポイントに送信されているメッセージの数を制限する

「スロットルの状態」が有効な場合、このフィールドは必須です。

「最大同時実行性」を正の整数値で指定します。ゼロは指定できません。

指定した数を超えると、着信メッセージは待機(スロット)キューに置かれます(キューがある場合)。キューが存在しない場合、メッセージは破棄されます。

キューが一杯の場合、優先度の低いキュー内のメッセージは削除され、ランタイム・エラーが発生します。エラー・ハンドラを構成すると、ハンドラがトリガーされます。新しい着信メッセージは、エンキューされます。

ビジネス・サービスに送信されたメッセージがメッセージの同時処理量を超えた場合に、溢れたメッセージを待機キューで保持するかどうかを指定する

待機キューで保持するメッセージの最大数を設定する

「スロットルの状態」が有効な場合、このフィールドは必須です。

「スロットル・キュー」の値を正の整数値で指定するか、デフォルトのゼロ(スロットル・キューがないことを表す)のままにしておきます。スロットル・キューの値がゼロ(スロットル・キューなし)で、メッセージの数が「最大同時実行性」の値を超えた場合、メッセージは破棄されてエラーが発生します。エラー・ハンドラを構成すると、ハンドラがトリガーされます。

実行時にスロットルを無効にすると、スロットル・キュー内のすべてのメッセージが処理されます。

ビジネス・サービスの削除または名前変更を行うと、スロットル・キュー内のすべてのメッセージが破棄されます。

メッセージを待機キューで保持する最長時間を指定する

「スロットルの状態」が有効な場合、このフィールドはオプションです。

「メッセージの有効期限」の値をミリ秒単位の正の整数値で指定します。ゼロの値を指定すると、メッセージは期限切れになりません。

この値はキュー・レベルで設定します。キューに入れられたメッセージの「メッセージの有効期限」の値はすべて同じになります。有効期限を過ぎると、メッセージは処理されずにキューから削除されます。

ビジネス・サービスのメッセージ・トレースの有効化

「メッセージ・トレース」の横にある「有効」チェックボックスを選択します。メッセージ・トレースを有効にすると、Oracle Service Busパイプラインとビジネス・サービス間でやり取りされたメッセージ(アウトバウンド・リクエストおよびレスポンス・メッセージ)がログに記録されます。

注意: ログ・ファイルまたは標準出力(サーバー・コンソール)にトレースを表示するには、Oracle WebLogic Serverのロギングを次の重大度に設定する必要があります。

- ログの最低の重大度: 情報

- ログ・ファイル: 情報

- 標準出力: 情報

ログの重大度の設定の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverログ・ファイルの構成とログ・メッセージのフィルタ処理』のログの重大度の使用に関する説明を参照してください。

ログに記録されたアウトバウンド・メッセージには、適用可能な場合、再試行回数、エラー・コード、およびエラー・メッセージを含めることもできます。

「詳細レベル」リストで、次の中から選択して詳細のレベルを指定します。

- 「簡潔」 - 日付、時間、サービス・タイプ、サービス名、およびURIを表示

- 「ヘッダー」 - XMLのメッセージ・メタデータの表現とともに、terse情報を表示

- 「フル」 - アタッチメント(ある場合)を含む未加工のペイロードとともに、ヘッダー情報を表示

「詳細レベル」リストで「すべて」を選択した場合、「ペイロード・トレース制限」フィールドを利用して、メッセージ・ペイロードの最大サイズ(キロ・バイト)を指定します。また、「デフォルト・エンコーディング」フィールドを利用して、ペイロードをロギングするデフォルトのエンコーディングを指定します。これは、バイナリ・ペイロードまたはバイナリ添付付きSOAPメッセージのロギング時に便利です。

デフォルトのエンコーディング値には、Base64またはhttp://docs.oracle.com/javase/6/docs/technotes/guides/intl/encoding.doc.htmlに定義されているJava対応の任意のエンコーディングを使用できます。

「デフォルト・エンコーディング」フィールドを空のままにすると、Oracle Service Busではペイロードにホストのデフォルトのエンコーディングが使用されます。デフォルトのエンコーディングは、JVM、基になるオペレーティング・システム(OS)、およびOSレベルのロケール設定の組合せに依存します。

「デフォルト・エンコーディング」フィールドで指定された設定が使用できない場合(たとえば、構成で無効なオプションである場合)、Oracle Service BusはペイロードにBase64エンコーディングを使用します。

ビジネス・サービスのメッセージ・トレースの無効化

「メッセージ・トレース」の横にある「有効」チェックボックスを選択解除します。

結果キャッシュの有効化と無効化

「有効」を選択すると、ビジネス・サービスに対して結果キャッシュがアクティブ化されます。結果キャッシュをグローバルで有効にする必要もあります。27.2.11項「結果キャッシュのグローバルな有効化」を参照してください。

「有効」オプションを選択解除して「更新」をクリックし、ビジネス・サービスに対する結果キャッシュを無効にすると、そのビジネス・サービスについてキャッシュされているすべての結果がフラッシュされます。

26.10 サービスの集約間隔の設定

「操作設定」ページでは、特定のサービスの集約間隔を設定できます。集約間隔は、管理コンソールに表示される集約統計を計算する間隔です。デフォルトの集約間隔の設定は10分です。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「ビジネス・サービス」または「プロキシ・サービス」を選択します。

3. サービス名をクリックします。

4. 「操作設定」タブを選択します。

5. 「集約間隔」フィールドで、集約間隔の長さ(時間および分)を選択し、「更新」をクリックします。
1時間を超える時間を選択した場合、分はデフォルトで常に0が選択されます。ただし、0または1時間を選択した場合には、分単位で間隔を構成することができます。

6. 「更新」をクリックして、現在のセッションでの更新をコミットします。

7. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

26.11 サービス・メトリックの表示

このページでは、特定のサービスのモニターの詳細(表26-9を参照)およびサービスのメトリック(表26-11を参照)を表示できます。

表26-10 サービス・メトリック情報

プロパティ

説明

サービス名

サービスの名前とパス。

サービス・タイプ

親サービスのタイプ:プロキシ・サービスまたはビジネス・サービス。

統計の表示

サービスの現在の集約間隔のモニター統計を表示するには、「現在の集約間隔」を選択します。「現在の集約間隔」ビューには、サービス・メトリックの変動する統計が表示されます。

統計の最後のリセット以降のこのサービスのモニター統計を表示するには、「最後のリセット以降」を選択します。「最後のリセット以降」ビューには、メトリックの集計カウントが表示されます。

サーバー

リストからサーバーを選択して、そのサーバーのメトリックを表示します。

クラスタが存在する場合はクラスタ全体のメトリックがデフォルトで表示されます。管理対象サーバーを個別に選択してそのサーバーのメトリックを表示します。

クラスタ内の個々の管理対象サーバーのメトリックを表示する場合、「SLAアラート数」はN/Aです(クラスタ全体のSLAアラート数のみが表示されます)。

集約間隔

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、このサービスのモニターに設定された現在の集約間隔(時間および分)。この間隔は「操作設定」ページで設定します。26.10項「サービスの集約間隔の設定」を参照してください。

統計のリセット

「統計の表示」フィールドで「最後のリセット以降」が選択されている場合、このサービスのモニター統計がリセットされます。ページの下部にある「統計のリセット」をクリックします。

表26-11 サービス・メトリック

プロパティ

説明

SLAアラート数

- アラート数は「現在の集約間隔」、または「最後のリセット以降」のいずれかの「統計の表示」ビューに基づいています。

- アラートの重大度とタイムスタンプは、「現在の集約間隔」ビューでのみ表示されます。「最後のリセット以降」ビューでは、カウント値のみ表示されます。

- 現在の集約間隔で最も重大なアラートの重大度。複数のアラートが存在する場合は、現在の集約間隔で最も重大度の高いアラートが表示されます。現在の集約間隔にアラートが存在しない場合は、NORMALが表示されます。

- タイムスタンプには、サーバーがアラート情報を取得するために最後にポーリングされた時間と、サーバーが最後にポーリングされた時点のアラートのステータスが表示されます。最後にポーリングされた時点でアラートが存在しない場合は、NORMALが表示され、ポーリング時間が示されます。

パイプライン・アラート数

プロキシ・サービス専用。

- パイプライン・アラート数は「現在の集約間隔」、または「最後のリセット以降」のいずれかの「統計の表示」ビューに基づいています。

- アラートの重大度とタイムスタンプは、「現在の集約間隔」ビューでのみ表示されます。「最後のリセット以降」ビューでは、カウント値のみ表示されます。

- 現在の集約間隔で最も重大なアラートの重大度。複数のアラートが存在する場合は、現在の集約間隔で最も重大度の高いアラートが表示されます。現在の集約間隔にパイプライン・アラートが存在しない場合は、NORMALが表示されます。

- タイムスタンプには、サーバーがパイプライン・アラート情報を取得するために最後にポーリングされた時間と、サーバーが最後にポーリングされた時点のアラートのステータスが表示されます。最後にポーリングされた時点でアラートが存在しない場合は、NORMALが表示され、ポーリング時間が示されます。

最小レスポンス時間

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このサービスでメッセージの実行にかかった最小レスポンス時間。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このサービスでメッセージの実行にかかった最小レスポンス時間。

最大レスポンス時間

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このサービスでメッセージの実行にかかった最大レスポンス時間。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このサービスでメッセージの実行にかかった最大レスポンス時間。

全体の平均レスポンス時間

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このサービスでメッセージの実行にかかった全体平均時間(ミリ秒単位)。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このサービスでメッセージの実行にかかった全体平均時間。

メッセージ数

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このサービスで実行されたメッセージの合計数。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このサービスで実行されたメッセージの合計数。

エラー数

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このサービスで実行されたエラー・メッセージの合計数。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このサービスで実行されてエラーが発生したメッセージの数。

フェイルオーバー数

ビジネス・サービスの場合のみ。

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このサービスで試行されたフェイルオーバーの数。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このサービスで試行されたフェイルオーバーの数。

成功率

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔での、このサービスの成功率。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降の、このサービスの成功率。

たとえば、10個のうち9個のメッセージがサービスで正常に実行された場合、成功率は90%となります。

失敗率

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔での、このサービスの失敗率。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降の、このサービスの失敗率。

たとえば、10個のうち1個のメッセージを正常に実行できなかった場合、失敗率は10%となります。

WS-Securityエラー

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このサービスで実行されて、WSセキュリティ・エラーが発生したメッセージの数。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このサービスで実行されてWSセキュリティ・エラーが発生したメッセージの数。

検証エラー

ビジネス・サービスの場合はN/Aが表示されます。

プロキシ・サービスの場合:

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このサービスで実行されて、検証エラーが発生したメッセージの数。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このサービスで実行されて検証エラーが発生したメッセージの数。

ヒット数

ビジネス・サービスの場合のみ。

「ヒット数」には、ビジネス・サービスの結果キャッシュが使用された回数が表示されます。

ヒット率

ヒット数とメッセージ数の合計。

最小スロットル時間

ビジネス・サービスの場合のみ。

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、メッセージでスロットル・キューに費やされた最小時間。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、メッセージでスロットル・キューに費やされた最小時間。

最大スロットル時間

ビジネス・サービスの場合のみ。

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、メッセージでスロットル・キューに費やされた最大時間。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、メッセージでスロットル・キューに費やされた最大時間。

平均スロットル時間

ビジネス・サービスの場合のみ。

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、メッセージでスロットル・キューに費やされた平均時間。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、メッセージでスロットル・キューに費やされた平均時間。

26.12 WSDLベースのサービスの操作メトリックの表示

このページでは、サービス・モニター情報(表26-10を参照)およびWSDLベースのサービスの操作メトリック(表26-12を参照)を表示できます。

表26-12 操作メトリック

プロパティ

説明

操作名

このサーバーに関連付けられた操作の名前。

メッセージ数

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、この操作で実行されたメッセージの合計数。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、この操作で実行されたメッセージの合計数。

エラー数

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、この操作で実行されてエラーが発生したメッセージの数。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、この操作で実行されてエラーが発生したメッセージの数。

最小レスポンス時間

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、この操作でメッセージの実行にかかった最小レスポンス時間。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、この操作でメッセージの実行にかかった最小レスポンス時間。

最大レスポンス時間

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、この操作でメッセージの実行にかかった最大レスポンス時間。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、この操作でメッセージの実行にかかった最大レスポンス時間。

平均レスポンス時間

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、この操作でメッセージの実行にかかった全体平均時間。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、この操作でメッセージの実行にかかった全体平均時間。

26.13 パイプライン・メトリックの表示

このページでは、サービス・モニター情報(表26-10を参照)およびパイプラインを持つプロキシ・サービスのパイプライン・メトリック(表26-13を参照)を表示できます。

表26-13 パイプライン・メトリック

プロパティ

説明

コンポーネント名

コンポーネントの名前。

メッセージ数

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このコンポーネントで実行されたメッセージの合計数。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このコンポーネントで実行されたメッセージの合計数。

エラー数

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このコンポーネントで実行されてエラーが発生したメッセージの数。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このコンポーネントで実行されてエラーが発生したメッセージの数。

最小レスポンス時間

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このコンポーネントでメッセージの実行にかかった最小レスポンス時間。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このコンポーネントでメッセージの実行にかかった最小レスポンス時間。

最大レスポンス時間

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このコンポーネントでメッセージの実行にかかった最大レスポンス時間。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このコンポーネントでメッセージの実行にかかった最大レスポンス時間。

平均レスポンス時間(ミリ秒)

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このコンポーネントでメッセージの実行にかかった全体平均時間。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このコンポーネントでメッセージの実行にかかった全体平均時間。

26.14 アクション・メトリックの表示

このページでは、サービス・モニター情報(表26-10を参照)およびパイプラインを持つプロキシ・サービスのアクション・メトリック(表26-14を参照)を表示できます。

表26-14 アクション・メトリック

プロパティ

説明

ノード

ネストされたアクションの階層表示。

カウント

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔での呼出し数。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降の呼出し数。

1つのメッセージにつき何回もアクションを呼び出せるため、これはメッセージの数とは異なります。

平均時間

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔での呼出しの平均実行時間。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降の呼出しの平均実行時間。

合計時間

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔での合計実行時間。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降の合計実行時間。

26.15 ビジネス・サービスのエンドポイントURIのメトリックの表示

このページでは、サービス・モニター情報(表26-10を参照)およびビジネス・サービスのエンドポイントURIメトリック(表26-15を参照)を表示できます。詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「ビジネス・サービスのエンドポイントURIの管理」を参照してください。

表26-15 エンドポイントURIメトリック

プロパティ

説明

エンドポイントURI

このビジネス・サービスに関連付けられているエンドポイントURL。

メッセージ数

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このエンドポイントURIで実行されたメッセージの合計数。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このエンドポイントURIで実行されたメッセージの合計数。

エラー数

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このエンドポイントURIで実行されてエラーが発生したメッセージの数。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このエンドポイントURIで実行されてエラーが発生したメッセージの数。

最小レスポンス時間

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このエンドポイントURIでメッセージの実行にかかった最小レスポンス時間。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このエンドポイントURIでメッセージの実行にかかった最小レスポンス時間。

最大レスポンス時間

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このエンドポイントURIでメッセージの実行にかかった最大レスポンス時間。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このエンドポイントURIでメッセージの実行にかかった最大レスポンス時間。

平均レスポンス時間

「統計の表示」フィールドで「現在の集約間隔」を選択した場合は、現在の集約間隔で、このエンドポイントURIでメッセージの実行にかかった全体平均時間。

「統計の表示」フィールドで「最後のリセット以降」を選択した場合は、最後の統計リセット以降、このエンドポイントURIでメッセージの実行にかかった全体平均時間。

ステータス

ビジネス・サービスのエンドポイントURIのステータス。

単一のサーバー・ドメインまたはクラスタ内の個々の管理対象サーバー: オンラインまたはオフライン。

クラスタ・レベル統計:オンライン、オフライン、または部分的(クラスタ内の管理対象サーバーの少なくとも1つで特定のURIがオフラインになっている場合)。

アクション

エンドポイントをオンラインとマーク・アイコンをクリックすると、オフラインURIがオンラインとマークされます。このアクションは、URIが「オフライン」または「部分的」ステータスの場合のみ有効です。

このアクションを有効にするには、ビジネス・サービスのURIをオフラインにできるようにし、サービスおよびグローバル・モニターの操作設定を有効にする必要があります。26.9項「ビジネス・サービスの操作設定の構成」を参照してください。

注意: 問題がなければ、アクションはただちに実行されます。ただし、エンドポイントのURIのステータスがオンラインであることが反映されるには、1サイクル(集約のモニター・サイクル)かかるため、1分半以上の時間がかかることがあります。

26.16 サーバー情報の表示

「サーバー・ヘルス」ページには次の項目が含まれています。

- 「サーバー・ヘルス」タブのヘッダーには、「シャットダウン」アイコンと、停止中のサーバーの数を示す数値インジケータが表示されます。

- アイコンをクリックすると、Shutdownヘルス条件とSHUTDOWN状態条件で、表示されるサーバーがフィルタされます。

- 数値は、シャットダウン中のサーバーの数を示します。

- ドメイン内のサーバーの状態を示す円グラフ。サーバーに対応するグラフの領域をクリックして、詳細を表示できます。

- ログ・サマリー。ログを表示するには、所定の重大度を示すメッセージの数を示す数値リンクをクリックします。たとえば、アラート: 1の場合は、1の番号をクリックします。26.20項「ドメイン・ログ・ファイルの詳細の表示」を参照してください。

- サーバー・サマリーの表に対してカスタマイズした設定に応じてサーバー情報を表示するフィールド。たとえば、サーバー名、正常性、クラスタ名、コンピュータ名、サーバーの状態およびサーバーが稼働している時間の長さなどがあります。これらのフィールドの詳細は、表26-16を参照してください。

- デフォルトでは、ダッシュボード・リフレッシュ間隔は、「リフレッシュなし」です。ダッシュボード・リフレッシュ間隔を変更するには、27.3項「ユーザー・プリファレンスの設定」を参照してください。

注意:
ダッシュボードの更新間隔の値をデフォルト(更新なし)以外の値に選択すると、ブラウザは、一定間隔で定期的にダッシュボードの表示を更新します。これにより、管理コンソールとやり取りしていなくても、セッションはタイムアウトしなくなります。
ダッシュボード・リフレッシュ間隔機能を慎重に使用することをお薦めします。管理コンソール・セッションを無人のまま放置しないようにしてください。管理コンソール・セッションがアクティブな間は、再認証を行わずに、他のユーザーがそのコンピュータから管理コンソール・セッションにアクセスできます。

- 「表カスタマイザ」アイコン。2.2項「表の表示のカスタマイズ」を参照してください。

- リストに表示される項目の数を絞り、特定のサーバーだけを検索するには、次の操作を行います。

- 「開く」アイコンをクリックして追加の検索フィルタを表示します。複数の検索条件を指定すると、すべての条件を満たす結果のみが返されます。

- ヘルス・ステータスでフィルタします。「ヘルス」リストで選択して、サーバーを指定されたヘルス・ステータス・レベルに制限し、「検索」をクリックします。
「またはそれ以上」チェック・ボックスを選択すると、検索は指定した値以上のサーバー・ヘルス・ステータス・レベルに制限されます。制限の少ない順に並べると、「OK」、「警告」、「過負荷」、「クリティカル」、「致命的」となります。

- サーバーでフィルタします。「サーバー」リストで「すべて」を選択するか、サーバー名を選択し、「検索」をクリックします。

- クラスタ名でフィルタします。「クラスタ名」リストで「すべて」を選択するか、サーバーに関連付けられたクラスタの名前を選択し、「検索」をクリックします。

- コンピュータ名でフィルタします。「マシン名」リストで「すべて」を選択するか、サーバーに関連付けられたコンピュータ名を選択し、「検索」をクリックします。

- 状態でフィルタします。「状態」リストで「すべて」またはサーバーの状態(「実行中」、「失敗」または「シャットダウン」)を選択し、「検索」をクリックします。

- 「すべて表示」をクリックすると、検索フィルタが削除され、サーバーがすべて表示されます。

「サーバー・ヘルス」ページには、指定したフィルタ設定に応じて表26-16に示した情報がサーバーごとに表示されます。

表26-16 サーバー概要の詳細

プロパティ

説明

サーバー

サーバーの名前。この名前はサーバー詳細の表示ページにリンクされています。26.17項「サーバーの詳細の表示」を参照してください。

ヘルス

サーバーのヘルス・ステータス:

- OK - サーバーは問題なく稼働しています。

- OK/処理なし - サーバーはADMIN状態です。管理操作にのみ使用可能です。すべての実行時Oracle Service Busメッセージは失敗します。

- 警告 - 将来的にサーバーに障害が発生する可能性があります。詳細は、サーバー・ログと対応する実行時MBeanを確認します。

- オーバーロード - 設定されたしきい値よりも多い作業がサーバーに割り当てられています。これ以上の作業は拒否される可能性があります。

- 重大 - サーバーに障害が発生しようとしています。障害を防ぐために何らかの措置をすぐに講じる必要があります。詳細は、サーバー・ログと対応する実行時MBeanを確認します。

- シャットダウン - サーバーに障害が発生し、サーバーを再起動する必要があります。

- 重大 - サーバーに障害が発生しようとしています。障害を防ぐために何らかの措置をすぐに講じる必要があります。詳細は、サーバー・ログと対応する実行時MBeanを確認します。

クラスタ名

このサーバーに関連付けられているクラスタの名前。

マシン名

このサーバーに関連付けられているコンピュータの名前。

状態

サーバーの状態:

- 実行中

- 管理

- 失敗

- シャットダウン

稼働時間

このサーバーの稼働時間。

26.17 サーバーの詳細の表示

このページに表示されるオブジェクトは、WebLogic Serverエンティティです。これらのエンティティの詳細は、Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・オンライン・ヘルプを参照してください。

26.18 ドメイン・ログ・ファイルの表示

このページには、表26-17に示す情報などのドメイン・ログ・ファイル・エントリのサマリーが表示されます。

- ドメイン・ログ・ファイル情報の表示のカスタマイズについては、26.19項「ドメイン・ログ・ファイル・エントリの表示のカスタマイズ」を参照してください。

- 特定のログ・ファイルの詳細を表示するには、適切なエントリのオプションを選択して、「表示」をクリックします。26.20項「ドメイン・ログ・ファイルの詳細の表示」を参照してください。

表26-17 ドメイン・ログの概要情報

プロパティ

説明

Date

エントリがログに記録された日付。

サブシステム

エントリに関連付けられているサブシステム。

重大度

メッセージの重大度。

メッセージID

メッセージのユニークなID。

メッセージ

メッセージの説明。

26.19 ドメイン・ログ・ファイル・エントリの表示のカスタマイズ

ドメイン・ログ・ファイル・エントリの表示をカスタマイズするには:

1. 「この表のカスタマイズ」をクリックします。追加のフィールドが表示されます。
「この表のカスタマイズ」リンクをクリックすると、いつでもこの表を閉じて元の設定に戻すことができます。

2. 「フィルタ」フィールドで、次のようにします。

1. 「時間」フィールドで、ログ・エントリを表示する間隔を選択します。

2. 「開始時刻」フィールドに、MM/DD/YYYY HH:MM:SSという形式で開始時刻を入力します。たとえば、「10/25/06 08:39:48」と入力します。「開始時刻」フィールドと「終了時刻」フィールドを使用して、ログ・エントリを表示する時間帯を指定します。

3. 「終了時刻」フィールドに、MM/DD/YYYY HH:MM:SSという形式で終了時刻を入力します。たとえば、「10/25/06 13:20:51」と入力します。「開始時刻」フィールドと「終了時刻」フィールドを使用して、ログ・エントリを表示する時間帯を指定します。

4. 「条件」テキスト・ボックスにフィルタ条件となるテキスト文字列を指定します。フィルタ条件はWLDF問合せ言語の文字列として指定されます。この問合せ言語では、ブール演算子(AND、OR、NOT)と関係演算子をサポートしています。問合せ構文の詳細は、『Oracle Fusion Middleware Oracle WebLogic Server診断フレームワークの構成と使用』のWLDF問合せ言語に関する項を参照してください。

3. 「列」フィールドで、表示する列を選択します。

1. 「使用可能」フィールドから列名を選択します。

2. 矢印をクリックして、この列名を「選択済み」フィールドに移動します。

3. 表示するすべての列名が「選択済み」フィールドに表示されるまで繰り返します。
「選択済み」フィールドで上向き矢印と下向き矢印を使用し、必要に応じて列名の順序を変更することもできます。

4. 「1ページごとの表示行数」フィールドで、1ページに表示するログ・エントリの数を選択します。

5. 「戻される結果の最大数」フィールドで、表示するログ・エントリの最大数を選択するか、「すべて表示」を選択してすべてを表示します。

6. 次のいずれかを行います。

- 新しい設定を保存するには、「適用」をクリックします。

- 変更を破棄し、元の設定を保持するには、「リセット」をクリックします。

26.20 ドメイン・ログ・ファイルの詳細の表示

このページでは、ドメイン・ログ・ファイル・エントリの詳細(表26-18を参照)を表示できます。

表26-18 ドメイン・ログの詳細

プロパティ

説明

メッセージ

イベントまたは条件の説明。

Date

メッセージが作成された日時がロケールに固有の形式で表示されます。各WebLogic Serverインスタンスを実行するJava仮想マシン(JVM)は、ホスト・コンピュータのオペレーティング・システムにあるローカル・タイム・ゾーンおよびフォーマット情報を参照します。

サブシステム

EJB (Enterprise Java Bean)コンテナやJMS (Java Messaging Service)などの、メッセージを生成したWebLogic Serverのサブシステムを示します。

メッセージID

ユニークな6桁の識別子。

WebLogic Serverシステム・メッセージが生成するすべてのメッセージIDは BEA- で始まる0 - 499999の範囲の数字。

重大度

メッセージで報告されたイベントの影響または深刻さの度合いを示します。

- 「アラート」 - 特定のサービスが使用不可状態にあるものの、システムの他の部分は引続き稼働しています。自動回復できないので、管理者が直ちに問題を解決する必要があります。

- 「クリティカル」 - システムまたはサービス・エラーが発生した。システムは回復できますが、サービスが一時的に停止するか、永続的に停止するおそれがあります。

- 「緊急」 - サーバーが使用不可状態にあります。深刻なシステム障害または危機的状態を示します。

- 「エラー」 - ユーザー・エラーが発生した。システムまたはアプリケーションでは、割込みやサービスの限定的な低下を起こすことなくエラーに対処できます。

- 「情報」 - 通常の処理を報告する、低レベルの情報メッセージ。

- 「注意」 - 重要度が高い情報メッセージ。

- 「警告」 - 問題のある操作または構成があったが、通常の操作に支障は生じません。

マシン

サーバー・インスタンスをホストするコンピュータのDNS名。

サーバー

メッセージが生成されたWebLogic Serverインスタンスの名前。

スレッド

メッセージが生成されたスレッドにJVMが割り当てるID。

ユーザーID

関連付けられたイベントを実行したユーザーID。

トランザクションID

トランザクションのコンテキスト内でロギングされたメッセージの場合にのみ示されます。

コンテキストID

特定のリクエストまたはアプリケーションから受け取ったメッセージを相互に関連付けるコンテキスト情報。

詳細

イベントまたは条件の説明。

原因

メッセージの原因。

アクション

実行すべきアクション。

26.21 アラート・ルールの表示

このページでは、アラート・ルールの情報(表26-19を参照)を表示できます。

表26-19 アラート・ルール情報

プロパティ

説明

名前

このアラート・ルールに割り当てられた名前。この名前はアラート・ルールの全般的な構成ページにリンクされています。26.24項「アラート・ルールの構成の表示」を参照してください。

SLAの状態

アラート・ルールのステータス: 有効または無効。

説明

このフィールドはデフォルトで非表示。

アラート・ルールの説明。

重大度

アラートの重大度は「通常」、「警告」、「軽度」、「重要」、「重大」、または「致命的」のいずれか。

集約間隔

集約間隔の長さ(時間および分)。

有効期限

このアラート・ルールが無効になる日付。

処理の停止

「はい」または「いいえ」を表示します。

頻度

このアラートの頻度:

- 毎回

- 1回通知

オプション

この列に含まれる機能:

- 矢印をクリックしてアラート・ルールの順序を変更します。リストで個々のアラート・ルールを上下に移動できます。これは、このサービスに対して複数のアラート・ルールが構成されている場合のみ可能です。

- 「名前変更」アイコンをクリックして、アラート・ルール名を変更します。

- 「削除」アイコンをクリックして、特定のアラート・ルールを削除します。26.26項「アラート・ルールの削除」を参照してください。

26.22 アラート・ルールの検索

アラート・ルールを検索するには:

1. 「リソース・ブラウザ」→「ビジネス・サービス」または「プロキシ・サービス」を選択します。

2. サービス名をクリックします。

3. 「SLAアラート・ルール」タブを選択します。

4. ページをスクロールして、このサービスの特定のアラート・ルールを検索します。表の上下にあるページ・コントロールを使用します。ページを移動するには、ページ番号を選択するか、次のページ、前のページ、最初のページ、または最後のページに移動する矢印ボタンを使用します。

このページでは、次の操作も可能です。

- このサービスのモニターを構成するには、「操作設定」タブを選択します。26.8項「プロキシ・サービスの操作設定の構成」および26.9項「ビジネス・サービスの操作設定の構成」を参照してください。

- 新しいアラート・ルールを追加するには、「新しく追加」をクリックします。26.23項「アラート・ルールの作成および編集」を参照してください。

26.23 アラート・ルールの作成および編集

アラート・ルールの作成および編集には、次のタスクが含まれています。

- 26.23.1項「アラート・ルールの全般的な情報の構成」

- 26.23.2項「アラート・ルールの条件の定義」

- 26.23.3項「アラート・ルールの構成の確認」

注意:
サービスが別のサービスから作成された場合、アラート・ルールは次のようにして管理されます。

- プロキシ・サービスがビジネス・サービスから、またはビジネス・サービスがプロキシ・サービスから作成された場合、アラート・ルール(ある場合)は削除されます。

- プロキシ・サービスが別のプロキシ・サービスから、またはビジネス・サービスが別のビジネス・サービスから作成された場合、アラート・ルール(ある場合)は保持されます。

26.23.1 アラート・ルールの全般的な情報の構成

アラート・ルールの全般的な情報を構成するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「リソース・ブラウザ」→「プロキシ・サービス」または「ビジネス・サービス」を選択します。

3. サービス名をクリックします。

4. 「SLAアラート・ルール」タブを選択し、「新しく追加」をクリックします。

5. 「ルール名」フィールドにアラート・ルールの名前を入力します。このフィールドは必須です。

6. 「アラート・サマリー」フィールドにアラート・ルールの簡単な説明文を入力します。このテキストは、アラート・ルールに電子メール・アラート通知を構成した場合の電子メール・メッセージの件名としても使われます。有効な最大文字数は80文字です。アラート・サマリーが未指定の場合、「Oracle Service Busアラート」というデフォルト・テキストがかわりに使用されます。

7. 「ルールの説明」フィールドにアラート・ルールの説明を入力します。

8. 「アラート宛先」フィールドに、アラートの宛先リソース名を入力するか、「参照」をクリックして「アラート宛先の選択」ページを表示します。リストからアラートの宛先を選択して、「発行」をクリックします。
デフォルトでは、アラートは常に管理コンソールに出力されます。ほかのアラート宛先リソースを構成および選択するには、6.2項「アラート宛先の追加」および6.1項「アラート宛先の検索」を参照してください。

9. 「開始時刻」フィールドに、HH:MMという形式で開始時刻を入力します。たとえば、「09:00 AM」と入力します。「開始時刻」フィールドと「終了時刻」フィールドを使用して、有効期限までルールが毎日アクティブになる時間帯を指定します。たとえば、毎日午前9時から午後5時までを指定します。

10. 「終了時刻」フィールドに、HH:MMという形式で終了時刻を入力します。たとえば、「05:00 PM」と入力します。「開始時刻」フィールドと「終了時刻」フィールドを使用して、有効期限までルールが毎日アクティブになる時間帯を指定します。たとえば、毎日午前9時から午後5時までを指定します。
アラート・ルールは、ルールが有効期限切れになるまで、指定した開始時刻から指定した終了時刻の間毎日アクティブになります。

11. ルールの有効期限フィールドに、MM/DD/YYYYという形式で期限を入力します。たとえば、「12/31/2010」と入力します。ルールは、指定日の午後11時59分に期限切れになります。日付を指定しない場合、ルールは無期限になります。

12. 「ルールの有効化」フィールドで、このルールを有効にする場合はデフォルトの「はい」を選択したままにし、このルールを無効にする場合は「いいえ」を選択します。

13. 「アラート重大度」フィールドで、次のいずれかを選択します。

- 通常

- 警告

- 軽度

- 重度

- クリティカル

- 致命的

14. 「アラート間隔」フィールドで、表26-20に示す設定のいずれかを選択します。

表26-20 アラート間隔設定

プロパティ

説明

毎回

このオプションを選択すると、アラート・ルールの評価がtrueになるたびに、アラート・ルールに含まれているアクションが実行されます。たとえば、平均レスポンス時間が300ミリ秒を超えるという条件を設定した場合、この条件の評価がtrueとなるたびにアラートを受け取ります。

アラート・ルールが評価される回数は、集約間隔と、そのルールに関連付けられたサンプル間隔によって異なります。集約間隔が5分に設定されている場合は、サンプル間隔が1分になります。5つのデータ・サンプルが利用可能になると、ルールが評価されます。したがって、ルールは作成されてから約5分後に初めて評価され、それ以降は1分ごとに評価されます。

1回通知

このオプションを選択すると、ルールの評価が初めてtrueとなったときにルールに含まれているアクションが実行されて、条件がリセットされ、評価が再びtrueとなるまでそれ以外のアラートは生成されません。たとえば、平均レスポンス時間が300ミリ秒未満という条件を設定した場合、この条件の評価が初めてtrueとなったときにアラートを受け取ります。ただし、条件の評価がfalseとなり、再びtrueとなるまでそれ以外のアラートを受け取りません。アラートのタイムスタンプは更新され、ダッシュボードに表示されます。

15. サービスに関連付けられたいずれかのルールの評価がtrueとなった後にルールの実行を停止するには、「これ以上のルールの処理を停止」オプションに対して「はい」を選択します。このオプションを使用すると、特定のサービスに複数のルールが関連付けられている場合に後続のルールの評価を停止できます。ルールの処理を続行する場合は、デフォルトの「いいえ」を選択したままにします。
このオプションの動作は、Microsoft Outlookの自動仕訳ウィザードの「仕訳ルールの処理を中止する」オプションの動作に類似しています。

終了後

「次へ」をクリックして、「新しいアラート・ルール - 条件の構成」ページを開きます。26.23.2項「アラート・ルールの条件の定義」に進みます。

26.23.2 アラート・ルールの条件の定義

このページでは、アラート・ルールの条件を定義できます。少なくとも1つの条件を指定する必要があります。複数の条件を指定する場合は、And/Or演算子を使用して結合する必要があります。

1. 「条件の集約間隔を選択」フィールドで、時間と分を選択し、この条件の集約間隔を設定します。集約間隔により、条件をテストする頻度が決定されます。1つの集約間隔を構成するのに十分なデータのサンプルがモニター・サブシステムで収集されるたびに、条件がテストされます。
たとえば、1時間の集約間隔を選択した場合、1時間分のデータが利用可能になると条件がテストされます。条件が最初にテストされるのは、1時間後です。1時間の集約間隔のサンプル間隔が10分に設定されているため、条件はそれ以降10分ごとにテストされます。

2. 「単純な式」を定義することから始めます。2つ以上の単純な式を結合して、1つの複雑な式を作成できます。これらの式を定義するには、次の手順に従います。

1. 最初のフィールドで、「カウント」、「最小」、「最大」、「平均」または「ステータス」を選択します。

2. 次のフィールドでオペランドを選択します。
最初のフィールドで「カウント」、「最小」、「最大」、「平均」または「ステータス」のいずれを選択したかに応じて、オペランドのリストが異なります。たとえば、「最小」、「最大」または「平均」を選択すると、「レスポンス時間」オペランドが使用できるようになります。このオペランドを使用すると、レスポンス時間をミリ秒(msec)単位で設定できます。また、使用できるオペランドは、サービス自体の構成によっても異なります。オペランドの数は、パイプライン、ルート・ノード、処理などがサービスにあるかどうかによって異なります。

エンドポイントURIのステータスに基づいたアラートの生成方法の詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「ビジネス・サービスのエンドポイントURIの管理」を参照してください。

「カウント」を選択すると、表26-21に示すオペランドがこのフィールドに表示されます。

表26-21 カウント・オペランドの詳細

プロパティ

説明

キャッシュのヒット数

結果キャッシュを使用するビジネス・サービスの場合、キャッシュを使用してレスポンスがクライアントに返されるたびにキャッシュのヒット数が増分されます。

エラー数

メッセージの処理が失敗した場合、エラー数が増加します。

失敗率(%)

指定された集約間隔で、発生したエラー数と正しく処理されたメッセージ数の比率。

メッセージ数

処理されたメッセージの合計数。

成功率(%)

指定された集約間隔で、正しく処理されたメッセージ数と発生したメッセージ数の比率。

フェイルオーバー数

ビジネス・サービス専用。フェイルオーバーの数。

<リクエスト・パイプライン>.エラー数

プロキシ・サービス専用。リクエスト・パイプラインにより処理されたエラー・メッセージの数。

<リクエスト・パイプライン>.メッセージ数

プロキシ・サービス専用。リクエスト・パイプラインにより処理されたメッセージの数。

検証エラー数

パイプラインに検証アクションのあるプロキシ・サービスの場合のみ。検証エラー数。

WSSエラー数

サービスのトランスポート方式(HTTPなど)に応じて有効になります。処理されたWebサービス・セキュリティ(WSS)エラー・メッセージの数。このカウンタはWSDLベースのサービスだけに使用でき、WSSエラーが発生するとインクリメントされます。

3. 次のフィールドで、「=」、「!=」、「>」または「<」のいずれかの比較演算子を選択します。

4. 次のフィールドで、比較する値を入力します。

5. 「追加」をクリックします。

6. 複雑な式を定義するには:

1. ステップ2の手順a - eを繰り返して、簡単な式を定義します。

2. もう一度ステップa - eを繰り返して、別の簡単な式を定義します。

3. 2つのそれぞれの式のチェックボックスを選択します。

4. 「AND」または「OR」をクリックして、式を複雑な式に結合します。
複数の式を結合すると、分割オプションを使用できるようになります。このオプションを使用して、複雑な式を分割し、個別の簡単な式に戻すことができます。

終了後

前へをクリックして、「全般的な構成」ページに戻ります。または「最後」をクリックして、「新しいアラート・ルール - [サービス名]」ページを表示します。26.23.3項「アラート・ルールの構成の確認」に進みます。

26.23.3 アラート・ルールの構成の確認

このページでは、このアラート・ルールについてこれまでに入力した構成データを確認できます。必要に応じて、「編集」をクリックし、構成を変更してからアラート・ルールを保存します。

次のいずれかを行います。

- 構成ページのいずれかに変更を加えるには、該当するページの「編集」をクリックします。

- 前のページに戻るには、前へをクリックします。

- アラートを作成するには、「保存」をクリックします。アラート・ルールは現在のセッションで作成および保存されます。

- 変更を破棄するには、「取消し」をクリックします。

- セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

26.24 アラート・ルールの構成の表示

このページでは、アラート・ルールの構成の詳細(表26-22を参照)を表示できます。

表26-22 アラート・ルール - 全般的な構成

プロパティ

説明

ルール名

アラート・ルールの名前。

ルールの説明

アラート・ルールの説明。

アラート・サマリー

アラート・ルールの簡単な説明。このテキストは、アラート・ルールに電子メール・アラート通知を構成した場合の電子メール・メッセージの件名としても使用されます。

アラート宛先

アラート通知宛先アドレスが指定されているアラート宛先リソースのパスと名前。このフィールドは「アラート宛先の表示 - 全般的な構成」ページへのリンクです。6.4項「アラート宛先の編集」を参照してください。

開始時刻(HH:MM)

このアラート・ルールの開始時間。

終了時刻(HH:MM)

このアラート・ルールの終了時間。

ルールの有効期限(MM/DD/YYYY)

このアラート・ルールが適用されなくなる日付。

ルールの有効化

このアラート・ルールを有効にするかどうかを示すインジケータ。

アラート重大度

このアラート・ルールの結果として発生したアラートの重大度:

- 通常

- 警告

- 軽度

- 重度

- クリティカル

- 致命的

アラート間隔

アラートの頻度:

- 毎回

- 1回通知

これ以上のルールの処理を停止

アラートによって複数のルールの処理を停止するかどうかを示すインジケータ。

このページには、表26-23に示す条件の情報が表示されます。

表26-23 アラート・ルールの条件

プロパティ

説明

条件式

この条件の集約間隔(時間および分)。

このアラート・ルールを制御する1つまたは複数の条件のリスト。

26.25 アラート・ルールの編集

アラート・ルールを編集するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. アラート・ルールを検索します。26.22項「アラート・ルールの検索」を参照してください。

3. アラート・ルール名をクリックします。

4. 構成ページのフィールドを変更するには、該当ページの「編集」アイコンまたはページの下部にある「編集」ボタンをクリックします。ページとフィールドの説明については、26.23項「アラート・ルールの作成および編集」を参照してください。

5. 次のいずれかを行います。

- 次のページに進むには、「次へ」をクリックします。

- 前のページに戻るには、前へをクリックします。

- サマリー・ページに進むには、「最後」をクリックします。

- 現在のセッションでの更新をコミットするには、「保存」をクリックします。

- 変更を取り消して「SLAアラート・ルール」ページに戻るには、「取消し」をクリックします。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

26.26 アラート・ルールの削除

アラート・ルールを削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. アラート・ルールを検索します。26.22項「アラート・ルールの検索」を参照してください。

3. 削除するアラート・ルールの「オプション」フィールドにある「削除」アイコンをクリックします。アラート・ルールは現在のセッションで削除されます。

4. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

27 構成

この章では、Oracle Service Bus(OSB)管理コンソールの操作設定の検索と更新の方法、およびモニター、アラート、レポート、ロギング、結果キャッシュなどのグローバル設定の構成方法について説明します。この章では、OSB管理コンソールの表示オプションの設定の方法についても説明します。

構成モジュールを使用して、プロキシ・サービス、ビジネス・サービス、アラート宛先、SLAアラート・ルール、プロキシ・サービスのランタイム・トレースを検索および管理します。

すべてのサービスの操作設定を次のように指定できます。サービスおよびグローバル・レベルで指定し、グローバル設定を使用してモニターのオンとオフ、SLAアラート、また、プロキシ・サービスのみに対しては、パイプライン・メッセージ・レポートおよびパイプライン・メッセージ・ロギングを使用できます。

27.1 操作設定の検索と更新

「スマート検索」ページでは、プロキシ・サービス、ビジネス・サービス、アラート宛先、SLAアラート・ルールを簡単に検索できます。また、「スマート検索」ページを使用してサービス固有の操作設定を指定できます。ただし、例外として、集約間隔の設定や、アラートまたはロギングの重大度の指定はできません。詳細は、26.8項「プロキシ・サービスの操作設定の構成」および26.9項「ビジネス・サービスの操作設定の構成」を参照してください。

サービス・レベル設定の実行時の動作は、対応するグローバル設定によって異なります。実行時にサービスを完全に有効にするには、グローバル設定とサービス・レベル設定の両方を有効にする必要があります。また、サービスの「状態」も有効にする必要があります。27.2項「グローバル設定の有効化」を参照してください。

操作設定を有効または無効に設定できるのは、セッション内にいるときのみです。

27.1.1 すべてのサービス(プロキシ・サービスおよびビジネス・サービス)の検索

すべてのプロキシ・サービスおよびビジネス・サービスを検索するには:

1. 「操作」→「スマート検索」を選択します。

2. 「タイプ」リストで「すべてのサービス」を選択し、「検索」をクリックします。「すべてのサービスのサマリー」ページに、表27-1に示す情報が表示されます。

3. リストに表示される項目の数を絞り、特定のサービスだけを検索するには、次の操作を行います。

- 「開く」アイコンをクリックして追加の検索フィルタを表示します。複数の検索条件を指定すると、すべての条件を満たす結果のみが返されます。

- サービス名でフィルタします。「名前」フィールドに検索対象の名前またはワイルドカード文字(*および?をワイルドカード文字として使用するとより一般的な検索が行えます)を入力し、「検索」をクリックします。
この検索方法は、サービスの名前がすべてのプロジェクトとパスでユニークである場合に推奨される方法です。

- サービス・パスでフィルタします。「パス」フィールドに検索対象のパスを入力します。このパスは、プロジェクト名、およびサービスが格納されるフォルダの名前になります。*および?をワイルドカード文字として使用すると、より一般的な検索が行えます。そのパスに存在するすべてのサービスが表示されます。
「パス」フィールドの形式は次のとおりです。

project-name/root-folder/ . . ./parent-folder

サービスがプロジェクトの直下にある場合、形式は次のとおりです。

project-name

- サービス名とパスでフィルタします。この検索方法は、同じ名前の複数のサービスが異なるパスに存在する場合に推奨される方法です。

- サービスの状態でフィルタします。「状態」リストでサービスの状態(「有効」または「無効」)を選択し、「検索」をクリックします。「すべて」を選択すると、サービスの状態のフィルタ条件が無視されます。

- サービスのモニターでフィルタします。「モニター」リストでサービスのモニター・ステータス(「有効」または「無効」)を選択し、「検索」をクリックします。「すべて」を選択すると、サービスのモニターのフィルタ条件が無視されます。

- サービスのSLAアラートの設定でフィルタします。「SLAアラート」リストでサービスのSLAアラートの設定(「有効」または「無効」)を選択し、「検索」をクリックします。「すべて」を選択すると、サービスのSLAアラートのフィルタ条件が無視されます。

表27-1 サービスのサマリー情報

プロパティ

説明

名前

サービスに割り当てられた名前。この名前は、「操作設定」ページへのリンクです。26.8項「プロキシ・サービスの操作設定の構成」または26.9項「ビジネス・サービスの操作設定の構成」を参照してください。

パス

サービスに関連付けられたプロジェクト。サービスがプロジェクト・フォルダにある場合は、そのフォルダも表示されます。パスは次の形式で表示されます。

project-name/root-folder/ . . ./parent-folder

このパスはプロジェクト・エクスプローラの対応するパスにリンクされています。

種類

親サービスのタイプ:プロキシ・サービスまたはビジネス・サービス。

状態

サービスの状態: 有効または無効。

モニター

サービスのモニターのステータス: 有効または無効。

SLAアラート

SLAアラートのステータス: 有効または無効、および有効なレベル: 「通常」 (N)、「警告」 (W)、「軽度」 (Mn)、「重要」 (Mj)、「重大」 (C)、または「致命的」 (F)。

パイプライン・アラート

プロキシ・サービス専用。

パイプライン・アラートのステータス: 有効または無効。有効なレベルは「通常」 (N)、「警告」 (W)、「軽度」 (Mn)、「重要」 (Mj)、「重大」 (C)、または「致命的」 (F)。

レポート

プロキシ・サービス専用。

サービスのメッセージ・レポートのステータス: 有効または無効。

ログ

プロキシ・サービスおよび分割-結合専用。

ロギングのステータス: 有効または無効。有効なレベルは「デバッグ」 (D)、「情報」 (I)、「警告」 (W)、または「エラー」 (E)。

トレース

プロキシ・サービスおよび分割-結合専用。

プロキシ・サービスのランタイム・トレース状態:有効または無効。

キャッシュ

ビジネス・サービス専用。結果キャッシュが有効か無効か。

アクション

プロキシ・サービスの場合: 「メッセージ・フローの編集」アイコンはプロキシ・サービスのパイプラインにリンクされています。

このページでは、次の操作も可能です。

- 検索フィルタを削除し、すべてのサービスを表示するには、「すべて表示」をクリックします。

- 変更を破棄し、同じ検索条件を使用して現在保存されている設定でページをリフレッシュするには、「リセット」をクリックします。

- セッション内からサービス・レベルの設定を有効または無効にするには、その横にあるチェックボックスを選択または選択解除し、「更新」をクリックします。

注意:
サービス・レベル設定の実行時の動作は、対応するグローバル設定によって異なります。実行時にサービスを完全に有効にするには、グローバル設定とサービス・レベル設定の両方を有効にする必要があります。また、「SLAアラート」は、グローバルレベルとサービスレベルの「モニター」の状態に依存します。SLAアラートを実行時に有効にするには、両方で有効である必要があります。27.2項「グローバル設定の有効化」を参照してください。
また、サービスの「状態」も有効である必要があります。

- 「表カスタマイザ」アイコンをクリックして、操作設定情報の表示をカスタマイズします。2.2項「表の表示のカスタマイズ」を参照してください。

27.1.2 プロキシ・サービスの検索

プロキシ・サービスを検索するには:

1. 「操作」→「スマート検索」を選択します。

2. 「タイプ」リストで「プロキシ・サービス」を選択し、「検索」をクリックします。「プロキシ・サービスのサマリー」ページに、表27-2に示す情報が表示されます。

3. リストに表示される項目の数を絞り、特定のプロキシ・サービスだけを検索するには、次の操作を行います。

- 「開く」アイコンをクリックして追加の検索フィルタを表示します。複数の検索条件を指定すると、すべての条件を満たす結果のみが返されます。

- プロキシ・サービス名とパスでフィルタします。「名前」フィールドと「パス」フィールドに、検索対象の名前とパスを入力してから、「検索」をクリックします。このパスは、プロジェクト名、およびプロキシ・サービスが格納されるフォルダの名前になります。*および?をワイルドカード文字として使用すると、より一般的な検索が行えます。

- サービスの状態でフィルタします。「状態」リストでプロキシ・サービスの状態(「有効」または「無効」)を選択し、「検索」をクリックします。「すべて」を選択すると、サービスの状態のフィルタ条件が無視されます。

- サービスのモニターでフィルタします。「モニター」リストでプロキシ・サービスのモニター・ステータス(「有効」または「無効」)を選択し、「検索」をクリックします。「すべて」を選択すると、サービスのモニターのフィルタ条件が無視されます。

- サービスのSLAアラートの設定でフィルタします。「SLAアラート」リストでプロキシ・サービスのSLAアラートの設定(「有効」または「無効」)を選択し、「検索」をクリックします。「すべて」を選択すると、サービスのSLAアラートのフィルタ条件が無視されます。

- サービスのパイプライン・アラートの設定でフィルタします。「パイプライン・アラート」リストでプロキシ・サービスのパイプライン・アラートの設定(「有効」または「無効」)を選択し、「検索」をクリックします。「すべて」を選択すると、サービスのパイプライン・アラートのフィルタ条件が無視されます。

- メッセージ・レポートが発生したサービスでフィルタします。「メッセージ・レポート」リストでプロキシ・サービスのメッセージ・レポートのステータス(「有効」または「無効」)を選択し、「検索」をクリックします。「すべて」を選択すると、サービスのメッセージ・レポートのフィルタ条件が無視されます。

- ロギングが発生したサービスでフィルタします。「ログ」リストでプロキシ・サービスのロギング・ステータス(「有効」または「無効」)を選択し、「検索」をクリックします。「すべて」を選択すると、サービスのロギングのフィルタ条件が無視されます。

- ランタイム・トレースが発生したサービスでフィルタします。「トレース」リストでプロキシ・サービスのランタイム・トレースのステータス(「有効」または「無効」)を選択し、「検索」をクリックします。「すべて」を選択すると、サービスのトレースのフィルタ条件が無視されます。

表27-2 プロキシ・サービスのサマリー情報

プロパティ

説明

名前

プロキシ・サービスに割り当てられた名前。この名前は、「操作設定」ページへのリンクです。26.8項「プロキシ・サービスの操作設定の構成」を参照してください。

パス

プロキシ・サービスに関連付けられたプロジェクト。サービスがプロジェクト・フォルダにある場合は、そのフォルダも表示されます。パスは次の形式で表示されます。

project-name/root-folder/ . . ./parent-folder

このパスはプロジェクト・エクスプローラの対応するパスにリンクされています。

種類

親サービスのタイプ:プロキシ・サービス。

状態

プロキシ・サービスの状態:有効または無効。

モニター

プロキシ・サービスのモニターのステータス: 有効または無効。

SLAアラート

SLAアラートのステータス: 有効または無効、および有効なレベル: 「通常」 (N)、「警告」 (W)、「軽度」 (Mn)、「重要」 (Mj)、「重大」 (C)、または「致命的」 (F)。

パイプライン・アラート

パイプライン・アラートのステータス: 有効または無効。有効なレベルは「通常」 (N)、「警告」 (W)、「軽度」 (Mn)、「重要」 (Mj)、「重大」 (C)、または「致命的」 (F)。

レポート

サービスのメッセージ・レポートのステータス: 有効または無効。

ログ

ロギングのステータス: 有効または無効。有効なレベルは「デバッグ」 (D)、「情報」 (I)、「警告」 (W)、または「エラー」 (E)。

トレース

プロキシ・サービスのランタイム・トレース状態:有効または無効。

アクション

「メッセージ・フローの編集」アイコンはプロキシ・サービスのパイプラインにリンクされています。

このページでは、次の操作も可能です。

- 検索フィルタを削除し、すべてのプロキシ・サービスを表示するには、「すべて表示」をクリックします。

- 変更を破棄し、同じ検索条件を使用して現在保存されている設定でページをリフレッシュするには、「リセット」をクリックします。

- セッション内からサービス・レベルの設定を有効または無効にするには、その横にあるチェックボックスを選択または選択解除し、「更新」をクリックします。

注意:
サービス・レベル設定の実行時の動作は、対応するグローバル設定によって異なります。実行時にサービスを完全に有効にするには、グローバル設定とサービス・レベル設定の両方を有効にする必要があります。また、「SLAアラート」は、グローバルレベルとサービスレベルの「モニター」の状態に依存します。SLAアラートを実行時に有効にするには、両方で有効である必要があります。27.2項「グローバル設定の有効化」を参照してください。
また、サービスの「状態」も有効である必要があります。

- 「表カスタマイザ」アイコンをクリックして、操作設定情報の表示をカスタマイズします。2.2項「表の表示のカスタマイズ」を参照してください。

27.1.3 ビジネス・サービスの検索

ビジネス・サービスを検索するには:

1. 「操作」→「スマート検索」を選択します。

2. 「タイプ」リストで「ビジネス・サービス」を選択し、「検索」をクリックします。「ビジネス・サービスのサマリー」ページに、表27-3に示す情報が表示されます。

3. リストに表示される項目の数を絞り、ビジネス・サービスだけを検索するには、次の操作を行います。

- 「開く」アイコンをクリックして追加の検索フィルタを表示します。複数の検索条件を指定すると、すべての条件を満たす結果のみが返されます。

- ビジネス・サービス名とパスでフィルタします。「名前」フィールドと「パス」フィールドに、検索対象の名前とパスを入力してから、「検索」をクリックします。このパスは、プロジェクト名、およびビジネス・サービスが格納されるフォルダの名前になります。*および?をワイルドカード文字として使用すると、より一般的な検索が行えます。

- サービスの状態でフィルタします。「状態」リストでビジネス・サービスの状態(「有効」または「無効」)を選択し、「検索」をクリックします。「すべて」を選択すると、サービスの状態のフィルタ条件が無視されます。

- サービスのモニターでフィルタします。「モニター」リストでビジネス・サービスのモニター・ステータス(「有効」または「無効」)を選択し、「検索」をクリックします。「すべて」を選択すると、サービスのモニターのフィルタ条件が無視されます。

- ビジネス・サービスのSLAアラートの設定でフィルタします。「SLAアラート」リストでビジネス・サービスのSLAアラートの設定(「有効」または「無効」)を選択し、「検索」をクリックします。「すべて」を選択すると、サービスのSLAアラートのフィルタ条件が無視されます。

- メッセージ・トレースでフィルタします。メッセージ・トレースが有効なビジネス・サービスでフィルタするか、無効なサービスでフィルタするかを選択し、「検索」をクリックします。「すべて」を選択すると、メッセージ・トレースのフィルタ条件が無視されます。

- キャッシュでフィルタします。結果キャッシュが有効なビジネス・サービスでフィルタするか、無効なサービスでフィルタするかを選択し、「検索」をクリックします。「すべて」を選択すると、結果キャッシュのフィルタ条件が無視されます。

表27-3 ビジネス・サービスの概要情報

プロパティ

説明

名前

ビジネス・サービスに割り当てられた名前。この名前は、「操作設定」ページへのリンクです。26.9項「ビジネス・サービスの操作設定の構成」を参照してください。

パス

ビジネス・サービスに関連付けられたプロジェクト。サービスがプロジェクト・フォルダにある場合は、そのフォルダも表示されます。パスは次の形式で表示されます。

project-name/root-folder/ . . ./parent-folder

このパスはプロジェクト・エクスプローラの対応するパスにリンクされています。

種類

親サービスのタイプ:ビジネス・サービス。

状態

ビジネス・サービスの状態:有効または無効。

モニター

ビジネス・サービスのモニターのステータス: 有効または無効。

SLAアラート

SLAアラートのステータス: 有効または無効、および有効なレベル: 「通常」 (N)、「警告」 (W)、「軽度」 (Mn)、「重要」 (Mj)、「重大」 (C)、または「致命的」 (F)。

Msg.トレース

ビジネス・サービスに対してメッセージ・トレースが有効か無効か。

キャッシュ

ビジネス・サービスに対して結果キャッシュが有効か無効か。

このページでは、次の操作も可能です。

- 検索フィルタを削除し、すべてのビジネス・サービスを表示するには、「すべて表示」をクリックします。

- 変更を破棄し、同じ検索条件を使用して現在保存されている設定でページをリフレッシュするには、「リセット」をクリックします。

- セッション内からサービス・レベルの設定を有効または無効にするには、その横にあるチェックボックスを選択または選択解除し、「更新」をクリックします。

注意:
サービス・レベル設定の実行時の動作は、対応するグローバル設定によって異なります。実行時にサービスを完全に有効にするには、グローバル設定とサービス・レベル設定の両方を有効にする必要があります。また、「SLAアラート」は、グローバルレベルとサービスレベルの「モニター」の状態に依存します。SLAアラートを実行時に有効にするには、両方で有効である必要があります。27.2項「グローバル設定の有効化」を参照してください。
また、サービスの「状態」も有効である必要があります。

- 「表カスタマイザ」アイコンをクリックして、操作設定情報の表示をカスタマイズします。2.2項「表の表示のカスタマイズ」を参照してください。

27.1.4 分割-結合の検索

分割-結合を検索するには:

1. 「操作」→「スマート検索」を選択します。

2. 「タイプ」リストで「分割-結合」を選択し、「検索」をクリックします。「分割-結合のサマリー」ページに、表27-4に示す情報が表示されます。

3. リストに表示される項目の数を絞り、ビジネス・サービスだけを検索するには、次の操作を行います。

- 「開く」アイコンをクリックして追加の検索フィルタを表示します。複数の検索条件を指定すると、すべての条件を満たす結果のみが返されます。

- 分割-結合の名前とパスでフィルタします。「名前」フィールドと「パス」フィールドに、検索対象の名前とパスを入力してから、「検索」をクリックします。このパスは、プロジェクト名と、分割-結合が格納されているフォルダの名前です。*および?をワイルドカード文字として使用すると、より一般的な検索が行えます。

- ロギングが発生した分割-結合でフィルタします。「ログ」リストで分割-結合のロギング・ステータス(「有効」または「無効」)を選択し、「検索」をクリックします。「すべて」を選択すると、ロギングのフィルタ条件が無視されます。

- 実行トレースでフィルタします。「実行トレース」リストで分割-結合の実行トレースのステータス(「有効」または「無効」)を選択し、「検索」をクリックします。「すべて」を選択すると、サービスのロギングのフィルタ条件が無視されます。

表27-4 分割-結合のサマリー情報

プロパティ

説明

名前

分割-結合に割り当てられた名前。この名前は、「操作設定」ページへのリンクです。10.3項「分割-結合の編集」を参照してください。

パス

Split-Joinに関連付けられたプロジェクト。Split-Joinがプロジェクト・フォルダに存在する場合は、そのフォルダも表示されます。パスは次の形式で表示されます。

project-name/root-folder/ . . ./parent-folder

このパスはプロジェクト・エクスプローラの対応するパスにリンクされています。

種類

親サービスのタイプ: 分割-結合。

ログ

ロギングのステータス: 有効または無効。有効なレベルは「デバッグ」 (D)、「情報」 (I)、「警告」 (W)、または「エラー」 (E)。

実行トレース

分割-結合のランタイム・トレースのステータス: 有効または無効。

このページでは、次の操作も可能です。

- 検索フィルタを削除し、すべての分割-結合を表示するには、「すべて表示」をクリックします。

- 変更を破棄し、同じ検索条件を使用して現在保存されている設定でページをリフレッシュするには、「リセット」をクリックします。

- セッション内からサービス・レベルの設定を有効または無効にするには、その横にあるチェックボックスを選択または選択解除し、「更新」をクリックします。

注意:
分割-結合レベル設定の実行時の動作は、対応するグローバル設定によって異なります。実行時にサービスを完全に有効にするには、グローバル設定とサービス・レベル設定の両方を有効にする必要があります。

- 「表カスタマイザ」アイコンをクリックして、操作設定情報の表示をカスタマイズします。2.2項「表の表示のカスタマイズ」を参照してください。

27.1.5 アラート宛先の検索

アラート宛先を検索するには:

1. 「操作」→「スマート検索」を選択します。

2. 「タイプ」リストで「アラート宛先」を選択し、「検索」をクリックします。「アラート宛先のサマリー」ページに、表27-5に示す情報が表示されます。

3. リストに表示される項目の数を絞り、特定のアラート宛先だけを検索するには、次の操作を行います。

- 「開く」アイコンをクリックして追加の検索フィルタを表示します。複数の検索条件を指定すると、すべての条件を満たす結果のみが返されます。

- アラート宛先名とパスでフィルタします。「名前」フィールドと「パス」フィールドに、検索対象の名前とパスを入力してから、「検索」をクリックします。このパスは、プロジェクト名、およびアラート宛先が格納されるフォルダの名前です。*および?をワイルドカード文字として使用すると、より一般的な検索が行えます。

- アラート宛先ターゲットでフィルタします。「対象」複数選択ボックスで1つまたは複数のアラート宛先ターゲット(SNMPトラップ、レポート、アラート・ロギング、電子メールまたはJMS)を選択し、「検索」をクリックします。1つ以上のターゲットが選択されているアラート宛先のみが表示されます。アラート宛先のターゲットを選択しない場合は、アラート宛先のフィルタ条件が無視されます。

- 検索パターンでフィルタします。「検索パターン(任意の文字列)」テキスト・ボックスに文字列を指定し、「検索」をクリックします。ここに指定した文字列で、アラート宛先のすべての「説明」フィールドと電子メールおよびJMS宛先の特定の詳細フィールドが検索されます。該当する文字列がアラート宛先のいずれかのフィールドに存在すれば、検索条件に一致するアラート宛先が表示されます。

表27-5 アラート宛先の概要情報

プロパティ

説明

名前

アラート宛先のリソース名。このフィールドは「アラート宛先の表示 - 構成」ページへのリンクです。6.1項「アラート宛先の検索」を参照してください。

パス

アラート宛先に関連付けられたプロジェクト。アラート宛先がプロジェクト・フォルダに存在する場合は、そのフォルダも表示されます。パスは次の形式で表示されます。

project-name/root-folder/ . . ./parent-folder

このパスはプロジェクト・エクスプローラの対応するパスにリンクされています。

オプション

特定のアラート宛先を削除するには、「削除」アイコンをクリックします。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。6.5項「アラート宛先の削除」を参照してください。

このページでは、次の操作も可能です。

- 検索フィルタを削除し、すべてのアラート宛先を表示するには、「すべて表示」をクリックします。

- 特定のアラート宛先(他のリソースから参照されていない場合)を削除するには、横にあるチェックボックスを選択して「削除」をクリックします。

- 「表カスタマイザ」アイコンをクリックして、操作設定情報の表示をカスタマイズします。2.2項「表の表示のカスタマイズ」を参照してください。

27.1.6 SLAアラート・ルールの検索

SLAアラート・ルールを検索するには:

1. 「操作」→「スマート検索」を選択します。

2. 「タイプ」リストで「SLAアラート」を選択し、「検索」をクリックします。「SLAアラート・ルールのサマリー」ページに、表27-6に示す情報が表示されます。

3. リストに表示される項目の数を絞り、特定のSLAアラート・ルールだけを検索するには、次の操作を行います。

- 「開く」アイコンをクリックして追加の検索フィルタを表示します。複数の検索条件を指定すると、すべての条件を満たす結果のみが返されます。

- アラート・ルール名でフィルタします。「名前」フィールドに検索対象の名前またはワイルドカード文字(*および?をワイルドカード文字として使用するとより一般的な検索が行えます)を入力し、「検索」をクリックします。
この検索方法は、アラート・ルールの名前がすべてのプロジェクトとパスでユニークである場合に推奨される方法です。

- 親サービス・パスでフィルタします。「パス」フィールドに親サービスのパスを入力します。このパスは、プロジェクト名、および親サービスが格納されるフォルダの名前になります。*および?をワイルドカード文字として使用すると、より一般的な検索が行えます。そのパスに親サービスが存在するすべてのアラート・ルールが表示されます。
「パス」フィールドの形式は次のとおりです。

project-name/root-folder/ . . ./parent-folder

サービスがプロジェクトの直下にある場合、形式は次のとおりです。

project-name

- 親サービスでフィルタします。「親サービス」フィールドで「参照」をクリックし、「サービスの選択」ページを表示します。リストから親サービスを選択して、「発行」をクリックします。「クリア」をクリックして親サービスのフィルタ条件を削除するか、「検索」をクリックします。

注意:
「親サービス」フィールドの選択内容に応じて「サービスの種類」フィールドの選択肢が制限されます。

- 親サービスのタイプでフィルタします。「サービス・タイプ」リストで「プロキシ・サービス」または「ビジネス・サービス」を選択し、「検索」をクリックします。「すべてのサービス」を選択すると、親サービスのタイプの条件によるフィルタが無視されます。

注意:
「サービスの種類」フィールドの選択内容に応じて「親サービス」フィールドの選択肢が制限されます。

- ルールの状態でフィルタします。「ルール状態」リストでアラート・ルールの状態(「有効」または「無効」)を選択し、「検索」をクリックします。「すべて」を選択すると、ルールの状態のフィルタ条件が無視されます。

- 重大度でフィルタします。「重大度」リストで選択して、SLAアラート・ルールを指定されたレベルに制限し、「検索」をクリックします。
「またはそれ以上」チェック・ボックスを選択すると、検索は指定した一定の値以上の重大度に制限されます。重大度を制限の少ない順に並べると、「通常」、「警告」、「軽度」、「クリティカル」、「致命的」となります。

表27-6 SLAアラート・ルールの概要情報

プロパティ

説明

名前

このアラート・ルールに割り当てられた名前。この名前はアラート・ルールの構成ページにリンクされています。26.24項「アラート・ルールの構成の表示」を参照してください。

SLAの状態

アラート・ルールのステータス: 有効または無効。

説明

注意: このフィールドは、デフォルトでは表示されません。

アラート・ルールの説明。

サービス名

親サービスの名前。この名前は「SLAアラート・ルール」ページにリンクされています。26.21項「アラート・ルールの表示」を参照してください。

パス

アラート・ルールの親サービスに関連付けられているプロジェクト。アラート・ルールの親サービスがプロジェクト・フォルダに存在する場合は、そのフォルダも表示されます。パスは次の形式で表示されます。

project-name/root-folder/ . . ./parent-folder

このパスはプロジェクト・エクスプローラの対応するパスにリンクされています。

重大度

アラートの重大度は「通常」、「警告」、「軽度」、「重要」、「重大」、または「致命的」のいずれか。

集約間隔

集約間隔の長さ(時間および分)。

有効期限

このアラート・ルールが無効になる日付。

処理の停止

注意: このフィールドは、デフォルトでは表示されません。

「はい」または「いいえ」を表示します。

頻度

このアラートの頻度:

- 毎回

- 1回通知

このページでは、次の操作も可能です。

- 検索フィルタを削除し、すべてのSLAアラート・ルールを表示するには、「すべて表示」をクリックします。

- 変更を破棄し、同じ検索条件を使用して現在保存されている設定でページをリフレッシュするには、「リセット」をクリックします。

- セッション内からSLAアラート・ルールを有効または無効にするには、その横にあるチェックボックスを選択または選択解除し、「更新」をクリックします。

- 「表カスタマイザ」アイコンをクリックして、操作設定情報の表示をカスタマイズします。2.2項「表の表示のカスタマイズ」を参照してください。

27.2 グローバル設定の有効化

すべてのグローバル設定は、セッション内からのみ有効または無効にできます。

この項の内容は次のとおりです。

- 27.2.1項「サービスのグローバル・モニターの有効化」

- 27.2.2項「サービスのグローバル・モニターの無効化」

- 27.2.3項「SLAアラートのグローバルな有効化」

- 27.2.4項「SLAアラートのグローバルな無効化」

- 27.2.5項「パイプライン・アラートのグローバルな有効化」

- 27.2.6項「パイプライン・アラートのグローバルな無効化」

- 27.2.7項「メッセージ・レポートのグローバルな有効化」

- 27.2.8項「メッセージ・レポートのグローバルな無効化」

- 27.2.9項「ログのグローバルな有効化」

- 27.2.10項「ログのグローバルな無効化」

- 27.2.11項「結果キャッシュのグローバルな有効化」

- 27.2.12項「結果キャッシュのグローバルな無効化」

27.2.1 サービスのグローバル・モニターの有効化

すべてのサービスに対するモニターをドメイン・レベルで有効にするには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「操作」→「グローバル設定」を選択します。

3. 「モニターの有効化」チェックボックスを選択して、サービス・レベルでモニターが有効にされているすべてのサービスに関するモニター統計が収集されるようにします。

4. 「更新」をクリックして、このページのすべての設定を保存します。

5. または、セッション中の任意の時点で「リセット」をクリックして、変更を破棄し、現在保持されている設定を使用してページを更新します。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

27.2.2 サービスのグローバル・モニターの無効化

すべてのサービスに対するモニターをドメイン・レベルで無効にするには:

注意:
すべてのサービスのモニターを無効にすると、それまでに収集された統計もすべて削除されます。削除された統計は、セッションの「元に戻す」機能では復元できません。「元に戻す」を使用して、サービスのモニターを再び有効にすることはできますが、削除された統計を元に戻すことはできません。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「操作」→「グローバル設定」を選択します。

3. 「モニターの有効化」チェックボックスを選択解除して、構成内のすべてのサービスに関するモニター統計の収集が停止されるようにします。

注意:
このオプションにより、特定のビジネス・サービスおよびプロキシ・サービスに対して選択可能なサービス・モニターの有効化オプションがオーバーライドされます。26.9項「ビジネス・サービスの操作設定の構成」または26.8項「プロキシ・サービスの操作設定の構成」を参照してください。
このオプションを選択すると、「SLAアラートの有効化」オプションもオーバーライドされます。モニターをグローバル・レベルで無効にすると、対応する「SLAアラートの有効化」チェックボックスが選択されていても、実行時にSLAアラートは無効になります。27.2.3項「SLAアラートのグローバルな有効化」を参照してください。

4. 「更新」をクリックします。モニター構成は、現在のセッションで保存されます。

5. または、セッション中の任意の時点で「リセット」をクリックして、変更を破棄し、現在保持されている設定を使用してページを更新します。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

27.2.3 SLAアラートのグローバルな有効化

SLAアラートをモニターとは独立して構成することも可能ですが、実行時にはこの2つの設定に関連が生じます。グローバル・モニターを有効にすると、SLAアラートを有効または無効にすることができます。ただし、SLAアラート・ルールの条件は評価するモニター統計によって決まるため、グローバル・モニターを無効にすると、SLAアラートも無効になります。

すべてのサービスに対するSLAアラートをドメイン・レベルで有効にするには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「操作」→「グローバル設定」を選択します。

3. 「SLAアラートの有効化」チェックボックスを選択して、構成内のすべてのサービスに関するアラート・ルールが評価されるようにします。

4. 「更新」をクリックして、このページのすべての設定を保存します。

5. または、セッション中の任意の時点で「リセット」をクリックして、変更を破棄し、現在保持されている設定を使用してページを更新します。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

27.2.4 SLAアラートのグローバルな無効化

すべてのサービスに対するSLAアラートをドメイン・レベルで無効にするには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「操作」→「グローバル設定」を選択します。

3. 「SLAアラートの有効化」チェックボックスを選択解除して、構成内のすべてのサービスに関するアラート・ルールの評価が停止されるようにします。

注意:
このオプションにより、特定のビジネス・サービスおよびプロキシ・サービスに対して選択可能な「SLAアラート」オプションがオーバーライドされます。26.9項「ビジネス・サービスの操作設定の構成」または26.8項「プロキシ・サービスの操作設定の構成」を参照してください。

4. 「更新」をクリックします。SLAアラートの構成は、現在のセッションで保存されます。

5. または、セッション中の任意の時点で「リセット」をクリックして、変更を破棄し、現在保持されている設定を使用してページを更新します。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

27.2.5 パイプライン・アラートのグローバルな有効化

(プロキシ・サービスの場合)すべてのプロキシ・サービスに対するパイプライン・アラートをドメイン・レベルで有効にするには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「操作」→「グローバル設定」を選択します。

3. 「パイプライン・アラートの有効化」チェックボックスを選択して、プロキシ・サービスに関するパイプライン・アラート・アクションが実行されるようにします。
パイプライン・アラートはグローバルなモニターに依存しません。

4. 「更新」をクリックして、このページのすべての設定を保存します。

5. または、セッション中の任意の時点で「リセット」をクリックして、変更を破棄し、現在保持されている設定を使用してページを更新します。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

27.2.6 パイプライン・アラートのグローバルな無効化

(プロキシ・サービスの場合)すべてのプロキシ・サービスに対するパイプライン・アラートをドメイン・レベルで無効にするには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「操作」→「グローバル設定」を選択します。

3. 「パイプライン・アラートの有効化」チェックボックスを選択解除して、プロキシ・サービスに関するパイプライン・アラート・アクションの実行が停止されるようにします。

注意:
このオプションにより、特定のプロキシ・サービスに対して選択可能な「パイプライン・アラート」の設定がオーバーライドされます。26.8項「プロキシ・サービスの操作設定の構成」を参照してください。

4. 「更新」をクリックします。パイプライン・アラートの構成は、現在のセッションで保存されます。

5. または、セッション中の任意の時点で「リセット」をクリックして、変更を破棄し、現在保持されている設定を使用してページを更新します。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

27.2.7 メッセージ・レポートのグローバルな有効化

このオプションでプロキシ・サービスのパイプライン・レポート・アクションが制御されるのはメッセージ・コンテキストのみです。レポート・フレームワークをターゲットとしたSLAアラートやパイプライン・アラートには影響しません。

すべてのプロキシ・サービスに対するメッセージ・レポートをドメイン・レベルで有効にするには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「操作」→「グローバル設定」を選択します。

3. 「レポートの有効化」チェックボックスを選択して、すべてのプロキシ・サービスに関するパイプライン・レポート・アクションが開始されるようにします。

4. 「更新」をクリックして、このページのすべての設定を保存します。

5. または、セッション中の任意の時点で「リセット」をクリックして、変更を破棄し、現在保持されている設定を使用してページを更新します。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

27.2.8 メッセージ・レポートのグローバルな無効化

(プロキシ・サービスの場合)すべてのプロキシ・サービスに対するメッセージ・レポートをドメイン・レベルで無効にするには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「操作」→「グローバル設定」を選択します。

3. 「レポートの有効化」チェックボックスを選択解除して、すべてのプロキシ・サービスに関するパイプライン・レポート・アクションが停止されるようにします。

注意:
このオプションにより、特定のプロキシ・サービスに対して選択可能な「メッセージ・レポート」の設定がオーバーライドされます。26.8項「プロキシ・サービスの操作設定の構成」を参照してください。

4. 「更新」をクリックします。メッセージ・レポートの構成は、現在のセッションで保存されます。

5. または、セッション中の任意の時点で「リセット」をクリックして、変更を破棄し、現在保持されている設定を使用してページを更新します。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

27.2.9 ログのグローバルな有効化

「ロギングの有効化」を選択すると、パイプラインのログ・アクション・メッセージがWebLogic Serverロギング・サービスに送信されます。ログを表示するには、WebLogic Serverを構成してこれらのメッセージがドメイン・ログに転送されるようにする必要があります。

すべてのプロキシ・サービスに対するログ出力をドメイン・レベルで有効にするには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「操作」→「グローバル設定」を選択します。

3. 「ロギングの有効化」チェックボックスを選択して、すべてのプロキシ・サービスに関するパイプライン・ログ・アクションが開始されるようにします。

4. 「更新」をクリックして、このページのすべての設定を保存します。

5. または、セッション中の任意の時点で「リセット」をクリックして、変更を破棄し、現在保持されている設定を使用してページを更新します。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

27.2.10 ログのグローバルな無効化

(プロキシ・サービスの場合)すべてのプロキシ・サービスに対するログ出力をドメイン・レベルで無効にするには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「操作」→「グローバル設定」を選択します。

3. 「ロギングの有効化」チェックボックスを選択解除して、すべてのプロキシ・サービスに関するパイプライン・ログ・アクションが停止されるようにします。

注意:
このオプションにより、特定のプロキシ・サービスに対して選択可能な「ロギング」の設定がオーバーライドされます。26.8項「プロキシ・サービスの操作設定の構成」を参照してください。

4. 「更新」をクリックします。ロギング構成は、現在のセッションで保存されます。

5. または、セッション中の任意の時点で「リセット」をクリックして、変更を破棄し、現在保持されている設定を使用してページを更新します。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

27.2.11 結果キャッシュのグローバルな有効化

結果が変わることがめったにないビジネス・サービスを起動する場合、結果キャッシュを使用すると、サービスの起動の結果を待たずに、キャッシュされている結果がクライアントに返されるため、ビジネス・サービスのパフォーマンスが向上します。

個々のビジネス・サービスに対して結果キャッシュを構成する前に、次の手順を使用して、まず結果キャッシュをグローバルに有効にする必要があります。デフォルトの設定では、結果キャッシュは有効です。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「操作」→「グローバル設定」を選択します。

3. 「結果キャッシュの有効化」チェックボックスを選択します。

4. 「更新」をクリックして、このページのすべての設定を保存します。

5. または、セッション中の任意の時点で「リセット」をクリックして、変更を破棄し、現在保持されている設定を使用してページを更新します。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

ビジネス・サービスに対する結果キャッシュの構成の詳細は、19.2.23項「「メッセージ処理構成」ページ」を参照してください。

27.2.12 結果キャッシュのグローバルな無効化

結果キャッシュをグローバルに無効にすると、Oracle Service Busでキャッシュ全体がフラッシュされ、結果キャッシュが有効なすべてのビジネス・サービスについてキャッシュされている結果が削除されます。デフォルトの設定では、結果キャッシュは有効です。

結果キャッシュをドメイン・レベルで無効にするには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「操作」→「グローバル設定」を選択します。

3. 「結果キャッシュの有効化」チェックボックスを選択解除します。

注意:
この設定によって、個々のビジネス・サービスで構成されている結果キャッシュがオーバーライドされます。

4. 「更新」をクリックします。構成は、現在のセッションで保存されます。

5. または、セッション中の任意の時点で「リセット」をクリックして、変更を破棄し、現在保持されている設定を使用してページを更新します。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

27.3 ユーザー・プリファレンスの設定

このページでは、管理コンソールの表示オプションと設定をカスタマイズし、保持することができます。「ユーザー・プリファレンス」を更新(変更)する場合、変更セッションをアクティブ化する必要はありません。

表27-7に、ページのオプションおよびコントロールを示します。

表27-7 ユーザー・プリファレンス - オプションおよびコントロール

内容

操作

管理コンソールを起動したときに表示される「ホーム・ページ」の変更

最初のリストから、メイン・メニューの項目(「操作」、「リソース・ブラウザ」、「プロジェクト・エクスプローラ」、「セキュリティ構成」または「システム管理」)を選択します。

2番目のリストから、サブ・メニューの項目の1つを選択します。(サブメニューの項目内容は、最初のメニューで選択した項目内容によって動的に変わります。)

検索フィルタの表示

「はい」または「いいえ」を選択します。

デフォルトでは、検索フィルタは表示されません(閉じています)。「はい」を選択すると、検索フィルタは常に表示されます(開いています)。

ステージ注釈の表示

「はい」または「いいえ」を選択します。

デフォルトでは、パイプラインのステージ注釈は表示されません(閉じています)。「はい」を選択すると、ステージ注釈は常に表示されます(開いています)。

リソース・メタデータの表示

「はい」または「いいえ」を選択します。

デフォルトでは、リソース・メタデータ・セクションは表示されています(開いています)。「いいえ」を選択すると、リソース・メタデータ・セクションは表示されません(閉じています)。

管理コンソールでダッシュボードのデータの表示を更新する頻度の変更

「ダッシュボード・リフレッシュ間隔」リストから、ダッシュボードのリフレッシュ間隔として「リフレッシュなし」、「1分」、「2分」、「3分」、「5分」、「10分」、「20分」、「30分」または「60分」を選択します。

デフォルトの間隔は、「リフレッシュなし」ですが、定義済の他の時間を選択できます。たとえば、「5分」を選択すると、ダッシュボードのデータが5分ごとに更新されます。

注意: デフォルト(リフレッシュなし)以外のダッシュボード・リフレッシュ間隔を選択すると、ブラウザでダッシュボードが一定の間隔でリフレッシュされます。これにより、管理コンソールとやり取りしていなくても、セッションはタイムアウトしなくなります。ダッシュボード・リフレッシュ間隔機能を慎重に使用することをお薦めします。管理コンソール・セッションを無人のまま放置しないようにしてください。管理コンソール・セッションがアクティブな間は、再認証を行わずに、他のユーザーがそのコンピュータから管理コンソール・セッションにアクセスできます。

ダッシュボードにアラートの履歴データを表示する間隔の変更

「アラート履歴期間」リストから、アラートの履歴データを表示する間隔として「30分」、「1時間」、「2時間」、「3時間」または「6時間」を選択します。デフォルトは、30分(30分以内に受け取ったアラートを表示)ですが、あらかじめ定義されている他の期間を選択できます。たとえば、「1時間」を選択すると、ダッシュボードに、1時間以内に受け取ったアラートが表示されます。

28 レポート

この章では、Oracle Service Bus管理コンソールのレポート機能によって生成されたメッセージ・フローの表示およびパージの方法について説明します。

レポート・モジュールを使用するには、まず、プロキシ・サービスを作成し、作成したプロキシ・サービスのメッセージ・フローにレポート・アクションを追加する必要があります。21.1項「メッセージ・フローでのアクションの追加と編集」および21.27項「レポート・アクションの追加」を参照してください。また、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「レポート」も参照してください。

28.1 レポート・メッセージの表示

メッセージ・レポートのサマリー・ページを使用して、表28-2に示すレポート・メッセージの情報を表示します。このページには最大で100件のメッセージを表示できます。

1. リストに表示される項目の数を制限する、または特定のメッセージを検索するには:

- 「開く」アイコンをクリックして追加の検索フィルタを表示します。複数の検索条件を指定すると、すべての条件を満たす結果のみが返されます。

- フィルタ・パラメータを設定するには、表28-1に示す手順のいずれか1つ以上を実行します。

表28-1 メッセージのフィルタ・パラメータ

内容

手順

時間パラメータでのフィルタ

期間を設定します。

1. 「メッセージの期間」オプションを選択します。

2. 「メッセージ: 自」フィールドにMM/DD/YY HH:MM:SS AM|PMの書式で日付と時刻を入力します。たとえば、「10/10/07 12:45:00 AM」と入力します。

3. メッセージの終了日時フィールドにMM/DD/YY HH:MM:SS AM|PMの書式で日付と時刻を入力します。

または、直近のメッセージを検索するパラメータを選択することもできます。

1. 「過去」オプションを選択します。

2. 「過去」フィールドに日数を入力してから、時間と分を指定します。

注意: デフォルトでは、最近30分間のメッセージ・レポートが表示さます。

サービス名でのフィルタ

「インバウンド・サービス名」フィールドにサービス名を入力します。

エラー・コードでのフィルタ

「エラー・コード」フィールドに、エラー・コードを入力します。

レポート・インデックスでのフィルタ

「レポート・インデックス」フィールドにレポート・インデックスを入力します。これらは、このプロキシ・サービスのレポート・アクションを構成する際に定義したキー値ペアです。この検索は、文字列検索です。

- サービス名、エラー・コード、およびレポート・インデックス・フィールドの検索では、ワイルドカード文字を使用できます。

- アスタリスク(*)を入力すると、すべてのメッセージが返ります。たとえば、エラー・コード・フィールドに*を入力すると、エラー・コードを持つメッセージも、エラー・コードを持たないメッセージも表示されます。

- 「エラー・コード」フィールドに対してのみ、厳密な検索条件を適用できます。たとえば、BEA12345というエラー・コードを持つメッセージを検索する場合、「*」、「BE*」、または「BEA12345」と入力できます。

2. 「検索」をクリックします。設定したフィルタ・パラメータに該当するメッセージが表示されます。メッセージをフィルタする場合に表示できる最大メッセージ数は1000です。

3. 「すべて表示」をクリックすると、検索フィルタが削除され、メッセージがすべて表示されます。

4. 次の方法でもメッセージを検索できます。

- メッセージ・リストを再ソートします。下線付きの列名をクリックします。昇順および降順の矢印はソート順を示します。この列名をクリックしてソート順を変更します。

- ページをスクロールします。表の上下にあるページ・コントロールを使用します。ページを移動するには、ページ番号を選択するか、次のページ、前のページ、最初のページ、または最後のページに移動する矢印ボタンを使用します。

表28-2 メッセージ(レポート)のサマリーの詳細

プロパティ

説明

レポート・インデックス

「メッセージの詳細を表示」ページへのリンク。28.2項「メッセージの詳細の表示」を参照してください。

レポート・インデックスは、メッセージ・コンテキスト変数からキー識別子を抽出する場合に使用するキー値ペアです。キーはメッセージをフィルタする場合に便利です。キー値ペアを追加するには、レポート・アクションを使用します。21.1項「メッセージ・フローでのアクションの追加と編集」を参照してください。

DBタイムスタンプ

メッセージがデータベースに追加された日時。

インバウンド・サービス

メッセージに関連付けられているインバウンド・サービス。このサービスは「プロキシ・サービスの表示 - 構成の詳細」ページへのリンクです。20.5項「プロキシ・サービス構成の編集」を参照してください。

エラー・コード

このメッセージに関連付けられているエラー・コード(ある場合)。

エラーの生成アクションを構成する場合、エラー・コードを指定します。『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「メッセージ・フローでのエラー処理」および24.2項「プロキシ・サービス・エラー・ハンドラの追加」を参照してください。

関連項目

『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「メッセージ・レポートを有効にする方法」も参照してください。

28.2 メッセージの詳細の表示

このページは、特定のメッセージの詳細を表示するために使用します。

1. メッセージを検索します。28.1項「レポート・メッセージの表示」を参照してください。

2. レポート・インデックスをクリックします。「メッセージの詳細を表示」ページに、表28-3に示す全般的な構成情報が表示されます。

表28-3 メッセージの構成パラメータ

プロパティ

説明

メッセージID

このメッセージのユニークなID。

データベース・タイムスタンプ

このメッセージがデータベースに登録された日時。

ロギングの時刻

このメッセージのログが記録された日時。

サーバー名

このメッセージが生成されたサーバーの名前。

状態

このメッセージが生成されたパイプラインの状態。

REQUEST - レポート・アクションがリクエスト・パイプラインで実行されることを示します。

RESPONSE - レポート・アクションがレスポンス・パイプラインで実行されることを示します。

ERROR - アクションがサービス・レベルのエラー・ハンドラで実行中です。

ノード名

このメッセージが生成されたパイプラインのノード名。

パイプライン名

このメッセージが生成されたパイプラインの名前。

ステージ名

このメッセージが生成されたステージの名前。

ページに、表28-4に示すインバウンド・サービスの情報が表示されます。

表28-4 インバウンド・サービスの詳細

プロパティ

説明

名前

このメッセージに関連付けられているインバウンド・プロキシ・サービス。これは「プロキシ・サービスの表示 - 構成の詳細」ページへのリンクです。20.5項「プロキシ・サービス構成の編集」を参照してください。

URI

プロキシ・サービスに関連付けられているURI。

操作

このメッセージに関連付けられているインバウンド操作。

ページに、表28-5に示すアウトバウンド・サービスの情報が表示されます。

表28-5 アウトバウンド・サービスの詳細

プロパティ

説明

名前

このメッセージに関連付けられているアウトバウンド・ビジネス・サービス。これは「ビジネス・サービスの表示 - 構成の詳細」ページへのリンクです。19.5項「ビジネス・サービス構成の編集」を参照してください。

URI

アウトバウンド・ビジネス・サービスのエンド・ポイントのURI。

操作

アウトバウンド・サービスで呼び出される操作の名前。

ページに、表28-6に示すレポート・インデックスの情報が表示されます。

表28-6 レポート・インデックスの詳細

プロパティ

説明

レポート・インデックス・テキスト

レポート・インデックスは、メッセージ・コンテキスト変数からキー識別子を抽出する場合に使用するキー値ペアです。キーはメッセージをフィルタする場合に便利です。キー値ペアを追加するには、レポート・アクションを使用します。21.1項「メッセージ・フローでのアクションの追加と編集」を参照してください。

ページに、表28-7に示すフォルト情報が表示されます。

表28-7 エラー情報の詳細

プロパティ

説明

エラー・コード

このメッセージに関連付けられているエラー・コード(ある場合)。

エラーの生成アクションを構成する場合、エラー・コードを指定します。『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「メッセージ・フローでのエラー処理」および24.2項「プロキシ・サービス・エラー・ハンドラの追加」を参照してください。

理由

エラー・コードの理由。

詳細

エラー・コードに関連付けられているエラーの詳細。このような詳細情報(存在する場合)は通常、特定のエラーが発生した場所のスタック・トレースであり、データベースのサイズ制限に合わせて切り捨てられる場合があります。上限は2048文字です。

ページに、表28-8に示すレポート本文の情報が表示されます。

表28-8 レポート本文の詳細

プロパティ

説明

レポート本文テキスト

このリンクをクリックすると、別のブラウザが開き、レポート本文の詳細が表示されます。レポートの本文テキストは、レポート・アクションで式を使用して取り込みます。レポート・アクションの手順については、21.1項「メッセージ・フローでのアクションの追加と編集」を参照してください。

3. 特定のメッセージの詳細の確認を終えたら、「OK」をクリックします。

28.3 メッセージのパージ

このページは、選択されたメッセージをレポート・データストアからパージするために使用します。

メッセージのパージはバックグラウンドで行われるので、パージが行われている間にメッセージ・レポートのサマリー・ページがロックされることはありません。このため、完了するまでに時間のかかるパージも行うことができます。所要時間はパージする必要のあるメッセージ数によって変わります。ただし、レポート・メッセージのフィルタを行うと、パージ・プロセスが遅くなります。一部のデータのパージが完了していないために、メッセージ・レポートのサマリー・ページに誤ったデータが表示されることがあります。

メッセージのパージは、プロジェクトの設計段階とテスト段階で役立つ機能です。ただし、本番環境では、データベース内のデータの管理(パージを含む)は、データベース管理者がデータベース管理ツールを使用して行うことをお薦めします。

1. 「操作」→「メッセージのパージ」を選択します。

2. 表28-9のいずれかの手順を実行します。

表28-9 メッセージのパージ・オプション

内容

手順

すべてのメッセージのパージ

1. 「すべてのメッセージのパージ」オプションを選択します。

2. 「パージ」をクリックします。

特定期間に該当するメッセージのパージ

1. 「...から...までのメッセージをパージする」オプションを選択します。

2. 「メッセージのパージ開始日時」フィールドにMM/DD/YY HH:MM:SSの書式で月、日付、年および時刻を入力します。たとえば、「10/10/07 12:45:00 AM」と入力します。

3. メッセージのパージ終了日時フィールドにMM/DD/YY HH:MM:SSの書式で月、日付、年および時刻を入力します。

4. 「パージ」をクリックします。

関連項目

メッセージのパージの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「レポート」を参照してください。

29 インポート/エクスポート

この章では、Oracle Service Bus管理コンソールを使用したOracle Service Bus(OSB)プロジェクトとリソースのインポートおよびエクスポートの方法について説明します。

この章の内容は次のとおりです。

29.1項「リソースのインポート」

29.2項「リソースのエクスポート」

29.1 リソースのインポート

「リソースのインポート」ページは、以前他のOracle Service Busドメインからエクスポートされたプロジェクト全体のJARファイルまたはリソースJARファイルをインポートするために使用します。エクスポートされたデータの一部だけをインポートするように選択することもできます。インポート先システムにリソースがすでに存在する場合は更新されます。存在しない場合は、新たに作成されます。リソースの削除は、インポートするJARがプロジェクト全体のJARであり、インポートするJARファイルに存在しないリソースがインポート先システムの同じプロジェクトに存在する場合にのみ行われます。他のプロジェクトにあるリソースは削除されません。

プロジェクト・レベルでエクスポートされたリソースであっても、リソース・レベルでインポートすることができます。たとえば、プロジェクト全体のJARファイルにエクスポートしたシステム・リソースを、インポート時に選択解除できます。

構成をエクスポートする場合、ユーザー、グループ、または証明書はエクスポートできません。このため、エクスポートされた構成をインポートするときに、再度これらのオブジェクトを作成する必要があります。

注意:
Oracle Service Bus構成に含まれないリソースのインポートの詳細は、4.15項「Zipファイルからのリソースのロード」および4.17項「URLからのリソースのロード」を参照してください。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「システム管理」→「リソースのインポート」を選択します。

3. エクスポートしたプロジェクトまたはリソースのJARファイルを選択します。

1. 「ファイル名」フィールドで「参照」をクリックし、JARファイルが格納されているディレクトリを見つけます。

2. JARファイルを選択して、「開く」をクリックします。

4. 「次へ」をクリックします。29.1.1項「インポートするプロジェクトとリソースの選択」に進みます。

29.1.1 インポートするプロジェクトとリソースの選択

インポートするプロジェクトとリソースを選択するには:

1. リソースJARファイルをインポートする場合に、関連するすべてのリソースが確実にインポートされるようにするには、「依存関係を含める」を選択します。

注意:
「依存関係を含める」は、プロジェクト全体のJARファイル、またはバージョン2.6以前の構成ファイルをインポートする場合には選択できません。

2. インポートしているシステムで値を保持するために「詳細設定」を表示するには、「開く」アイコンをクリックします。

3. リソースを再インポートする際に、既存のリソースへの変更内容を保護する場合は、「環境変数の保持」を選択します。

注意:
既存リソース内の参照のカスタマイズは保持できません。32.2項「カスタマイズ・ファイルの作成」を参照してください。

4. グローバル操作設定リソース、または関連するサービス・レベルの操作設定を含むビジネス・サービスまたはプロキシ・サービスなどの他のリソースをインポートするときに、インポートするシステムで操作値を保持する必要がある場合は、「操作値の保持」を選択します。

5. リソースで更新中のセキュリティ関連の既存の構成が上書きされるのを防ぐには、次のオプションを選択します。

1. セキュリティおよびポリシーの構成を保持 - セキュリティの構成(アクセス制御ポリシーを除く)と、サービスに直接バインドされるWS-Policyへの参照を(WSDLへのバインドのかわりに)保持します。
詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のセキュリティに関する項を参照してください。

2. 資格証明の保持 - サービス・キー・プロバイダのPKI資格証明、サービス・アカウントのユーザー名とパスワード、およびSMTPサーバー、プロキシ・サーバー、JNDIプロバイダ、UDDIレジストリのユーザー名とパスワード資格証明を保持します。

3. アクセス制御ポリシーの保持 - アクセス制御ポリシーを保持します。

表29-1にリソースのサマリー情報を示します。

表29-1 リソース情報

プロパティ

説明

名前

プロジェクトの名前。

UDDIレジストリ情報、SMTPサーバー、プロキシ・サーバー、JNDIプロバイダ、グローバル操作設定などのグローバル・リソースは、「システム」プロジェクトの下にあるそれぞれのフォルダで表示されます。

種類

リソースの種類。ここではプロジェクト。

リソースを表示および選択解除するには、プロジェクト・フォルダを展開します。

操作

---または!Deletions!が表示されます。

リソースで実行される操作(作成、更新、削除)を表示するには、プロジェクト・フォルダを展開します。

リソースが削除されないようにするには、選択解除します。リソースの削除は、インポートするJARがプロジェクト全体のJARであり、インポートするJARファイルに存在しないプロジェクト・リソースがインポート先システムに存在する場合にのみ行われます。

参照

プロジェクト・フォルダを展開して、リソースが参照しているオブジェクトの数を表示します。

6. 操作(作成、更新、または削除)の対象となるオブジェクトを選択します。
JARファイルに含まれる各オブジェクトを表示するには、ファイルのフォルダを展開します。各オブジェクトに関連付けられたチェックボックスが選択されています。

各オブジェクトに対して表示されるリソース・ファイルの詳細を表29-2に示します。

表29-2 リソース・ファイルの詳細

プロパティ

説明

名前

リソースの名前とパス。このパスは、プロジェクト名と、リソースが存在するフォルダ名です。

種類

Oracle Service Busリソース・タイプ。

注意: リソースに重要なセキュリティ・データが含まれる場合は、暗号化アイコンが表示されます。

注意: サービス・アカウントまたはサービス・キー・プロバイダを選択した場合、インポート中にセキュリティ設定の保持が指定されないかぎり、既存のセキュリティ・データが上書きされることがあります。29.1.3項「サービス・アカウントまたはサービス・キー・プロバイダのインポート」を参照してください。

操作

作成、更新、または削除。

リソースの削除は、インポートするJARがプロジェクト全体のJARであり、インポートするJARファイルに存在しないプロジェクト・リソースがインポート先システムに存在する場合にのみ行われます。

参照

このリソースが参照するオブジェクトの数。

7. インポートしないリソースの横のチェックボックスのチェックをはずします。

8. 「インポート」をクリックします。

終了後

必要に応じて、29.1.2項「インポートするセキュリティ設定の指定」に進みます。または、29.1.4項「インポートの概要の確認」に進みます。

29.1.2 インポートするセキュリティ設定の指定

エクスポート時に暗号化されたユーザー名データおよびパスワード・データを持つリソースがJARファイルに含まれる場合は、「リソースのインポート - セキュリティ設定」ページが表示されます。

1. データの暗号化に使用したパスワードを入力します(29.2項「リソースのエクスポート」を参照)。
リソース・データの暗号化に使用したパスワードが不明な場合は、前へボタンをクリックし、リソースの横にあるチェックボックスを選択解除します。他の暗号化されていないリソースは、パスワードを指定せずにインポートできます。

2. 「インポートの終了」をクリックします。
「構成データを処理しています」ポップアップ・ウィンドウが表示されます。管理コンソールで何かを行うには、このウィンドウが閉じるまで待つ必要があります。このウィンドウは、オブジェクトのインポートが完了すると自動的に閉じます。「リソースのインポート」ページに、データが正常にデプロイされたことを示すメッセージが表示されます。

終了後

29.1.4項「インポートの概要の確認」に進みます。

29.1.3 サービス・アカウントまたはサービス・キー・プロバイダのインポート

注意:
Oracle Service Busの以前のバージョンでは、サービス・キー・プロバイダは、プロキシ・サービス・プロバイダと呼ばれていました。

JARファイルがAquaLogic Service Bus 3.0以降で作成され、サービス・アカウントまたはサービス・キー・プロバイダが含まれる場合、これらのリソースをユーザー名、パスワード、ローカル・ユーザーからリモート・ユーザーへのマッピング、およびそれらに含まれるキー・ペア・バインディングへのエイリアスと共にインポートすることができます。

各プロキシ・サービス・プロバイダについて、キー・ペア・バインディングへのエイリアスがPKI資格証明マッピング・プロバイダにインポートされます。このデータがエクスポート時に暗号化された場合は、データの暗号化に使用したパスワードを入力する必要があります。パスワードがわからない場合でも、暗号化されていない他のすべてのリソースはインポートできます。

サービス・アカウントまたはサービス・キー・プロバイダをインポートするときに、対応する同じ名前のリソースがドメインにすでに存在する場合は、インポートされるリソースによってドメインのリソースが上書きされます。29.1.1項「インポートするプロジェクトとリソースの選択」の説明に従って、インポート時にセキュリティ設定を保持するよう指定しないかぎり、ドメインに存在するリソースが現在のセッション中に変更された場合でも上書きされます。

29.1.4 インポートの概要の確認

表29-3にインポートのサマリー情報を示します。

表29-3 インポートの概要情報

プロパティ

説明

ステータス

リソースが正常にインポートされたかどうかを示すインジケータ。

WSDLは、依存関係がすべてインポートされるまで、一時的に無効としてマークされる場合があります。インポート・アクションが完了すると、無効とマークされたファイルが構成サービスによって再検証されます。

名前

リソース名。

パス

リソースのパス。このパスは、プロジェクト名と、リソースが存在するフォルダ名です。

種類

Oracle Service Busリソース・タイプが表示されます。

診断メッセージ

このリソースのエラー・メッセージや情報メッセージが表示されます(存在する場合)。

1. 「別のインポートを行う」をクリックします。
別のJARファイルをインポートするか、「チェンジ・センター」の下にある「変更の表示」をクリックして、インポートの詳細を表示することができます。3.4項「構成の変更内容の表示」を参照してください。

2. 終了したら、「チェンジ・センター」の「アクティブ化」をクリックします。

29.2 リソースのエクスポート

「リソースのエクスポート」ページは、プロジェクトのエクスポートまたはリソースのエクスポートを実行するために使用します。プロジェクト全体をエクスポートする場合は、エクスポートする1つまたは複数のプロジェクトを選択できます。プロジェクトを展開するとフォルダやリソースが表示されますが、選択できるのはプロジェクト・レベルのみです。また、「依存関係を含める」を選択することはできません。

セッション内またはセッション外で作業していても、プロジェクトとリソースをエクスポートすることができます。セッション内でエクスポートする場合、リソースはセッション・リソースおよび構成が不完全または競合する場合があります。セッション外でエクスポートする場合、リソースはアクティブ化されたコア・リソースです。

Oracle Service Busでは、Oracle Service Bus管理コンソールの「セキュリティ構成」モジュールで作成するユーザー、グループ、ロールはエクスポートできません。また、WebLogic Server管理コンソールで作成した資格証明マップやその他のセキュリティ・プロバイダ・データもエクスポートできません。このデータをエクスポートするには、かわりにWebLogic Server管理コンソールを使用します。『Oracle Fusion Middleware Oracle WebLogic Serverの保護』のセキュリティ・データの移行に関する項を参照してください。

1. 「システム管理」→「リソースのエクスポート」を選択します。
「リソースのエクスポート」ページに構成のオブジェクト・リストが表示されます。各オブジェクトの名前、タイプ、最終変更日時、参照が表示されます。

サービスでは、最終変更のタイム・スタンプには、サービス・トランスポートまたはパイプライン構成に対する変更と、サービス定義に対する変更が反映されます。ただし、そのサービスで定義されたアラートに対する変更は反映されません。

2. 「プロジェクトのエクスポート」または「リソースのエクスポート」を選択します。

注意:
プロジェクトをエクスポートした場合、プロジェクト全体のJARファイルをインポートしたときにリソースが削除されることがあります。詳細は、29.1項「リソースのインポート」を参照してください。

3. エクスポートするプロジェクトまたはリソースを選択します。「プロジェクトのエクスポート」を選択した場合、個々のリソースのチェックボックスを選択解除することはできません。

1. プロジェクト・フォルダを展開します。プロジェクトに含まれる各リソースの名前、タイプ、最終変更日時、参照が表示されます。

2. エクスポートするプロジェクトまたはリソースに対応するチェックボックスを選択します。

3. エクスポートしないプロジェクトまたはリソースに対応するチェックボックスのチェックをはずします。

4. 「リソースのエクスポート」を選択した場合は、「依存関係を含める」チェックボックスを選択するか、選択解除します。このオプションを使用すると、このリソースが参照している他のリソースをすべてエクスポートできます。

5. 「エクスポート」をクリックして、JARファイルを作成し、これをエクスポートします。

終了後

必要に応じて、29.2.1項「エクスポートするセキュリティ設定の指定」に進みます。

29.2.1 エクスポートするセキュリティ設定の指定

エクスポート対象にサービス・アカウントまたはサービス・キー・プロバイダが含まれる場合、「リソースのエクスポート - セキュリティ設定」ページが表示されます。

各サービス・アカウントに対し、そのサービス・アカウントに格納されていたデータの種類に応じて、ユーザー名およびパスワードまたはローカル・ユーザーからリモート・ユーザーへのマッピングがエクスポートされます。各プロキシ・サービス・プロバイダに対しては、PKI資格証明マッピング・プロバイダからのキー・ペア・バインディングのエイリアスがエクスポートされます。プライベート・キー、資格証明証明、またはキー・ストアのその他のデータはエクスポートされません。キー・ストアのデータは、キー・ストアのベンダーが提供するツールを使用してエクスポートする必要があります。

サービス・アカウント、プロキシ・サービス・プロバイダ、UDDIレジストリ、JNDIプロバイダ、SMTPプロバイダの各リソースにあるユーザー名およびパスワード・データをOracle Service Busで暗号化してからJARファイルにエクスポートする場合、次の手順に従います。

1. 「機密データの保護」チェックボックスを選択します。

2. パスワードを入力し、確認用にもう一度入力します。
JARをインポートする場合、パスワードを指定しないかぎり、暗号化したユーザー名およびパスワード・データを含むリソースはインポートされません。JAR内の他の暗号化されていないリソースは、パスワードを指定せずにインポートできます。

3. 「エクスポートの終了」ボタンをクリックします。

4. 「エクスポート」または「エクスポートの終了」をクリックすると、「構成データを処理しています」ポップアップ・ウィンドウが表示されます。管理コンソールで何かを行うには、このウィンドウが閉じるまでお待ちください。このウィンドウは、「ファイルのダウンロード」ダイアログ・ボックスが表示されると自動的に閉じます。

5. 「ファイルのダウンロード」ダイアログ・ボックスで、「開く」をクリックしてエクスポートされたJARファイルを開くか、「保存」をクリックしてJARファイルをデスクトップに保存します。

30 UDDI

この章では、Oracle Service Bus管理コンソールを使用してUDDIからのインポートおよびUDDIへのパブリッシュを行う場合の、Oracle Service Bus(OSB)およびUDDIレジストリの構成および併用の方法について説明します。

Universal Description, Discovery and Integration (UDDI)レジストリは、企業でWebサービスを共有するために使用されます。UDDIは、企業のビジネス、ビジネス・サービス、および公開するサービスの技術的な詳細を分類するためのフレームワークを提供します。

レジストリへサービスをパブリッシュするには、サービス・タイプと、レジストリ内でそのサービスを表すデータ構造の知識が必要です。レジストリ・エントリには、特定のプロパティが関連付けられ、これらのプロパティ・タイプはレジストリの作成時に定義されます。レジストリにサービスをパブリッシュして、他の組織がそのサービスを検出して使用できるようにすることが可能です。Oracle Service Busで開発されたプロキシ・サービスは、UDDIレジストリにパブリッシュできます。Oracle Service Busは任意のUDDIバージョン3.0に適合したレジストリと相互作用します。

『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のUDDIに関する項も参照してください。

30.1 構成されたUDDIレジストリの表示

このページを使用して、UDDIのデフォルト・レジストリの指定(30.3項「デフォルトUDDI構成の設定」を参照)と、UDDIレジストリの表示を行います。さらに、以前に構成したレジストリの検索も行えます。

1. 「UDDIレジストリ」パネルで、検索するレジストリの名前を「名前」フィールドに入力するか、またはワイルドカード文字(複数の文字を表すには*、1文字を表すには?を使用します)を入力します。入力した名前の条件を満たすすべてのレコードが返されます。

2. 「検索」をクリックします。

3. 「すべて表示」をクリックすると、検索フィルタが削除され、Oracle Service Busで動作するよう構成されているレジストリがすべて表示されます。
表30-1に、UDDIレジストリ構成設定を示します。

表30-1 UDDIレジストリの構成の設定

プロパティ

説明

レジストリ名

レジストリの名前。名前は最初の作成時にレジストリに割り当てられます。エントリの保存後にレジストリの名前を編集することはできません。

照会URL

サービスの検索とインポートで使用される照会APIエンドポイントのURL。

パブリッシュURL

サービスのパブリッシュで使用されるパブリッシュAPIエンドポイントのURL。

セキュリティURL

レジストリへのパブリッシュを行うために必要な認証トークンの取得に使用される、セキュリティAPIエンドポイントのURL。

サブスクリプションURL

レジストリの変更へのサブスクリプション、レジストリのサブスクリプションの作成、インポート・サービスに変更がないかどうかのリスニングのために使用される、サブスクリプションAPIエンドポイントのURL。

ユーザー名

ユーザー認証のために必要なユーザー名。

パスワード(パスワードの確認)

ユーザー認証のために必要なパスワード。

tModelsをレジストリにロード

選択したレジストリにtModelsをロードします。このオプションは、レジストリごとに1度だけ選択する必要があります。

自動インポートの有効化

UDDIレジストリの自動同期サービス。

30.2 UDDIレジストリの構成

この項では、次のタスクを取り上げます。

- 30.2.1項「UDDIレジストリの追加」

- 30.2.2項「UDDIレジストリの編集」

30.2.1 UDDIレジストリの追加

このページでは、UDDIレジストリを追加および構成できます。レジストリの構成が終了したら、Oracle Service Busプロキシ・サービスをレジストリに対してパブリッシュする、またはOracle Service Busプロキシ・サービスで使用するビジネス・サービスをレジストリからインポートすることができます。

レジストリを追加するには、アクティブ・セッションにいる必要があります。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「システム管理」→「UDDIレジストリ」を選択します。

3. 「UDDIレジストリ」パネルで「レジストリの追加」をクリックします。

4. レジストリを構成するには、次の手順を行います。アスタリスク(*)は、必須フィールドを表します。レジストリを追加するときに設定する必要があるプロパティについては、表30-1を参照してください。

1. 「名前」フィールドにレジストリの名前を入力します。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

2. 「照会URL」フィールドに、http://host:port/APPLICATION_SERVER_CONTEXT/uddi/inquiryの形式で照会URLを入力します。

3. 「パブリッシュURL」フィールドに、http://host:port/APPLICATION_SERVER_CONTEXT/uddi/publishingの形式でパブリッシュURLを入力します。

4. 「セキュリティURL」フィールドに、http://host:port/APPLICATION_SERVER_CONTEXT/uddi/securityの形式でセキュリティURLを入力します。

5. 「サブスクリプションURL」フィールドに、次の形式でサブスクリプションURLを入力します。
http://host:port/APPLICATION_SERVER_CONTEXT/uddi/subscription

インストーラのAPPLICATION_SERVER_CONTEXTフィールドのデフォルト値はregistryです。

6. 「ユーザー名」フィールドに、レジストリ・コンソールにログインするユーザー名を入力します。

7. 「パスワード」(「パスワードの確認」)フィールドに、レジストリ・コンソールにログインするためのパスワードを入力します。

8. Oracle Service Bus tModelsをこのレジストリにパブリッシュするには、「tModelsをレジストリにロード」チェックボックスを選択します。
このフィールドは、プロキシ・サービスをこのレジストリにパブリッシュする場合のみ必要です。

9. インポートされたサービスをUDDIレジストリと自動的に同期するには、「自動インポートの有効化」チェックボックスを選択します。このオプションを選択した状態でサービスをインポートすると、UDDIレジストリとの同期が維持されます。

注意:
自動同期はバックグラウンド・プロセスです。セッションの「取消し」機能を使用して取り消すことはできません。自動同期の変更を元に戻しても、永続的ではありません(次回の同期サイクルでサービスが再同期されるため)。インポートされたサービスがUDDIレジストリと同期されないようにするには、サービスを切り離してレジストリからの更新を避けます。30.6項「サービスのデタッチ」を参照してください。

5. 指定したURLを検証するには、「検証」をクリックします。

6. 指定した設定でレジストリを構成し、現在のセッションで保存するには、「保存」をクリックします。

7. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

30.2.2 UDDIレジストリの編集

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「システム管理」→「UDDIレジストリ」を選択します。

3. 「UDDIレジストリ」パネルの使用できるレジストリのリストから、編集するレジストリの名前をクリックします。
「検索」オプションを使用して、特定のレジストリを検索することもできます。30.1項「構成されたUDDIレジストリの表示」を参照してください。

UDDIレジストリの構成ページには、レジストリを定義する構成プロパティと、表30-2に示すレジストリ固有の情報が表示されます。

表30-2 UDDIレジストリ情報

プロパティ

説明

最終更新者

このUDDIレジストリ・リソースの構成に最後に変更を行ったユーザーです。

最終更新日

最後に構成の変更が行われた日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このUDDIレジストリが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックすると参照のリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このUDDIレジストリを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

レジストリの説明。

4. ページの一番下にある「編集」をクリックします。

5. 「UDDI構成 - レジストリの編集」ページで、レジストリ構成パラメータを編集します。
これらのプロパティについては、表30-1で説明されています。レジストリの名前は編集できません。

6. 「保存」をクリックして、現在のセッションで更新をコミットします。

7. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

30.3 デフォルトUDDI構成の設定

ドメインのデフォルトのUDDIレジストリとして、構成されているレジストリの1つを指定できます。30.2項「UDDIレジストリの構成」を参照してください。

自動パブリッシュ機能を使用するには、デフォルト・レジストリを設定しておく必要があります。30.8項「自動パブリッシュの使用」を参照してください。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「システム管理」→「UDDIレジストリ」を選択します。

3. 「UDDIデフォルト構成」パネルで「デフォルトの選択」をクリックします。

4. 「デフォルト・レジストリ名」リストでデフォルトに設定するレジストリ名を選択します。

5. デフォルト・ビジネス・エンティティを設定するには、「ビジネス・エンティティ」リストからエンティティを選択します。

6. 「デフォルトに設定」をクリックします。

7. デフォルト・レジストリを変更するには、「選択のクリア」をクリックして、前述の手順を繰り返します。

30.4 UDDIレジストリからのビジネス・サービスのインポート

次のビジネス・サービスの種類をUDDIレジストリからOracle Service Busにインポートできます。

- HTTPトランスポートを介したWSDLサービス。

- UDDIレジストリにパブリッシュされるOracle Service Busプロキシ・サービス。この機能は主に、あるドメインのプロキシ・サービスが別のドメインのプロキシ・サービスを検出してそこにルーティングする必要のあるマルチ・ドメインのOracle Service Busデプロイメントで使用されます。

構成されているレジストリが1つしかない場合は、そのレジストリに自動的に接続され、すべてのビジネス・エンティティが取得され、検索フォームが作成されます。複数のレジストリが構成されている場合は、インポート・ウィザードにより、サービスのインポート元のレジストリを選択するよう求められます。

レジストリに様々なタイプのサービスが登録されている場合、インポート時に照会URLを使用して特定のサービスを検索します。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「システム管理」→「UDDIからインポート」を選択します。

3. インポート・レジストリ名リストからサービスのインポート元のレジストリの名前を選択し、「次へ」をクリックします。
Oracle Service Busで1つのレジストリを構成すると、それがデフォルトのレジストリになるため、レジストリ選択の最初のページが表示されなくなります。レジストリ選択ページは、複数のレジストリが定義されている場合にのみ表示されます。

「UDDIからインポート」ページを使用すると、特定のビジネス・サービスを検索してインポートできます。サービスは、ビジネス・エンティティ、パターン、または両方の組合せを指定して検索できます。

4. ビジネス・エンティティを指定して検索するには、「エンティティ名」リストからビジネス・エンティティ名(ドキュメント・サービスなど)を選択します。

5. 「サービス名」フィールドに、検索するパターン(a%など)を入力します。入力した検索条件に一致するビジネス・サービスのリストが表示されます。

6. インポートするサービスを選択し、「次へ」をクリックします。
目的のサービスを検索できない場合は、そのレコードの表示権限を持つセキュリティ・グループに所属していない可能性があります。

7. ビジネス・サービスを作成するためのバインディング・テンプレートを選択し、「次へ」をクリックします。
選択したサービスに複数のバインディング・テンプレートがある場合は、各バインディング・テンプレートからビジネス・サービスが作成されます。このような場合は、インポートするバインディング・テンプレートを絞り込むよう求められます。

8. 「UDDIのインポート: インポート先の選択」ページで、「プロジェクト」リストからプロジェクトを選択し、サービスとその関連リソースのインポート先フォルダを選択して、「次へ」をクリックします。

9. 「UDDIのインポート: サービスの確認とインポート」ページに、システム内に作成されるすべてのリソース(ビジネス・サービス、MFL、スキーマ、WSDLなど)のリストが表示されます。インポートできないリソースについては、警告メッセージが表示されます。
デフォルトでは、リスト内のすべての項目がインポート対象としてマークされます。

1. リソースがシステム内にすでに存在し、依存関係を手動で解決する場合は、そのリソースの横にあるチェックボックスのチェックをはずします。

2. 依存関係の解決は、インポート・プロセスの完了後に、チェンジ・センターの「競合の表示」ページから実行できます。競合の表示と解決の詳細は、3.9項「競合の表示と解決」を参照してください。

10. 「インポート」をクリックしてインポート・プロセスを開始します。
インポートの進行状況を示すポップアップ・ウィンドウが表示されます。インポートが完了すると、「インポートのサマリー」ページにインポートの結果が表示されます。インポートが成功した場合は、ページ上部に成功のメッセージが表示されます。インポートできなかったリソースがある場合は、エラー・メッセージが表示されます。

- エラーの原因を確認するには、そのリソースの「ステータス」列に移動します。

- 競合を表示して解決するには、「競合の表示」をクリックします。

11. さらにサービスをインポートするには、「別のインポートを行う」をクリックします。

12. 選択内容を変更するには、「戻る」をクリックします。

30.5 自動インポート・ステータスの使用

「自動インポート・ステータス」ページを使用して、サービスに対する変更内容をレジストリの内容と同期することができます。レジストリ内のサービスに変更が加えられると、Oracle Service Busにより変更が通知されて「自動インポート・ステータス」ページに同期していないすべてのサービスが表示されます。これにより、Oracle Service Bus管理コンソール内のサービスとUDDIレジストリ内の該当するサービスとを同期することができます。

レジストリを構成する場合、「自動インポートの有効化」オプションを選択すると、インポートしたサービスをUDDIレジストリと自動的に同期することができます。このオプションが選択された状態でインポートされたサービスは、UDDIレジストリとの同期が自動的に維持されます。30.2項「UDDIレジストリの構成」を参照してください。

自動同期の実行中にエラーが発生した場合、エラーは「自動インポート・ステータス」ページで報告されます。このページでサービスを手動で更新できます。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「システム管理」→「自動インポート・ステータス」を選択します。

3. 「自動インポート・ステータス」ページの「表示」リストから、表示するサービスのタイプを選択します。

4. レジストリ内の該当するサービスと同期するプロキシ・サービスの横のチェックボックスを選択します。

5. 「同期」をクリックします。

6. 次のページで、「終了」をクリックします。

30.6 サービスのデタッチ

Oracle Service Bus管理コンソール内のサービスをレジストリ内の該当するサービスと同期しない場合は、次のいずれかの方法でサービスをデタッチすると、サービスは同期されません。

- 「構成の編集によるサービスのデタッチ」

- 「「自動インポート・ステータス」ページを使用したサービスのデタッチ」

構成の編集によるサービスのデタッチ

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択します。

3. プロジェクト・フォルダを展開し、レジストリ内の該当するサービスからデタッチするビジネス・サービスを選択します。

4. 「ビジネス・サービスの表示」ページの一番下にある「編集」をクリックします。

5. 「レジストリからデタッチ」オプションを有効にします。ビジネス・サービスが、UDDIレジストリ内の該当するサービスからデタッチされます。

「自動インポート・ステータス」ページを使用したサービスのデタッチ

このデタッチ・オプションは、「自動インポート・ステータス」ページで変更について通知を受け取った場合にのみ使用できます。

1. 「システム管理」→「自動インポート・ステータス」ページで、UDDIレジストリの対応するサービスからデタッチするビジネス・サービスの横のチェックボックスを選択します。
レジストリにある元のサービスに変更があった場合にのみ、このページにサービスが表示されます。すべてのサービスがこのページに表示されるわけではありません。

2. 「デタッチ」をクリックします。

30.7 UDDIレジストリへのプロキシ・サービスのパブリッシュ

レジストリにサービスをパブリッシュして、他の組織がそのサービスを検出して使用できるようにすることが可能です。Oracle Service Busで開発されたプロキシ・サービスはすべて、UDDIレジストリにパブリッシュできます。パブリッシュするサービスを含めるビジネス・エンティティを選択できます。また、複数のサービスを一度にパブリッシュできます。

レジストリへのパブリッシュを実行する前に、そのレジストリのアカウントを入手しておく必要があります。Oracle Service Busは、v 3.0準拠のUDDIレジストリとの相互運用性をサポートしています。次に、Oracle Service Registryを使用している場合の構成について説明します。

Oracle Service Registryでのユーザー・アカウントの設定の詳細は、http://www.oracle.com/technetwork/middleware/registry/overview/index.htmlにあるOracle Service Registry製品のドキュメントを参照してください。

レジストリからサービスをアンパブリッシュするには、Oracle Service Registryインストールでこの処理を行います。

1. 「システム管理」→「UDDIにパブリッシュ」を選択します。
パブリッシュが可能なのは、セッション外にいるときのみです。レジストリのリストにアクセスするには、セッションを終了してください。アクセス可能なすべてのレジストリが、選択したレジストリのリストに表示されます。

2. 「パブリッシュ・レジストリ名」で、パブリッシュ先のレジストリの名前を選択し、「次へ」をクリックします。
Oracle Service Busで1つのレジストリを構成すると、それがデフォルトのレジストリになるため、レジストリ選択の最初のページが表示されなくなります。レジストリ選択ページは、複数のレジストリが定義されている場合にのみ表示されます。

Oracle Service Busプロキシ・サービスとプロジェクト・フォルダ内でのそれらの場所のリストを示す「UDDIにパブリッシュ: 個別のサービスの選択とパブリッシュ」ページが表示されます。最上位のプロジェクト・レベル・フォルダから順に、すべてのサービスの詳細(名前、タイプ、および説明)が表示されます。

3. パブリッシュするサービスを選択します。

1. 「プロジェクト」フォルダを展開して、定義されたプロキシ・サービスを表示します。デフォルトでは、このフォルダとそのコンテンツがパブリッシュ用にマークされます。

2. パブリッシュする個々の項目を選択することができます。

4. 「ビジネス・エンティティへのサービスのパブリッシュ」リストからサービスを追加するレジストリ内のビジネス・エンティティを選択します。これは、レジストリ内でサービスを分類するためのビジネス・エンティティです。

5. 「パブリッシュ」をクリックしてサービスをパブリッシュします。
サービスのパブリッシュが成功したことを示す確認メッセージが表示されます。

6. 「別のパブリッシュ」をクリックして「UDDIにパブリッシュ - レジストリの選択」ページに戻ります。

30.8 自動パブリッシュの使用

自動パブリッシュを使用して、プロキシ・サービスをレジストリに自動でパブリッシュすることができます。これを行うには、「プロキシ・サービスの作成/ プロキシ・サービスの編集 - 全般的な構成」ページにある「レジストリにパブリッシュ」オプションを有効にする必要があります。20.2.1項「「全般的な構成」ページ」を参照してください。「レジストリにパブリッシュ」オプションは、デフォルトのレジストリが存在する場合にのみ表示されます。30.3項「デフォルトUDDI構成の設定」を参照してください。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「プロジェクト・エクスプローラ」を選択します。

3. プロジェクト・フォルダを展開し、編集するプロキシ・サービスを選択します。

4. 「プロキシ・サービスの表示」ページの一番下にある「編集」をクリックします。

5. 「レジストリにパブリッシュ」ページで「保存」をクリックし、現在のセッションでの更新をコミットします。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。
サービスをデフォルト・レジストリにパブリッシュするよう、構成されます。

注意:
サービスが正常にレジストリにパブリッシュされると、サービスをレジストリに自動パブリッシュするオプションが選択できなくなります。
サービスが正常にパブリッシュされていない場合は、再度パブリッシュすることができます。サービスを再度パブリッシュするには、「自動パブリッシュ・ステータス」ページでサービスを選択し、「パブリッシュ」をクリックします。

「レジストリにパブリッシュ」オプションが有効になっている場合、プロキシ・サービスは作成または編集直後にパブリッシュされ、セッションがアクティブ化されます。「レジストリにパブリッシュ」オプションは、ローカル・トランスポートを使用しているサービス以外のすべてのプロキシ・サービスで利用できます。

31 グローバル・リソース

この章では、JNDIプロバイダ、SMTPサーバーおよびプロキシ・サーバーなど、Oracle Service Bus(OSB)管理コンソールでのグローバル・リソースの追加と構成の方法について説明します。グローバル・リソースはOSBサービスによって再利用できます。

この章の内容は次のとおりです。

- 31.1項「JNDIプロバイダの表示」

- 31.2項「JNDIプロバイダの追加」

- 31.3項「JNDIプロバイダの編集」

- 31.4項「JNDIプロバイダの削除」

- 31.5項「SMTPサーバーの表示」

- 31.6項「SMTPサーバーの検索」

- 31.7項「SMTPサーバーの追加」

- 31.8項「デフォルトSMTPサーバーの構成」

- 31.9項「SMTPサーバーの編集」

- 31.10項「SMTPサーバーの削除」

- 31.11項「プロキシ・サーバーの表示」

- 31.12項「プロキシ・サーバーの検索」

- 31.13項「プロキシ・サーバーの追加」

- 31.14項「プロキシ・サーバーの編集」

- 31.15項「プロキシ・サーバーの削除」

31.1 JNDIプロバイダの表示

このページには、JNDIプロバイダのリストと、表31-1に示す情報を表示することができます。

さらに、以前に構成したJNDIプロバイダの検索も行えます。

1. リストに表示される項目の数を制限する、または特定のJNDIプロバイダを検索するには:

- 「開く」アイコンをクリックして追加の検索フィルタを表示します。複数の検索条件を指定すると、すべての条件を満たす結果のみが返されます。

- 検索するJNDIプロバイダの名前を「名前」フィールドに入力し、「検索」をクリックして指定したエントリを検索します。
ワイルドカード文字(単一の文字を表す場合は?、複数の文字を表す場合は*)を入力してさらに一般的な検索を実行できます。

- 検索するJNDIプロバイダの「プロバイダURL」を入力し、「検索」をクリックします。

2. 「すべて表示」をクリックすると、検索フィルタが削除され、Oracle Service Busで動作するよう構成されているJNDIプロバイダ・リソースがすべて表示されます。
表31-1に、UDDIレジストリ構成設定を示します。

表31-1 JNDIプロバイダ情報

プロパティ

説明

名前

このJNDIプロバイダに割り当てられた一意の名前。この名前は「JNDIプロバイダの表示 - 構成」ページにリンクされています。31.3項「JNDIプロバイダの編集」を参照してください。

プロバイダURL

JNDIプロバイダのURL。31.2項「JNDIプロバイダの追加」を参照してください。

JNDIキャッシュ

有効または無効。有効にすると、JNDIコンテキストおよびJNDIオブジェクトがローカルにキャッシュされ、オブジェクトのルックアップを行うときのパフォーマンスが向上します。JNDIキャッシュを有効にしておくことをお薦めします。

アクション

- JNDI接続とローカルにキャッシュされたオブジェクトを破棄するためにJNDIコンテキストをリセットするには、「リセット」アイコンをクリックします。

- JNDIプロバイダが接続を確立でき、JNDIコンテキストを取得できるかどうかをテストするには、「テスト・コンソールの起動」アイコンをクリックします。

オプション

- JNDIプロバイダ名を変更するには、「名前変更」アイコンをクリックします。

- 特定のJNDIプロバイダを削除するには、「削除」アイコンをクリックします。31.4項「JNDIプロバイダの削除」を参照してください。

31.2 JNDIプロバイダの追加

JNDIプロバイダ・リソースを追加し、構成して、Oracle Service Busのシステム・リソースとして使用することができます。これを行うには、アクティブなセッションに入っている必要があります。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「システム管理」→「JNDIプロバイダ」を選択します。

3. 「追加」をクリックします。

4. 「名前」フィールドにJNDIプロバイダ・リソースの名前を入力します。このフィールドは必須です。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

5. 「説明」フィールドにJNDIプロバイダの簡単な説明を入力します。

6. 「JNDIキャッシュ」オプションを「有効」(デフォルト)のままにするか、「無効」を選択します。
有効にすると、JNDIコンテキストおよびJNDIオブジェクトがローカルにキャッシュされ、オブジェクトのルックアップを行うときのパフォーマンスが向上します。JNDIキャッシュを有効にしておくことをお薦めします。

7. 「プロバイダURL」フィールドに、JNDIプロバイダのURLをprotocol://host:portという形式で入力します。
http、https、t3、t3s、iiop、iiopsなどの任意のプロトコルを使用できます。

このフィールドは必須です。

8. クラスタの場合は、次の形式のように、カンマで区切った管理対象サーバーのリストを使用してJNDIプロバイダURLを構成します。
protocol://<hostname>:<ms1port>, <hostname>:<ms2port>

9. 「JNDIリクエスト・タイムアウト」に、リクエストの接続がタイムアウトするまでのミリ秒数を入力します。ゼロ(0)は、タイム・リミットがないことを表します。

10. ターゲットのJNDIプロバイダにアクセスするためにユーザー名およびパスワードが必要な場合、「ユーザー名」フィールドにユーザー名を入力して、対応するパスワードを「パスワード」および「パスワードの確認」フィールドに入力します。
これらのフィールドは省略可能です。JNDIツリーが保護されている場合にのみ必要となります。

11. 「保存」をクリックして、現在のセッションでJNDIプロバイダ・リソースを作成し、保存します。

12. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

31.3 JNDIプロバイダの編集

このページは、JNDIプロバイダの詳細を表示し、必要であれば構成を編集するために使用します。また、JNDIプロバイダ・キャッシュのリセットと、JNDIプロバイダへの接続テストも行えます。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. JNDIプロバイダを検索します。31.1項「JNDIプロバイダの表示」を参照してください。

3. JNDIプロバイダの名前をクリックします。
「JNDIプロバイダの表示 - 構成」ページに、表31-2に示すJNDIプロバイダ情報が表示されます。

表31-2 JNDIプロバイダ情報

プロパティ

説明

最終更新者

このJNDIプロバイダ・リソースを作成または変更したか、構成にインポートしたユーザー。

最終更新日

ユーザーがこのJNDIプロバイダ・リソースを作成または編集したか、構成にインポートした日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このJNDIプロバイダが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックすると参照のリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このJNDIプロバイダを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

このJNDIプロバイダの説明。

JNDIキャッシュ

有効または無効。有効にすると、JNDIコンテキストおよびJNDIオブジェクトがローカルにキャッシュされ、オブジェクトのルックアップを行うときのパフォーマンスが向上します。JNDIキャッシュを有効にしておくことをお薦めします。

プロバイダURL

JNDIプロバイダのURL。

JNDIリクエスト・タイムアウト

JNDIリクエスト・タイムアウト(ミリ秒)。デフォルトのゼロ(0)は、タイムアウトしないことを表します。

ユーザー名とパスワード

セキュアなJNDIプロバイダへのアクセスに使用するユーザー名。パスワードを変更することができます。

4. 「編集」をクリックして、「JNDIプロバイダの編集 - [provider-name]」ページを表示します。
「名前」フィールドは編集できません。

5. 「説明」フィールドでは、JNDIプロバイダの簡単な説明を編集できます。

6. 「プロバイダURL」フィールドで、JNDIプロバイダのURLを編集できます。

7. 「ユーザー名」フィールドと「パスワード」フィールドを編集できます。
JNDIプロバイダにユーザー名とパスワードが構成されている場合、ユーザー名は編集できません。「新しいパスワード」フィールドと「パスワードの確認」フィールドを編集できます。JNDIにユーザー名とパスワードが構成されていない場合は、「ユーザー名」フィールドを編集でき、新しいユーザー名を入力できます。

8. 「保存」をクリックして、現在のセッションで更新をコミットします。

9. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

31.4 JNDIプロバイダの削除

JNDIプロバイダを削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「システム管理」→「JNDIプロバイダ」を選択します。

3. 「JNDIプロバイダのサマリー」ページで、JNDIプロバイダを選択します。「検索」オプションを使用して、特定のJNDIプロバイダを検索することもできます。31.1項「JNDIプロバイダの表示」を参照してください。

4. 削除するJNDIプロバイダの「オプション」フィールドの「削除」アイコンをクリックします。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

5. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

31.5 SMTPサーバーの表示

このページを使用すると、デフォルトのSMTPサーバー(31.8項「デフォルトのSMTPサーバーの構成」を参照)の指定と、SMTPサーバーのリストの表示が行えます。

SMTPサーバー・リソースは、アラート宛先リソースおよび電子メール・トランスポートベースのビジネス・サービスの構成を行う際に使用されます。6.2項「アラート宛先の追加」を参照してください。

表31-3に、SMTPサーバー情報を示します。

表31-3 SMTPサーバー情報

プロパティ

説明

名前

SMTPサーバー・リソースに割り当てられた一意の名前。この名前は「SMTPサーバーの表示 - 構成」ページにリンクされています。31.9項「SMTPサーバーの編集」を参照してください。

サーバーURL

SMTPサーバーのURL。31.7項「SMTPサーバーの追加」を参照してください。

オプション

- このSMTPサーバー・リソースの名前を変更するには、「名前変更」アイコンをクリックします。

- 特定のSMTPサーバーを削除するには、「削除」アイコンをクリックします。31.10項「SMTPサーバーの削除」を参照してください。

31.6 SMTPサーバーの検索

SMTPサーバーを検索するには:

1. 「システム管理」→「SMTPサーバー」を選択します。

2. 特定のSMTPサーバーを検索するには:

- リストを再ソートします。下線付きの列名をクリックします。昇順および降順の矢印はソート順を示します。この列名をクリックしてソート順を変更します。

- ページをスクロールします。表の上下にあるページ・コントロールを使用します。ページを移動するには、ページ番号を選択するか、次のページ、前のページ、最初のページ、または最後のページに移動する矢印ボタンを使用します。

31.7 SMTPサーバーの追加

「SMTPサーバーのサマリー」ページを使用すると、SMTPサーバー・リソースの追加と構成を行い、システム・リソースとして、Oracle Service Busで使用可能にすることができます。SMTPサーバー・リソースの構成または再構成を行うには、アクティブ・セッションにいる必要があります。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「システム管理」→「SMTPサーバー」を選択します。

3. 「追加」をクリックします。

4. 「名前」フィールドにSMTPサーバー・リソースの名前を入力します。このフィールドは必須です。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

5. 「説明」フィールドにSMTPサーバー・リソースの簡単な説明を入力します。

6. 「サーバーURL」フィールドに、SMTPサーバーを示すURLを入力します。このフィールドは必須です。

7. 「ポート番号」フィールドで、SMTPサーバーのポート番号を入力します(デフォルトのポートは25)。このフィールドは必須です。

8. ターゲットのSMTPサーバーにアクセスするためにユーザー名およびパスワードが必要な場合、「ユーザー名」フィールドにユーザー名を入力して、対応するパスワードを「パスワード」および「パスワードの確認」フィールドに入力します。
これらのフィールドは省略可能です。SMTPサーバーが保護されている場合のみ必要となります。

9. 「保存」をクリックして、現在のセッションでSMTPサーバー・リソースを作成し、保存します。

10. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

31.8 デフォルトのSMTPサーバーの構成

ドメインのデフォルト・サーバーとして、構成されたSMTPサーバーの1つを指定できます。31.7項「SMTPサーバーの追加」を参照してください。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「システム管理」→「SMTPサーバー」を選択します。

3. 「デフォルトSMTPサーバー」パネルで「デフォルトの選択」をクリックします。

4. 「デフォルトSMTPサーバー」リストからSMTPサーバーを選択します。

5. 「デフォルトに設定」をクリックします。
「SMTPサーバーのサマリー」ページが表示されます。選択したSMTPサーバーが、ドメインのデフォルトのSMTPサーバーとして表示されます。

6. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

31.9 SMTPサーバーの編集

このページは、SMTPサーバーの詳細を表示し、必要であれば構成を編集するために使用します。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. SMTPサーバーを検索します。31.6項「SMTPサーバーの検索」を参照してください。

3. SMTPサーバー名をクリックします。
「SMNPサーバーの表示 - 構成」ページに、表31-4に示す情報が表示されます。

表31-4 SMTPサーバー情報

プロパティ

説明

最終更新者

このSMTPサーバー・リソースを作成または変更したユーザーです。

最終更新日

ユーザーがこのSMTPサーバー・リソースを作成または編集した日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このSMTPサーバーが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックすると参照のリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このSMTPサーバーを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

このSMTPサーバーの説明(説明が存在する場合)です。

サーバーURL

SMTPサーバーの場所を参照するURLです。

ポート番号

SMTPサーバーのポート番号です。デフォルトはポート25。

ユーザー名

安全なSMTPサーバーへのアクセスに使用するユーザー名です。

4. 「編集」をクリックして、「SMTPサーバーの編集 - [server-name]」ページを表示します。
「名前」フィールドは編集できません。

5. 「説明」フィールドでは、SMTPサーバーの簡単な説明を編集できます。

6. 「サーバーURL」フィールドで、SMTPサーバーのURLを編集できます。

7. 「ポート番号」フィールドで、ポート番号を編集できます。

8. 「ユーザー名」フィールドと「パスワード」フィールドを編集できます。

9. 「保存」をクリックして、現在のセッションで更新をコミットします。

10. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

SMTPリソースの名前を変更した場合、エンドポイントURIでSMTPリソースを参照するすべての電子メール・ビジネス・サービスで、新しい名前が自動的に更新されます。

31.10 SMTPサーバーの削除

SMTPサーバーを削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「システム管理」→「SMTPサーバー」を選択します。

3. 「SMTPサーバーのサマリー」ページで、SMTPサーバーを選択します。31.6項「SMTPサーバーの検索」を参照してください。

4. 削除するSMTPサーバー・リソースの「オプション」フィールドの「削除」アイコンをクリックします。SMTPサーバー・リソースは現在のセッションで削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

5. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

31.11 プロキシ・サーバーの表示

このページには、プロキシ・サーバーのリストと、表31-5に示す情報を表示することができます。

プロキシ・サーバー・リソースは、ビジネス・サービスのHTTPトランスポートを構成する場合に使用されます。詳細は、19.2.12項「「HTTPトランスポート構成」ページ」を参照してください。

表31-5に、プロキシ・サーバー情報を示します。

表31-5 プロキシ・サーバー情報

プロパティ

説明

名前

プロキシ・サーバー・リソースに割り当てられた一意の名前。この名前は「プロキシ・サーバーの表示 - 構成」ページにリンクされています。31.14項「プロキシ・サーバーの編集」を参照してください。

オプション

- このプロキシ・サーバー・リソースの名前を変更するには、「名前変更」アイコンをクリックします。

- 特定のプロキシ・サーバーを削除するには、「削除」アイコンをクリックします。31.15項「プロキシ・サーバーの削除」を参照してください。

31.12 プロキシ・サーバーの検索

プロキシ・サーバーを検索するには:

1. 「システム管理」→「プロキシ・サーバー」を選択します。

2. 特定のプロキシ・サーバーを検索するには:

- リストを再ソートします。下線付きの列名をクリックします。昇順および降順の矢印はソート順を示します。この列名をクリックしてソート順を変更します。

- ページをスクロールします。表の上下にあるページ・コントロールを使用します。ページを移動するには、ページ番号を選択するか、次のページ、前のページ、最初のページ、または最後のページに移動する矢印ボタンを使用します。

31.13 プロキシ・サーバーの追加

「プロキシ・サーバーのサマリー」ページを使用すると、プロキシ・サーバー・リソースの追加と構成を行い、システム・リソースとして、Oracle Service Busで使用可能にすることができます。プロキシ・サーバー・リソースの構成または再構成を行うには、アクティブ・セッションにいる必要があります。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「システム管理」→「プロキシ・サーバー」を選択します。

3. 「追加」をクリックします。

4. 「名前」フィールドにプロキシ・サーバー・リソースの名前を入力します。このフィールドは必須です。
名前付けのガイダンスについては、2.3項「リソースの名前付けに関する制限事項」を参照してください。

5. 「説明」フィールドにプロキシ・サーバー・リソースの簡単な説明を入力します。

6. 「ホスト-ポート・パラメータ」セクションで、次の情報を入力します。

1. 「サーバー・ホスト」フィールドに、プロキシ・サーバーのホスト名またはIPアドレスを入力します。このフィールドは必須です。
Oracle Service Busプロキシ・サーバーのサーバー・ホスト名は、実際のプロキシ・サーバーのサーバー・ホスト名と同じである必要です。

2. 「クリア・テキスト・ポート」フィールドに、プロキシ・サーバーのクリア・テキスト・ポート番号を入力します。

3. 「SSLポート」フィールドに、プロキシ・サーバーのSSLポート番号を入力します。クリア・テキストまたはSSLポート番号を入力する必要があります。

4. 「追加」をクリックします。

各プロキシ・サーバー・リソースに複数のプロキシ・サーバーを構成できます。これにより、Oracle Service Busは、ロード・バランシングを実行でき、プロキシ・サーバー・リソースのフォルト・トレランス機能を提供できます。

7. プロキシ・サーバーでプロキシ認証を行う場合、「ユーザー名」フィールドにユーザー名を入力して、対応するパスワードを「パスワード」および「パスワードの確認」フィールドに入力します。
これらのフィールドは省略可能です。プロキシ・サーバーが保護されている場合のみ必要となります。

8. 「保存」をクリックして、現在のセッションでプロキシ・サーバー・リソースを作成し、保存します。

9. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

31.14 プロキシ・サーバーの編集

このページは、プロキシ・サーバーの詳細を表示し、必要であれば構成を編集するために使用します。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. プロキシ・サーバーを検索します。31.12項「プロキシ・サーバーの検索」を参照してください。

3. プロキシ・サーバー名をクリックします。
「プロキシ・サーバーの表示 - 構成」ページに、表31-6に示す情報が表示されます。

表31-6 プロキシ・サーバー情報

プロパティ

説明

最終更新者

このプロキシ・サーバー・リソースを作成または変更したユーザーです。

最終更新日

ユーザーがこのプロキシ・サーバー・リソースを作成または編集した日時。このリソースの変更履歴を表示するには、日時のリンクをクリックします。4.23項「変更履歴の表示ページ」を参照してください。

参照

このプロキシ・サーバーが参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックすると参照のリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

参照元

このプロキシ・サーバーを参照するオブジェクトの数。該当する参照がある場合は、数字のリンクをクリックするとオブジェクトのリストが表示されます。4.22項「リソースへの参照の表示」を参照してください。

説明

このプロキシ・サーバーの説明(説明が存在する場合)です。

ホスト-ポート・パラメータ

プロキシ・サーバー・リソース内の各プロキシ・サーバーに関する詳細で、次の情報を含みます。

- サーバー・ホスト:プロキシ・サーバーのホスト名またはIPアドレス。
Oracle Service Busプロキシ・サーバーのサーバー・ホスト名は、実際のプロキシ・サーバーのサーバー・ホスト名と同じである必要です。

- クリア・テキスト・ポート:プロキシ・サーバーのクリア・テキスト・ポート番号。

- SSLポート:プロキシ・サーバーSSLのポート番号。

ユーザー名

プロキシ認証に使用されるユーザー名。

4. 「編集」をクリックして、「プロキシ・サーバーの編集 - [server-name]」ページを表示します。
「名前」フィールドは編集できません。

5. 「説明」フィールドでは、プロキシ・サーバーの簡単な説明を編集できます。

6. 「ホスト-ポート・パラメータ」セクションで、次の情報を入力することで、新しいプロキシ・サーバーを追加できます。

1. 「サーバー・ホスト」フィールドに、プロキシ・サーバーのホスト名またはIPアドレスを入力します。このフィールドは必須です。
Oracle Service Busプロキシ・サーバーのサーバー・ホスト名は、実際のプロキシ・サーバーのサーバー・ホスト名と同じである必要です。

2. 「クリア・テキスト・ポート」フィールドに、プロキシ・サーバーのクリア・テキスト・ポート番号を入力します。

3. 「SSLポート」フィールドに、プロキシ・サーバーのSSLポート番号を入力します。クリア・テキストまたはSSLポート番号を入力する必要があります。

4. 「追加」をクリックします。

各プロキシ・サーバー・リソースに複数のプロキシ・サーバーを構成できます。これにより、Oracle Service Busは、ロード・バランシングを実行でき、プロキシ・サーバー・リソースのフォルト・トレランス機能を提供できます。

次の操作を実行することで、既存のプロキシ・サーバー構成を編集または削除することもできます。

- 編集するプロキシ・サーバーの「オプション」フィールドで「編集」アイコンをクリックします。「サーバー・ホスト」フィールド、「クリア・テキスト・ポート」フィールド、および「SSLポート」フィールドを編集し、「更新」をクリックします。

- 削除するプロキシ・サーバーの「オプション」フィールドにある「削除」アイコンをクリックします。

7. プロキシ認証に使用される「ユーザー名」フィールドと「パスワード」フィールドを編集できます。

8. 「保存」をクリックして、現在のセッションで更新をコミットします。

9. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

31.15 プロキシ・サーバーの削除

プロキシ・サーバーを削除するには:

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「システム管理」→「プロキシ・サーバー」を選択します。

3. 「プロキシ・サーバーのサマリー」ページで、プロキシ・サーバーを選択します。31.6項「SMTPサーバーの検索」を参照してください。

4. 削除するプロキシ・サーバー・リソースの「オプション」フィールドの「削除」アイコンをクリックします。プロキシ・サーバー・リソースは現在のセッションで削除されます。他のリソースがこのリソースを参照している場合、削除の警告アイコンが表示されます。確認のための警告は表示されますが、リソースを削除することはできます。この場合、削除されたリソースへの未解決の参照が原因で、競合が発生する可能性があります。

5. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

32 カスタマイズ

この章では、Oracle Service Bus(OSB)環境のカスタマイズの詳細について説明します。手順には、別のリソースに関連する環境変数の値の検索と置換、およびOSB構成をある環境から別の環境に移動したときに、リソースと環境値への自動化された変更を呼び出すカスタマイズ・ファイルの作成が含まれます。

この章の内容は次のとおりです。

- 32.1項「環境値の検索と置換」

- 32.2項「カスタマイズ・ファイルの作成」

- 32.3項「カスタマイズ・ファイルの実行」

32.1 環境値の検索と置換

「検索置換」ページを使用すると、ドメイン間で異なる環境値を検索できます。環境値とは、多くの場合ドメイン間での構成の移動(テスト環境から本番環境への移行など)に伴って変化する値で、構成データに含まれる特定の事前定義されたフィールドです。環境値は、URL、URI、ファイル名、ディレクトリ名、サーバー名、電子メールなどのエンティティを表します。また、環境値は、アラート宛先、プロキシ・サービス、ビジネス・サービス、SMTPサーバーおよびJNDIプロバイダのリソース、UDDIレジストリ・エントリにも含まれます。

このページの動作は、セッション内で作業を行う場合と、そうでない場合とで異なります。セッション内にいる場合、環境値の検索と置換を行うことができます。ただし、セッション外にいる場合は、環境値の検索のみを行うことができます。すなわち、「すべて置換」は無効になっています。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「システム管理」→「検索置換」を選択します。

3. 「検索する値」フィールドに、検索する環境値を入力します。

4. 「検索」をクリックして、入力した値を含む構成の環境値のリストを表示します。
「所有者」列、「タイプ」列および「環境値」列を含む、関連する値のリストが表示されます。

5. 現在のセッションで変更された項目のみを検索するには、「現在のセッションで変更された項目のみ」チェックボックスを選択します。

6. 「次のタイプの変数を検索」リストから、検索する変数のタイプ(表32-1を参照)を選択します。

表32-1 変数の種類

変数のタイプ

場所

説明

SNMPトラップのアラート

アラート宛先

アラート宛先のSNMPトラップ(有効または無効)。

ログに記録するアラート

アラート宛先

アラート宛先のアラート・ロギング(有効または無効)。

レポート・データへのアラート

アラート宛先

アラート宛先のレポート・データへのアラート(有効または無効)。

電子メールのアーカイブ・ディレクトリ

電子メール・プロキシ

電子メール・プロキシ・サービスのアーカイブ・ディレクトリ。

電子メール宛先URI

アラート宛先

電子メール・アラート宛先のURI。

電子メールのダウンロード・ディレクトリ

電子メール・プロキシ

電子メール・プロキシ・サービスのダウンロード・ディレクトリ。

電子メールのエラー・ディレクトリ

電子メール・プロキシ

電子メール・プロキシ・サービスのエラー・ディレクトリ。

FTPアーカイブ・ディレクトリ

FTPプロキシ

FTPプロキシ・サービスのアーカイブ・ディレクトリ。

FTPダウンロード・ディレクトリ

FTPプロキシ

FTPプロキシ・サービスのダウンロード・ディレクトリ。

FTPエラー・ディレクトリ

FTPプロキシ

FTPプロキシ・サービスのエラー・ディレクトリ。

ファイルのアーカイブ・ディレクトリ

ファイル・プロキシ

ファイル・プロキシ・サービスのアーカイブ・ディレクトリ。

ファイルのエラー・ディレクトリ

ファイル・プロキシ

ファイル・プロキシ・サービスのエラー・ディレクトリ。

ファイルのステージ・ディレクトリ

ファイル・プロキシ

ファイル・プロキシ・サービスのステージ・ディレクトリ。

IMAP移動先フォルダ

電子メール・プロキシ

電子メール・プロキシ・サービスのIMAP移動先ディレクトリ。

JCAは常にWSDLフラグを使用

JCAプロキシ・サービスおよびビジネス・サービス

接続ファクトリ・プロパティ、アクティブ化仕様プロパティ(プロキシ・サービス)および対話仕様プロパティ(ビジネス・サービス)が、常にWSDLから使用されるかどうかを決定します。

JCA接続モード

JCAプロキシ・サービスおよびビジネス・サービス

サービスが関連するJCAアダプタ(管理対象または非管理対象のモード)に接続する方法を指定します。

JCA上書き接続認証フラグ

JCAプロキシ・サービスおよびビジネス・サービス

JCAアダプタ接続ファクトリ内の認証資格証明が、開発/テスト環境(非管理対象の接続モード)でオーバーライドされるかどうかを決定します。

JMSアラート宛先URI

アラート宛先

JMSアラート宛先にあるURI。

JMS管理対象サーバー

JMSビジネス・サービス

メッセージIDパターンとしてレスポンス相関パターンを使用したJMSビジネス・サービスの宛先に対する管理対象サーバーの表内の管理対象サーバー・エントリ。

JMSキュー接続ファクトリ

JMSプロキシ・サービスおよびビジネス・サービス

メッセージIDとしてレスポンス相関パターンを使用したJMSプロキシまたはビジネス・サービスのレスポンス・キュー接続ファクトリ。

JMSレスポンス宛先

JMSビジネス・サービス

メッセージIDパターンとしてレスポンス相関パターンを使用したJMSビジネス・サービスの宛先に対する管理対象サーバーの表内の宛先エントリ。

JMSレスポンスURI

JMSプロキシ・サービスおよびビジネス・サービス

JMS相関IDのレスポンス相関パターンを使用したJMSプロキシまたはビジネス・サービスのレスポンス・キューのURI。

JNDIプロバイダURL

JNDIプロバイダ

JNDIプロバイダのURL。

MQ接続リスト

MQ接続リソース

マルチインスタンス・キュー・マネージャ・サポートが有効な場合に使用される、MQキュー・マネージャ・ホストおよびリスナー・ポートのカンマ区切りのリスト(host1:port1,host2:port2)。

MQ接続プール・サイズ

MQ接続リソース

MQ接続プール・サイズ

MQ接続タイムアウト

MQ接続リソース

未使用の接続が破棄される時間間隔

MQ配信失敗メッセージURI

MQプロキシ

パイプラインがメッセージを指定された回数だけ送信を再試行した後、リクエスト・メッセージがリダイレクトされる配信失敗メッセージ・キューのURI 。

MQホスト名

MQ接続リソース

MQキュー・マネージャのホスト名。

MQポート番号

MQ接続リソース

MQキュー・マネージャ・リスナーのポート番号。

MQキュー・マネージャのチャネル名

MQ接続リソース

キュー・マネージャのサーバー接続のチャネル名。

MQキュー・マネージャ名

MQ接続リソース

MQキュー・マネージャ名。

MQレスポンスURI

MQプロキシおよびビジネス・サービス

プロキシまたはビジネス・サービスのURI。

MQ認識できないレスポンスURI

MQビジネス・サービス

認識できないレスポンス・メッセージが送信されるキューのURI。

MQバージョン

MQ接続リソース

使用されるWebSphere MQのバージョン。

ポーリングの管理対象サーバー

クラスタ・ドメイン内の電子メール、ファイル、FTPまたはSFTPプロキシ・サービス

クラスタ・ドメイン内のポーリング用管理対象サーバー。

マルチインスタンス・キュー・マネージャ有効

MQ接続リソース

マルチインスタンス・キュー・マネージャ・サポートが有効かどうかを示します。

プロキシ・サーバー・ホスト

プロキシ・サーバー・リソース

プロキシ・サーバーのホスト名。

プロキシ・サーバー・ポート

プロキシ・サーバー・リソース

プロキシ・サーバーのポート番号。

プロキシ・サーバーのSSLポート

プロキシ・サーバー・リソース

プロキシ・サーバーのSSLポート。

SFTPアーカイブ・ディレクトリ

SFTPプロキシ

SFTPプロキシ・サービスのアーカイブ・ディレクトリ。ダイレクト・ストリーミングがオンの場合、このアーカイブ・ディレクトリはリモートSFTPサーバーに存在し、それ以外の場合はローカルに存在します。

SFTPダウンロード・ディレクトリ

SFTPプロキシ

SFTPプロキシ・サービスのダウンロード・ディレクトリ。

SFTPエラー・ディレクトリ

SFTPプロキシ

SFTPプロキシ・サービスのエラー・ディレクトリ。ダイレクト・ストリーミングがオンの場合、このエラー・ディレクトリはリモートSFTPサーバーに存在し、それ以外の場合はローカルに存在します。

SMTPサーバーURL

SMTPサーバー

SMTPサーバーURL。

JMSサーバーへのセキュアな接続

JMSプロキシまたはビジネス・サービス

trueの場合、Oracle Service BusはSSL (t3s)を使用してJMSサーバーおよびJNDIツリーに接続します。そうでない場合、接続はクリア・テキスト(t3)チャネルで行われます。

サービスの再試行回数

ビジネス・サービス

エンドポイントURIが再試行される回数、つまり、フェイルオーバーの試行数。

サービス再試行の反復間隔

ビジネス・サービス

URIセット全体の再試行を繰り返すまでにビジネス・サービスが待機する時間。

サービスURI

プロキシまたはビジネス・サービス

プロキシまたはビジネス・サービスのURI。

サービスURIの重み

ビジネス・サービス

ビジネス・サービスURIに割り当てられた個々の重み。

分割-結合ワーク・マネージャ

分割-結合

分割-結合リソースのワーク・マネージャ名(ディスパッチ・ポリシー)。

Tuxedoアクセス・ポイント・マップ

プロキシまたはビジネス・サービス

URIごとに1つの場所がある管理対象サーバーごとのローカル・アクセス・ポイントの名前とアドレス。

Tuxedoアクセス・ポイント名

ビジネス・サービス

URIに関連付けられたリモートWTCアクセス・ポイントの名前。

Tuxedoネットワーク・アドレス

ビジネス・サービス

URIに関連付けられたリモートWTCアクセス・ポイントのネットワーク・アドレス。

UDDI自動インポート

UDDIレジストリ

UDDIレジストリからインポートされたビジネス・サービスの自動同期プロパティ。このプロパティは、レジストリごとに選択します。

UDDI自動パブリッシュ

プロキシ・サービス

UDDIレジストリに対するプロキシ・サービスの自動パブリッシュ・プロパティ。

UDDI照会URL

UDDIレジストリ

UDDIレジストリの照会URL。

UDDIパブリッシュURL

UDDIレジストリ

UDDIレジストリのパブリッシュURL。

UDDIセキュリティURL

UDDIレジストリ

UDDIレジストリのセキュリティURL。

UDDIサブスクリプションURL

UDDIレジストリ

UDDIレジストリのサブスクリプションURL。

WSエラー・キューURI

WSビジネス・サービス

エラー・メッセージを格納するJMSキューのURI。

ワーク・マネージャ

プロキシまたはビジネス・サービス

すべてのプロキシ・サービスおよびビジネス・サービスのワーク・マネージャ名(ディスパッチ・ポリシー)。

7. 特定プロジェクト内の環境値を検索するには、「次のプロジェクト内で検索」リストからプロジェクト名を選択します。

8. 「置換する値」フィールドに、新しい環境値を入力します。

9. 元の環境値を新しい値に置換するには、「すべて置換」をクリックします。
「検索する値」フィールドに入力した環境値に一致するすべての値が、現在のセッションの「置換する値」フィールドに入力した環境値に置換されます。

注意:
一部の環境値は複合XMLオブジェクトであり、管理コンソールではこれらの環境値の検索と置換を実行できません。ただし、スクリプトからALSBConfigurationMBeanを使用して、これらの環境値を直接設定できます。ALSBConfigurationMBeanの詳細は、Oracle Service Bus APIリファレンスを参照してください。複合型の環境値は、APIで設定するほか、カスタマイズ・ファイルを使用して設定できます。32.3項「カスタマイズ・ファイルの実行」を参照してください。

10. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

関連項目

EnvValueTypesの詳細は、Oracle Service Bus APIリファレンスを参照してください。これらの環境値のJava型および場所の値は、APIリファレンスに指定されています。

32.2 カスタマイズ・ファイルの作成

「カスタマイズ・ファイルの作成」ページは、選択するリソースまたはプロジェクトのセットのカスタマイズ・ファイルを生成するのに便利です。このファイルを出発点として使用して、環境の実際の値を指定して目的の変更を加えることができます。

カスタマイズ・ファイルでは、環境変数だけでなく、リソース内の参照も変更できます。カスタマイズ・ファイルには、選択したリソース内で使用されているすべての環境値に対するカスタマイズを含めることができます(たとえば、EnvValueTypesクラス内で定義された複合型の環境値)。さらに、リソース内での依存関係を持つリソース参照を変更するための、参照型のカスタマイズも含めることができます。

カスタマイズ・タイプを表すカスタマイズ・スキーマ(Customization.xsd)は、Oracle Service Busインストールの次の場所にあります。

OSB_ORACLE_HOME\modules\com.bea.common.configfwk_version.jar.

カスタマイズ・ファイルを作成するには:

1. 「システム管理」→「カスタマイズ・ファイルの作成」を選択します。
「カスタマイズ・ファイルの作成」ページに構成のオブジェクト・リストが表示されます。各オブジェクトの名前とタイプが表示されます。

2. カスタマイズ・ファイルに含めるプロジェクトまたはリソースを選択します。

1. プロジェクト・フォルダを展開します。プロジェクトに含まれる各リソースの名前とタイプが表示されます。

2. カスタマイズ・ファイルに含めるプロジェクトまたはリソースに対応するチェックボックスを選択します。

3. カスタマイズ・ファイルに含めないプロジェクトまたはリソースに対応するチェックボックスのチェックをはずします。

3. 「ファイルの作成」をクリックして、カスタマイズXMLファイルを作成します。

4. 「ファイルのダウンロード」ダイアログ・ボックスで、「開く」をクリックしてカスタマイズ・ファイルを開くか、「保存」をクリックしてXMLファイルをデスクトップに保存します。

5. XMLエディタで、作成したベースのカスタマイズ・ファイルに関連したカスタム・スキーマを使用して、リソースと環境変数に対して必要な変更を行います。
ベースのカスタマイズ・ファイルに環境変数がすでに移入されている場合があります。表32-1では、別のリソースに自動的に含まれる環境変数を示します。

32.3 カスタマイズ・ファイルの実行

このページはシステムに以前保存されたカスタマイズXMLファイルを実行するために使用します。カスタマイズ・ファイルは、開発からステージング、ステージングから本番へのデプロイメントを行うとき、または設計時に、環境を変更するのに便利です。

カスタマイズ・ファイルは、セッション内で実行する必要があります。

1. セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。3.1項「チェンジ・センターの使用」を参照してください。

2. 「システム管理」→「カスタマイズ・ファイルの実行」を選択します。

3. 実行するカスタマイズ・ファイルを選択します。

1. 「ファイル名」フィールドで「参照」をクリックし、カスタマイズ・ファイルが格納されているディレクトリを見つけます。

2. XMLファイルを選択して、「開く」をクリックします。

4. 「次へ」をクリックします。表32-2に示すカスタマイズの詳細が表示されます。

表32-2 カスタマイズの詳細

プロパティ

説明

操作

- 検索置換 - 文字列の置換による環境値の変更。

- 参照のマップ - リソース内の既存の参照を別の参照にマップ。

- 環境値の設定 - リソースの環境値の変更。

適用先

カスタマイズするサービス、プロジェクト、フォルダ、またはリソースの名前。

この名前は、サービスまたはリソースの「構成の詳細」ページへのリンク、あるいはプロジェクト・エクスプローラのプロジェクトまたはフォルダへのリンクです。

説明

各カスタマイズに関する説明。

5. 現在のセッションで変更されたリソース、サービス、プロジェクトまたはフォルダのみをカスタマイズするには、「現在のセッションで変更された項目のみ」チェックボックスを選択します。
カスタマイズの対象を現在のセッションで変更されたリソースのみに限定すると、「適用先」列が更新され、現在のセッションで変更されたリソースが表示されます。プロジェクトまたはフォルダのカスタマイズに限定すると、現在のセッションで変更された、そのプロジェクトまたはフォルダ内のリソースが「適用先」列に表示されます。

6. 「実行」をクリックして、現在のセッションでの更新をコミットします。
カスタマイズの詳細を表示するには、セッション内で、「チェンジ・センター」の下にある「変更の表示」を選択し、「カスタマイズ」タスクをクリックします。3.4項「構成の変更内容の表示」を参照してください。

7. セッションを終了して構成をランタイムにデプロイするには、「チェンジ・センター」の「アクティブ化」をクリックします。

33 テスト・コンソール

この章では、Oracle Service Bus(OSB)テスト・コンソールを使用した、OSB管理コンソールからのサービスのテスト方法について説明します。

Oracle Service Busテスト・コンソールは、システムの設計の検証およびテストに使用するブラウザ・ベースのテスト環境です。テスト・コンソールで、テストするオブジェクト(プロキシ・サービス、ビジネス・サービス、リソース)の構成、テストの実行、および結果の表示を行うことができます。場合によっては、コードをトレースして、特定のトレース・ポイントでのメッセージの状態を調べることができます。テスト・コンソールの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「テスト・コンソールの使用」を参照してください。

テスト・コンソールを使用できるのはIntegrationAdminおよびIntegrationDeployerロールのユーザーのみです。ロールの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「Oracle Service Busのロール」を参照してください。

注意:
テスト・コンソール・サービスが実行されていないことを示すエラーを受信した場合は、管理サーバーがlocalhostなどの特定の有効なアドレスをリスニングするように設定してみます。Oracle WebLogic Server Consoleで、「環境」>「サーバー」>「admin_server_name」>「構成」>「一般」を選択して、「Listen address」を設定します。

この章の内容は次のとおりです。

- 33.1項「サービスのテスト」

- 33.2項「トランスフォーメーションのテスト」

- 33.3項「XQueryテストの実行」

- 33.4項「テスト・コンソールでのランタイムによるトランスポート設定の使用方法」

33.1 サービスのテスト

この項の内容は次のとおりです。

- 33.1.1項「プロキシ・サービスのテスト」

- 33.1.2項「プロキシ・サービスのテスト・データの構成」

- 33.1.3項「プロキシ・サービスのテスト結果の表示」

- 33.1.4項「プロキシ・サービスのトレース」

- 33.1.5項「ビジネス・サービスのテスト」

- 33.1.6項「ビジネス・サービスのテスト・データの構成」

33.1.1 プロキシ・サービスのテスト

テストできるプロキシ・サービスのタイプは、任意のXML、任意のSOAP、メッセージング、XML、およびSOAPです。Webサービス・セキュリティ(WSS)ポリシーを持つSOAPプロキシ・サービスをテストできます。33.1.2項「プロキシ・サービスのテスト・データの構成」の「Webサービス・セキュリティ」を参照してください。

注意:
HTTPカスタム・トークン認証を使用するプロキシをテスト・コンソールで呼び出した場合、認証チェックは行われません。

注意:
直接呼出しオプションを有効にしてプロキシ・サービスのテストを行うと、アクセス制御を含むいくつかの重要なセキュリティ手順が回避されます。Oracleは、本番システムでテスト・フレームワークを使用しないことをお薦めします。テスト・コンソールのアンデプロイの詳細は、40.11項「テスト・コンソールのアンデプロイ」を参照してください。

1. テスト・コンソールでテスト機能を有効にするには、「チェンジ・センター」の下にある「アクティブ化」をクリックします。
プロキシ・サービスのテストは、リソース・ブラウザまたはプロジェクト・エクスプローラから実行できます。

2. 「リソース・ブラウザ」→「プロキシ・サービス」を選択し、「プロキシ・サービスのサマリー」ページを表示します。

3. 「アクション」の下でテストするプロキシ・サービスに対応する「テスト・コンソールの起動」アイコンをクリックします。
テスト・コンソールによって、「プロキシ・サービス・テスト」ページが開かれます。たとえば、製品に付属のサンプルを使用する場合、LoanGateway1プロキシ・サービスに対応するアイコンをクリックします。

注意:
クラスタリングされたドメインでは、テスト・コンソールを利用して、ビジネス・サービスにルーティングされる構成済のビジネス・サービスまたはプロキシ・サービスをテストすることはできません。

4. SOAPおよびXMLサービスの場合は、テストするWSDL操作を選択します。

5. プロキシ・サービスのテスト・データを構成します。これはプロキシ・サービスが想定するクライアントのデータである必要があります。
デフォルトでは、「直接呼出し」および「トレースを含む」の両方のテスト構成オプションが有効になっています。「直接呼出し」オプションを選択解除すると、「トレースを含む」オプションも選択解除されます。これらを選択解除すると、テストは間接呼出しメソッドを使用して実行され、メッセージはトランスポート・レイヤーを経由して送信されます。

「直接呼出し」オプションを(「直接呼出し」を選択したままの状態にして)使用しながら、単に「トレースを含む」チェックボックスを選択解除することで、実行トレースを無効にできます。

メッセージ・トレースを表示するには、「直接呼出し」を選択解除します。

注意:
ログ・ファイルまたは標準出力(サーバー・コンソール)にトレースを表示するには、Oracle WebLogic Serverのロギングを次の重大度に設定する必要があります。

- ログの最低の重大度: 情報

- ログ・ファイル: 情報

- 標準出力: 情報

ログの重大度の設定の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverログ・ファイルの構成とログ・メッセージのフィルタ処理』のログの重大度の使用に関する説明を参照してください。

6. 「実行」をクリックします。「プロキシ・サービス・テスト」ページに結果が表示されます。テスト結果の解釈については、33.1.3項「プロキシ・サービスのテスト結果の表示」を参照してください。

7. もう一度テストを実行するには、「戻る」をクリックします。手順5を繰り返します。

33.1.2 プロキシ・サービスのテスト・データの構成

表33-1に、プロキシ・サービス・テストの構成オプションを示します。リクエスト・ドキュメントの入力用のフィールドは、サービス・タイプに応じて異なります。

表33-1 プロキシ・サービスの構成オプション

セクション

オプション/フィールド

名前

テスト対象のプロキシ・サービスの名前です。

使用可能な操作

プロキシ・サービスに関連付けられた操作。

テスト・コンソール・アクション

- 実行 - テストを実行します。

- リセット - 入力値をリセットします。

- 閉じる - テストを実行しないでテスト・コンソールを閉じます。

テスト構成

テスト構成オプションを設定します。

- 直接呼出し - Oracle Service Busのトランスポート・レイヤーを使用しないで、プロキシ・サービスにメッセージを送信します。テスト・コンソールには、クライアントからプロキシ・サービスに送信されるデータを入力する必要があります。
直接呼出しの反対は間接呼出しです。間接呼出しを行うには、「直接呼出し」オプションを選択解除します。ビジネス・サービスの場合は、デフォルトで間接呼出しが実行されます。間接呼出しでは、トランスポート・レイヤーを通じてメッセージが送信されます。この場合、テスト・コンソールには、プロキシ・サービスから呼び出されるサービスに送信されるデータを入力する必要があります。

- トレースを含む - トレースには、システム内で受け渡されるメッセージの状態が示されます。

リクエスト・ドキュメント

この入力フィールドでは、プロキシ・サービスに送信されるリクエスト・メッセージを生成します。「実行」をクリックすると、入力した値を使用してテストが実行されます。リクエスト・メッセージおよびサービスのレスポンス・メッセージとメタデータがテスト・コンソールに表示されます。

リクエスト・ドキュメント・セクションへの入力はサービスの種類によって異なります。それぞれの入力で必要なサービスの種類と説明を次のセクションに示します。

- 任意のXML - このサービスでは、ペイロードのフォームへの入力が必要です。ペイロードは、送信されるメッセージのコンテンツです。コンテンツはXMLドキュメントであることが想定されます。ファイルを参照することも、テキスト・ボックスにメッセージ・コンテンツを入力することもできます。

- 任意のSOAPサービス - このサービスでは、ペイロードのフォームへの入力が必要です。ペイロードは、送信されるメッセージのコンテンツです。コンテンツはSOAPエンベロープであることが想定されます。ファイルを参照することも、テキスト・ボックスにメッセージ・コンテンツを入力することもできます。

- メッセージング - メッセージング・サービスでは、none、XML、Binary、Textの4つの入力タイプのいずれかが定義されます。このサービスで必要な入力は1つで、ファイル・ベースまたはテキスト・ベースのいずれかです。ただし、noneの場合、入力は不要です。
Oracleでは、ファイルからのバイナリの入力をお薦めします。テキスト領域に入力したデータは、システム・エンコーディングでバイナリに変換されます。

テキスト型のサービスの場合、ファイルから入力したデータはテキストへの変換が必要です。エンコーディング入力フィールドでは、変換時に適用するエンコーディングを指定します。このフィールドを構成しない場合は、システム・エンコーディングが使用されます。デフォルトでは、エンコーディング・フィールドはプロキシ・サービスのエンドポイントに構成されたエンコーディング値で初期化されます。

- XML - このサービスでは、ペイロードのフォームへの入力が必要です。ペイロードは、送信されるメッセージのコンテンツです。コンテンツはXMLドキュメントであることが想定されます。ファイルを参照することも、テキスト・ボックスにメッセージ・コンテンツを入力することもできます。
複数の操作が定義されたWSDLベースのプロキシ・サービスの場合は、サービスのテストに使用できるサンプル・ドキュメントが生成されてテスト・コンソールに表示されます。このサンプル・データを直接使用し、編集してテストを実行できます。または、独自のテスト・データを指定することもできます。

すべての操作はページの上部にリストされます。

- SOAPドキュメント - SOAPドキュメントの場合、SOAPエンベロープは通常0個以上のヘッダーと1つの本体ペイロードで構成されます。「フォーム」タブと「XML」タブではそれぞれ異なる方法でコンテンツを指定します。
「フォーム」タブには「SOAPヘッダー」フィールドと「SOAP本体」フィールドがあります。「SOAPヘッダー」フィールドの内容は、SOAP Headerタグであることが想定されます(これにより1つ以上のヘッダーを定義できます)。「SOAP本体」フィールドには実際にメッセージの一部として送信されるデータが含まれます。コンテンツはXMLドキュメントであることが想定されます。ヘッダーと本体の両方を使用してSOAPエンベロープが生成されます。

- SOAP RPC - SOAP RPCの場合、SOAPエンベロープは0個以上のヘッダーと0個以上の引数で構成されます。
「フォーム」タブと「XML」タブではそれぞれ異なる方法でコンテンツを指定します。

「フォーム」タブにはSOAPヘッダーの入力が1つと、引数ごとに1つの入力フィールドがあります(入力フィールドの名前は引数の名前に相当します)。「SOAPヘッダー」フィールドの内容は、SOAP Headerタグであることが想定されます(これにより1つ以上のヘッダーを定義できます)。

WSDLを使用して、各引数の型を検出します。プリミティブの型の場合は1行の入力フィールドを使用し、XMLの型の場合は複数行の入力フィールドを使用します。テストを効率化するサンプル・ドキュメントが自動的に生成されます。

テスト・コンソールにより、ヘッダーと引数を使用してSOAPエンベロープが生成されます。

「XML」タブには1つの入力フィールドがあります。このフィールドの内容は、送信されるSOAPエンベロープであることが想定されます。ペイロード(XML入力)はファイル・ベースまたはテキスト・ベースです。テキスト入力よりファイルの参照による入力が優先されます。テストに使用するファイルを参照して選択します。

Webサービス・セキュリティ

このセクションは、SOAPサービスで、選択されている操作にWebサービス・セキュリティ(WSS)ポリシーが含まれる場合にのみ表示されます。

- サービス・プロバイダ - テスト・サービスは、このサービス・プロバイダからWebサービス・セキュリティ操作のすべてのクライアント側PKI(キー・ペア)資格証明(デジタル署名と暗号)を取得します。このフィールドは省略可能です。シナリオによっては、操作のリクエスト/レスポンス・ポリシーに応じてサービス・プロバイダが必要です。詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「Webサービス・セキュリティを含むサービスのテスト」を参照してください。

- ユーザー名 - Webサービス・セキュリティのユーザー名トークンにあるユーザー名は、テスト・サービスから生成されます。このフィールドは省略可能です。このユーザー名は、操作のリクエスト・ポリシーでIDアサーションを指定するシナリオでのみ必要になります。
このフィールドをトランスポート・セキュリティ・コンテキストのユーザー名フィールドと混同しないでください。

これは、ローカル・セキュリティ・レルムで有効なユーザー名とパスワードである必要があります。ユーザー名またはパスワードが無効な場合、テスト・サービスでクライアント側のエラーが発生します。

- パスワード - Webサービス・セキュリティのユーザー名トークンにあるパスワードは、テスト・サービスから生成されます。

トランスポート

「トランスポート」セクションはデフォルトでは折りたたまれた状態になっています。フィールドと値は、テスト構成に応じて異なります。

認証

- ユーザー名 - プロキシ・サービスを呼び出したときにテスト・サービスによって使用されるセキュリティ・コンテキストを設定するためのユーザー名。
プロキシ・サービスがメッセージをルーティングするビジネス・サービスがSAMLトークンを想定している場合は、この名前が、トークンで表されるIDになります。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle Service BusでのSAMLの使用に関する項を参照してください。

このフィールドをWebサービス・セキュリティ(WSS)のユーザー名フィールドと混同しないでください。これは、ローカル・セキュリティ・レルムで有効なユーザー名とパスワードである必要があります。ユーザー名またはパスワードが無効な場合、テスト・サービスでクライアント側のエラーが発生します。

注意: HTTPカスタム・トークン認証を使用するプロキシをテスト・コンソールで呼び出した場合、認証チェックは行われません。

- パスワード - ユーザー名に対応するパスワード。

呼出しモード

リクエスト/レスポンス - このオプションは、任意のSOAPまたは任意のXMLプロキシ・サービスをテストする場合にのみ表示されます。一方向のサービス呼出しの場合は、「リクエスト/レスポンス」チェックボックスを選択解除します。

メッセージ・メタデータ

表33-10を参照してください

トランスポート・ヘッダー

表33-10を参照してください

注意:
保護されたSOAPメッセージは、出力時にホワイト・スペースが追加されて表示されます。ホワイト・スペースはドキュメントのセマンティクスに影響する可能性があるため、このようなSOAPメッセージはリテラル・データとして必ずしも使用できるわけではありません。たとえば、デジタル署名はホワイト・スペースの影響を受け、無効になることがあります。

33.1.3 プロキシ・サービスのテスト結果の表示

表33-2で、プロキシ・サービスのテスト結果について説明します。トレースは、「直接呼出し」オプションと「トレースを含む」オプションが両方とも選択されている場合にのみ有効になります。

表33-2 プロキシ・サービスのテスト結果

セクション

説明

プロキシ・サービス名

テスト対象のプロキシ・サービスの名前です。

テスト・コンソール・アクション

「戻る」をクリックすると、前のブラウザ・ページが表示されます。

「閉じる」をクリックすると、テスト・コンソールが閉じます。

リクエスト・ドキュメント

テスト・コンソールによってプロキシ・サービスに送信されたリクエスト・メッセージです。

リクエスト・メッセージがテスト・コンソールによって変更されなかった場合は、このセクションは最初は折りたたまれています。「フォーム」タブでSOAPサービスを構成した場合、またはWS-Securityが適用されている場合は、このセクションは最初は展開されています。

WS-Securityが適用されている場合、このセクションには2つのSOAPメッセージが表示されます。1つ目はクリア・テキストのメッセージ、2つ目は保護されたSOAPメッセージです。

レスポンス・ドキュメント

レスポンス・メッセージ。

WS-Securityレスポンスが適用されたSOAPサービスの場合、このセクションには2つのSOAPメッセージが表示されます。1つ目のSOAPメッセージは、クライアントが受け取る保護されたメッセージ。2つ目のSOAPメッセージは、対応するクリア・テキストのメッセージ。

レスポンス・メタデータ

メッセージのレスポンスと共に返されたメタデータ。

33.1.4項「プロキシ・サービスのトレース」

システムでパススルーされるメッセージの状態をトレースに表示します。「直接呼出し」オプションが選択されていない場合、トレースは実行されません。トレースの詳細は、33.1.4項「プロキシ・サービスのトレース」を参照してください。

33.1.4 プロキシ・サービスのトレース

直接呼出しを使用してプロキシ・サービスをテストすると、トレースが有効になります。「トレースを含む」チェックボックスがデフォルトで「直接呼出し」オプションとともに選択されています。トレースを行わない場合は、「トレースを含む」チェックボックスを選択解除します。トレースを有効にすると、テスト結果にはトレースの詳細が含まれます。トレースは、システムにある問題を追跡し、修正するために問題を切り分けるために使用します。トレース情報は、コード内でリクエスト・パスとレスポンス・パスを通過した経路を示します。

1. 管理コンソールでテスト機能を有効にするには、「チェンジ・センター」の下にある「アクティブ化」をクリックします。

2. 「リソース・ブラウザ」→「プロキシ・サービス」を選択し、「プロキシ・サービスのサマリー」ページを表示します。

3. 「アクション」の下で、テストするサービスに対応する「テスト・コンソールの起動」アイコンをクリックします。テスト・コンソールによって、「プロキシ・サービス・テスト」ページが開かれます。

4. プロキシ・サービスのテスト・データを構成します。「直接呼出し」オプションと「トレースを含む」オプションを選択してトレースを有効にする必要があります。33.1.2項「プロキシ・サービスのテスト・データの構成」を参照してください。

5. 「実行」をクリックします。「プロキシ・サービス・テスト」ページに、サービスのテスト結果とトレース情報が表示されます。

6. 下の「呼出しのトレース」セクションまでスクロールします。
このセクションには、メッセージ・フローがグラフィカルに表現されます。サービスを通過したメッセージをトレースし、あらかじめ選択されたポイントでのメッセージの状態を表示できます。トレース・ポイントは自動的に設定されます。

7. 「+」記号をクリックしてメッセージ・フローを展開し、詳細を表示します。
トレースの表示中、Oracle Service Bus管理コンソールにメッセージ・フローを表示することもできます。これにより、トレースをメッセージ・フローのステージやアクションに対応付けるのが容易になります。メッセージ・フローを変更してから再度トレースを実行し、出力を表示できます。

33.1.5 ビジネス・サービスのテスト

テストできるビジネス・サービスのタイプは、任意のXML、任意のSOAP、メッセージング、XML、およびSOAPです。Webサービス・セキュリティ・ポリシーを持つSOAPビジネス・サービスをテストできます。詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「Webサービス・セキュリティを含むサービスのテスト」を参照してください。

注意:
クラスタリングされたドメインでは、テスト・コンソールを利用して、ビジネス・サービスにルーティングされる構成済のビジネス・サービスまたはプロキシ・サービスをテストすることはできません。

1. 管理コンソールでテスト機能を有効にするには、「チェンジ・センター」の下にある「アクティブ化」をクリックします。

2. 「リソース・ブラウザ」→「ビジネス・サービス」を選択し、「ビジネス・サービスのサマリー」ページを表示します。

3. 「アクション」の下で、テストするサービスに対応する「テスト・コンソールの起動」アイコンをクリックします。テスト・コンソールによって、「ビジネス・サービス・テスト」ページが開かれます。たとえば、製品に含まれるチュートリアルを使用する場合は、loanSaleProcessorに対応するアイコンをクリックします。

4. SOAPおよびXMLサービスの場合は、「使用可能な操作」フィールドから操作を選択します。

5. ビジネス・サービスのテスト・データを構成します(入力データは、プロキシ・サービスからビジネス・サービスに送信されるメッセージであることが必要です)。テストするプロキシ・サービスがビジネス・サービスで使用できない場合、「直接呼出し」オプションおよび「トレースを含む」オプションが、使用できます。デフォルトでビジネス・サービスは、「直接呼出し」オプションでテストされます。つまり、メッセージはトランスポート・レイヤーを通ります。
メッセージ・トレースを表示するには、「直接呼出し」を選択解除します。

注意:
ログ・ファイルまたは標準出力(サーバー・コンソール)にトレースを表示するには、Oracle WebLogic Serverのロギングを次の重大度に設定する必要があります。

- ログの最低の重大度: 情報

- ログ・ファイル: 情報

- 標準出力: 情報

ログの重大度の設定の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverログ・ファイルの構成とログ・メッセージのフィルタ処理』のログの重大度の使用に関する説明を参照してください。

6. 「実行」をクリックします。
「ビジネス・サービス・テスト」ページに結果が表示されます。詳細は、33.1.7項「ビジネス・サービスのテスト結果の表示」を参照してください。

33.1.5.1 ビジネス・サービスの添付ファイルのテスト

この項では、テスト・コンソールを使用してビジネス・サービスの添付ファイルをテストする方法について説明します。

説明のために、この項では、WSDLベースのHTTPビジネス・サービスで「submitAttachment」操作を使用して、ZIPファイルをSOAPメッセージの添付ファイルとして送信することを前提とします。様々な種類のバイナリ添付ファイルに適した設定に変更してください。

1. ビジネス・サービスのテスト・コンソールで、XMLページに進んでテスト・メッセージ用の次のSOAPエンベロープを入力します。

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<m:submitAttachment xmlns:m="http://www.alsb.com/SOAPwithAttachment/">
<submitAttachment>
<fileName>c:\yourfile.zip</fileName>
</submitAttachment>
<zipFile href="cid:zipFile"/>
</m:submitAttachment>
</env:Body>
</env:Envelope>

2. テスト・コンソールの「添付ファイル」セクションで、次のように実行します。

1. Content-Type: application/zip (WSDLで定義されているとおり)

2. Content-ID: zipFile(テスト・メッセージのhref="cid:zipFile"の値と一致させる必要がある)

3. File: 「参照」をクリックして、SOAPエンベロープに指定したZIPファイルを選択します。

4. 「追加」をクリックします。

3. 「実行」をクリックして添付ファイル付きのテスト・メッセージを送信します。

添付ファイルが正常に送信されたことを確認するため、submitAttachment操作によってログに記録された次のようなメッセージが、サーバー・コンソールに表示されていることをチェックします。

WS called - received the following properties:
submitAttachment is:
com.alsb.soapwithattachment.SubmitAttachmentRequestType@e2abb0
zipFile is: javax.activation.DataHandler@175cf0a

33.1.6 ビジネス・サービスのテスト・データの構成

表33-3に、ビジネス・サービス・テストの構成オプションを示します。リクエスト・ドキュメントの入力用のフィールドは、サービス・タイプに応じて異なります。

表33-3 ビジネス・サービスの構成オプション

セクション

オプション/フィールド

名前

テスト対象のビジネス・サービスの名前です。

使用可能な操作

ビジネス・サービスに関連付けられた操作です。

テスト・コンソール・アクション

- 実行 - テストを実行します。

- リセット - 入力値をリセットします。

- 閉じる - テストを実行しないでウィンドウを閉じます。

リクエスト・ドキュメント

この入力フィールドでは、ビジネス・サービスに送信されるリクエスト・メッセージを生成します。「実行」をクリックすると、入力した値を使用してテストが実行されます。リクエスト・メッセージおよびサービスのレスポンス・メッセージがテスト・コンソールに表示されます。

リクエスト・ドキュメント・セクションへの入力はサービスの種類によって異なります。それぞれの入力で必要なサービスの種類と説明を次のセクションに示します。

- 任意のXML - このサービスでは、ペイロードのフォームへの入力が必要です。ペイロードは、送信されるメッセージのコンテンツです。コンテンツはXMLドキュメントであることが想定されます。ファイルを参照することも、テキスト・ボックスにメッセージ・コンテンツを入力することもできます。

- 任意のSOAPサービス - このサービスでは、ペイロードのフォームへの入力が必要です。ペイロードは、送信されるメッセージのコンテンツです。コンテンツはSOAPエンベロープであることが想定されます。ファイルを参照することも、テキスト・ボックスにメッセージ・コンテンツを入力することもできます。

- メッセージング - メッセージング・サービスでは、none、XML、Binary、Textの4つの入力タイプのいずれかが定義されます。このサービスで必要な入力は1つで、ファイル・ベースまたはテキスト・ベースのいずれかです。ただし、noneの場合、入力は不要です。
Oracleでは、ファイルからのバイナリの入力をお薦めします。テキスト領域に入力したデータは、システム・エンコーディングでバイナリに変換されます。

テキスト型のサービスの場合、ファイルから入力したデータはテキストへの変換が必要です。エンコーディング入力フィールドでは、変換時に適用するエンコーディングを指定します。このフィールドを構成しない場合は、システム・エンコーディングが使用されます。デフォルトでは、エンコーディング・フィールドはプロキシ・サービスのエンドポイントに構成されたエンコーディング値で初期化されます。

- XML - このサービスでは、ペイロードのフォームへの入力が必要です。ペイロードは、送信されるメッセージのコンテンツです。コンテンツはXMLドキュメントであることが想定されます。ファイルを参照することも、テキスト・ボックスにメッセージ・コンテンツを入力することもできます。
これは、複数の操作が定義されたWSDLベースのサービスです。このサービスのテストで使用するためのサンプル・ドキュメントが用意されています。ページ上部にすべての操作が表示されます。矢印の付いた操作が、選択されている操作。

- SOAPドキュメント - SOAPドキュメントの場合、SOAPエンベロープは通常0個以上のヘッダーと1つの本体ペイロードで構成されます。
「フォーム」タブと「XML」タブではそれぞれ異なる方法でコンテンツを指定します。

「フォーム」タブには「SOAPヘッダー」フィールドと「SOAP本体」フィールドがあります。「SOAPヘッダー」フィールドの内容は、SOAP Headerタグであることが想定されます(これにより1つ以上のヘッダーを定義できます)。「SOAP本体」フィールドには実際にメッセージの一部として送信されるデータが含まれます。コンテンツはXMLドキュメントであることが想定されます。ヘッダーと本体の両方を使用してSOAPエンベロープが生成されます。

「XML」タブには1つの入力フィールドがあります。このフィールドの内容は、送信されるSOAPエンベロープであることが想定されます。

- SOAP RPC - SOAP RPCの場合、SOAPエンベロープは0個以上のヘッダーと0個以上の引数で構成されます。
「フォーム」タブと「XML」タブではそれぞれ異なる方法でコンテンツを指定します。

「フォーム」タブにはSOAPヘッダーの入力が1つと、引数ごとに1つの入力フィールドがあります(入力フィールドの名前は引数の名前に相当します)。「SOAPヘッダー」フィールドの内容は、SOAP Headerタグであることが想定されます(これにより1つ以上のヘッダーを定義できます)。

WSDLを使用して、各引数の型を検出します。プリミティブの型の場合は1行の入力フィールドを使用し、XMLの型の場合は複数行の入力フィールドを使用します。テストを効率化するサンプル・ドキュメントが自動的に生成されます。

テスト・コンソールにより、ヘッダーと引数を使用してSOAPエンベロープが生成されます。

「XML」タブには1つの入力フィールドがあります。このフィールドの内容は、送信されるSOAPエンベロープであることが想定されます。ペイロード(XML入力)はファイル・ベースまたはテキスト・ベースです。テキスト入力よりファイルの参照による入力が優先されます。テストに使用するファイルを参照して選択します。

Webサービス・セキュリティ

このセクションは、SOAPサービスで、選択されている操作にWebサービス・セキュリティ・ポリシーが含まれる場合にのみ表示されます。

- サービス・プロバイダ - テスト・サービスは、このサービス・プロバイダからWebサービス・セキュリティ操作のすべてのクライアント側PKI(キー・ペア)資格証明(デジタル署名と暗号)を取得します。このフィールドは省略可能です。シナリオによっては、操作のリクエスト/レスポンス・ポリシーに応じてサービス・プロバイダが必要です。詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「Webサービス・セキュリティを含むサービスのテスト」を参照してください。

- ユーザー名 - Webサービス・セキュリティのユーザー名トークンにあるユーザー名は、テスト・サービスから生成されます。このフィールドは省略可能です。このユーザー名は、操作のリクエスト・ポリシーでIDアサーションを指定するシナリオでのみ必要になります。
このフィールドをトランスポート・セキュリティ・コンテキストのユーザー名フィールドと混同しないでください。これは、ローカル・セキュリティ・レルムで有効なユーザー名とパスワードである必要があります。ユーザー名またはパスワードが無効な場合、テスト・サービスでクライアント側のエラーが発生します。

場合によっては、テスト・サービスがSAMLアサーションを生成する場合でもこのユーザー名とパスワードを使用できます。

- パスワード - Webサービス・セキュリティのユーザー名トークンにあるパスワードは、テスト・サービスから生成されます。

トランスポート

「トランスポート」セクションはデフォルトでは折りたたまれた状態になっています。フィールドと値は、テスト構成に応じて異なります。

認証

- ユーザー名 - ビジネス・サービスを呼び出したときにテスト・サービスによって使用されるセキュリティ・コンテキストを設定するためのユーザー名。ビジネス・サービスがSAMLトークンを想定している場合、このIDがSAMLトークンに伝播されます。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle Service BusでのSAMLの使用に関する項を参照してください。これは、ローカル・セキュリティ・レルムで有効なユーザー名とパスワードである必要があります。ユーザー名またはパスワードが無効な場合、テスト・サービスでクライアント側のエラーが発生します。

- パスワード - 対応するパスワード。「ユーザー名」を参照してください。

- サービス・キー・プロバイダ - このフィールドは、CLIENT-CERT認証を使用するHTTPSビジネス・サービスをテストする場合に使用します。サービス・プロバイダにはSSLクライアント資格証明が関連付けられている必要があります。テスト・サービスはSSLハンドシェイクでその資格証明を使用します。

呼出しモード

リクエスト/レスポンス - このオプションは、任意のSOAPまたは任意のXMLビジネス・サービスをテストする場合にのみ表示されます。一方向のサービス呼出しの場合は、「リクエスト/レスポンス」チェックボックスを選択解除します。

メッセージ・メタデータ

表33-10を参照してください。

トランスポート・ヘッダー

表33-10を参照してください。

33.1.7 ビジネス・サービスのテスト結果の表示

表33-4で、ビジネス・サービスのテスト結果について説明します。

表33-4 ビジネス・サービスのテスト結果

セクション

説明

ビジネス・サービス名

ビジネス・サービスの名前。

テスト・コンソール・アクション

「戻る」をクリックすると、前のブラウザ・ページが表示されます。

「閉じる」をクリックすると、テスト・コンソール・ウィンドウが閉じます。

リクエスト・ドキュメント

テスト・コンソールによってビジネス・サービスに送信されたリクエスト・メッセージです。

リクエスト・メッセージがテスト・コンソールによって変更されなかった場合は、このセクションは最初は折りたたまれています。「フォーム」タブでSOAPサービスを構成した場合、またはWS-Securityが適用されている場合は、このセクションは最初は展開されています。

WS-Securityが適用されている場合、このセクションには2つのSOAPメッセージが表示されます。1つ目はクリア・テキストのメッセージ。2つ目は保護されたSOAPメッセージ。

レスポンス・ドキュメント

レスポンス・メッセージ。

WS-Securityレスポンスが適用されたSOAPサービスの場合、このセクションには2つのSOAPメッセージが表示されます。1つ目のSOAPメッセージは、クライアントが受け取る保護されたメッセージ。2つ目のSOAPメッセージは、対応するクリア・テキストのメッセージ。

レスポンス・メタデータ

メッセージのレスポンスと共に返されたメタデータです。

注意:
保護されたSOAPメッセージは、書式が整えられて(たとえば、ホワイト・スペースが追加されて)表示されます。ホワイト・スペースはドキュメントのセマンティクスに影響する可能性があるため、このようなSOAPメッセージはリテラル・データとして必ずしも使用できるわけではありません。たとえば、デジタル署名はホワイト・スペースの影響を受け、無効になることがあります。

33.2 トランスフォーメーションのテスト

セッションをアクティブ化した後、またはセッション中に、トランスフォーメーションをテストして、リソースが想定したとおりに動作するかどうかを確認できます。実行時テストを行うには、セッションをアクティブ化する必要があります。それ以外の場合は、ローカルでの変更内容を使用した設計時テストが行われます。

テストできるトランスフォーメーションは次のとおりです。

- 33.2.1項「MFLトランスフォーメーションのテスト」

- 33.2.2項「XSLTトランスフォーメーションのテスト」

- 33.2.3項「XQueryトランスフォーメーションのテスト」

33.2.1 MFLトランスフォーメーションのテスト

MFL(メッセージ・フォーマット言語)ドキュメントは、バイナリ・データのレイアウトの記述に使用する特殊なXMLドキュメントです。MFLリソースは、2つのトランスフォーメーションをサポートします。どちらのトランスフォーメーションも、XMLからバイナリ、またはバイナリからXMLという、1つの入力だけを受け入れ、1つの出力を返します。

表33-5にMFL構成オプションを示します。

表33-5 MFLオプションの構成

セクション

説明

名前

テスト対象のリソースの名前です。

サポートされるトランスフォーメーション

特定のトランスフォーメーションを選択するには、トランスフォーメーション名を選択します。

テスト・コンソール・アクション

- 実行 - トランスフォーメーションを適用します。

- リセット - 入力フィールドをリセットします(XMLからバイナリの場合、サンプルXMLドキュメントがリセットされます)。

- 閉じる - 現在の操作を取り消します。

MFLトランスフォーメーション構成

- XML入力 - XMLからバイナリへのトランスフォーメーションでは必須です。
MFLドキュメントのXMLスキーマは推測できます。サンプルXMLドキュメントはテキスト・フィールドに自動的に入力されます。

XML入力はファイル・ベースまたはテキスト・ベースで入力できます。テキスト入力よりファイルの参照による入力が優先されます。テストに使用するファイルを参照して選択します。

- バイナリ入力 - バイナリからXMLへのトランスフォーメーションでは必須です。
バイナリ入力はファイル・ベースまたはテキスト・ベースで入力できます。テキスト入力よりファイルの参照による入力が優先されます。テストに使用するファイルを参照して選択します。

設計時テストまたは実行時テストを行うことができます。

1. 「アクティブ化」をクリックしてランタイムをテストします。設計時テストを行う場合は、セッションをアクティブ化しません。

2. 「リソース・ブラウザ」→「MFL」を選択し、「MFLファイルのサマリー」ページを表示します。

3. 「アクション」の下で、テストするリソースに対応する「テスト・コンソールの起動」アイコンをクリックします。テスト・コンソールによって、リソース・テストページが開かれます。

4. テストするトランスフォーメーションを選択します。

5. MFLリソースのテスト・データを構成します。詳細は、表33-5を参照してください。

6. 「実行」をクリックします。リソース・テスト・ページに、結果が表示されます。

7. もう一度テストする場合は、「戻る」をクリックします。テスト・コンソールを閉じたら、リソースを変更し、再度テストできます。

33.2.2 XSLTトランスフォーメーションのテスト

eXtensible Stylesheet Language Transformation (XSLT)は、Oracle Service BusでのXMLからXMLのマッピングを記述します。XSLTリソースをテストするには、入力XMLドキュメントを指定する必要があり、これにより、テスト・コンソールから出力XMLドキュメントが返されます。XSLTトランスフォーメーションには、追加指定のパラメータが含まれる場合があります。構成ページに、トランスフォーメーションに必要なパラメータがすべて表示されます。デフォルト値が表示されますが、値はオーバーライドできます。

表33-6にXSLT構成オプションを示します。

表33-6 XSLTオプションの構成

セクション

説明

名前

テスト対象のリソースの名前です。

テスト・コンソール・アクション

- 実行 - トランスフォーメーションを適用します。

- リセット - 入力フィールドをリセットします。

- 閉じる - 現在の操作を取り消します。

入力およびパラメータ

XSLTリソースをテストするための入力ドキュメントおよびパラメータです。

- XML入力 - XML入力はファイル・ベースまたはテキスト・ベースで入力できます。テキスト入力よりファイルの参照による入力が優先されます。テストに使用するファイルを参照して選択します。XML入力は必須です。

- <param_name> ([] as XML) - param_nameは指定されたXSLTパラメータ。
XML型とプリミティブ型(string型、integer型、float型など)の2つの入力型があります。デフォルトの入力型はstring型です。XML型のパラメータを指定するには、パラメータ名で対応するチェックボックスをチェックします。

設計時テストまたは実行時テストを行うことができます。

1. 「アクティブ化」をクリックしてランタイムをテストします。設計時テストを行う場合は、セッションをアクティブ化しません。

2. 「プロジェクト・エクスプローラ」→「XSLT」を選択し、「XSLTのサマリー」ページを表示します。

3. 「アクション」の下で、テストするリソースに対応する「テスト・コンソールの起動」アイコンをクリックします。テスト・コンソールによって、リソース・テストページが開かれます。

4. このページの「入力およびパラメータ」セクションでリソースのテスト・データを構成します。詳細は、表33-6を参照してください。

5. 「実行」をクリックします。リソース・テスト・ページに、結果が表示されます。

6. もう一度テストする場合は、「戻る」をクリックします。テスト・コンソールを閉じたら、リソースを変更し、再度テストできます。

33.2.3 XQueryトランスフォーメーションのテスト

XQueryマップでは、XMLからXML、XMLから非XML、および非XMLからXMLへの各マッピングを記述できます。XQueryトランスフォーメーションは複数の入力をとる場合があります。返される出力は1つです。各入力は、XQueryリソースで宣言されたXQuery外部変数に対応します。XQuery入力変数の値は、プリミティブ型の値(string型、integer型、date型など)、XMLドキュメント、またはこれらの型のシーケンスで指定できます。出力の値は、プリミティブ型の値(string型、integer型、date型など)、XMLドキュメント、またはこれらの型のシーケンスになります。

注意:
テスト・コンソールは入力のシーケンスに対応していません。

表33-7にXQuery構成オプションを示します。

表33-7 XQueryオプションの構成

セクション

説明

名前

テスト対象のリソースの名前です。

テスト・コンソール・アクション

- 実行 - トランスフォーメーションを実行します。

- リセット - 入力フィールドをリセットします。

- 閉じる - テスト・コンソールを閉じます。

変数

このセクションには、XQuery外部変数ごとに1つの入力フィールドが表示されます。

<param_name> ([] as XML) - param_nameは、XQueryリソースで指定されたXQuery変数名です。

単純型である場合は、テスト・コンソールに1行の編集ボックスが表示されます。データがXMLである場合は、複数行の編集ボックスが表示されます。

変数が型なしの場合は、組合せ入力(<param_name> ([] as XML))が使用されます。変数の型を宣言する必要があります。XML型のパラメータを指定するには、チェックボックスを選択します。

XML入力はファイル・ベースまたはテキスト・ベースで入力できます。テキスト入力よりファイルの参照による入力が優先されます。テストに使用するファイルを参照して選択します。

テスト・コンソールの入力は、入力する必要のあるデータの型がわかりやすいように、型に基づいて表示されます。型なしの場合のデフォルトはXML型。

設計時テストまたは実行時テストを行うことができます。

1. 「アクティブ化」をクリックしてランタイムをテストします。設計時テストを行う場合は、セッションをアクティブ化しません。

2. 「プロジェクト・エクスプローラ」→「XQuery」を選択し、「XQueryのサマリー」ページを表示します。

3. 「アクション」の下で、テストするリソースに対応する「テスト・コンソールの起動」アイコンをクリックします。テスト・コンソールによって、リソース・テストページが開かれます。

4. このページの「変数」セクションでリソースのテスト・データを構成します。詳細は、表33-7を参照してください。

5. 「実行」をクリックします。リソース・テスト・ページに、結果が表示されます。

6. もう一度テストする場合は、「戻る」をクリックします。テスト・コンソールを閉じたら、リソースを変更し、再度テストできます。

33.3 XQueryテストの実行

次のXQuery式エディタ、XQuery条件エディタ、およびXPath式エディタの各エディタを使用すると、メッセージ・フローのアクションの編集とテストを行うことができます。テストでは、XQuery式エディタとXQuery条件エディタの両方で同様のフォームが使用されます。ただし、XPath式エディタの場合は入力が1つだけなので、シナリオが異なります。

注意:
インラインXQueryテストを実行するには、ブラウザのポップアップ・ブロッカを無効にする必要があります。IEブラウザでツール・バーを使用している場合、ポップアップをブロックするように構成されているすべてのツール・バーの「オプション」メニューでポップアップ・ブロッカを無効にする必要があります。

この項の内容は次のとおりです。

- 33.3.1項「XQuery式エディタとXQuery条件エディタの使用」

- 33.3.2項「XPath式エディタの使用」

33.3.1 XQuery式エディタとXQuery条件エディタの使用

XQuery式は、メッセージ・フローの実行中にメッセージ・コンテキスト変数のデータ・コンテンツ(メッセージ・コンテキスト変数の一部)を作成するために使用します。XQuery式エディタ内で直接テスト・コンソールを使用して、式の定義をテストすることができます。

同様に、XQuery条件を使用して、メッセージ・フロー内のブール条件を評価できます。XQuery条件エディタ内で直接テスト・コンソールを使用して、条件の定義をテストすることができます。

XQueryは複数の入力をとる場合があります。返される出力は1つです。各入力は、XQueryで定義されたXQuery非バインド変数に対応します。XQuery入力の値は、プリミティブ型の値(string型、integer型、date型など)、XMLドキュメント、またはこれらの型のシーケンスで指定できます。出力の値は、プリミティブ型の値(string型、integer型、date型など)、XMLドキュメント、またはこれらの型のシーケンスになります。

注意:
テスト・コンソールは入力のシーケンスに対応していません。

表33-8にXQuery構成オプションを示します。

表33-8 XQueryテストの構成

セクション

説明

名前

テスト対象の式の種類です。

テスト・コンソール・アクション

- 実行 - トランスフォーメーションを適用します。

- リセット - 入力フィールドをリセットします。

- 閉じる - 現在の操作を取り消します。

変数

このセクションには、XQuery非バインド変数ごとに1つの入力フィールドが表示されます。

<param_name> ([] as XML) - param_nameは、対応するXQuery非バインド変数の名前です。

単純型である場合は、テスト・コンソールに1行の編集ボックスが表示されます。データがXMLである場合は、複数行の編集ボックスが表示されます。変数が型なしの場合は、両方の組合せの入力(<param_name> ([] as XML))が使用されます。変数の型を宣言する必要があります。XML型のパラメータを指定するには、チェックボックスを選択します。

XML入力はファイル・ベースまたはテキスト・ベースで入力できます。テキスト入力よりファイルの参照による入力が優先されます。テストに使用するファイルを参照して選択します。

テスト・コンソールの入力は、入力する必要のあるデータの型がわかりやすいように、型に基づいて表示されます。デフォルトは、XML型。

1. パイプラインのメッセージ・フローのアクションの編集時に、テスト・コンソールにアクセスします。

- XQuery式エディタにアクセスするには、23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

- XQuery条件エディタにアクセスするには、23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

XQueryテスト式ページが表示されます。リクエストされたすべての入力変数がこのページに表示されます。

2. このページの「変数」セクションでXQueryのテスト・データを構成します。詳細は、表33-8を参照してください。

3. 「実行」をクリックします。テスト・ページに、結果が表示されます。

4. テストが終了したら、「戻る」をクリックして新しいテストを実行します。XQueryを変更してからもう一度テストを実行する場合、変更を有効にするには、テスト・コンソールを閉じて開きなおす必要があります。

33.3.2 XPath式エディタの使用

XPath式は、XMLメッセージ・コンテキスト変数のサブセットを選択するために使用します。XPath式エディタ内でテスト・コンソールを使用して、XPath式の定義をテストすることができます。XPath式は、入力として1つのXMLドキュメントをとり、出力としてXMLドキュメントのシーケンスやプリミティブ型、またはその両方を生成します。

表33-9にXPath式の構成オプションを示します。

表33-9 XPathオプションの構成

セクション

説明

名前

テスト対象の式の種類です。

テスト・コンソール・アクション

- 実行 - トランスフォーメーションを適用します。

- リセット - 入力フィールドをリセットします。

- 閉じる - 現在の操作を取り消します。

変数

このセクションには、このXPath式のテスト対象のXMLドキュメントに対応する1つの入力フィールドが表示されます。

XML入力はファイル・ベースまたはテキスト・ベースで入力できます。テキスト入力よりファイルの参照による入力が優先されます。テストに使用するファイルを参照して選択します。

1. パイプラインのメッセージ・フローのアクションの編集時に、テスト・コンソールにアクセスします。XPath式エディタにアクセスするには、23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

2. このページの「変数」セクションでXPath式のテスト・データを構成します。詳細は、表33-9を参照してください。

3. 「実行」をクリックします。テスト・ページに、結果が表示されます。

4. テストが終了したら、「戻る」ボタンを使用して新しいテストを実行します。XPath式を変更してからもう一度テストを実行する場合、変更を有効にするには、テスト・コンソールを閉じて開きなおす必要があります。

33.4 テスト・コンソールでのランタイムによるトランスポート設定の使用方法

33.1.2項「プロキシ・サービスのテスト・データの構成」および33.1.6項「ビジネス・サービスのテスト・データの構成」には、テスト・コンソールを起動してプロキシ・サービスまたはビジネス・サービスをテストするときに、アウトバウンド・リクエストのトランスポート・ヘッダー、トランスポート・メタデータ、およびトランスポート関連のセキュリティ・データの値を構成する方法が説明されています。ただし、テスト・コンソールで作成できる仕様の一部は、実行時に無視されます。つまり、特定のヘッダーやメタデータの値は、テストの実行時にOracle Service Busランタイムで上書きされるか無視されます。制限のあるヘッダーとメタデータについては、表33-10を参照してください。

表33-10 サービスをテストするときにテスト・コンソールで指定するトランスポート・ヘッダーとメタデータの値の制限

トランスポート

サービス・タイプ

制限の説明

影響を受けるトランスポート・ヘッダー

HTTP(S)脚注 1

プロキシ・サービス

実行時に、設定したすべてのトランスポート・ヘッダーとその他のフィールドが保持されます。「直接呼出し」オプションの設定にかかわらず適用されます。

すべて

HTTP(S)

ビジネス・サービス

これらのパラメータに設定したすべての値がOracle Service Busランタイムでオーバーライドされます。

Content-Length

Content-Type

relative-URI

client-host

client-address

JMS

プロキシ・サービス

「直接呼出し」オプションが使用される場合、設定したすべてのトランスポート・ヘッダーとその他のフィールドが実行時に保持されます。

すべて

JMS

プロキシ・サービス

「直接呼出し」オプションを使用しない場合、トランスポート・ヘッダー・アクションの構成と同じ制限が適用されます。

『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「トランスポート・ヘッダー・アクションで指定するトランスポート・ヘッダーの値の制限」で説明されるJMSトランスポート・ヘッダーの制限を参照してください。

JMS

ビジネス・サービス

トランスポート・ヘッダー・アクションの構成と同じ制限が適用されます。

『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「トランスポート・ヘッダー・アクションで指定するトランスポート・ヘッダーの値の制限」で説明されるJMSトランスポート・ヘッダーの制限を参照してください。

電子メール

プロキシ・サービス

制限はありません。実行時に、設定したトランスポート・ヘッダーとその他のフィールドが保持されます。「直接呼出し」の指定にかかわらず適用されます。

なし

電子メール

ビジネス・サービス

これらのパラメータに設定したすべての値がOracle Service Busランタイムでオーバーライドされます。

Content-Type

ファイル

プロキシ・サービス

制限はありません。実行時に、設定したトランスポート・ヘッダーとその他のフィールドが保持されます。脚注 2

なし

ファイル

ビジネス・サービス

制限はありません

なし

FTP

プロキシ・サービス

制限はありません。実行時に、設定したトランスポート・ヘッダーとその他のフィールドが保持されます。

なし

FTP

ビジネス・サービス

制限はありません

なし

脚注 1 テスト・コンソールでは、プロキシ・サービスをテストするときに、HTTPリクエストはネットワーク経由で送信されないため、トランスポートレベルのアクセス制御は適用されません。

脚注 2 たとえば、FileName(トランスポート・メタデータ)に指定した値は、出力ファイル名に付加されます(1698922710078805308-b3fc544.1073968e0ab.-7e8e-{$FileName}など)。

第II部

ユーザーズ・ガイド

ここでは、Oracle Service Busの使用に関する概要を示します。この情報は、Oracle Service Busの各ガイドの特定の手順に関する情報と併せて使用してください。次の章が含まれます。

- 第34章「ユーザー・ガイドについて」

- 第36章「プロキシ・サービスとビジネス・サービスの構成」

- 第37章「Oracle Service Busでのメッセージ・フローの作成」

- 第38章「分割-結合によるサービスのパフォーマンスの向上」

- 第39章「メッセージ・コンテキスト」

- 第40章「テスト・コンソールの使用」

- 第41章「UDDI」

- 第42章「JavaコールアウトおよびPOJOを使用した拡張性」

- 第43章「XQueryの実装」

34 ユーザー・ガイドについて

ここでは、Oracle Service Busの使い方と構成について説明します。このガイドは、メッセージングおよびSOAを担当するエンタープライズ設計者、およびアプリケーションの設計者と開発者を対象としています。

このガイドは、Oracle Service Busを使用するための参考書として使用します。手順を説明している場合もありますが、このガイドはOracle Service Bus管理コンソールまたはEclipseプラグインを使用してリソースを構成する方法の詳細を説明するものではありません。Oracle Service Bus管理コンソールの使用の詳細は、第II部「Oracle Service Busコンソール・ヘルプ」を参照してください。Oracle Service Bus Eclipseプラグインの使用方法については、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の「Oracle Service Bus IDEヘルプ」を参照してください。

モニター、レポート、トレースなどの操作のスペシャリスト向けの情報は、第II部「オペレーション・ガイド」に記載されています。

プロキシおよびビジネス・サービスで使用されるOracle Service Busトランスポート・プロバイダの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のトランスポートに関する説明を参照してください。

セキュリティ実装の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のセキュリティに関する説明を参照してください。

デプロイメントの詳細は、『Oracle Fusion Middleware Oracle Service Busデプロイメント・ガイド』を参照してください。

35 Oracle Service Busサーバーの起動

この章では、Oracle Service Busサーバーの様々な起動方法について説明します。

この章には、次の項があります。

- 35.1項「開発環境でのDerbyの起動」

- 35.2項「Oracle Service Bus管理サーバーの起動」

- 35.3項「Oracle Service Bus管理対象サーバーの起動」

- 35.4項「サーバーの起動の確認」

この章に含まれていないサーバーの起動の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverサーバーの起動と停止の管理』のサーバーの起動と停止に関する説明を参照してください。

35.1項「開発環境でのDerbyの起動」

デフォルトのApache Derbyデータベースを使用しているOracle Service Bus開発サーバーを起動する際に、説明する必要のある特定の問題があります。詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「Derbyを使用した複数の開発サーバーの実行」を参照してください。

35.2 Oracle Service Bus管理サーバーの起動

この項では、Oracle Service Bus管理サーバーを起動する様々なオプションについて説明します。

35.2.1 コマンドラインからの管理サーバーの起動

Oracle Service Busドメインのルートから、startWebLogic.cmdまたはstartWebLogic.shのstartWebLogicコマンドを実行します。

コマンド・ウィンドウが表示され、Oracle WebLogic Serverに関するステータス情報が示されます。

本番モードでサーバーを起動した場合、サーバーの起動に有効なユーザー名とパスワードを入力する必要があります。

35.2.2 Windows上での管理サーバーの起動

この項では、Windowsシステム上でOracle Service Bus管理サーバーを起動する方法について説明します。

35.2.2.1 Windowsのスタート・メニューからの管理サーバーの起動

Windowsのスタート・メニューから、「スタート」→「すべてのプログラム」→「Oracle WebLogic」→「ユーザー・プロジェクト」→「domain_name」→「Oracle Service Busドメイン用のサーバーを起動」を選択します。

domain_nameは、Oracle Service Busドメインを作成したときに指定した名前を表します。

MW_HOME/user_projectsはデフォルトのドメインの場所です。

35.2.2.2 Windowsサービスとしての管理サーバーの起動

この項では、Oracle Service BusドメインをWindowsサービスとして起動するための環境の構成方法について説明します。管理サーバーをWindowsサービスとして起動すると、システムが再起動した後にサーバーが起動します。

この手順ではWindowsレジストリの変更が必要になるため、続行する前に、Windowsレジストリをバックアップする必要があります。

注意:
また、『Oracle Fusion Middleware Oracle WebLogic Serverサーバーの起動と停止の管理』のWLSTとノード・マネージャを使用した管理サーバーの起動に関する説明に従って、ノード・マネージャを使用してOracle Service Bus管理サーバーをWindowsサービスとして起動することもできます。

1. 『Oracle Fusion Middleware Oracle WebLogic Serverサーバーの起動と停止の管理』のWebLogic ServerインスタンスのWindowsサービスとしての設定に関する説明に従って、WL_HOME\server\bin\installSvc.cmdスクリプトを実行することによって、Oracle Service BusドメインをWindowsサービスとして起動するように設定します。

2. 必要な環境変数をWindowsレジストリに追加します。続行する前に、作成したWindowsサービスの名前を確認する必要があります。通常、サービス名は「beasvc [DOMAIN_NAME]_[SERVER_NAME]」です。

1. Windowsレジストリをバックアップします。

2. Windows regeditユーティリティを実行します。Windowsで、「スタート」→「ファイル名を指定して実行」を選択します。「ファイル名を指定して実行」ダイアログ・ボックスでregeditと入力し、「OK」をクリックします。

3. Windowsサービスの次のレジストリ・キーを検索します。
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\beasvc [DOMAIN_NAME]_[SERVER_NAME]

4. Environmentという名前の新しい複数行文字列値を作成します。

5. 次のエントリを追加することによって、新しい環境値を編集します。

ALSB_HOME=C:\oracle11g\Oracle_OSB1

ここで、C:\oracle11gはOracle Fusion Middlewareのインストールのルートです。

6. Windows XP 32ビットの場合のみ: コマンド・ウィンドウで、一時ファイルの作成場所にディレクトリを変更し、次のコマンドを実行します: set > env.txt。
env.txtファイルを開き、そのコンテンツ全体をコピーして、ALSB_HOMEエントリの下に作成したEnvironmentレジストリ値に貼り付けます。

7. 複数行文字列値のダイアログ・ボックスで「OK」をクリックして、Windowsレジストリ・エディタを閉じます。

3. サービスを開始する前に、必ずOracle Service Busドメインで使用されている任意のデータベースを起動してください。

35.2.3 ノード・マネージャを使用したサーバーの起動

『Oracle Fusion Middleware Oracle WebLogic Serverサーバーの起動と停止の管理』のWLSTとノード・マネージャを使用した管理サーバーの起動に関する説明を参照してください。

35.3 Oracle Service Bus管理対象サーバーの起動

次の構文を使用して、個別のコマンド・ウィンドウからそれぞれのOracle Service Bus管理対象サーバーを起動します。

DOMAIN_HOME/bin/startManagedWebLogic.sh(.cmd) osb_server http://administration_server_host:administration_server_port -Dweblogic.management.username=user_name -Dweblogic.management.password=password

説明:

- osb_serverは管理対象サーバーの名前です。

- http://administration_server_host:administration_server_portは、管理サーバーがデフォルト以外のポートで実行される場合や、(分散環境で)管理サーバーが管理対象サーバーとは異なるホスト上に存在する場合のオプションの引数です。

- -Dweblogic.management引数を使用すると、ドメインの作成時にOracle Fusion Middleware構成ウィザードで入力したユーザー名とパスワードを必要に応じて指定できます。
ログイン資格証明をコマンド引数として指定しない場合は、Oracle Service Busにより、サーバーを起動する前にユーザー名とパスワードの入力を求められます。

起動する必要のある管理対象サーバーの名前がわからない場合は、次のいずれかを行います。

- 次のファイルを表示する: DOMAIN_HOME/startManagedWebLogic_readme.txt

- 次のURLを入力して、Oracle WebLogic Server管理コンソールにアクセスする
http://host:admin_server_port/console

ログインした後、「環境」>「サーバー」にナビゲートして、管理対象サーバーの名前を確認します。

詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverサーバーの起動と停止の管理』の「サーバーの起動と停止」を参照してください。

35.4 サーバーの起動の確認

サーバーが正常に起動すると、コンソール・ウィンドウに次のメッセージが出力されます。

<Server started in RUNNING mode>

36 プロキシ・サービスとビジネス・サービスの構成

この章では、WSDLの構造と使用、サービスのタイプとトランスポート、Oracle Coherenceを使用したビジネス・サービス結果キャッシュを含むOracle Service Busのビジネス・サービスとプロキシ・サービスの構成の側面を説明します。

Oracle Service Busのプロキシ・サービスとビジネス・サービスを使用すると、サービスの管理、メッセージの変換、およびエンタープライズ全体でのメッセージのルーティングを行うことができます。

プロキシ・サービスとビジネス・サービスは、実行時環境(Oracle Service Bus管理コンソール)または開発環境(Oracle Service Busプラグインを使用するEclipse)を使用して作成および構成できます。既存のWeb Services Description Language(WSDL)リソース(Oracle Service RegistryなどのUDDIレジストリからインポートされたリソースなど)に基づいてプロキシ・サービスまたはビジネス・サービスを作成した後に、Oracle Service Bus管理コンソールまたはプラグインでさらに構成することができます。

この章の内容は次のとおりです。

- 36.1項「Oracle Service Busプロキシ・サービス」

- 36.2項「Oracle Service Busビジネス・サービス」

- 36.3項「Oracle Service BusでWSDLが使用される仕組み」

- 36.4項「WSDLを使用したサービスの定義」

- 36.5項「WSDLポートとWSDLバインディングに基づくサービスの作成」

- 36.6項「プロキシ・サービスの構成」

- 36.7項「ビジネス・サービスの構成」

- 36.8項「リソースの詳細の表示」

36.1 Oracle Service Busプロキシ・サービス

Oracle Service Busプロキシ・サービスとは、Oracle Service Busがローカルに実装しホストする仲介Webサービスの定義です。Oracle Service Busでは、プロキシ・サービスを使用してビジネス・サービス(エンタープライズWebサービスやデータベースなど)とサービス・クライアント(プレゼンテーション・アプリケーションやその他のビジネス・サービスなど)との間でメッセージをルーティングします。

プロキシ・サービスの構成には、インタフェース、トランスポート設定、セキュリティ設定、およびメッセージ・フロー定義が含まれます。メッセージ・フロー定義では、プロキシ・サービスを介したメッセージ・フローでメッセージを処理する方法を決定するロジックを定義します。プロキシ・サービスがWSDLドキュメントに基づいている場合、構成にはWSDLポートまたはWSDLバインディングも含まれます(36.4項「WSDLを使用したサービスの定義」を参照)。

36.2 Oracle Service Busビジネス・サービス

Oracle Service Busビジネス・サービスは、Oracle Service BusがクライアントとなるエンタープライズWebサービスの定義です。これらの外部Webサービスは、外部システムに実装され、外部システムによってホストされます。そのため、Oracle Service Busは呼び出す対象、呼び出す方法、および呼出しの結果として予想される内容を認識しておく必要があります。Oracle Service Busが外部サービスを呼び出すことができるように、Oracle Service Busビジネス・サービスではそのインタフェースをモデル化しています。

ビジネス・サービスの構成には、インタフェース、トランスポート設定、およびセキュリティ 設定が含まれます(メッセージ・フロー定義は含まれません)。ビジネス・サービスがWSDLに基づいている場合、構成にはWSDLポートまたはWSDLバインディングも含まれます(36.4項「WSDLを使用したサービスの定義」を参照)。

36.3 Oracle Service BusでWSDLが使用される仕組み

Oracle Service Busでは、WSDL (Webサービスを記述するためのXMLベースの仕様)を使用して、複数のタイプのビジネス・サービスとプロキシ・サービスを定義します。WSDLドキュメントには、サービス操作、入力/出力パラメータ、およびクライアントがサービスに接続する方法が記述されます。WSDL 1.1仕様については、W3C Noteの『W3C Web Services Description Language (WSDL) 1.1』(http://www.w3.org/TR/wsdl)を参照してください。

36.3.1 有効なWSDLと生成されたWSDLについて

Oracle Service Busでは、「WSDLリソース」と呼ばれる既存のWSDLに基づいて新しいプロキシ・サービスまたは新しいビジネス・サービスを作成し、構成プロパティをオーバーライドしたり追加したりできます。また、既存のWSDLに基づいていない新しいサービスを作成または構成することもできます。

36.3.1.1 有効なWSDL

WSDLベースのサービスの場合、Oracle Service Busは実際の.wsdlファイルのかわりに有効なWSDLを使用します。有効なWSDLとは、Oracle Service Busで構成されたサービスのWSDLプロパティです。

ソースWSDLは有効なWSDLのテンプレートとして機能します。WSDLに基づいてサービスを作成すると、Oracle Service Busは元のWSDLの設定、ユーザーが設定したトランスポート構成の設定、およびユーザーが元のWSDLで追加または変更したその他の構成設定を組み合せて、有効なWSDLを生成します。新しい構成で使用しない元のWSDLの設定は、有効なWSDLから除外されます。

Oracle Service Busでは、次のタイプのプロキシ・サービスおよびビジネス・サービスの有効なWSDLを生成できます。

- WSDLから作成されたSOAPサービス

- WSDLから作成されたXMLサービス

WSDLベースのサービスをサポートするトランスポート(HTTP、JMS、SBなど)を使用して、これらのタイプのサービスの有効なWSDLを生成できます。

Oracle Service Busでは、次のタイプのプロキシ・サービスおよびビジネス・サービスの有効なWSDLを生成できません。

- 任意のSOAP

- 任意のXML

- メッセージング・タイプのサービス

有効なWSDLは、プロキシ・サービスとビジネス・サービス、およびWSDLポートに基づくサービスとWSDLバインディングに基づくサービスの様々な特性を備えています。これらの特性については、このドキュメント全体を通じて説明しています。特に、36.5項「WSDLポートとWSDLバインディングに基づくサービスの作成」を参照してください。

36.3.1.2 生成されたWSDL

生成されたWSDLとは、WSDLリソースから作成されてはいないが、WSDLを使用して記述できるトランスポート型サービス用にOracle Service Busが生成する有効なWSDLです。たとえば、EJBベースのサービスから生成されたWSDLは「生成されたWSDL」です。

36.3.1.3 有効なWSDLへのアクセス

有効なWSDLには、次の3とおりの方法でアクセスできます。

- Webブラウザで、HTTPベースのプロキシ・サービスのURLの末尾に?WSDLを付加して入力します。
この方法は、Oracle Service Busが有効なWSDLを生成できるHTTPトランスポート・ベースのサービスでのみ使用できます。

- Webブラウザで、固定されたHTTP URLを入力します。例:
http://host:port/sbresource?PROXY/project_path/proxy_service_name

または

http://host:port/sbresource?BIZ/project_path/business_service_name

この方法は、Oracle Service Busが有効なWSDLを生成できるサービスすべてに使用できます。

- 管理コンソールまたはプラグインからWSDLをエクスポートします。次を参照してください。

- 4.28項「WSDLのエクスポート」

- 『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の有効なWSDLの生成に関する項を参照してください。

WSDLをエクスポートすると、有効なWSDLおよび関連付けられた依存関係(スキーマやWS-Policyなど)を含む.zipファイルが生成されます。Oracle Service Busはこの依存関係を評価し、WSDLのimport要素のlocation属性に適切な場所が追加されます。

WS-Policyのimport要素はありません。WS-Policyでは、ポリシー参照が保持され、エクスポート時にポリシー・リソースが含まれます。

生成されたWSDLをエクスポートすることはできません。

URLを使用したOracle Service Busリソースへのアクセスの詳細は、4.30項「Webブラウザでのリソースの表示」を参照してください。

36.3.2 WSDLの概要

WSDLドキュメントでは、サービス、サービスの場所、サービス操作、およびクライアントがサービスと通信する方法を記述します。この項では、Oracle Service Busの機能を説明する際のコンテキストを提供するために、WSDLの概要を簡単に説明します。

表36-1に、WSDLサービスの定義に使用する主な要素を示します。

表36-1 上位のWSDL要素

要素

説明

<types>

メッセージ・コンテンツの型定義。

<message>

やり取りされるデータの抽象的な定義。メッセージはパートで構成され、パートはメッセージの理論上抽象的な内容を表します。

<portType>

サービスでサポートされる操作の抽象的な集合。

<operation>

サービスでサポートされるアクションの抽象的な説明。

<binding>

ポート・タイプの具体的なプロトコルとデータ形式の指定。

<port>

ネットワーク・アドレスとバインディングで構成される単一のエンドポイント。

<service>

関連するポートまたはエンドポイントの集合。

WSDLでは、SOAP、HTTP、MIME、およびOracle Service Bus固有のバインディング拡張が指定されます。これらのバインディング拡張では、WSDLバインディング・メカニズムを拡張することで、プロトコル固有またはメッセージ・フォーマット固有の機能をサポートします。

36.3.2.1 タイプ

<types>要素は、データ型定義のコンテナです。この要素では、XMLスキーマ(XSD)などの型システムを使用して、このサービスで処理されるメッセージのボキャブラリを定義します。たとえば、株価を提供するサービスの場合、例36-1に示すように、TradePriceRequestおよびTradePriceという用語によってXMLボキャブラリを定義できます。

例36-1 WSDLの型の例

<types>
<schema targetNamespace="http://example.com/stockquote.xsd"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="TradePriceRequest">
<complexType>
<all>
<element name="tickerSymbol" type="string"/>
</all>
</complexType>
</element>
<element name="TradePrice">
<complexType>
<all>
<element name="price" type="float"/>
</all>
</complexType>
</element>
</schema>
</types>

36.3.2.2 メッセージ

<message>要素は、通信されるデータの抽象的な型付き定義です。メッセージはパートで構成され、各パートは、メッセージの1つの論理抽象単位を表します。WSDLでは、1つ以上のメッセージを定義でき、各メッセージには1つ以上のパートを含めることができます。たとえば、例36-2のWSDLフラグメントでは、sellerInfoMessage、buyerInfoMessage、responseおよびnegotiationMessageの4つのメッセージ・タイプが定義されており、各メッセージ・タイプには1つ以上のパートが含まれています。

例36-2 WSDLメッセージの例

<message name="sellerInfoMessage">
<part name="inventoryItem" type="xsd:string"/>
<part name="askingPrice" type="xsd:integer"/>
</message>

<message name="buyerInfoMessage">
<part name="item" type="xsd:string"/>
<part name="offer" type="xsd:integer"/>
</message>

<message name="response">
<part name="result" type="xsd:string"/>
</message>

<message name="negotiationMessage">
<part name="item" type="xsd:string"/>
<part name="price" type="xsd:integer"/>
<part name="outcome" type="xsd:string"/>
</message>

36.3.2.3 ポート・タイプ

<portType>要素では、(<port>要素で定義された)1つ以上のエンドポイントがサポートする一連の操作を定義します。ポート・タイプは、サービスが提供する操作のパブリック・インタフェースを提供します。各操作は、サービスがサポートするアクションの抽象的な記述である<operation>要素で定義されます。

たとえば、例36-3のフラグメントでは、入力メッセージ(GetLastTradePriceInput)と出力メッセージ(GetLastTradePriceOuput)を処理できるGetLastTradePriceという1つの操作でポート・タイプが定義されています。例36-4の<soap:operation>下位要素に示すように、これらのメッセージの具体的な記述はWSDLバインディングで定義されています。

例36-3 WSDLのポート・タイプと操作の例

<portType name="StockQuotePortType">
<operation name="GetLastTradePrice">
<input message="tns:GetLastTradePriceInput"/>
<output message="tns:GetLastTradePriceOutput"/>
</operation>
</portType>

36.3.2.4 バインディング

<binding>要素では、ポート・タイプの具体的なデータ・フォーマット仕様と具体的な転送プロトコルを指定します。

例36-4のフラグメントでは、type属性の値として示されたStockQuotePortTypeポート・タイプのバインディングを指定しています。<soap:binding>下位要素は、このバインディングがSOAPプロトコル形式にバインドされることを示します。この下位要素では、style属性でデータ・フォーマットがSOAPドキュメント・スタイルであることを指定し、transport属性で転送プロトコルがHTTPであることを指定しています。

例36-4 WSDLのバインディングの例

<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetLastTradePrice">
<soap:operation
soapAction="http://example.com/GetLastTradePrice"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>

36.3.2.5 サービスとポート

<service>要素では、関連するエンドポイントの集合を定義します。各エンドポイントは、<port>子要素で定義されます。ポートでは、ネットワーク・アドレスに関連付けられたバインディングを定義します。たとえば、例36-5のフラグメントでは、StockQuotePortとStockQuotePortUKの2つのポートが定義されています。この2つのポートは、(<binding>で具体的に定義された)tns:StockQuoteSoapBindingという同じバインディングを使用していますが、ネットワーク・アドレスは異なります(http://example.com/stockquoteとhttp://example.uk/stockquote)。これらのポートは、このサービスで使用できる代替ポートです。

例36-5 WSDLのサービスとポートの例

<service name="StockQuoteService">
<port name="StockQuotePort" binding="tns:StockQuoteSoapBinding">
<soap:address location="http://example.com:9999/stockquote"/>
</port>
<port name="StockQuotePortUK" binding="tns:StockQuoteSoapBinding">
<soap:address location="http://example.uk:9999/stockquote"/>
</port>
</service>

36.4 WSDLを使用したサービスの定義

サービスでWSDLインタフェースが明確に定義されている場合、WSDLを使用してサービスを定義することをお薦めします。ただし、これは必須ではありません。

3タイプのWSDLを定義できます。次のとおりです。

- 36.4.1項「SOAPドキュメント・ラップのWebサービス」

- 36.4.2項「SOAPドキュメント・スタイルのWebサービス」

- 36.4.3項「SOAP RPCのWebサービス」

36.4.1 SOAPドキュメント・ラップのWebサービス

ドキュメント・ラップのWebサービスは、ドキュメント・スタイルのサービスとしてWSDLに記述されています。ただし、いくつかの追加規約に従います。標準のドキュメント指向のWebサービス操作では、1つのパラメータまたはメッセージ部分だけを取得します(通常は、XMLドキュメントを取得します)。つまり、操作を実装するメソッドに含まれるパラメータも1つだけである必要があります。これに対して、ドキュメント・ラップのWebサービス操作では、パラメータをいくつでも取得できます。パラメータ値は、SOAPメッセージ内の1つの複合データ型にラップされます。このラップされた複合データ型は、操作の1つのドキュメントとしてWSDLに記述されます。

36.4.2 SOAPドキュメント・スタイルのWebサービス

プロキシ・サービスをSOAPスタイルのプロキシ・サービスとして構成し、ビジネス・サービスをSOAPスタイルのビジネス・サービスとして構成することができます。

例36-6に、SOAP 1.1を使用するドキュメント・スタイルのWebサービスのWSDLの例を示します。

例36-6 ドキュメント・スタイルのサンプルWebサービスのWSDL

<definitions name="Lookup"
targetNamespace="http://example.com/lookup/service/defs"
xmlns:tns="http://example.com/lookup/service/defs"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:docs="http://example.com/lookup/docs"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<xs:schema targetNamespace="http://example.com/lookup/docs" elementFormDefault="qualified">
<xs:element name="PurchaseOrg" type="xs:string"/>
<xs:element name="LegacyBoolean" type="xs:boolean"/>
</xs:schema>
</types>
<message name="lookupReq">
<part name="request" element="docs:purchaseorg"/>
</message>
<message name="lookupResp">
<part name="result" element="docs:legacyboolean"/>
</message>
<portType name="LookupPortType">
<operation name="lookup">
<input message="tns:lookupReq"/>
<output message="tns:lookupResp"/>
</operation>
</portType>
<binding name="LookupBinding" type="tns:lookupPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="lookup">
<soap:operation/>
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
</definitions>

このサービスには、lookupという操作(Javaクラスのメソッドに相当)が含まれています。バインディングは、これがSOAP 1.1ドキュメント・スタイルWebサービスであることを示しています。

前述のWSDLをリクエストに使用したときに、ドキュメント・スタイルのプロキシ・サービスが取得するbody変数($body)の値を例36-7に示します。

注意:
わかりやすくするために、次のコード・リストではXMLからネームスペース宣言を削除しています。

例36-7 body変数の値

<soap-env:body>
<req:purchaseorg>Oracle</req:purchaseorg>
</soap-env:body>

例36-7では、soap-envは定義済みのSOAP 1.1ネームスペースで、reqはPurchaseOrg要素のネームスペース(http://example.com/lookup/docs)です。

プロキシ・サービスによるルーティング先となるビジネス・サービスで前述のWSDLを使用した場合、前述のbody変数($body)の値はプロキシ・サービスのbody変数($body)の値になります。

呼び出されたビジネス・サービスからプロキシ・サービスが受信するレスポンスのbody変数($body)の値を例36-8に示します。

注意:
わかりやすくするために、次のコード・リストではXMLからネームスペース宣言を削除しています。

例36-8 body変数の値

<soap-env:body>
<req:legacyboolean>true</req:legacyboolean>
</soap-env:body>

これは、このWSDLを使用するプロキシ・サービスによって返されるレスポンスのbody変数($body)の値でもあります。

Oracle Service Busプラグインを使用するEclipseをはじめとする多くのツールでは、プロキシ・サービスのWSDL(ブラウザで、プロキシ・サービスのURLに?WSDL接尾辞を追加することによって取得)を受け取り、適切なリクエスト・パラメータとレスポンス・パラメータを持つJavaクラスを生成して、サービスの操作を呼び出します。このJavaクラスを使用して、このWSDLを使用するプロキシ・サービスを呼び出すことができます。

36.4.3 SOAP RPCのWebサービス

プロキシ・サービスをRPCスタイルのプロキシ・サービスとして構成し、ビジネス・サービスをRPCスタイルのビジネス・サービスとして構成することができます。

例36-9に、SOAP 1.1を使用するRPCスタイルのWebサービスのWSDLの例を示します。

例36-9 RPCスタイルのサンプルWebサービスのWSDL

<definitions name="Lookup"
targetNamespace="http://example.com/lookup/service/defs"
xmlns:tns="http://example.com/lookup/service/defs"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:docs="http://example.com/lookup/docs"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<xs:schema targetNamespace="http://example.com/lookup/docs" elementFormDefault="qualified">
<xs:complexType name="RequestDoc">
<xs:sequence>
<xs:element name="PurchaseOrg" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ResponseDoc">
<xs:sequence>
<xs:element name="LegacyBoolean" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</types>
<message name="lookupReq">
<part name="request" type="docs: RequestDoc"/>
</message>
<message name="lookupResp">
<part name="result" type="docs: ResponseDoc"/>
</message>
<portType name="LookupPortType">
<operation name="lookup">
<input message="tns:lookupReq"/>
<output message="tns:lookupResp"/>
</operation>
</portType>
<binding name="LookupBinding" type="tns:lookupPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="lookup">
<soap:operation/>
<input>
<soap:body use="literal" namespace="http://example.com/lookup/service"/>
</input>
<output>
<soap:body use="literal" namespace="http://example.com/lookup/service"/>
</output>
</operation>
</binding>
</definitions>

前述のサービスには、lookupという操作(Javaクラスのメソッドに相当)が含まれています。バインディングは、これがSOAP RPC Webサービスであることを示しています。つまり、このWebサービスの操作では、一連のリクエスト・パラメータを受け取り、一連のレスポンス・パラメータを返します。lookup操作には、requestというパラメータとresultという戻りパラメータがあります。バインディングにおける操作のネームスペースは次のとおりです。

http://example.com/lookup/service/defs

例36-9のWSDLをリクエストに使用したときに、SOAP RPCプロキシ・サービスが取得するbody変数($body)の値を例36-10に示します。

注意:
わかりやすくするために、次のコード・リストではXMLからネームスペース宣言を削除しています。

例36-10 body変数の値

<soap-env:body>
<ns:lookup>
<request>
<req:purchaseorg>Oracle</req:purchaseorg>
</request>
</ns:lookup>
<soap-env:body>

ここで、soap-envは定義済のSOAP 1.1ネームスペース、nsは操作のネームスペース(<http://example.com/lookup/service>)、reqはPurchaseOrg要素のネームスペース(http://example.com/lookup/docs)です。

プロキシ・サービスによるメッセージのルーティング先となるビジネス・サービスで例36-10のWSDLを使用した場合、例36-11に示すbody変数($body)の値は、プロキシ・サービスのbody変数($body)の値になります。

このWSDLがリクエストに使用された場合に呼び出されたビジネス・サービスからプロキシ・サービスが受信するレスポンスのbody変数($body)の値を例36-10に示します。

例36-11 body変数の値

<soap-env:body>
<ns:lookupResponse>
<result>
<req:legacyboolean>true</req:legacyboolean>
</result>
</ns:lookupResponse>
<soap-env:body>

これは、このWSDLを使用するプロキシ・サービスによって返されるレスポンスのbody変数($body)の値でもあります。

Oracle Service Busプラグインを使用するEclipseをはじめとする多くのツールでは、プロキシ・サービスのWSDL(ブラウザで、プロキシのURLに?WSDL接尾辞を追加することによって取得)を受け取り、適切なリクエスト・パラメータとレスポンス・パラメータを持つJavaクラスを生成して、そのサービスの操作を呼び出します。このようなJavaクラスを使用して、このWSDLを使用するプロキシ・サービスを呼び出すことができます。

WSDLを使用する利点は次のとおりです。

- システムでWSDLの各操作のメトリックを提供できます。

- パイプラインで操作ブランチが可能になります。詳細は、37.2項「メッセージ・フローの分岐」を参照してください。

- SOAP 1.1サービスの場合、プロキシ・サービスが呼び出すサービスにSOAPActionヘッダーが自動的に作成されます。SOAP 1.2サービスの場合、プロキシ・サービスが呼び出すサービスにContent-Typeヘッダーのactionパラメータが自動的に作成されます。

- WS-Securityを使用するサービスにはWSDLが必要です。WS-PolicyはWSDLに添付されます。

- システムが<url>?WSDL構文をサポートしているため、HTTPプロキシ・サービスのWSDLを動的に取得できます。この機能は、Oracle Service Busプラグインを使用するEclipseをはじめとする多くのSOAPクライアント生成ツールで役立ちます。詳細は、4.30項「Webブラウザでのリソースの表示」を参照してください。

- XQueryエディタ、XPathエディタ、および条件ビルダーでは、プロキシ・サービスのWSDLのリクエスト・メッセージにbodyコンテンツ変数($body)がデフォルトでマップされるため、$bodyの操作が容易になります。第39章「メッセージ・コンテキスト」を参照してください。

- 特定のアクションにおける$bodyの実行時のコンテンツが、エディタに表示されるデフォルト・マッピングと異なる場合があります。これは、Oracle Service Busが型付きの変数を宣言して使用するプログラミング言語ではないためです。変数は型なしであり、値が割り当てられると実行時に動的に作成されます。また、変数の型は、メッセージ・フローの任意の位置でコンテンツに基づく型になります。XQuery式およびXPath式を容易に作成できるように、設計時エディタでは、指定した変数を型にマップすることによって、その変数の型をマップできます。XQueryエディタおよびXPathエディタを使用して式を作成する方法については、37.11項「変数の構造での作業」を参照してください。

36.5 WSDLポートとWSDLバインディングに基づくサービスの作成

WSDLリソースに基づいてサービスを作成する場合、サービスは次のようにWSDLポートまたはWSDLバインディングに基づいている必要があります。

- WSDLリソースのバインディングに基づいて新しいサービスを作成する場合は、WSDLリソースで選択した<binding>要素で定義されているプロトコルとデータ・フォーマットを選択します。

- WSDLリソースのポートに基づいて新しいサービスを作成する場合は、<port>要素で定義されているバインディングとネットワーク・アドレスを選択します。

サービスを作成または変更するときに、トランスポート方式は変更できますが、データ・フォーマットをオーバーライドすることはできません。

元のWSDLリソースのポート定義とバインディング定義は、次に説明する様々な要因に応じて有効なWSDL内で変更されます。

36.5.1 プロキシ・サービス用に生成される有効なWSDLの特性

プロキシ・サービス用に生成される有効なWSDLには、次の特性があります。

- 有効なWSDLに含まれるwsdl:serviceセクションは1つのみです。

- wsdl:serviceセクションに含まれるwsdl:portセクションは1つのみです。

- SOAPサービスの場合、既存の<wsdl:service>定義が削除され、<wsdl:port>が1つ含まれた新しいサービス定義が作成されます。

- サポートされているすべてのトランスポートのSOAPバインディングでは、wsdl:bindingセクションに標準のWSDL SOAPバインディング要素と、トランスポートを識別する一意のトランスポートURIが含まれます。

- XML over HTTPバインディングでは、wsdl:bindingセクションでWSDL 1.1仕様で指定された標準のバインディング要素が使用されます。

- サポートされている他のすべてのトランスポートのXMLバインディングでは、wsdl:bindingセクションでOracle (Oracle Service Bus)独自のWSDL XMLバインディング要素が使用されます。

- サービスがバインディングに基づいている場合

- WSDLリソースのバインディングYからサービスが生成されると、有効なWSDLで新しいサービスとポート(<bindingname>QSServiceと<bindingname>QSPort)が定義されます。WSDLリソースで定義されているポートは、有効なWSDLには含まれません。

- そのバインディングに関連付けられたWSDLに複数のポートが含まれている場合があります。ポートごとに異なるURLを使用できます。そのため、有効なWSDLではこのバインディングが使用されますが、バインディングに対応するサービスの構成から代用ポートが生成されます。他のポートはすべて削除されます。

- サービスがポートに基づいている場合

- WSDLリソースのポートXからサービスが生成されると、有効なWSDLでもポートXが定義されます。WSDLリソースで定義されているその他のポートは含まれません。また、WSDLポートに基づいてプロキシ・サービスを作成した場合、有効なWSDLではそのポート名が使用されます。バインディングはポートから決定され、ポート・タイプはバインディングから決定されます。

- 有効なWSDLには、WSDLリソースで定義されているポートに関連付けられたすべてのWS-Policyが保持されます。

- WSDLリソースのポート定義で指定されているトランスポート・アドレスは、有効なWSDLでプロキシ・サービスのアドレスとしては使用されません。
HTTPサービスでは、管理コンソールまたはプラグインでトランスポートを構成するときに、トランスポート・アドレスを指定する必要があります。このアドレスが有効なWSDLのポート定義で使用されます。

Oracle Service Busは常にプロキシ・サービスをホストするため、プロキシ・サービスのトランスポート・アドレスとして指定したURLは、常にOracle Service Busドメイン内のパスからの相対位置になります。

- SOAPプロトコル・ベースのWSDLサービスの場合、SOAPバインディングのトランスポートURIはトランスポートの実装によって異なります。標準のトランスポート(HTTPやJMSなど)の場合、この値はSOAP仕様または汎用的に受け入れられる別の値に従います。SOAPで標準の値が定義されていないトランスポートの場合、Oracle Service Busは末尾にトランスポートIDを付加した定義済のネームスペース(http://www.oracle.com/transport/2007/05/)で構成される値を設定します。

- 有効なWSDLに含まれるサービス要素は1つです。また、ポート・アドレスには、バインディングで選択されているトランスポートで構文とセマンティクスが定義されたURLが含まれます。

36.5.1.1 非トランスポート型ビジネス・サービス用に生成される有効なWSDLの特性

非トランスポート型ビジネス・サービス用に生成される有効なWSDLには、次の特性があります。

- 有効なWSDLに含まれるwsdl:serviceセクションは1つのみです。

- wsdl:service sectionには、複数のwsdl:portセクションが含まれる場合があります。通常、これが該当するのは、ロード・バランシングを使用しており、サポートされるロード・バランシング・アルゴリズムのいずれかを使用することによって使用できる複数のエンド・ポイント・アドレスが存在する場合です。

- サポートされているすべてのトランスポートのSOAPバインディングでは、wsdl:bindingセクションに標準のWSDL SOAPバインディング要素と、トランスポートを識別する一意のトランスポートURIが含まれます。

- サポートされているすべてのトランスポートのXMLバインディングでは、wsdl:bindingセクションにOracleのWSDL XMLバインディング要素が含まれます。

- トランスポート・アドレスとして指定されたURLは、リモート・サービスがホストされるリモートの場所を示します。

- サービスがポートに基づいている場合

- 有効なWSDLでは、新しいサービスの基になっているテンプレートのポートと同じ名前を使用してポートが定義されます。ビジネス・サービスの複数のエンドポイント・アドレスが構成されている場合、そのサービスから生成される有効なWSDLですべてのエンドポイントのポートが定義されます。これらのポートには、<portname_in_template>_1, <portname_in_template>_2(以降も同様)という名前が付けられます。

- 新しいサービスのバインディングはポートから決定され、ポート・タイプはバインディングから決定されます。

- トランスポート・アドレスのURLは、リモート・サービスがホストされるリモートの場所を示します。

- サービスがバインディングに基づいている場合

- 有効なWSDLでは、WSDLリソースのポートに基づいて新しいサービスとポートが定義されます。WSDLリソースで定義されているポートは、有効なWSDLには含まれません。

- WSDLリソースのバインディングが複数のポートに関連付けられている場合があります。ポートごとに異なるURLを使用でき、それぞれ異なるWS-Policyを添付できます。そのため、生成されるWSDLではこのバインディングが使用されますが、バインディング用にWS-Policyが添付されていない代用ポートが生成されます。

- XMLベースのWSDLサービスでは、サービスでHTTPトランスポートを使用している場合にのみ、標準のHTTPバインディングが使用されます。XMLベースのWSDLから作成される他のすべてのサービスでは、有効なWSDLでOracleバインディングが使用されます。

36.5.1.2 トランスポート型ビジネス・サービス用に生成される有効なWSDLの特性

Oracle Service Busは、トランスポート型ビジネス・サービス用に生成される有効なWSDLのwsdl:serviceセクションが1つのみであることを保証しません。WSDLはトランスポートによって生成されるため、Oracle Service Busがserviceセクションとportセクションを生成することはなく、クリーンアップも行いません。ただし、Oracle Service Busは依存関係を評価し、エクスポート時に参照を設定します。

36.5.1.3 クラスタリングされたドメインでの有効なWSDLの生成

クラスタリングされたドメインで有効なWSDLを生成する場合、Oracle Service Busはサーバーまたはクラスタの構成に基づいてエンドポイントURLを書き換えます。フロント・エンドHTTPホスト/ポート(またはHTTPSエンドポイントのフロント・エンドHTTPSホスト/ポート)が指定されている場合は、そのホストまたはポートが使用されます。それ以外の場合は、管理対象サーバーのホストまたはポートが使用されます。クラスタリングされたドメインでは、フロント・エンドHTTPまたはHTTPSホスト/ポートを割り当てることを強くお薦めします。

36.5.1.4 ポートとバインディングに基づくプロキシ・サービスの例

例36-12に、WSDLリソースのポート定義とバインディング定義のフラグメントを示します。

例36-12 WSDLリソース

<portType name="StockQuotePortType">
...
</portType>
<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
...
</binding>
<service name="StockQuoteService">
<port name="StockQuotePort" binding="tns:StockQuoteSoapBinding">
<soap:address location="http://example.com:9999/stockquote"/>
</port>
<port name="StockQuotePortUK" binding="tns:StockQuoteSoapBinding">
<soap:address location="http://example.uk:9999/stockquote"/>
</port>
</service>

36.5.1.4.1 ポートに基づくサービスの作成

例36-12のStockQuotePortポートに基づいてプロキシ・サービスを作成すると、有効なWSDLは例36-13のフラグメントのようになります。

例36-13 ポートに基づいたプロキシ・サービスの有効なWSDL

<binding name="StockQuoteSoapBinding" type="ns:StockQuotePortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
...
</binding>
<service name="StockQuoteService">
<port name="StockQuotePort" binding="ns:StockQuoteSoapBinding">
<soap:address location="http://host:port/project/proxyname"/>
</port>
</service>

この例について、次の点に注意してください。

- テンプレートと有効なWSDLのサービス名(StockQuoteService)は同じです。

- テンプレートと有効なWSDLのバインディングは同じです。この例のバインディングでは、サービスがSOAPドキュメント・スタイルのメッセージにHTTP転送プロトコルを使用することを指定しています。(この例では示されていませんが、テンプレートと有効なWSDLで同じバインディング操作も指定しています)。

- WSDLリソースで定義されている2つ目のポートStockQuotePortUKは、有効なWSDLでは定義されていません。

- WSDLリソースのポートで定義されているトランスポート・アドレス(URI)http://example.com:9999/stockquoteは、有効なWSDLのポートで生成されたアドレスhttp://host:port/project_path/proxy_service_nameとは異なります。有効なWSDLでは、Oracle Service Bus管理コンソールまたはOracle Service Busプラグインを使用するEclipseでのトランスポート構成に指定したアドレスが使用されます。

36.5.1.4.2 バインディングに基づくサービスの作成

例36-12のStockQuoteBindingバインディングに基づいてプロキシ・サービスを作成すると、有効なWSDLは例36-14のフラグメントのようになります。

例36-14 バインディングに基づいたプロキシ・サービスの有効なWSDL

<binding name="StockQuoteSoapBinding" type="ns:StockQuotePortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
...
</binding>
<wsdl:service name="StockQuoteSoapBindingQSService"
<wsdl:port name="StockQuoteSoapBindingQSPort"
binding="ns:StockQuoteSoapBinding">
<soap:address location="http:/host:port/project/proxyname"/>
</wsdl:port>
</wsdl:service>

この例について、次の点に注意してください。

- WSDLリソースのサービスとポートは、有効なWSDLで生成されたサービスとポートとは異なります。

- WSDLリソースと有効なWSDLのサービス名は異なります。テンプレートではStockQuoteService、有効なWSDLではStockQuoteSoapBindingQSServiceです。

- WSDLリソースと有効なWSDLのバインディングは同じです。この例のバインディングでは、サービスがSOAPドキュメント・スタイルのメッセージにHTTP転送プロトコルを使用することを指定しています。

- この例では示されていませんが、テンプレートと有効なWSDLのバインディングでは、同じバインディング操作を指定しています。

- WSDLリソースのポートで定義されているトランスポート・アドレス(URI)http://example.com:9999/stockquoteは、有効なWSDLのポートで生成されたアドレスhttp://host:port/project/stockquoteとは異なります。

36.5.2 任意のSOAPサービス・タイプまたは任意のXMLサービス・タイプの使用

1つのポートのみを公開してクライアントに様々なエンタープライズ・アプリケーションを提供するには、任意のSOAPまたは任意のXMLサービス・タイプを使用します。任意のSOAPの場合、SOAP 1.1とSOAP 1.2のどちらであるかを指定する必要があります。

36.5.3 メッセージング・サービス・タイプの使用

リクエスト・メッセージまたはレスポンス・メッセージのいずれかがXML以外である場合、メッセージング・サービス・タイプを使用する必要があります。

Oracle Service Busでは、誤りのあるSOAPヘッダーのチェックは自動では行われません。ただし、XQuery条件式と検証アクションを使用することで、この種のチェックを明示的に実行できます。検証アクションの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の検証アクションの追加に関する項または検証アクションのプロパティに関する項を参照してください。XQuery条件式の詳細については『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の第23章「プロキシ・サービス: XQueryエディタとXPathエディタ」または条件エディタに関する説明を参照してください。

Oracle Service Busを使用して検証アクションを構成し、メッセージ・フローでXQuery条件式を使用して検証チェックを明示的に実行できます。

サービス・タイプの詳細は、20.1項「プロキシ・サービスの作成と構成」の「「全般的な構成」ページ」を参照してください。

36.6 プロキシ・サービスの構成

次の項では、プロキシ・サービスの構成の概要を説明します。プロキシ・サービスを構成する際の特定の手順については、次を参照してください。

- 第20章「プロキシ・サービス: 作成と管理」

- 『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のプロキシ・サービスの操作に関する項

36.6.1 プロキシ・サービスのタイプとトランスポート

各プロキシ・サービスは特定のタイプであり、それぞれのタイプに適した転送プロトコルで使用できます。Oracle Service Busでは、複数の標準トランスポートとカスタム・トランスポートをサポートしています。サービス・タイプと各タイプで使用できる標準トランスポートを表36-2に示します。

表36-2 Oracle Service Busでサポートされるプロキシ・サービスのタイプとトランスポート

サービス・タイプ

説明

このサービス・タイプでサポートされる標準の転送プロトコル

WSDL Webサービス

WSDLドキュメントでインタフェースが記述されたSOAPプロキシ・サービスまたはXMLプロキシ・サービス。

HTTP

JCA

JMS

ローカル

SB

WS

トランスポート型付きのサービス

(WSDLなし)

JEJBトランスポートを使用するサービス。

JEJB

メッセージング・サービス

(WSDLなし)

バイナリ、テキスト、MFL、XMLなどの様々なデータ型のリクエスト・メッセージとレスポンス・メッセージを使用できるメッセージング・サービス。

電子メール

ファイル

FTP

HTTP

JMS

ローカル

MQ

SFTP

TUXEDO

任意のSOAPサービス

(WSDLなし)

明示的に定義された具象インタフェースを持たないSOAPサービス。

HTTP

JMS

ローカル

SB

任意のXMLサービス

(非SOAP、WSDLなし)

明示的に定義された具象インタフェースを持たないXMLサービス。

電子メール

ファイル

FTP

HTTP

JMS

ローカル

MQ

SB

SFTP

TUXEDO

注意:
すべてのサービス・タイプで、MIMEを使用して添付ファイルを送受信できます。

36.6.2 プロキシ・サービスのトランスポートとセキュリティの構成

Oracle Service Bus管理コンソールまたはOracle Service Busプラグインを使用するEclipseでのすべてのプロキシ・サービス・タイプに対して、トランスポート設定を構成する必要があります。構成の詳細は、トランスポートの種類によって異なります。特定の構成設定については、20.2.3項「「トランスポート構成」ページ」および20.2.4項「プロトコル固有のトランスポート構成ページ」を参照してください。

選択するトランスポートは、バインディング定義で必要とされるトランスポート・モード(リクエスト/レスポンス、一方向、または両方)をサポートする必要があり、それに従って構成する必要があります。

両方のモードでメッセージを交換するサービスの場合、(リクエスト/レスポンスを2つの非同期呼出しとして実装するJMSなどのトランスポートで)トランスポート・モードを適宜選択するようにバインディング・レイヤーを構成する必要があります。サービスが具象型の場合、バインディング定義の記述に従って、この選択が自動的に行われます。サービスが具象型でない場合、バインディング・レイヤーを構成するには、$outbound変数でモードを設定する必要があります。

トランスポートとWSDLに基づいて、トランスポート・モードが自動的に選択されますが、$inboundまたは$outboundで上書きできます。

サービス・プロバイダを使用して、プロキシ・サービスのセキュリティを指定できます。サービス・プロバイダが必要となるのは、プロキシ・サービスがクライアント証明書認証を必要とするHTTPSサービスにメッセージをルーティングする場合です。また、一部のメッセージ・レベルのセキュリティ・シナリオで必要となる場合もあります。

サービス・アカウントを作成して、ビジネス・サービスへの接続時に認証を行うことができます。サービス・アカウントは、必要なユーザー名とパスワードの組合せのエイリアス・リソースとして機能します。

Oracle WebLogic Serverを使用して、資格証明レベルの検証を必要とするビジネス・サービスのセキュリティ資格証明を直接管理することができます。

詳細は、第18章「サービス・キー・プロバイダ」を参照してください。また、36.6.5項「プロキシ・サービスのセキュリティ関連の検証」も参照してください。

36.6.3 プロキシ・サービスの各タイプの構成設定

プロキシ・サービスの各タイプは、同じパターンに従ってモデル化されています。各サービス・タイプでは、次の構成を定義する必要があります。

- バインディング定義

- ランタイム構成

- ランタイム変数($operation、$body、$header、$attachments)

プロキシ・サービスの各タイプに固有の構成のプロパティを表36-3に示します。

表36-3プロキシ・サービスのさまざまなタイプの構成のプロパティ

プロキシ・サービスのタイプ

構成プロパティ

WSDL Webサービス

バインディング定義: 36.4項「WSDLを使用したサービスの定義」を参照してください。

ランタイム変数:

- SOAPベースのWSDLサービスの場合、操作選択アルゴリズムに基づいて$operationが初期化される点を除き、変数は任意のSOAPサービスと同様です(20.2.17項「「操作選択構成」ページ」を参照してください)。

- XMLベースのWSDLサービスの場合、操作選択アルゴリズムに基づいて$operationが初期化される点を除き、変数は任意のXMLサービスと同様です。

トランスポート・タイプ

トランスポート型付きのサービスは、空のバインディング定義を持ちます。WSDLは指定されません。

トランスポート型付きのサービスは、Oracle Service Busを介したEJBによる呼出しを可能にするインバウンド・トランスポートです。これは、サービス・インタフェースを記述するWSDLを生成する自己記述型のトランスポートです。JEJBトランスポートは、トランザクションとセキュリティ・コンテキストの伝播を特徴とします。

メッセージング・サービス

バインディング定義: メッセージング・サービスのバインディング定義は、交換されるメッセージのコンテンツ・タイプの構成で構成されます。レスポンスのコンテンツ・タイプは、リクエストのコンテンツ・タイプと同じである必要はありません。そのため、レスポンスは個別に構成されます(たとえば、サービスでMFLメッセージを受け入れ、XMLの受信確認を返すことができます)。また、レスポンスのコンテンツ・タイプを「なし」に設定することもできます。

定義上、メッセージング・ベースのサービスにはWSDL定義はありません。これらのサービスのWSDLドキュメントをリクエストすることはできません。

リクエストおよびレスポンスから選択するコンテンツ・タイプは、次のとおりです。

- なし

- バイナリ

- テキスト

- MFL

- XML

- Java

注意: サービスからの成功または失敗のメッセージをコール元のクライアントに伝搬するために、パイプラインで返信アクションを使用している場合は、「なし」以外のオプションを選択します。「なし」オプションによって、返信がブロックされます。

ランタイム変数:

このサービス・タイプはメッセージ・ベースです。Webサービスには、複数の「操作」という概念はありません。したがって、$operation変数は空のままになります。

$body変数には、<soap:Body>要素内にラップされた受信メッセージが保持されます(SOAP 1.1プロキシの場合、$bodyではSOAP 1.1ネームスペース本体を使用し、SOAP 1.2プロキシでは、SOAP 1.2ネームスペース本体を使用します)。

$header変数はこのサービス・タイプには適用されず、デフォルト値に設定されます。

メッセージに添付ファイルがある場合は、$attachments変数に格納されます。

メッセージ・コンテキスト変数の詳細は、39.3項「メッセージ関連の変数」および39.9項「ディスパッチするメッセージの作成」を参照してください。

任意のSOAPサービス

バインディング定義: このサービス・タイプで定義する情報は、WSDLバインディング定義に関係なく、サービスでSOAPメッセージを受信または送信するということのみです。したがって、このタイプのバインディング構成は空になります。

また、バインディング構成が存在しないため、このタイプとメッセージのコンテンツ・タイプの組合せから、メッセージに添付ファイルがあるかどうかを十分判別できます。

定義上、「任意の」サービス(SOAPまたはXML)にはWSDL定義はありません。これらのサービスのWSDLドキュメントを生成または表示することはできません。

ランタイム変数:

$body変数と$header変数に、受信SOAPメッセージの<soap:Body>と<soap:Header>がそれぞれ保持されます(SOAP 1.1プロキシの場合、$bodyと$headerではSOAP 1.1ネームスペース本体とネームスペースを使用し、SOAP 1.2プロキシではSOAP 1.2ネームスペース本体とネームスペースを使用します)。

SOAPメッセージに添付ファイルがある場合は、$attachments変数に格納されます。

ポート・タイプを定義しないため、$operation変数はこのサービス・タイプには適用されません。

メッセージ・コンテキスト変数の詳細は、39.3項「メッセージ関連の変数」および39.9項「ディスパッチするメッセージの作成」を参照してください。

任意のXMLサービス

バインディング定義: このサービス・タイプで定義する情報は、WSDLバインディング定義に関係なく、サービスでXMLメッセージを受信または送信するということのみです。したがって、このタイプのバインディング構成は空になります。

また、バインディング構成が存在しないため、このタイプとメッセージのコンテンツ・タイプの組合せから、メッセージに添付ファイルがあるかどうかを十分判別できます。

定義上、「任意の」サービス(SOAPまたはXML)にはWSDL定義はありません。これらのサービスのWSDLドキュメントをリクエストすることはできません。

ランタイム変数:

$body変数には、<soap:Body>要素内にラップされた受信XMLメッセージが保持されます(SOAP 1.1プロキシの場合、$bodyと$headerではSOAP 1.1ネームスペース本体とネームスペースを使用し、SOAP 1.2プロキシではSOAP 1.2ネームスペース本体とネームスペースを使用します)。

メッセージに添付ファイルがある場合は、$attachments変数に格納されます。

$header変数はこのサービス・タイプには適用されず、デフォルト値に設定されます。

ポート・タイプを定義しないため、$operation変数はこのサービス・タイプには適用されません。

メッセージ・コンテキスト変数の詳細は、39.3項「メッセージ関連の変数」および39.9項「ディスパッチするメッセージの作成」を参照してください。

36.6.4 メッセージ・フローの構成

プロキシ・サービスのメッセージ・フロー定義では、プロキシ・サービスを介したメッセージ・フローでメッセージを処理する方法を決定するロジックを定義します。メッセージ・フロー定義では、必要に応じてメッセージを変換し、メッセージ・データをビジネス・サービス(アウトバウンド・メッセージの場合)または送信元のクライアント(インバウンド・メッセージの場合)に必要なフォーマットにマップします。次に、メッセージは適切な場所にルーティングされます。メッセージ・フローの構成については、第37章「Oracle Service Busでのメッセージ・フローの作成」を参照してください。

36.6.5 プロキシ・サービスのセキュリティ関連の検証

アクティブなプロキシ・サービスへの変更が含まれるセッションをアクティブ化する場合、Oracle Service Busは変更を検証して、プロキシ・サービスの静的なエンドポイントに必要なすべての資格証明が作成されているかどうかを確認します。たとえば、Webサービスを静的なエンドポイントとして使用するようにプロキシ・サービスを構成しており、そのWebサービスがデジタル署名を必要とする場合、Oracle Service Busはプロキシ・サービスにサービス・キー・プロバイダが関連付けられているかどうか、また、サービス・キー・プロバイダにデジタル署名として使用できるキー・ペア・バインディングが含まれているかどうかを検証します。

セッションにサービス・キー・プロバイダのキー・ペア・バインディングへの変更が含まれている場合は、そのサービス・キー・プロバイダを使用するすべてのプロキシ・サービスに対して変更が検証されます。たとえば、暗号化用のキー・ペアを削除すると、暗号化が必要なエンドポイントを含むプロキシ・サービス・プロバイダを参照しているプロキシ・サービスに対して、検証エラーが報告されます。

次の条件により、セキュリティ関連の検証が実行されるタイミングと、検証中に行われるアクションが決定されます。

- プロキシ・サービスが静的なルートと処理を指定している場合は、静的なルートおよび処理に必要な資格証明が決定されます。必要な資格証明がプロキシ・サービスに含まれていない場合は、その資格証明が追加されるまで、セッションはコミットされません。

- プロキシ・サービスが静的なルートを指定しており、処理がインバウンド・リクエストからパススルーされる場合は、静的なルートおよび各ルートの処理に必要な資格証明が決定されます。必要な資格がプロキシ・サービスに含まれていない場合は、検証の警告が表示されますが、セッションをコミットすることはできます。

- プロキシ・サービスが動的なルートと処理を指定する場合は、セキュリティ要件を検証できないため、ランタイム・エラーが発生するおそれがあります。動的ルーティングについては、37.8項「動的ルーティングの使用」を参照してください。

36.7 ビジネス・サービスの構成

次の項で、ビジネス・サービス構成の概要について説明します。

この項の内容は次のとおりです。

- 36.7.1項「ビジネス・サービスのタイプとトランスポート」

- 36.7.2項「ビジネス・サービスのすべてのタイプの構成設定」

- 36.7.3項「ビジネス・サービスの各タイプの構成設定」

- 36.7.4項「プロキシ・サーバーの使用」

- 36.7.5項「ビジネス・サービスの結果のキャッシュによるパフォーマンスの改善」

ビジネス・サービスの構成の特定の手順については、次を参照してください。

- 第19章「ビジネス・サービス: 作成と管理」

- 『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のビジネス・サービスの操作に関する項

36.7.1 ビジネス・サービスのタイプとトランスポート

各ビジネス・サービスは特定のタイプであり、それぞれのタイプに適した転送プロトコルで使用できます。Oracle Service Busでは、複数の標準トランスポートとカスタム・トランスポートをサポートしています。サービス・タイプと各タイプで使用できる標準トランスポートを表36-4に示します。

表36-4 Oracle Service Busでサポートされるビジネス・サービスのタイプとトランスポート

サービス・タイプ

説明

転送プロトコル

WSDL Webサービス

WSDLドキュメントでインタフェースが記述されたSOAPビジネス・サービスまたはXMLビジネス・サービス。

BPEL-10g

DSP

HTTP

JCA

JMS

ローカル脚注 1

SB

SOA-DIRECT

WS

トランスポート型付きのサービス

(WSDLなし)

EJB、JEJBまたはフロー(分割-結合)トランスポートを使用するサービス。

EJB

フロー

JEJB

メッセージング・タイプのサービス

(WSDLなし)

バイナリ、テキスト、MFL、XMLなどの様々なデータ型のリクエスト・メッセージとレスポンス・メッセージを使用できるメッセージング・サービス。

電子メール

ファイル

FTP

HTTP

JMS

ローカル

MQ

SFTP

TUXEDO

任意のSOAPサービス

(WSDLなし)

明示的に定義された具象インタフェースを持たないSOAPサービス。

DSP

HTTP

JMS

ローカル

SB

任意のXMLサービス

(WSDLなし)

明示的に定義された具象インタフェースを持たないXMLサービス。

DSP

電子メール

ファイル

FTP

HTTP

JMS

ローカル

MQ

SB

SFTP

TUXEDO脚注 2

脚注 1 2つのプロキシ・サービス間の通信には、ローカル・トランスポートを使用することをお薦めします。ローカル・トランスポートの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のローカル・トランスポートに関する項を参照してください。

脚注 2 Tuxedoトランスポートベースのサービスでは、サービス・タイプがXMLの場合、TuxedoクライアントのFLD_MBSTRINGフィールドを含むFML32バッファはXMLに変換されません。

様々な転送プロトコルに基づいたプロキシ・サービスおよびビジネス・サービスの構成の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のトランスポートに関する項を参照してください。

36.7.2 ビジネス・サービスのすべてのタイプの構成設定

ビジネス・サービスの各タイプは、同じパターンに従ってモデル化されています。各サービス・タイプでは、次の構成を定義する必要があります。

- バインディング定義

- ランタイム構成

- ランタイム変数($operation、$body、$header、$attachments)

表36-5に示すビジネス・サービスの構成のプロパティは、すべてのサービス・タイプに共通するものです。各サービス・タイプに固有のプロパティについては、36.7.3項「ビジネス・サービスの各タイプの構成設定」を参照してください。

表36-5 ビジネス・サービスの共通する構成のプロパティ

プロパティ

説明

リソース定義

リソース定義は、次のもので構成されます。

- サービス名(プロジェクト名、パス名、およびローカル名)

- サービスの説明(オプション)

- サービス・タイプ

トランスポート構成

各ビジネス・サービスの次のパラメータを構成できます。

- <string URI, integer weight>のペア(<http://www.example.com, 100>など)のリスト。ランダムな重みベースのリストには、少なくとも1つの要素が含まれます。

- ロード・バランシング・アルゴリズム - 列挙値(ラウンド・ロビン、ランダム、ランダムな重みベースのいずれか)。ランダムな重みベースを選択すると、各URIに重みを適用できます。

- 再試行回数

- 再試行の反復間隔

- アプリケーション・エラーの再試行

選択するトランスポート方式は、バインディング定義で必要とされるトランスポート・モード(リクエスト/レスポンス、一方向、または両方)をサポートできる必要があり、それに従って構成する必要があります。

両方のモード(リクエスト/レスポンスと一方向)でメッセージを交換するサービスでは、トランスポート・モードを適宜選択できるようにバインディング・レイヤーを構成する必要があります。サービスが具象型の場合、バインディング定義の記述に従って、この選択が自動的に行われます。サービスが具象型でない場合、バインディング・レイヤーを構成するには、メッセージ・フローでルーティング・オプション・アクションを使用して、ルートまたはパブリッシュのモードを設定する必要があります。

トランスポート方式とWSDLまたはインタフェースに基づいて、トランスポート・モードが自動的に選択されますが、ルート・アクションまたはパブリッシュ・アクションのルーティング・オプション・アクションを使用して上書きできます。

結果キャッシュ

すべてのビジネス・サービスで、ビジネス・サービスの呼出しの結果をキャッシュするかどうかおよびキャッシュ方法を決定できます。サービス構成の「メッセージ処理」セクションにあるこの機能によって、結果があまり変わらないサービスのパフォーマンスを改善できます。結果キャッシュを有効にすると、サービスの結果は、外部サービスを呼び出して結果を取得するのではなく、キャッシュから返されます。

詳細は、36.7.5項「ビジネス・サービスの結果のキャッシュによるパフォーマンスの改善」を参照してください。

36.7.3 ビジネス・サービスの各タイプの構成設定

ビジネス・サービスの各タイプに固有の構成のプロパティを表36-6に示します。

表36-6 ビジネス・サービスの様々なタイプの構成のプロパティ

プロパティ

説明

WSDL Webサービス

36.4項「WSDLを使用したサービスの定義」を参照してください。

任意のSOAPサービス

バインディング定義: このサービス・タイプで定義する情報は、WSDLバインディング定義に関係なく、サービスでSOAPメッセージを受信または送信するということのみです。したがって、このタイプのバインディング構成は空になります。

また、バインディング構成が存在しないため、このタイプとメッセージのコンテンツ・タイプの組合せから、メッセージに添付ファイルがあるかどうかを十分判別できます。

定義上、任意のサービス(SOAPまたはXML)にはWSDL定義はありません。

ランタイム変数:

$body変数と$header変数に、ビジネス・サービスにルーティングまたはパブリッシュされるSOAPメッセージの<soap:Body>と<soap:Header>がそれぞれ保持されます(SOAP 1.1プロキシの場合、$bodyと$headerではSOAP 1.1ネームスペース本体とネームスペースを使用し、SOAP 1.2プロキシではSOAP 1.2ネームスペース本体とネームスペースを使用します)。

SOAPメッセージに添付ファイルがある場合は、$attachments変数に格納されます。

メッセージ・コンテキスト変数の詳細は、39.3項「メッセージ関連の変数」を参照してください。

トランスポート・タイプ

トランスポート型付きのサービスには空のバインディング定義があります。WSDLは指定されません。かわりに、トランスポートによってサービスのWSDLが自動的に定義されます。このWSDLを含むzipは、Oracle Service Bus管理コンソールまたはEclipse用のOracle Service Busプラグインからエクスポートできます。このWSDLでは、ポートは定義されません。

EJB/JEJBトランスポート型付きサービスは、Oracle Service BusからEJBにアクセスするためのアウトバウンド・トランスポートです。これは、サービス・インタフェースを記述するWSDLを生成する自己記述型のトランスポートです。EJBとJEJBトランスポート機能には、トランザクションとセキュリティ・コンテキストの伝播が含まれます。

EJBまたはJEJBトランスポートを使用して構築されたビジネス・サービスは、パブリッシュ、サービス・コールアウトおよびサービス呼出しに使用できます。

任意のXMLサービス

バインディング定義: このサービス・タイプで定義する情報は、WSDLバインディング定義に関係なく、サービスでXMLメッセージを受信または送信するということのみです。したがって、このタイプのバインディング構成は空になります。

また、バインディング構成が存在しないため、このタイプとメッセージのコンテンツ・タイプの組合せから、メッセージに添付ファイルがあるかどうかを十分判別できます。

定義上、任意のサービス(SOAPまたはXML)にはWSDL定義はありません。

ランタイム変数:

$body変数には、<soap:Body>要素内にラップされた受信XMLメッセージが保持されます(SOAP 1.1プロキシの場合、$bodyではSOAP 1.1ネームスペース本体を使用し、SOAP 1.2プロキシではSOAP 1.2ネームスペース本体を使用します)。

メッセージに添付ファイルがある場合は、$attachments変数に格納されます。

$header変数はこのサービス・タイプには適用されず、デフォルト値に設定されます。

メッセージ・コンテキスト変数の詳細は、39.3項「メッセージ関連の変数」を参照してください。

メッセージング・サービス

バインディング定義: メッセージング・サービスのバインディング定義は、交換されるメッセージのコンテンツ・タイプの構成で構成されます。レスポンスのコンテンツ・タイプは、リクエストのコンテンツ・タイプと同じである必要はありません。そのため、レスポンスは個別に構成されます(たとえば、サービスでMFLメッセージを受信し、XMLの受信確認を返すことも可能です)。

定義上、メッセージング・ベースのサービスにはWSDL定義はありません。これらのサービスのWSDLドキュメントをリクエストすることはできません。

リクエストおよびレスポンスには、次のコンテンツ・タイプを使用できます。

- なし

- バイナリ

- テキスト

- MFL

- XML

- Java

ランタイム変数:

このサービス・タイプはメッセージ・ベースです。

$body変数には、<soap:Body>要素内にラップされた受信メッセージが保持されます(SOAP 1.1プロキシの場合、$bodyではSOAP 1.1ネームスペース本体を使用し、SOAP 1.2プロキシではSOAP 1.2ネームスペース本体を使用します)。

$header変数はこのサービス・タイプには適用されず、デフォルト値に設定されます。

メッセージに添付ファイルがある場合は、$attachments変数に格納されます。

メッセージ・コンテキスト変数の詳細は、39.3項「メッセージ関連の変数」を参照してください。

ビジネス・サービスでWebサービス・セキュリティが必要な場合は、ビジネス・サービスの作成時に、指定するWSDLに必要なWS-Policyがアタッチされていることを確認してください。さらに、ビジネス・サービスのWS-Policyにより暗号化が必要な場合は、ビジネス・サービスのパブリック証明書がWSDLに埋め込まれていることを確認してください。ビジネス・サービスがOracle WebLogic Server 9.0以降のWebサービスである場合は、http://<host>:<port>/<service url>?WSDLというURLを使用してWSDLを取得できます。必要に応じて、パブリック証明書が自動的に埋め込まれます。詳細は、4.30項「Webブラウザでのリソースの表示」を参照してください。

36.7.4 プロキシ・サーバーの使用

プロキシ・サーバーを介してメッセージをルーティングするように、ビジネス・サービスを構成できます。これを行うには、必要な資格証明と共に1つまたは複数のプロキシ・サーバーを指定するプロキシ・サーバー・リソースを作成します。その後、プロキシ・サーバー・リソースをビジネス・サービスに関連付けることができます。これにより、Oracle Service Busが、構成されたプロキシ・サーバーを使用してビジネス・サービスへの接続を行います。

複数のプロキシ・サーバーをリソースに追加することにより、Oracle Service Busでロード・バランシングを実行し、構成されたプロキシ・サーバー間でフォルト・トレランスを可能にします。資格証明はプロキシ・サーバーに対する接続を開く場合に使用されます。特定のプロキシ・サーバーにアクセスできない場合、Oracle Service Busは構成に含まれる次のプロキシ・サーバーを使用しようとします。すべてのプロキシ・サーバーにアクセスできない場合、Oracle Service Busはバック・エンド・サービスへの直接接続を試みます。これにも失敗すると、フォルトが発生して呼出し元に返送されます。

プロキシ・サーバーを構成する際、ホスト名またはIPアドレスに加えて、サーバーのクリア・テキストまたはSSLポート番号を指定できます。プロキシ・サーバー・リソース構成で指定されたポートは、バック・エンド・サービスのポートではなく、Webプロキシ・サーバーの実際の物理的なポートに対応するものです。ただし、ビジネス・サービスでのエンド・ポイント構成はバック・エンド・サービスの実際のエンド・ポイントに対応します。これはHTTP CONNECTコマンドを使用したSSL/TLSトンネリングの場合にも当てはまります。

注意: Webプロキシ・サーバーには、クリア・テキスト・ソケットを使用したHTTP CONNECTとSSLソケットを使用したHTTP CONNECTの両方をサポートするサーバーもあれば、クリア・テキスト・ソケットを使用したHTTP CONNECTのみをサポートするサーバーもあります。たとえば、 Oracle iPlanet Web Proxy Server 4.0は、クリア・テキスト・ソケットを使用したHTTP CONNECTおよびSSLソケットを使用したHTTP CONNECTをサポートしますが、プロキシ・サーバー・モードでのApache Web Server 2.2は、クリア・テキスト・ソケットを使用したHTTP CONNECTのみをサポートします。

通常は、SSL/TLSトンネリングをサポートする場合、物理的なプロキシ・サーバーにサーバーまたは認証局(CA)の証明書をインストールする必要はありません。かわりに、Webプロキシ・サーバーは安全なソケットを開くために、呼出し元(この場合、Oracle Service Bus)から受信した証明書を使用します。同様に、ビジネス・アプリケーションをホストするサーバーがクライアントの証明書を必要とする場合は、プロキシ・サービスをホストするサーバー(Oracle Service Bus)の証明書が認証に使用されます。

36.7.5 ビジネス・サービスの結果のキャッシュによるパフォーマンスの改善

頻繁に変更されることのない比較的静的な結果を返すビジネス・サービスを使用する場合、それらのビジネス・サービスが結果をキャッシュするよう構成できます。結果のキャッシュを有効にすると、サービスは、外部サービスを呼び出すのではなく、キャッシュから結果を返します。これにより、外部サービスにアクセスするネットワーク・オーバーヘッドが減り、パフォーマンスが向上します。結果キャッシュによって、外部サービスをホストするバックエンド・サービスの負荷が削減され、スケーラビリティの向上にもつながります。

この項では、結果キャッシュとは、すべてのビジネス・サービスで共有し、各結果を格納するキャッシュ自体のことで、キャッシュされた結果とは結果キャッシュ内の各結果のことです。

結果キャッシュを使用するビジネス・サービスでは、キャッシュされた結果の存続時間を制御できます。キャッシュされた結果の有効期限に達すると、次のビジネス・サービス・コールによってバックエンド・サービスが呼び出され、結果が取得されます。この結果はキャッシュに格納され、以降のアクセス・リクエストに使用されます。

Oracle Service Busで使用される結果キャッシュのメカニズムは、Oracle WebLogic Serverに含まれているOracle Coherence (Enterprise Edition)です。そのプロセッサでOracle WebLogic Serverのライセンスが有効であれば、Coherenceはそのコンピュータで使用できます。

Oracle Service Busの結果キャッシュの実装には、グロバールな有効化/無効化、キャッシュ・メッセージ変数、各ビジネス・サービスの構成フィールドおよびサービス統計、デバッグ、アラート・ルールとスマート検索に関するキャッシュ・オプションが含まれます。

この項では、Oracle Service Busの結果キャッシュの実装について説明します。

36.7.5.1 結果キャッシュの仕組み

図36-1に、ビジネス・サービスを呼び出し、キャッシュされた結果を含むレスポンスを受け取るクライアントを示します。

注意:
結果キャッシュは、リクエスト/レスポンス操作についてのみ機能します。

図36-1 ビジネス・サービスの結果キャッシュ

キャッシュされた各結果は、ServiceRef(完全修飾されたサービスのパス名であるサービスの一意の識別子)、呼び出される操作およびキャッシュ・トークン文字列で構成されるキャッシュ・キーによって一意に識別されます。キャッシュ・トークンは、あるビジネス・サービスの1つのキャッシュ結果を他のキャッシュ結果から一意に識別する場合に役立ちます。キャッシュ・トークンの値は制御されます。キャッシュ・トークンは、ビジネス・サービスの結果キャッシュ構成でキャッシュ・トークン式を構成することで、またはプロキシ・サービス・メッセージ・フローを使用する$transportMetaDataのcache-tokenメタデータ要素を使用することで設定できます。

ビジネス・サービスで、キャッシュ・キーを使用してキャッシュされた結果が特定されると、外部サービスを直接呼び出すかわりにキャッシュされた結果がクライアントに返されます。

図36-1で、実線の矢印は、クライアントとキャッシュされた結果とのメッセージ・パスを表します。点線の矢印は、キャッシュされた結果がない場合のメッセージ・パスを表します。キャッシュされた結果がない場合、ビジネス・サービスは外部サービスを直接呼出し、結果をクライアントに返して、結果をキャッシュに格納します。初めての呼出しでキャッシュがまだない、キャッシュのエラー、キャッシュがフラッシュされたなどの様々な理由から、結果のキャッシュが空の場合があります。

キャッシュされた結果には、キャッシュの有効期限として存続時間(TTL)属性があります。キャッシュの有効期限は、ビジネス・サービスの「結果キャッシュ」構成の「有効期限」プロパティまたはプロキシ・サービス・メッセージ・フローを使用する$transportMetaDataのcache-ttl要素を使用して構成できます。Oracle CoherenceでTTLの期限が過ぎていることが検出されると、キャッシュがフラッシュされ、ビジネス・サービスによって外部サービスが呼び出されて結果が取得されます。結果はキャッシュに格納され(結果にエラーがない場合)、次のリクエストで返すことができるようになります。

36.7.5.1.1 キャッシュされた結果のフラッシュ

Oracle Service Bus/Coherenceでキャッシュされた個々の結果、あるビジネス・サービスについてキャッシュされているすべての結果または結果キャッシュ全体(すべてのOracle Service Busビジネス・サービスについてキャッシュされたすべての結果)をフラッシュできます。次のイベントは、Oracle Service Bus/Coherenceでキャッシュがどのようにフラッシュされるかについて示しています。

- キャッシュTTLの期限切れ - キャッシュされた各結果にはそれぞれTTLがあります。TTLに達すると、Oracle Coherenceによってキャッシュされた個々の結果がフラッシュされます。

- 1つのビジネス・サービスの結果キャッシュの無効化 - あるビジネス・サービスの結果キャッシュを無効にすると、Oracle Service Busによって、そのビジネス・サービスについてキャッシュされたすべての結果がOracle Coherenceでフラッシュされます。

- ビジネス・サービスの更新、名前変更または削除 - あるビジネス・サービスを更新、名前変更または削除すると、Oracle Service Busによって、そのビジネス・サービスについてキャッシュされたすべての結果がOracle Coherenceからフラッシュされます。

- 従属リソースの更新 - WSDLなどの従属リソースを更新すると、Oracle Service Busによって、そのビジネス・サービスについてキャッシュされたすべての結果がOracle Coherenceからフラッシュされます。ただし、サービス・プロバイダ、UDDIレジストリ、アラート宛先といった従属リソースに対する変更ではキャッシュはフラッシュされません。

- 結果キャッシュのグローバルな無効化 - 結果キャッシュをグローバルに無効にすると、Oracle Service Busによって、結果キャッシュ全体(すべてのビジネス・サービスについてキャッシュされたすべての結果)がOracle Coherenceからフラッシュされます。

結果キャッシュの操作および構成の詳細は、次を参照してください。

- 27.2.11項「結果キャッシュのグローバルな有効化」

- 19.1項「ビジネス・サービスの作成と構成」

- 『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のビジネス・サービスの「メッセージ処理構成」ページに関する項

36.7.5.2 結果キャッシュのベスト・プラクティス

この項では、結果キャッシュの使用のベスト・プラクティスについて説明します。

36.7.5.2.1 結果キャッシュのセキュリティのベスト・プラクティス

キャッシュされた結果によって外部サービスは直接呼び出されなくなるため、静的でないサービス・アカウントまたはWS-Securityポリシーにセキュリティを提供するビジネスサービスには、結果キャッシュを使用しないでください。

36.7.5.2.2 本番環境での結果キャッシュのベスト・プラクティス

本番環境では結果キャッシュを使用する場合、Oracle Service Bus環境をデプロイする前に、http://download.oracle.com/docs/cd/E15357_01/coh.360/e15723/deploy_checklist.htm#CHDJEJEIにあるOracle Coherence開発者ガイドの本番環境のチェックリストに関する説明に従って、Coherenceの設定と構成の計画および実装を行って最適なパフォーマンスが得られるようにする必要があります。

36.7.5.3 結果キャッシュのメタデータ

結果キャッシュに使用されるメタデータは、次のとおりです。

36.7.5.3.1 リクエスト・メタデータ

結果キャッシュに使用されるリクエスト・メタデータは、cache-tokenおよびcache-ttl(両方とも文字列値)です。両方ともビジネス・サービス構成で構成できます。ビジネス・サービスでキャッシュ・トークンまたはTTLを未定義のままにすることも、リクエストでキャッシュ・トークンまたはTTLにこれらのメタデータを指定することもできます。リクエストでキャッシュ・トークンまたはTTLを設定すると、これらの値によって、ビジネス・サービス構成で定義されたキャッシュ・トークンまたはTTLがオーバーライドされます。

ビジネス・サービス構成の詳細は、19.2.23項「「メッセージ処理構成」ページ」を参照してください。

36.7.5.3.2 レスポンス・メタデータ

結果キャッシュに使用されるレスポンス・メタデータは、次のとおりです。

- cache-token - 結果キャッシュからのコンテンツの取得または外部サービスの呼出し後の結果キャッシュへのコンテンツの追加に使用されたキャッシュ・トークンが含まれます。

- cache-originated - ブール値(trueまたはfalse)が含まれます。trueの値は、返された結果が結果キャッシュからのものあることを表します。falseの値は、返された値が外部サービスの呼出しによるものであることを示します。

36.7.5.4 結果キャッシュのテスト

結果キャッシュは、結果キャッシュが構成されているビジネス・サービスが、プロキシ・サービスから(ルーティングまたはサービス・コールアウトなどを使用して)呼び出された場合のみ有効です。したがって、結果キャッシュをテストする場合、ビジネス・サービスをテスト・コンソールから直接起動しないでください。かわりに、テスト・コンソールを使用して、ビジネス・サービスを呼び出すプロキシ・サービスをテストします。

ただし、分割-結合ビジネス・サービスを直接呼び出して、結果キャッシュをテストできます。

36.7.5.5 結果キャッシュの高度な構成

各Oracle Service Busドメインで、ドメインでのOracle Coherenceのビジネス・サービス結果キャッシュに対する使用方法を変更できます。この項では、デフォルトの設定とこれを変更する必要がある場合について説明します。

36.7.5.5.1 結果キャッシュの設定とチューニング

Oracle Service Busの結果キャッシュのキャッシュ・スキームは、DOMAIN_HOME/config/osb/coherence/osb-coherence-cache-config.xmlを変更することでチューニングできます。デフォルトでは、Oracle Service Busの結果キャッシュには、分散キャッシュ・スキームが使用されます。詳細は、Oracle Coherence開発者ガイドのキャッシュ構成要素に関する説明(http://download.oracle.com/docs/cd/E15357_01/coh.360/e15723/appendix_cacheconfig.htm)を参照してください。

36.7.5.5.2 ユニキャストおよびマルチキャストの操作

Oracle Service Busで、Oracle Coherenceの独自のデフォルト構成がドメイン内のサーバーに提供されます。構成ファイルはDOMAIN_HOME/config/osb/coherence/osb-coherence-override.xmlで、Oracle Coherenceキャッシュへのサーバー・アクセスを制御する様々なプロパティが含まれます。

この項では、Oracle Service Busの単一サーバー・ドメインおよび複数サーバー・ドメインに対するOracle Coherenceのデフォルト構成設定と、デフォルト設定を変更する必要があるシナリオについて説明します。

表36-7では、開発者用Oracle Service Busテンプレートを使用して作成した単一サーバー・ドメインのosb-coherence-override.xmlでのシステム・プロパティのデフォルト値を示します。これらのユニキャストの設定によって、Oracle Coherenceのキャッシュ・アクセスがローカル・サーバーに限定されます。この構成では、別のサーバーで起動されたノードは、同じOracle Coherenceクラスタに参加してキャッシュされた情報を共有することはありません。

システム・プロパティは、osb-coherence-override.xml(サーバーの再起動が必要)で指定するか、またはサーバー起動時にシステム・プロパティを指定することで変更できます。

表36-7「開発者用Oracle Service Bus」ドメイン・トポロジ設定に対するosb-coherence-override.xmlのデフォルト値

サーバーの詳細

ファイル内での要素/プロパティ名

システム・プロパティ

デフォルト値

ユニキャスト・アドレス

<address>

OSB.coherence.localhost

127.0.0.1

ユニキャスト・ポート

<port>

OSB.coherence.localport

7890

既知のアドレス

<address>

OSB.coherence.wka

127.0.0.1

既知のポート

<port>

OSB.coherence.wka.port

7890

ネットワーク存続時間(TTL)

<time-to-live>

OSB.coherence.ttl

0

この設定の詳細は、http://download.oracle.com/docs/cd/E14526_01/coh.350/e14509/appproductcheck.htm#COHDG305にあるOracle Coherence開発者ガイドのネットワークに関する説明を参照してください。

表36-8に、Oracle Service Busテンプレートで作成された複数サーバー・ドメインに対するosb-coherence-override.xmlでのシステム・プロパティのデフォルト値を示します。マルチキャストのデフォルト値で、同じテンプレートから作成された同一のサブネット上のOracle WebLogic Serverノードで共有されるOracle Coherenceクラスタが作成されます。

システム・プロパティは、osb-coherence-override.xml(サーバーの再起動が必要)で指定するか、またはサーバー起動時にシステム・プロパティを指定することで変更できます。

表36-8 「Oracle Service Bus」ドメイン・トポロジに対するosb-coherence-override.xmlのデフォルト設定

サーバーの詳細

ファイル内での要素/プロパティ名

システム・プロパティ

デフォルト値

ユニキャスト・アドレス

<address>

OSB.coherence.localhost

127.0.0.1

ユニキャスト・ポート

<port>

OSB.coherence.localport

7890

既知のユニキャスト・アドレス・プレースホルダー

<address>

OSB.coherence.wkaN

このファイルは、必要に応じて構成して使用できる既知の9つのアドレス(アドレス値なし)用のプレースホルダーを提供します。

既知のユニキャスト・アドレス・ポート・プレースホルダー

<port>

OSB.coherence.wkaN.port

このファイルは、必要に応じて構成して使用できる既知の9つのアドレス・ポート(アドレス値なし)用のプレースホルダーを提供します。

マルチキャスト・リスナー・アドレス

<address>

OSB.coherence.clusteraddress

228.8.8.8

マルチキャスト・リスナー・ポート

<port>

OSB.coherence.clusterport

9888

マルチキャスト・アドレスとマルチキャスト・ポートのプロパティによって、Oracle Coherenceクラスタのメンバー・ノードの特定方法が決まります。この組合せは、同じサブネット内で稼働するOracle Coherenceクラスタごとに一意である必要があります。

注意:
デフォルトでは、Oracle Service Busテンプレートには、マルチキャスト・リスナーを使用するように構成されていますが、ベスト・プラクティスは、Oracle Coherenceのノードが明示的にリストされたユニキャスト・リスナーを使用するようOracle Coherenceクラスタを構成することです。
ユニキャストに切り替えるには、マルチキャスト値を削除して、ユニキャスト・リスナーの既知のアドレスを入力します。例:

<well-known-addresses>
<socket-address id="1">
<address system-property="OSB.coherence.wka1">127.0.0.1</address>
<port system-property="OSB.coherence.wka1.port">7890</port>
</socket-address>
...

詳細は、http://coherence.oracle.com/display/COH35UG/well-known-addressesの「well-known-addresses」を参照してください。

『Oracle Fusion Middleware高可用性ガイド』のOracle Service Busの結果キャッシュに対するOracle Coherenceの構成に関する説明に従って、システム・プロパティを使用したオーバーライドを指定できます。

次の構成では、複数のサーバーでOracle Coherenceクラスタを希望通りに共有するために、osb-coherence-override.xmlの手動での変更(または前述の注意の説明に従ったシステム・プロパティのオーバーライドの指定)が必要です。

- クラスタ内の既知のアドレスを使用してマルチキャスト・リスナーからユニキャスト・リスナーに切り替える場合、前述の注意のとおりにします。

- 同一サブネット内に複数のOracle WebLogic Serverクラスタがある場合、Oracle Coherenceクラスタを希望どおりに共有するには、関係のあるOracle Coherenceアドレスとポートのプロパティを変更します。Oracle WebLogic Serverクラスタに使用されるのと同じアドレスとポートを使用しないでください。

- 同一サブネット内に管理対象サーバーを持つ複数の管理サーバーがある場合、Oracle Coherenceクラスタを希望どおりに共有するには、関係のあるOracle Coherenceアドレスとポートのプロパティを変更します。

- 同一サブネット内にOracle WebLogic Serverクラスタと管理対象サーバーを持つ管理サーバーの組合せがある場合、Oracle Coherenceクラスタを希望どおりに共有するには、関係のあるOracle Coherenceアドレスとポートのプロパティを変更します。

- 同一サブネット内に複数のOracle Coherenceクラスタが稼働している場合、マルチキャスト・アドレスとマルチキャスト・ポートを変更して、ノードが接続する必要のあるOracle Coherenceクラスタを指定します。

36.7.5.5.3 プロセス外Coherenceキャッシュ・サーバーの使用

Oracle Service Busで結果キャッシュを頻繁に使用し、結果キャッシュ用にヒープ領域を使用しすぎないようにする場合、Oracle Service BusのドメインJVMを共有するのではなく、独自のJVMを実行するようにCoherenceキャッシュ・サーバーを設定できます。Coherenceキャッシュ・サーバーをOracle Service Bus JVMの外部(プロセス外)で実行すると、Oracle Service Busでメッセージの処理に使用されるヒープ領域に影響なく、Coherenceキャッシュ・サーバーで独自のヒープ領域を使用できます。

Oracle Service Busでは、OSB_ORACLE_HOME/lib/osb-coherence-client.jarというJARファイルを使用したプロセス外Coherenceキャッシュのサポートが提供されます。

次の手順は、プロセス外Coherenceキャッシュ・サーバーの使用方法を説明しています。

注意:
Oracle Service Busとともに使用されるすべてのプロセス外Coherenceキャッシュ・サーバーでは、Oracle Service Busに含まれているバージョンと同バージョンのCoherenceを使用する必要があります。

1. プロセス外Coherenceキャッシュ・サーバーをサポートするようにOracle Service Busドメインを構成します。

1. Oracle Service Busノードの起動に次の引数を追加して各Oracle Service Busノードのローカル・キャッシュを無効にします。

-Dtangosol.coherence.distributed.localstorage=false

2. 次の引数を使用してCoherenceクラスタの名前を設定します。

-DOSB.coherence.cluster=cluster_name

2. プロセス外キャッシュ・サーバーの起動を構成します。

1. osb-coherence-client.jarがCoherenceキャッシュ・サーバーのクラスパス上に存在していることを確認します。例:

-classpath coherence.jar:OSB_ORACLE_HOME/lib/osb-coherence-client.jar

注意:
この例のパスは、Oracle Service Busインストールのデフォルトの場所のosb-coherence-client.jarを示しています。Oracle Service Busがインストールされていないプロセス外Coherenceキャッシュ・サーバーで、このファイルをOracle Service BusドメインからCoherenceキャッシュ・ドメインにコピーして、すべてのCoherenceノードの起動引数で参照します。

2. Coherenceキャッシュ・サーバーの起動に次の引数を追加して、osb-coherence-override.xmlを使用します。

-Dtangosol.coherence.override=DOMAIN_HOME/config/osb/coherence/osb-coherence-override.xml

この手順によって、Oracle Service BusのCoherenceノードとプロセス外Coherenceキャッシュ・サーバーの両方で同じネットワーク構成が確実に使用されるようになります。このファイルの詳細は、36.7.5.5.2項「ユニキャストおよびマルチキャストの操作」を参照してください。

注意:
この例のパスは、Oracle Service Busインストールのデフォルトの場所のosb-coherence-override.xmlファイルを示しています。Oracle Service Busがインストールされていないプロセス外Coherenceキャッシュ・サーバーで、このファイルをOracle Service BusドメインからCoherenceキャッシュ・ドメインにコピーして、すべてのCoherenceノードの起動引数で参照します。

3. Coherenceキャッシュ・サーバーの起動に次の引数を追加して、osb-coherence-cache-config.xmlを使用します。

-Dtangosol.coherence.cacheconfig=DOMAIN_HOME/config/osb/coherence/osb-coherence-cache-config.xml

前述の注意を参照してください。

4. Coherenceキャッシュ・サーバーの起動に次の引数を追加してホストとポートを設定します。
-DOSB.coherence.localhost=HOSTNAMEおよび-DOSB.coherence.localport=PORT(host:portはクラスタ内で一意)

5. クラスタ・メンバーシップにユニキャスト・リスナーを使用(推奨)し、表36-8に示されているように既知のリスナーをosb-coherence-override.xmlファイルに含めない場合は、次の引数を使用してCoherenceキャッシュ・サーバーに必要な数の既知のアドレスを追加します。
-DOSB.coherence.wka[1-9]および-DOSB.coherence.wka[1-9].port

Oracle Service BusでのOracle Coherenceへのユニキャストの使用の詳細は、『Oracle Fusion Middleware高可用性ガイド』のOracle Service Busの結果キャッシュに対するOracle Coherenceの構成に関する説明を参照してください。

6. 次の起動引数を使用して、Coherenceクラスタの名前がOracle Service Busサーバーとプロセス外Coherenceキャッシュ・サーバーで同じになるようにします。

-Dtangosol.coherence.cluster=OSB-cluster

Oracle Service Busクラスタは常に「OSB-cluster」という名前で呼び出されます。

サーバーの起動

この手順の最初で説明したとおり、Oracle Service Busサーバーでローカル・キャッシュを無効にする必要があるプロセス外Coherenceキャッシュ・サーバーを使用する場合は、必ずOracle Service Busサーバーを起動する前にプロセス外Coherenceキャッシュ・サーバーを起動してください。

Coherenceキャッシュ・サーバーを起動する1つの方法として、必要な引数を指定してJavaコマンドを使用する方法があります。次の起動コマンドの例では、ホスト、ポートおよび既知のアドレス(ユニキャスト・リスナー)の適切な構成がosb-coherence-override.xmlに含まれていることを想定しています。

java
-classpath coherence.jar:C:/oracle/Oracle_OSB1/lib/osb-coherence-client.jar
-Dtangosol.coherence.override=C:/oracle/user_projects/domains/osb_domain/config/osb/coherence/osb-coherence-override.xml
-Dtangosol.coherence.cacheconfig=C:/oracle/user_projects/domains/osb_domain/config/osb/coherence/osb-coherence-cacheconfig.xml
-Dtangosol.coherence.cluster=OSB-cluster
com.tangosol.net.DefaultCacheServer

Coherenceキャッシュ・サーバーの起動の詳細は、http://download.oracle.com/docs/cd/E15357_01/index.htmにあるOracle Coherenceのドキュメントを参照してください。

36.7.5.5.4 Oracle Coherenceの構成方法および使用方法の追加情報

Oracle Coherence構成フレームワークを使用すると、様々なキャッシュ構成を、アプリケーションを変更することなく、柔軟に行うことができます。たとえば、属性を使用してキャッシュのタイプや動作を変更したり、キャッシュに問い合せたりできます。詳細は、次を参照してください。

- 『Oracle Fusion Middleware高可用性ガイド』のOracle Service Busの結果キャッシュに対するOracle Coherenceの構成に関する説明

- http://download.oracle.com/docs/cd/E15357_01/index.htmにあるOracle Coherenceのドキュメント

36.8 リソースの詳細の表示

Oracle Service Busでは、URLを介してOracle Service Busに登録されたリソースを表示するために使用されるリソース・サーブレットが提供されます。詳細は、4.30項「Webブラウザでのリソースの表示」を参照してください。

37 Oracle Service Busでのメッセージ・フローの作成

この章では、Oracle Service Bus管理コンソールを使用したメッセージ・フローの作成および構成に関する、高度な側面と概念について説明します。内容には、メッセージ・フローのコンポーネント、メッセージ変換、ルーティングとサービス・コールアウト、エラー処理、メッセージ・コンテキストおよびサービス品質(QoS)が含まれます。

Oracle Service Busにおけるメッセージ・フローは、プロキシ・サービスの実装を定義します。Oracle Service Busプロキシ・サービスは、Oracle Service Bus管理コンソールまたはEclipse用のOracle Service Busプラグインで作成および構成できます。この項では、メッセージ・フローについて説明し、メッセージ・フローを設計する際のガイドラインを示します。

次の項では、Oracle Service Busのメッセージ・フローについて説明します。

- 37.1項「メッセージ・フローのコンポーネント」

- 37.2項「メッセージ・フローの分岐」

- 37.3項「ステージおよびルート・ノードでのアクションの構成」

- 37.4項「メッセージ・フローでのトランスフォーメーションの実行」

- 37.5項「サービス・コールアウト・メッセージの作成」

- 37.7項「メッセージ・フローでのエラー処理」

- 37.8項「動的ルーティングの使用」

- 37.9項「XQueryを使用したデータベースへのアクセス」

- 37.10項「メッセージ・コンテキストについて」

- 37.11項「変数の構造での作業」

- 37.12項「サービスの品質」

- 37.13項「Oracle Service Busでのワーク・マネージャの使用」

- 37.14項「コンテンツ・タイプ、JMSタイプ、およびエンコーディング」

- 37.15項「抑制パターン」

- 37.16項「WS-Iへの準拠」

- 37.17項「SOAP 1.1とSOAP 1.2との間の変換」

Oracle Service Bus管理コンソールでメッセージ・フローを作成および構成する手順については、次を参照してください。

- 第22章「プロキシ・サービス: メッセージ・フロー」

- 第21章「プロキシ・サービス: アクション」

- 第24章「プロキシ・サービス: エラー・ハンドラ」

Eclipseでのメッセージ・フローの作成と構成の手順は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の次のトピックを参照してください。

- プロキシ・サービスの操作に関する項

- プロキシ・サービス・メッセージ・フローの操作に関する項

37.1 メッセージ・フローのコンポーネント

メッセージ・フローは、プロキシ・サービスを介してメッセージが流れるときのメッセージのルーティングと操作のロジックを定義するコンポーネントで構成されます。各ノードは、メッセージ・フローでメッセージをルーティングするように構成されます。また、ステージとアクションには、メッセージの処理とトランスフォーメーションに関するルールが含まれます。

メッセージ・フローのほとんどの処理ロジックは、パイプラインで処理されます。パイプラインとは、分岐のない一方向の処理の流れを表す名前付きのステージ・シーケンスです。パイプラインは、次のカテゴリに分類されます。

- リクエスト・パイプライン:メッセージ・フローのリクエスト・パスを処理します。

- レスポンス・パイプライン:メッセージ・フローのレスポンス・パスを処理します。

- エラー・パイプライン:メッセージ・フローのステージとノードのエラー、およびメッセージ・フロー(サービス)レベルのエラーを処理します。

プロキシ・サービスの処理ロジックを実装するには、リクエスト・パイプラインとレスポンス・パイプラインをペアにしてパイプライン・ペア・ノードを作成します。これらのパイプライン・ペア・ノードを他のノードと結合して単一ルートのツリー構造を作成することで、フロー全体を制御できます。

表37-1に、メッセージ・フローを定義する際に使用できるコンポーネントを示します。

表37-1 メッセージ・フローのコンポーネント

コンポーネント・タイプ

サマリー

開始ノード

すべてのメッセージ・フローは開始ノードで始まります。すべてのメッセージは、開始ノードを介してメッセージ・フローに入ります。また、すべてのレスポンス・メッセージが開始ノードを介してクライアントに返されます。開始ノードで構成するものはありません。

パイプライン・ペア・ノード

パイプライン・ペア・ノードは、1つのリクエスト・パイプラインと1つのレスポンス・パイプラインを1つの最上位要素に統合したものです。メッセージ・フローでは、パイプライン・ペア・ノードが持つことができる直接の子孫は1つだけです。リクエスト処理中にOracle Service Busがパイプライン・ペア・ノードを処理すると、リクエスト・パイプラインだけが実行されます。Oracle Service Busがレスポンス・パイプラインを処理すると、実行パスが反転されます。

ステージ

リクエスト・パイプライン、レスポンス・パイプライン、およびエラー・ハンドラには、ステージを含めることができます。ステージでは、パイプラインを通過するメッセージを処理するアクションを構成します。

37.3項「ステージおよびルート・ノードでのアクションの構成」も参照してください。

エラー・ハンドラ

ノードまたはステージで発生する可能性のあるエラーを処理するために、ノードまたはステージにエラー・ハンドラを追加できます。

37.7項「メッセージ・フローでのエラー処理」も参照してください。

ブランチ・ノード

ブランチ・ノードを使用すると、可能ないくつかのパスのうちの1つに限定して処理を進めることができます。WSDLベースのサービスでは、オペレーション・ブランチがサポートされます。オペレーション・ブランチでは、分岐はWSDLで定義された操作に基づいています。XPathベースの切替え表で定義された条件では、条件付きブランチがサポートされます。

37.2項「メッセージ・フローの分岐」も参照してください。

ルート・ノード

ルート・ノードでは、別のサービスとのリクエスト/レスポンス通信が実行されます。ルート・ノードはプロキシ・サービスに関するリクエスト処理とレスポンス処理の境界を表します。ルート・ノードがリクエスト・メッセージをディスパッチすると、リクエスト処理が終了したと見なされます。ルート・ノードがレスポンス・メッセージを受信したときに、レスポンス処理が始まります。ルート・ノードは、リクエスト・トランスフォーメーション、レスポンス・トランスフォーメーション、および条件付きルーティングに対応します。

ルート・ノードはリクエスト処理とレスポンス処理の境界を表すので、メッセージ・フロー内に子孫を持つことはできません。

37.3項「ステージおよびルート・ノードでのアクションの構成」も参照してください。

図37-1は、メッセージ・フロー定義のコンポーネントの概要を示しています。

図37-1 メッセージ・フローのコンポーネント

37.1.1 メッセージ・フローの構築

メッセージ・フローの必須コンポーネントは、開始ノードとルート・ノードだけです。メッセージ・フローで連鎖できる他のコンポーネントに制限はありません。ルート・ノードを1つ作成し、フローのすべてのロジックを格納できます。また、間にブランチ・ノードを配置せずに2つのパイプライン・ペア・ノードを接続することもできます。ブランチ・ノードを使用する場合、各ブランチ・ノードはそれぞれ異なる要素で開始できます。あるブランチはルート・ノードで終了し、別のブランチではパイプライン・ペアが後続し、さらに別のブランチでは子孫を持たないようにすることができます(実行時に、子孫を持たないブランチを実行すると、レスポンス処理がすぐに開始されます)。

ただし、一般には、メッセージ・フローは次の形式のいずれかで設計します。

- 非オペレーション・サービス(操作を含むWSDLに基づいていないサービス)のフローでは、ルートにパイプライン・ペアが1つあり、その後にルート・ノードを配置します。

- オペレーション・サービスのフローでは、ルートにパイプライン・ペアが1つあり、その後にオペレーションに基づくブランチ・ノードを配置します。さらに、各ブランチにはパイプライン・ペアが1つあり、その後にルート・ノードを配置します。

37.1.2 メッセージの実行

表37-2と表37-3に、一般的なメッセージ・フローでリクエスト・メッセージおよびレスポンス・メッセージが処理される仕組みを簡単に示します。

表37-2 メッセージ・フローでのリクエスト・メッセージのパス

メッセージ・フロー・ノード

メッセージ処理の内容

リクエスト処理

リクエスト処理コンテナ。

開始ノード

開始ノードでリクエスト処理が開始されます。

パイプライン・ペア・ノード

リクエスト・パイプラインだけが実行されます。

ブランチ・ノード

ブランチ表を評価し、関連するブランチに進みます。

ルート・ノード

リクエスト・トランスフォーメーションと共にルーティングが実行されます。

メッセージ・フローでは、ルーティングが実行されるかどうかに関係なく、ルート・ノードはリクエストの処理からレスポンスの処理への移行を表します。ルート・ノードでは、メッセージ・フローの方向は逆方向になります。リクエスト・パスにルート・ノードが含まれていない場合、レスポンスを待機せずに、レスポンス処理は逆方向で開始されます。

表37-3 メッセージ・フローでのレスポンス・メッセージのパス

メッセージ・フロー・ノード

メッセージ処理の内容

レスポンス処理

ブランチ・ノードをスキップして、ブランチの前にあるノードに進みます。

ルート・ノード

レスポンス・トランスフォーメーションが実行されます。

ブランチ・ノード

ブランチ・ノードをスキップして、ブランチの前にあるノードに進みます。

パイプライン・ペア・ノード

レスポンス・パイプラインが実行されます。

開始ノード

クライアントにレスポンスを返します。

37.2 メッセージ・フローの分岐

メッセージ・フローでは、2種類の分岐がサポートされています。操作ブランチ・ノードで構成される操作ブランチと、条件付きブランチ・ノードで構成される条件付きブランチです。

37.2.1 オペレーション・ブランチ

メッセージ・フローでWSDLベースのプロキシ・サービスを定義する場合、操作固有の処理が必要となります。メッセージ・フローにオペレーション・ブランチ・ノードを作成すると、WSDLで定義された操作に基づいて分岐ロジックを作成できます。

プロキシ・サービスが複数の操作を含むWSDLに基づいている場合は、オペレーション・ブランチを使用する必要があります。この場合、オペレーション・ブランチ・ノードを使用して、操作ごとにメッセージを個別に処理することを検討できます。

37.2.2 条件付きブランチ

メッセージのドキュメント・タイプなど、指定した条件に基づいて分岐する場合は、条件付きブランチを使用します。

条件付きブランチでは、ルックアップ表に基づいて分岐が行われます。ルックアップ表に含まれる各ブランチは、QuantityEqualToOrLessThan150やQuantityMoreThan150のような単純で一意の文字列値でタグ付けされています。

(たとえば、メッセージ・フロー内の前のステージで宣言された)メッセージ・コンテキスト内の変数の値に基づいて分岐するように条件付きブランチを構成できます。また、ブランチ自体で定義されたXPath式の結果に基づいて分岐するように条件を構成することもできます。

実行時に、変数または式が評価され、その結果値を使用してどのブランチに進むかが判断されます。値と一致するブランチがない場合は、デフォルト・ブランチに進みます。ブランチ・ノードでは、メッセージ・フロー内にいくつかの子孫を持つことができます(デフォルトのブランチを含め各ブランチに1つずつ)。デフォルト・ブランチを必ず定義する必要があります。ブランチ・ノードに到達する前にルックアップ変数の値が設定されるように、プロキシ・サービスを設計します。

たとえば、ルックアップ変数を使用する次のケースについて考えてみます。プロキシ・サービスのタイプが任意のSOAPまたは任意のXMLであり、条件付きブランチを実行できるようにメッセージのタイプを特定する必要があるとします。この場合、メッセージ・タイプを特定するステージ・アクションを設計した後に、メッセージ・タイプに基づいて処理を分ける条件付きブランチ・ノードをフロー内に設計できます。

今度は、条件付きブランチ・ノードでXPath式を使用するケースを考えてみます。注文の数量に基づいて分岐させるとします。この数量は、$body内の既知の場所から取得できる変数を介して渡されます。

数量を取得する次のXPath式を定義できます。

declare namespace openuri="http://www.openuri.org/";
declare namespace com="example.com/demo/orders/cmnCust";
./openuri:processCust/com:cmnCust/com:Order_Items/com:Item/com:Quantity

メッセージ・フローの下位に向かって、条件(<500など)が式に対して評価されます。最初に満たされた条件によって、次に進むべきブランチが決まります。満たされる分岐条件がない場合は、デフォルトのブランチに進みます。

条件付きブランチを使用して、最上位のフロー・ビューでメッセージ・フローのルーティングの代替方法を公開できます。たとえば、メッセージ・フローの初期の既知の条件(メッセージ・タイプなど)に基づいて、サービスAまたはサービスBを呼び出す状況について考えてみます。ルート・ノードのルーティング表に条件付きブランチを構成できます。ただし、フローの最上位だけを調べる場合、この方法では分岐がやや困難になります。かわりに、条件付きブランチ・ノードを使用して、メッセージ・フロー自体にこのブランチを公開し、各ブランチのサブフローとして単純なルート・ノードを使用できます。

メッセージ・フロー、ステージ、またはルート・ノードのどの場所にブランチを構成するかを決定する前に、ビジネス・シナリオを検討してください。メッセージ・フローにブランチを構成する場合、ブランチ・ノードから多数のブランチが分岐すると、設計インタフェースが煩雑になる可能性があることに注意してください。

37.3 ステージおよびルート・ノードでのアクションの構成

アクションは、パイプライン・ステージ、エラー・ハンドラ・ステージ、およびルート・ノードでメッセージを処理する手順を提供します。次の項で説明するように、Oracle Service Bus管理コンソールまたはEclipse用のOracle Service Busプラグインで使用できるアクションは、コンテキストによって決まります。

- 37.3.1項「通信アクション」

- 37.3.2項「フロー制御アクション」

- 37.3.3項「メッセージ処理アクション」

- 37.3.4項「レポート・アクション」

関連項目

- 第21章「プロキシ・サービス: アクション」

- 『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のプロキシ・サービス・メッセージ・フローの操作に関する項

37.3.1 通信アクション

通信アクションは、メッセージ・フローを制御します。各通信アクションを表37-4に示します。

表37-4 通信アクション

アクション

用途

使用できる場所

動的にパブリッシュ

Xquery式で指定されたサービスにメッセージをパブリッシュします。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

- ルート・ノード

パブリッシュ

メッセージの静的に指定されたターゲット・サービスを特定し、メッセージをパッケージ化してそのサービスに送信する方法を構成します。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

パブリッシュ表

ゼロまたはそれ以上の静的に指定されたサービスにメッセージをパブリッシュします。切替え式の条件ロジックを使用して、どのサービスをパブリッシュに使用するか実行時に決定します。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

ルーティング・オプション

アウトバウンド・リクエストのURI、サービスの品質、モード、再試行パラメータ、メッセージ優先度の各プロパティの一部またはすべてを変更します。

- パイプライン・ステージ

サービス・コールアウト

Oracle Service Busに登録済のプロキシ・サービスまたはビジネス・サービスの同期(ブロッキング)コールアウトを構成します。37.5項「サービス・コールアウト・メッセージの作成」を参照してください。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

トランスポート・ヘッダー

メッセージのヘッダー値を設定します。37.3.5項「メッセージ・フローでのトランスポート・ヘッダーの構成」を参照してください。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

37.3.2 フロー制御アクション

フロー制御アクションは、条件付きルーティング、条件付きループおよびエラー処理を実装します。また、フロー制御アクションを使用して、呼出し元に成功を通知したり、ステージの残りのアクションをスキップしたりすることもできます。各フロー制御アクションを表37-5に示します。

表37-5 フロー制御アクション

アクション

用途

使用できる場所

For each

値のシーケンスを反復処理し、アクションのブロックを実行します。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

If... then...

XQuery式のブール結果に基づいて、1つのアクションまたは一連のアクションを条件付きで実行します。

- パイプライン・ステージ

- ルート・ノード

- エラー・ハンドラ・ステージ

エラーの生成

指定されたエラー・コード(文字列)と記述を含む例外を発生させます。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

返信

呼出し元に即時返信を送信します。

返信アクションは、リクエスト・パイプライン、レスポンス・パイプライン、またはエラー・パイプラインで使用できます。成功時または失敗時に返信するように構成できます。HTTPインバウンド・トランスポートでの失敗時の返信の場合、返信アクションでは、呼出し元に即時に返信されるように指定します。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

再開

エラー・ハンドラによってエラーが処理された後、メッセージ・フローを再開します。このアクションにパラメータはありません。このアクションは、エラー・ハンドラでのみ使用できます。

- エラー・ハンドラ・ステージ

スキップ

実行時に現在のステージの実行がスキップされ、メッセージ・フローの次のステージに処理を進めます。このアクションにはパラメータがなく、リクエスト・パイプライン、レスポンス・パイプライン、エラー・パイプラインで使用できます。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

37.3.3 メッセージ処理アクション

このカテゴリのアクションは、メッセージ・フローを処理します。各メッセージ処理アクションを表37-6に示します。

表37-6 メッセージ処理アクション

アクション

用途

使用できる場所

割当て

コンテキスト変数にXQuery式の結果を割り当てます。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

削除

XPath式で指定されたコンテキスト変数または一連のノードを削除します。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

挿入

XPath式で選択したノードを基準として特定された場所にXQuery式の結果を挿入します。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

Javaコールアウト

メッセージ・フロー内からJavaメソッド(EJBビジネス・サービス)を呼び出します。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

MFL変換

メッセージ・パイプラインで、XMLから非XMLまたは非XMLからXMLにメッセージ・コンテンツを変換します。MFLは、バイナリ・データのレイアウトを記述するために使用する特別なXMLドキュメントです。Oracle独自の言語を使用して、フォーマットされたバイナリ・データをXMLデータに、またはXMLデータをバイナリ・データに変換するルールを定義します。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

名前変更

要素のコンテンツを変更せずに、XPath式で選択した要素の名前を変更します。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

置換

XPath式で指定されたノードまたはノードのコンテンツを置き換えます。ノードまたはそのコンテンツは、XQuery式が返した値で置換されます。

置換アクションでは、単純な値、要素、属性を置き換えることができます。XQuery式から何も返されない状態は、アクションがノード全体を置き換えるか、ノード・コンテンツのみを置き換えるかにより、識別されたノードを削除すること、または空のノードを作成することと同じです。

置換アクションは更新アクションのセットの内の1つです。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

検証

XMLスキーマ要素またはWSDLリソースに対して、XPath式で選択した要素を検証します。検証できるのは、グローバル要素のみです。Oracle Service Busはローカル要素に対する検証に対応していません。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

37.3.4 レポート・アクション

このカテゴリのアクションを使用して、ステージ内のメッセージ・フローでの必要に応じて、エラーのログ記録またはレポート、およびアラートの生成を行います。各レポート・アクションを表37-7に示します。

表37-7 レポート・アクション

アクション

用途

使用できる場所

アラート

パイプラインのメッセージ・コンテキストに基づいてアラートを生成し、アラート宛先に送信します。SLAアラートと異なり、アラート・アクションで生成された通知は、主にビジネスでの使用、またはエラーの報告を目的とし、システムの状態を監視するものではありません。アラート宛先の構成と選択は、この点を考慮して行う必要があります。

パイプライン・アラートがサービスで有効になっていない場合や、ドメイン・レベルで有効になっている場合は、メッセージを処理するときに構成済のアラート・アクションが省略されます。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

ログ

ログに記録するメッセージを作成し、メッセージをログに記録するときに使用する一連の属性を定義します。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

レポート

プロキシ・サービスのメッセージ・レポートを有効にします。

- パイプライン・ステージ

- エラー・ハンドラ・ステージ

37.3.5 メッセージ・フローでのトランスポート・ヘッダーの構成

トランスポート・ヘッダー・アクションは、通信タイプのアクションです。このアクションは、パイプライン・ステージとエラー・ハンドラ・ステージで使用できます。

37.3.5.1 トランスポート・ヘッダーのグローバル・パススルー・オプションとヘッダー固有のコピー・オプションの構成

トランスポート・ヘッダー・アクションを構成するときに、次のオプションを使用できます。

- 「パイプラインを介してすべてのヘッダーを渡す」オプションは、実行時にトランスポート・ヘッダー・アクションによって、インバウンド・メッセージからアウトバウンド・メッセージまたはアウトバウンド・メッセージからインバウンド・メッセージにすべてのヘッダーをパススルーすることを示します。ソース・ヘッダー・セットのすべてのヘッダーはターゲット・ヘッダー・セットにコピーされ、ターゲット・ヘッダー・セットの既存の値はすべて上書きされます。

- 「インバウンド・リクエストからヘッダーをコピー」オプションと「アウトバウンド・レスポンスからヘッダーをコピー」オプションは、実行時にトランスポート・ヘッダー・アクションによって、このオプションが関連付けられている特定のヘッダーをインバウンド・メッセージからアウトバウンド・メッセージまたはアウトバウンド・メッセージからインバウンド・メッセージにコピーすることを示します。

これらのオプションは、シナリオに合せて使用します。どちらのオプションを使用しても、ソース・ヘッダー・セットのヘッダーがターゲット・ヘッダー・セットにコピーされ、ターゲット・セットの既存の値はすべて上書きされます。「パイプラインを介してすべてのヘッダーを渡す」オプションは、ヘッダー固有のヘッダーをコピー・オプションの前に実行されます。つまり、特定のトランスポート・ヘッダー・アクションの構成で、「パイプラインを介してすべてのヘッダーを渡す」を選択した場合、特定のヘッダーに対してヘッダーをコピー・オプションを選択する必要はありません。

ただし、「パイプラインを介してすべてのヘッダーを渡す」を選択してすべてのヘッダーをコピーし、その後特定のヘッダーに対して「ヘッダーの削除」を選択して、個々のヘッダーを削除するようにアクションを構成できます。

注意:
トランスポート・ヘッダーはトランスポート・タイプに固有であるため、パススルー(またはコピー)オプションは、同じトランスポート・タイプのサービス間でヘッダーをコピーする場合にのみ使用することをお薦めします。トランスポート・タイプが異なるサービス間でヘッダーを渡す(またはコピーする)と、渡されるヘッダーがターゲットのトランスポートで受け入れられない場合にエラーが発生することがあります。同じ理由で、「ヘッダーを設定」オプションを使用してヘッダー名を指定するときにも注意が必要です。

37.3.5.2 ランタイムによってトランスポート・ヘッダーの設定が使用される仕組みについて

トランスポート・ヘッダー・アクションを使用して、アウトバウンド・リクエスト(ルート、パブリッシュ、またはサービス・コールアウトの各アクションでプロキシ・サービスが送信するメッセージ)とインバウンド・レスポンス(プロキシ・サービスがクライアントに返信するレスポンス・メッセージ)のトランスポート・ヘッダーの値を構成できます。通常、ヘッダー値に対して次の操作を実行できます。

- XQuery式を使用して指定します。

- ソースからターゲット・サービスにパススルーします。

- ソースからターゲット・サービスへの移動時に削除します。

トランスポート・ヘッダー・アクションを使用すると、$inboundまたは$outboundのヘッダーを設定、削除またはパススルーできます。これらのヘッダーを設定または削除した後に、$inboundまたは$outboundをログに書き込むと、変更の影響を確認できます。ただし、メッセージが送信されるときにOracle Service Busバインディング・レイヤーによって$inboundまたは$outboundの一部のヘッダーが変更または削除され、そのため基礎になるトランスポートでこれらのヘッダーの一部が無視されて、固有の値が使用されることがあります。重要な違いは、バインディング・レイヤーによるヘッダーの変更は$inboundおよび$outboundに対して直接行われますが、トランスポートによる変更はメッセージのワイヤ形式だけに影響するという点です。たとえば、アウトバウンドのContent-Lengthヘッダーの値を指定することはできますが、メッセージの送信時に、この値はバインディング・レイヤーによって$outboundから削除されます。したがって、この変更はレスポンス・パスで確認できます(たとえば、$outboundをログに記録すると、変更された値を確認できます)。$outboundにUser-Agentヘッダーを設定した場合、HTTPトランスポートではこの設定が無視され、トランスポート独自の値が使用されます。ただし、$outboundの値が変更されることはありません。

表37-8に、実行時に無視または上書きされるトランスポート・ヘッダーと、特定のトランスポート・ヘッダーに関するその他の制限を示します。

表37-8 トランスポート・ヘッダー・アクションで指定するトランスポート・ヘッダーの値の制限

トランスポート

制限の説明

アウトバウンド・リクエスト・ヘッダー

インバウンド・レスポンス・ヘッダー

HTTP

Oracle Service Busランタイムは、メッセージのディスパッチ準備中にバインディング・レイヤーでこれらのヘッダーを上書きする場合があります。これらのヘッダーが変更された場合、それに応じて$inboundと$outboundが更新されます。

Content-Type

Content-Type

HTTP

メッセージの送信時に、基になるトランスポートでこれらのヘッダーが無視され、別の値が使用される場合があります。トランスポートによって行われた変更は、$inboundまたは$outboundには反映されません。

- Accept

- Content-Length

- Connection

- Host

- User-Agent

- Content-Length

- Date

- Transfer-Encoding

JMS

リクエストが一方向のサービスまたはJMSMessageID相関に基づくリクエスト/レスポンス・サービスに関連する場合にのみ設定できます。

JMSCorrelationID相関に基づくリクエスト/レスポンス・サービスに送信する場合、これらのヘッダーは実行時に上書きされます。

JMSCorrelationID

JMSCorrelationID

JMS

Oracle Service Busランタイムはこれらのヘッダーを設定します。つまり、設計時にこれらのヘッダーに対して行った指定内容は実行時に上書きされます。

- JMSMessageID

- JMSRedelivered

- JMSTimestamp

- JMSXDeliveryCount

- JMSXUserID

- JMS_IBM_PutDate脚注 1

- JMS_IBM_PutTime 2

- JMS_IBM_PutApplType 2

- JMS_IBM_Encoding2

- JMS_IBM_Character_Set 2

- JMSMessageID

- JMSRedelivered

- JMSTimestamp

- JMSXDeliveryCount

- JMSXUserID

- JMS_IBM_PutDate 2

- JMS_IBM_PutTime 2

- JMS_IBM_PutApplType 2

- JMS_IBM_Encoding 2

- JMS_IBM_Character_Set 2

JMS

IBM MQではクライアント・アプリケーションで一部のプロパティを設定できないため、IBM MQ送り先に関連するこれらのヘッダーを設定すると、実行時例外が発生します。

- JMSXDeliveryCount

- JMSXUserID

- JMSXAppID

- JMSXDeliveryCount

- JMSXUserID

- JMSXAppID

JMS

「パイプラインを介してすべてのヘッダーを渡す」オプションも指定されている場合、これらのヘッダーを削除することはできません。

- JMSDeliveryMode

- JMSExpiration

- JMSMessageID

- JMSRedelivered

- JMSTimestamp

- JMSXDeliveryCount

- JMSDeliveryMode

- JMSExpiration

- JMSMessageID

- JMSRedelivered

- JMSTimestamp

- JMSXDeliveryCount

- JMSCorelationID - インバウンド・メッセージに相関IDが設定されている場合。たとえば、登録済のJMSビジネス・サービスからのインバウンド・レスポンスの場合など。

FTPおよびファイル

制限はありません。つまり、ユーザーはファイル・トランスポートおよびFTPトランスポートのヘッダー脚注 2 を設定または削除することができ、ユーザーによる指定はOracle Service Busランタイムで優先されます。

N/A

N/A

電子メール

Oracle Service Busランタイムはこれらのヘッダーを設定します。つまり、設計時にこれらのヘッダーに対して行った指定内容は実行時に上書きされます。

Content-Type

Content-Type

電子メール

Oracle Service Busはアウトバウンド・リクエストでこれらのヘッダーを使用しません。これらを動的に(つまり、これらを$outboundヘッダー・セクションに設定する場合)設定すると、Oracle Service Busはこれらを無視します。

これらのヘッダーは$inboundで受信されます。Dateは、送信者が電子メールを送信した日時です。Fromは、受信電子メール・ヘッダーから取得されます。

- From(名前)

- Date

N/A

脚注 1 JMS_IBMという接頭辞の付いたヘッダー名は、IBM MQサーバーがホストする宛先に関連して使用されます。

脚注 2 FTPプロキシとファイル・プロキシには、「fileName」というトランスポート・リクエスト・ヘッダーがあります。このリクエスト・ヘッダーの値は、ポーリング対象となるファイルの名前です。

注意:
inboundコンテキスト変数とoutboundコンテキスト変数を設定する場合や、Oracle Service Bus Test Consoleを使用してプロキシ・サービスまたはビジネス・サービスをテストする場合は、トランスポート・ヘッダーとメタデータの設定のときと同じ制限が適用されます。

37.4 メッセージ・フローでのトランスフォーメーションの実行

トランスフォーメーション・マップは、2つのデータ型の間のマッピングを記述したものです。Oracle Service Busは、XQueryおよびeXtensible Stylesheet Language Transformation (XSLT)標準を使用したデータ・マッピングに対応しています。XSLTマップでは、XMLからXMLへのマッピングを記述します。XQueryマップでは、XMLからXML、XMLから非XML、および非XMLからXMLへの各マッピングを記述できます。

メッセージ・フロー内にトランスフォーメーションを指定する位置は、次の条件によって異なります。

- メッセージ・フォーマットがターゲット・サービスに依存する場合。つまり、メッセージ・フォーマットが、ルートの宛先で受け入れられるフォーマットであることが必要な場合です。これに該当するのは、トランスフォーメーションがルート・ノードまたはパブリッシュ・アクションの1つで実行されるときです。
パブリッシュ・アクションで、メッセージのターゲット・サービスを判別し、メッセージのパッケージおよびサービスへの送信方法を構成します。Oracle Service Busには、パブリッシュ表アクションも用意されています。パブリッシュ表アクションは、切替え式条件表にラップされた一連のルートで構成されます。これは、単一のXQuery式の結果に基づいて各種ルートを選択できる短縮形の構文です。

- ルートの宛先に関係なく、リクエストまたはレスポンス・メッセージに対してトランスフォーメーションを実行するかどうか。この場合、リクエストまたはレスポンス・パイプライン・ステージでトランスフォーメーションを構成できます。

37.4.1 トランスフォーメーションとパブリッシュ・アクション

トランスフォーメーションをパブリッシュ・アクション内に設計した場合、トランスフォーメーションは$outbound変数およびメッセージ関連の変数($header、$bodyおよび$attachments)のローカル・コピーを保持します。パブリッシュ・アクションでアウトバウンド・メッセージに行った変更は、パブリッシュされるメッセージにのみ反映されます。つまり、パブリッシュ・アクションで行った変更は、メッセージ・フローがその次のアクションに進む前にロールバックされます。

たとえば、メッセージ・フローで大口の発注書を処理するときに、管理者宛てに発注書の要約を電子メールで送信する必要がある場合について考えます。このような場合、リクエスト・パイプラインにパブリッシュ・アクションを含めると、着信メッセージのSOAP本体に発注書の要約が作成されます。パブリッシュ・アクションでは、発注書データが発注書の要約に変換されます。たとえば、発注書の要約には添付ファイルは必要ないため、$attachmentsのすべての添付ファイルを削除できます。パブリッシュ・アクションの後は、次の項で説明するように、パブリッシュ・アクションより前の状態のメッセージがそのメッセージ・フローを通じて維持されます。

37.4.1.1 サービス品質におけるパブリッシュ・アクションの動作

この項では、様々なサービス品質(QoS)設定におけるパブリッシュ・アクションの動作を説明します。

必ず1回 - QoSが必ず1回の場合、パブリッシュ・アクションはターゲット・サービスからのレスポンスがあるまで待機します(ブロッキング・コール)。ターゲットがビジネス・サービスの場合、パブリッシュ・アクションはビジネス・サービス・レスポンスがあるまで待機します。ターゲットがプロキシ・サービスの場合、パブリッシュ・アクションはプロキシ・サービスのレスポンス・パイプラインが完了するまで待機します。

ベスト・エフォート - QoSがベスト・エフォートで、ターゲット・サービスが一方向プロキシ・サービスまたは一方向ビジネス・サービスの場合で再試行回数が1回以上に設定されていると、パブリッシュ・アクションはターゲット・サービスが返されるまで待機します。一方向のターゲット・サービスではレスポンスがありませんが、プブリッシュ・アクションはリクエストが配信されるまで待機します。

ターゲット・プロキシまたはビジネス・サービスがリクエスト-レスポンスまたは一方向ビジネス・サービスの場合で、再試行回数が0に設定されていると、パブリッシュ・アクションはレスポンスを待機しません(ノンブロッキング・コール)。

37.4.2 トランスフォーメーションとルート・ノード

WS-Addressingヘッダーに基づく2つの宛先の一方にメッセージをルーティングする必要があるとします。この場合、コンテンツ・ベースのルーティングです。また、もう一方の宛先では、SOAP本体のドキュメントの新しいバージョンが必要であるとします。このような場合、条件に基づいて2つの宛先の一方にルーティングされるように、ルート・ノードを構成できます。2つ目の宛先のためにドキュメントを変換するように、ルート・ノードでトランスフォーメーションを構成します。

アウトバウンド・コンテキスト変数($outbound)の制御要素を設定して、アウトバウンド・メッセージに関するシステムの動作を調整することもできます(たとえば、サービスの品質を設定できます)。

inbound変数とoutbound変数の下位要素、およびメッセージ・コンテキストの変数の値を使用してメッセージのコンテンツが作成される仕組みについては、39.4項「inbound変数とoutbound変数」および39.9項「ディスパッチするメッセージの作成」を参照してください。

関連項目

- 第39章「メッセージ・コンテキスト」

- 第11章「XQueryトランスフォーメーション」および第15章「XSLトランスフォーメーション」

- 『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のXQuery Mapperに関する項

37.5 サービス・コールアウト・メッセージの作成

Oracle Service Busがサービス・コールアウト・アクションを通じてサービスを呼び出す場合は、メッセージ・コンテキストの変数の値を使用してメッセージのコンテンツが作成されます。アウトバウンド・メッセージのメッセージ・コンテンツは、ターゲット・サービスの種類に応じて異なって処理されます。

次のトピックで説明するように、メッセージ・コンテンツの作成方法は、ターゲット・サービスのタイプ、およびSOAP本体とペイロード(パラメータまたはドキュメント)のどちらを構成するかによって異なります。

- 37.5.1項「SOAPドキュメント・スタイルのサービス」

- 37.5.2項「SOAP RPCスタイルのサービス」

- 37.5.3項「XMLサービス」

- 37.5.4項「メッセージング・サービス」

37.5.1 SOAPドキュメント・スタイルのサービス

次のようなSOAPドキュメント・スタイルのサービス(EJBドキュメントおよびドキュメントにラップされたサービスを含む)のメッセージを作成できます。

- リクエスト・ドキュメントが割り当てられた変数にはSOAP本文が含まれます。

- SOAPリクエスト・ヘッダーに割り当てられた変数にはSOAPヘッダーが含まれます。

- レスポンスは単一のXMLドキュメント(SOAP本体のコンテンツとSOAPヘッダー(指定されている場合))である必要があります。

SOAPドキュメント・スタイルのサービスへのコールアウト時にメッセージが作成されるしくみを説明するために、次のように構成されたサービス・コールアウト・アクションについて考えてみます。

- リクエスト・ドキュメント変数: myreq

- レスポンス・ドキュメント変数: myresp

- SOAPリクエスト・ヘッダー: reqheader

- SOAPレスポンス・ヘッダー: respheader

また、実行時にリクエスト・ドキュメント変数myreqが次のXMLにバインドされていることを前提とします。

例37-1 リクエスト変数(myreq)のコンテンツ

<sayHello xmlns="http://www.openuri.org/">
<intVal>100</intVal>
<string>Hello Oracle</string>
</sayHello>

実行時に、SOAPリクエスト・ヘッダー変数reqheaderは、次のSOAPヘッダーにバインドされます。

例37-2 SOAPリクエスト・ヘッダー変数(reqheader)のコンテンツ

<soap:Header xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/
xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing">
<wsa:Action>...</wsa:Action>
<wsa:To>...</wsa:To>
<wsa:From>...</wsa:From>
<wsa:ReplyTo>...</wsa:ReplyTo>
<wsa:FaultTo>...</wsa:FaultTo>
</soap:Header>

このシナリオ例では、外部サービスに送信されるメッセージの本文全体は例37-3のようになります(myreq変数とreqheader変数のコンテンツは太字で示しています)。

例37-3 サービス・コールアウト・アクションの結果としてサービスに送信されるメッセージ

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/
xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing">
<wsa:Action>...</wsa:Action>
<wsa:To>...</wsa:To>
<wsa:From>...</wsa:From>
<wsa:ReplyTo>...</wsa:ReplyTo>
<wsa:FaultTo>...</wsa:FaultTo>
</soap:Header>
<soapenv:Body>
<sayHello xmlns="http://www.openuri.org/">
<intVal>100</intVal>
<string>Hello Oracle</string>
</sayHello>
</soapenv:Body>
</soapenv:Envelope>

前述のサービス・コールアウト・アクションの構成に基づいて、サービスからのレスポンスがmyresp変数に割り当てられます。外部サービスからのレスポンス全体は、例37-4のようになります。

例37-4 サービス・コールアウト・アクションの結果としてサービスから送信されるレスポンス・メッセージ

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.
org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<env:Header/>
<env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<m:sayHelloResponse xmlns:m="http://www.openuri.org/">
<result xsi:type="xsd:string">This message brought to you by Hello Oracle and the number 100
</result>
</m:sayHelloResponse>
</env:Body>
</env:Envelope>

このシナリオでは、myresp変数に例37-5に示す値が割り当てられます。

例37-5 サービス・コールアウト・アクションの結果であるレスポンス変数(myresp)のコンテンツ

<m:sayHelloResponse xmlns:m="http://www.openuri.org/">
<result ns0:type="xsd:string" xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance">
This message brought to you by Hello Oracle and the number 100
</result>
</m:sayHelloResponse>

37.5.2 SOAP RPCスタイルのサービス

次のようなSOAP RPCスタイルのサービス(EJB RPCサービスを含む)のメッセージを作成できます。

- リクエスト・メッセージは、メッセージ・コンテキスト変数からアセンブルされます。

- SOAP本体は、SOAP RPC形式(操作ラッパー、パラメータ・ラッパーなど)に基づいて作成されます。

- SOAPヘッダーは、SOAPリクエスト・ヘッダーに指定された変数のコンテンツです(変数が指定されている場合)。

- partを要素として使用 - パラメータ値は変数のコンテンツです。

- partを単純型として使用 - パラメータ値は変数のコンテンツの文字列表現です。

- partを複合型として使用 - パラメータは、パラメータ名の後にある変数のコンテンツのルートの名前変更に対応します。

- レスポンス・メッセージは、次のようにアセンブルされます。

- 出力コンテンツはSOAPヘッダーのコンテンツです(SOAPヘッダーが指定されている場合)。

- partを要素として使用 - 出力コンテンツはパラメータの子要素です。子要素は1つだけです。

- partを単純型/複合型として使用 - 出力コンテンツはパラメータ自体です。

SOAP RPCスタイルのサービスへのコールアウト時にメッセージが作成されるしくみを説明するために、次のように構成された例について考えてみます。

- メッセージ・コンテキスト変数input1は値100にバインドされています。

- メッセージ・コンテキスト変数input2は文字列値Hello Oracleにバインドされています。

- サービス・コールアウト・アクションが次のように構成されています。

- リクエスト・パラメータ intval: input1

- リクエスト・パラメータ string: input2

- レスポンス・パラメータ result: output1

このシナリオでは、サービスへのアウトバウンド・メッセージの本文は例37-6のようになります。

例37-6 アウトバウンド・メッセージのコンテンツ

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<sayHello2 xmlns="http://www.openuri.org/">
<intVal>100</intVal>
<string >Hello Oracle</string>
</sayHello2>
</soapenv:Body>
</soapenv:Envelope>

コールされたサービスによって返されるレスポンスは、例37-7のようになります。

例37-7 helloWorldサービスからのレスポンス・メッセージのコンテンツ

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<env:Header/>
<env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<m:sayHello2Response xmlns:m="http://www.openuri.org/">
<result xsi:type="n1:HelloWorldResult" xmlns:n1="java:">
<message xsi:type="xsd:string">
This message brought to you by Hello Oracle and the number 100
</message>
</result>
</m:sayHello2Response>
</env:Body>
</env:Envelope>

メッセージ・コンテキスト変数output1には、例37-8に示す値が割り当てられます。

例37-8 出力変数(output1)のコンテンツ

<message ns0:type="xsd:string" xmlns:ns0="http://www.w3.org/2001/XMLSchema-intance">
This message brought to you by Hello Oracle and the number 100</message>

37.5.3 XMLサービス

次のようなXMLサービスのメッセージを作成できます。

- リクエスト・メッセージは、リクエスト・ドキュメントが割り当てられた変数のコンテンツです。

- リクエスト変数のコンテンツは、単一のXMLドキュメントである必要があります。

- 出力ドキュメントは、レスポンス・メッセージです。

XMLサービスへのコールアウト時にメッセージが作成されるしくみを説明するために、次のように構成されたサービス・コールアウト・アクションを例にとります。

- リクエスト・ドキュメント変数: myreq

- レスポンス・ドキュメント変数: myresp

また、実行時にリクエスト・ドキュメント変数myreqが次のXMLにバインドされていることを前提とします。

例37-9 myreq変数のコンテンツ

<sayHello xmlns="http://www.openuri.org/">
<intVal>100</intVal>
<string>Hello Oracle</string>
</sayHello>

このシナリオの特徴は次のとおりです。

- 表37-8に示すように、アウトバウンド・メッセージ・ペイロードはmyreq変数の値です。

- レスポンスおよびメッセージ・コンテキスト変数myrespに割り当てられる値は、例37-10のようになります。

例37-10 myresp変数のコンテンツ

<m:sayHelloResponse xmlns:m="http://www.openuri.org/">
<result xsi:type="xsd:string">This message brought to you by Hello Oracle and the number 100
</result>
</m:sayHelloResponse>

37.5.4 メッセージング・サービス

メッセージング・サービスの場合の特徴は次のとおりです。

- リクエスト・メッセージはリクエスト変数のコンテンツです。コンテンツには単純なテキスト、XML、または<binary-content ref=.../>参照XMLのインスタンスによって表されるバイナリ・データを使用できます。

- レスポンス・メッセージはバイナリとして扱われるため、実際にどのようなコンテンツを受信したかにかかわらず、レスポンス変数には<binary-content ref= ... />参照XMLのインスタンスが格納されます。

たとえば、リクエスト・メッセージのコンテキスト変数myreqが<hello>there</hello>という形式のXMLドキュメントにバインドされる場合、アウトバウンド・メッセージには厳密にこのペイロードが格納されます。レスポンス・メッセージのコンテキスト変数(myresp)は、次のような参照要素にバインドされます。

<binary-content ref=" cid:1850733759955566502-2ca29e5c.1079b180f61.-7fd8"/>

37.6 サービス・コールアウトの結果としてのエラー処理

エラー処理は、メッセージ・フロー、パイプライン、ルート・ノード、およびステージ・レベルで構成できます。サービス・コールアウトの結果として外部サービスから受け取るエラーのタイプには、トランスポート・エラー、SOAPフォルト、予期されるレスポンスに一致しないレスポンスなどがあります。

faultコンテキスト変数の設定は、返されるエラーのタイプごとに異なります。fault変数のコンテンツに基づいて、ビジネス・ロジックとエラー処理ロジックを構築できます。$faultの詳細は、39.6項「fault変数」を参照してください。

37.6.1 トランスポート・エラー

外部サービスからトランスポート・エラーを受け取り、トランスポート・プロバイダからOracle Service Busにエラー・レスポンス・ペイロードが返されない場合(たとえば、HTTPビジネス・サービスがXMLまたはSOAP以外のレスポンス・タイプを受け入れたためにHTTPレスポンス・コードを受け取れない場合)、サービス・コールアウト・アクションは例外をスローするので、パイプラインでエラーが発生します。ユーザーが構成したエラー・ハンドラのfault変数は、例37-11に示すメッセージと同様にフォーマットされたメッセージにバインドされます。

例37-11 Oracle Service Busのfault変数のコンテンツ - トンラスポート・エラー、エラー・レスポンス・ペイロードなし

<con:fault xmlns:con="http://www.bea.com/wli/sb/context">
<con:errorCode>BEA-380000</con:errorCode>
<con:reason>Not Found</con:reason>
<con:details>
.......
</con:details>
<con:location>
<con:node>PipelinePairNode1</con:node>
<con:Pipeline>PipelinePairNode1_request</con:Pipeline>
<con:Stage>Stage1</con:Stage>
</con:location>
</con:fault>

トランスポート・エラーに関連付けられたペイロードがある場合(たとえばビジネス・サービスからHTTP 500のエラー・コードを受け取り、レスポンス内にXMLペイロードがある場合)、カスタム・エラー・コードBEA-382502のメッセージ・コンテキスト・エラーが生成されます。

サービスがHTTPまたはJMSトランスポートを使用している場合に、そのサービスからのレスポンスの結果としてBEA-382502エラーレスポンス・コードがトリガーされるには、次の条件が満たされる必要があります。

- (HTTP)レスポンス・コードは300以上のコードである必要があります。

- (JMS)レスポンスにエラー・レスポンスであることを示すプロパティが設定されている必要があります(トランスポート・メタデータのステータス・コードが1に設定されている場合はエラーを示します)。

- コンテンツ・タイプは、text/xml、application/any_string+xmlまたはmultipart/relatedである必要があります。

- サービスがAnySoapまたはWSDLベースのSOAPである場合、サービスにSOAPエンベロープが必要です。SOAPエンベロープ内の本体はXML形式でなければなりません(テキストは不可)。

- サービスのタイプがAnyXMLである、またはタイプがテキストであるメッセージング・サービスでXMLコンテンツが不成功レスポンス・コード(200または202以外の任意のコード)と共に返されます。

トランスポートがHTTPの場合、ErrorResponseDetail要素にはレスポンスとともに返されるHTTPエラー・コードも含まれます。fault内のErrorResponseDetail要素には、サービスから受信したエラー・レスポンス・ペイロードが含まれます。ErrorResponseDetail要素の例を例37-12に示します。

例37-12 Oracle Service Busのfault変数のコンテンツ - トランスポート・エラー、エラー・レスポンス・ペイロードあり

<ctx:Fault xmlns:ctx="http://www.bea.com/wli/sb/context">
<ctx:errorCode>BEA-382502<ctx:errorCode>
<ctx:reason> Service callout has received an error response from the server</ctx:reason>
<ctx:details>
<alsb:ErrorResponseDetail xmlns:alsb="http://www.oracle.com/...">
<alsb:detail> <![CDATA[
. . .
]]>
</alsb:detail>           <alsb:http-response-code>500</alsb:http-response-code>
</alsb:ErrorResponseDetail>
</ctx:details>
<ctx:location>. . .</ctx:location>
</ctx:Fault>

注意:
例37-15に、サービス・コールアウトで生成されるフォルトのXMLスキーマを示します。

37.6.2 SOAPフォルト

外部サービスがSOAPフォルトを返した場合、Oracle Service Busランタイムは、カスタム・エラー・コードとフォルトの詳細を示す説明を含むコンテキスト変数$faultを設定します。そのために、SOAPフォルトの<SOAP-ENV:Fault>要素の下にある3つの要素のコンテンツが抽出され、Oracle Service Busのfault要素の作成に使用されます。

サービスが次のエラーを返すシナリオを例にとります。

例37-13 サービス・コールアウトから返されるSOAPフォルト

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>Application Error</faultstring>
<detail>
<message>That's an Error!</message>
<errorcode>1006</errorcode>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

<faultcode>、<faultstring>、<detail>の各要素が抽出され、<alsb:ReceivedFault>要素にラップされます。例37-15のfaultcode要素にはQNameが含まれ、関連するすべてのネームスペース宣言が保持されます。トランスポートがHTTPの場合、ReceivedFault要素にはフォルト・レスポンスとともに返されるHTTPエラー・コードも含まれます。

生成される<alsb:ReceivedFault>要素、およびカスタム・エラー・コードとエラー文字列は、faultコンテキスト変数のコンテンツの作成に使用されます。この例では、例37-14と同様の形式になります。

例37-14 Oracle Service Busのfault変数のコンテンツ - SOAPフォルト

<ctx:Fault xmlns:ctx="http://www.bea.com/wli/sb/context">
<ctx:errorCode>BEA-382500<ctx:errorCode>
<ctx:reason> service callout received a soap Fault response</ctx:reason>
<ctx:details>
<alsb:ReceivedFault xmlns:alsb="http://www.oracle.com/...">
<alsb:faultcode
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">SOAP-ENV:Clien
</alsb:faultcode>
<alsb:faultstring>Application Error</alsb:faultstring>
<alsb:detail>
<message>That's an Error!</message>
<errorcode>1006</errorcode>
</alsb:detail>
<alsb:http-response-code>500</alsb:http-response-code>
</alsb:ReceivedFault>
</ctx:details>
<ctx:location> </ctx:location>
</ctx:Fault>

注意:
ユニークなエラー・コードBEA-382500は、サービス・コールアウト・アクションがSOAPフォルト・レスポンスを受け取ったときに備えて予約されています。

ローカル・プロキシ・サービスをチェーンする場合、$fault変数ではSOAPエラーの詳細はあるパイプラインから次へは伝搬されません。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のプロキシ・サービス間のSOAPエラーの伝搬に関する項で説明しているように、プロキシ・サービス間でSOAPエラーを伝搬させるには、障害時に返信アクションを指定したエラー・ハンドラを使用します。

37.6.3 予期しないレスポンス

プロキシ・サービスのランタイムが予期していないレスポンス・メッセージがサービスから返された場合、メッセージ・コンテキスト・フォルトが生成され、カスタム・エラー・コードBEA-382501で初期化されます。フォルトの詳細にはレスポンスのSOAP-Body要素のコンテンツが含まれます。トランスポートがHTTPの場合、ReceivedFault要素にはフォルト・レスポンスとともに返されるHTTPエラー・コードも含まれます。

例37-15に、サービス・コールアウトで生成されるフォルトの詳細のXMLスキーマ定義を示します。

例37-15 サービス・コールアウトで生成されるフォルトの詳細のXMLスキーマ

<xs:complexType name="ReceivedFaultDetail">
<xs:sequence>
<xs:element name="faultcode" type="xs:QName"/>
<xs:element name="faultstring" type="xs:string"/>
<xs:element name="detail" minOccurs="0" >
<xs:complexType>
<xs:sequence>
<xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax" />
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax" />
</xs:complexType>
</xs:element>
<xs:element name="http-response-code" type="xs:int" minOccurs="0"/>\
type="xs:int" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="UnrecognizedResponseDetail">
<xs:sequence>
<xs:element name="detail" minOccurs="0" type="xs:string" />
</xs:sequence>
</xs:complexType>

<xs:complexType name="ErrorResponseDetail">
<xs:sequence>
<xs:element name="detail" minOccurs="0" type="xs:string" />
</xs:sequence>
</xs:complexType>

37.7 メッセージ・フローでのエラー処理

エラー処理はパイプライン・ステージ、パイプライン(リクエストまたはレスポンス)またはプロキシ・サービス全体など、複数のレベルで定義できます。

エラーが発生すると、ステージ・レベルのエラー・ハンドラが呼び出されます。ステージ・レベルのエラー・ハンドラがエラーを処理できない場合は、パイプライン・エラー・ハンドラが呼び出されます。パイプライン・レベルのエラー・ハンドラもエラーを処理できない場合は、サービス・レベルのエラー・ハンドラが呼び出されます。サービス・レベルのエラー・ハンドラも処理できない場合、システムがエラーを処理します。

メッセージ・フローにアクションを追加することによって、ステージ・レベル、パイプライン・レベルおよびプロキシ・レベルでエラーが処理される方法を定義します。一般的なエラー処理アクションにはエラーの生成、スキップ、返信(成功の場合)および返信(失敗の場合)があります。エラー・メッセージとエラー処理の定義の詳細は第24章「プロキシ・サービス: エラー・ハンドラ」を参照してください。指定できるアクションの詳細は第21章「プロキシ・サービス: アクション」を参照してください。

表37-9に、メッセージ・フローの様々なレベルにおけるエラー・ハンドラのスコープの概要を示します。

表37-9 エラー・ハンドラのスコープ

レベル

スコープ

ステージ

ステージ内のすべてのエラーを処理します。

パイプライン

パイプラインのステージの未処理のエラーと共に、パイプラインのすべてのエラーを処理します。

サービス

サービスのパイプラインの未処理のエラーと共に、パイプラインのすべてのエラーを処理します。

注意: WS-Securityエラーはすべてこのレベルで処理されます。

システム

パイプラインで処理されないすべてのエラーを処理します。

注意:
エラー・ハンドラのスコープには例外があります。たとえば、ステージ・レベルの非XMLトランスフォーメーションによってスローされる例外を捕捉するのは、サービス・レベルのエラー・ハンドラのみです。プロキシ・サービスの送信レスポンス・メッセージ用にXMLからMFLに変換する場合、このトランスフォーメーションは常にバインディング・レイヤーで発生します。たとえば、非XML出力でステージ・レベルの必須フィールドが欠落している場合、サービス・レベルのエラー・ハンドラだけがこのエラーを捕捉できます。

アサーションがtrueであるかどうかを確認するテストを構成することでエラーを処理できます。このテストは様々なレベルで繰り返すことができます。下位レベルでエラー・ハンドラのない状態でエラーが発生した場合、メッセージ・フローの上位レベルのエラー・ハンドラによって処理することもできます。

通常、メッセージ・フローのステージ・レベルで特定のエラーを処理し、下位レベルでは処理されないエラーのより一般的なデフォルト処理に上位レベルのエラー・ハンドラを使用する方が簡単です。予期されるエラーをパイプラインで明示的に処理し、予期されないエラーをサービス・レベルのハンドラで処理することをお薦めします。

注意:
サービス・レベルで処理できるのは、WS-Security関連のエラーのみです。

37.7.1 エラー・メッセージの生成、レポート、および返信

メッセージ処理中に発生したエラーに関する情報はすべて、事前定義されたコンテキスト変数(fault変数)に保持されます。エラーが発生すると、この変数に情報が格納されてから、適切なエラー・ハンドラが呼び出されます。このfault変数はエラー・ハンドラ・パイプラインでのみ定義され、リクエスト・パイプラインやレスポンス・パイプライン、ルート・ノードやブランチ・ノードでは設定されません。$faultの詳細は、39.2項「事前定義されたコンテキスト変数」を参照してください。

リクエスト/レスポンス型のインバウンド・メッセージでのエラー発生時には、多くの場合、エラーが発生した理由を説明するメッセージを送信元に返送する必要があります。そのためには、送信するレスポンスに対してメッセージ・コンテキスト変数を構成した後、失敗時の返信アクションを使用します。たとえば、HTTPメッセージが失敗した場合は、失敗時の返信でHTTP 500ステータスが生成されます。JMSメッセージが失敗した場合は、失敗時の返信でJMS_BEA_Errorプロパティがtrueに設定されます。Oracle Service Busのエラー・アクションについては、第24章「プロキシ・サービス: エラー・ハンドラ」を参照してください。

プロキシ・サービスが呼び出したサービスがSOAPフォルトまたはトランスポート・エラーを返すと、エラー処理パイプラインが呼び出されます。受信したSOAPフォルトはすべて$bodyに格納されるため、$bodyを変更せずに失敗時の返信を実行すると、サービスの呼出し元のクライアントには元のSOAPフォルトが返されます。返信アクションが構成されていない場合、システム・エラー・ハンドラによって新しいSOAPフォルト・メッセージが生成されます。プロキシ・サービスでは、HTTPエラー・ステータスが設定されたか、JMSプロパティSERVER_Errorがtrueに設定されているためにSOAPフォルトが返されたと認識されます。

用途によっては、エラー・レポートが必要な場合があります。このような場合は、レポート・アクションを使用します。たとえば、リクエスト・パイプラインで追跡用にメッセージをレポートするレポート・アクションを実行した後、ルート・ノードによって呼び出されたサービスが失敗するというシナリオを想定します。このような場合、メッセージはレポート・システムによってログに記録されますが、メッセージが正常に処理されたという保証はありません。メッセージが正常に受信されたことを示すだけです。

Oracle Service Bus管理コンソールでは、メッセージを追跡することによって、メッセージ・フローの正確な流れを把握することができます。これにより、メッセージが処理のために送信されたことをレポートする元のメッセージだけでなく、メッセージが正常に処理されなかったことをレポートする以降のエラーも確認できます。レポート・アクションを構成し、実行時にレポートされるデータを使用する方法については、第21章「プロキシ・サービス: アクション」を参照してください。

37.7.2 エラー・ハンドラでのアクションの構成の例

この例では、エラー・ハンドラにレポート・アクションと返信アクションを構成する方法を示します。図37-2に示すメッセージ・フローには、validate loan applicationステージのエラー・ハンドラが含まれています。この例のエラー・ハンドラは、1つのステージが構成された単純なメッセージ・フローであり、Oracle Service Bus管理コンソールには、図37-2のように表示されます。

図37-2 エラー・ハンドラのメッセージ・フロー

図37-3に示すように、このステージはアクション(置換、レポート、および返信)で構成されています。

図37-3 ステージ・エラー・ハンドラのアクション

アクションによって、パイプライン・エラー・ハンドラのステージの動作が次のように制御されます。

- 置換 - body変数の指定した要素のコンテンツが、faultコンテキスト変数のコンテンツで置換されます。body変数の要素はXPath式で指定します。コンテンツは、XQuery式で返される値で置換されます。この例では$fault/ctx:reason/text()です。

- レポート - このアクションで構成されたエラー・ハンドラが呼び出されると、レポート・アクションのメッセージがOracle Service Busレポート・データ・ストリームに書き込まれます。JMSレポート・プロバイダによって、メッセージがOracle Service Busダッシュボードでレポートされます。Oracle Service Busには、メッセージ・データを1つ以上のレポート・プロバイダに配信する機能があります。メッセージ・データは、メッセージの本文、およびメッセージに関連付けられた他の任意の変数(ヘッダーやinbound変数など)から取り込むことができます。レポート・プロバイダに配信されたメッセージは、メッセージのトラッキングや規制の監査などの機能に使用できます。
エラーが発生すると、faultコンテキスト変数のコンテンツがレポートされます。キー名はerrorCodeです。キー値は./ctx:errorCodeというXPath式を使用してfault変数から抽出されます。キーと値のペアをキー識別子として使用して、実行時にダッシュボードでこれらのメッセージを識別します。

レポート・アクションを構成し、実行時にレポートされるデータを使用する場合、第21章「プロキシ・サービス: アクション」を参照してください。

- 返信 - 実行時に、loanGateway3プロキシ・サービスの呼出し元に即時返信が送信され、メッセージにフォルトが含まれていたことが示されます(図37-3を参照)。この返信は「失敗時」です。

構成の詳細は、第24章「プロキシ・サービス: エラー・ハンドラ」を参照してください。

37.8 動的ルーティングの使用

作成するプロキシ・サービスから呼び出す必要があるサービスがわからない場合に、動的ルーティングを使用できます。

どのプロキシ・サービスでも、次のいずれかの方法を使用して、メッセージを動的にルーティングできます。

- Oracle Service Busの完全修飾サービス名を動的に設定し、動的ルート・アクションまたは動的パブリッシュ・アクションを使用するように、メッセージ・フロー・パイプラインでXQuery式を設計します。

注意:
動的ルーティングはルート・ノードで使用でき、動的パブリッシュはリクエスト・パイプラインまたはレスポンス・パイプラインのステージで使用できます。

この方法を使用すると、プロキシ・サービスでは、エンドポイント・ビジネス・サービスのサービス・アカウントを動的に使用して、ユーザー名とパスワードをそのアウトバウンド・リクエストに送信します。たとえば、プロキシ・サービスがビジネス・サービスAにリクエストをルーティングする場合、プロキシ・サービスではビジネス・サービスAのサービス・アカウントを使用して、ユーザー名とパスワードをそのアウトバウンド・リクエストに送信します。37.8.1項「動的ルーティングの実装」を参照してください。

- ビジネス・サービスにメッセージをルーティングまたはパブリッシュするように、プロキシ・サービスを構成します。次に、ルート・アクションまたはパブリッシュ・アクションのリクエスト・アクション・セクションで、サービスのURIを動的に指定するルーティング・オプション・アクションを追加します。
この方法を使用すると、リクエストの送信先のURIに関係なく、ユーザー名とパスワードをそのアウトバウンド・リクエストに送信するために、プロキシ・サービスは静的に定義されたビジネス・サービスのサービス・アカウントを使用します。

この方法の使用方法については、37.8.1項「動的ルーティングの実装」を参照してください。

注意:
この方法は、インタフェースの概要が確定している場合に使用します。インタフェースの概要には、メッセージのタイプ、ポート・タイプ、およびバインディングが含まれます。具象インタフェースは含まれません。具象インタフェースは、サービスが配置されているトランスポートURLです。

動的サービスの呼出しの操作例については、http://www.oracle.com/technetwork/middleware/service-bus/learnmore/index.htmlでOracle Service Busのサンプルを参照してください。

37.8.1 動的ルーティングの実装

動的ルーティングを使用すると、プロキシ・サービスの実行時に宛先を確定できます。これを行うには、XMLファイルのルーティング表を使用して、XQueryリソースを作成します。

注意:
XQueryリソースを使用するかわりに、リソースの作成元のXMLファイルを直接使用することもできます。

XMLファイルまたはXQueryリソースは容易に保持できます。実行時に、プロキシ・サービスのルーティング先またはパブリッシュ先を決定するルーティング・テーブルにエントリを指定します。XMLファイルまたはXQueryリソースには、論理的な識別子(企業名など)を物理的な識別子(Oracle Service Busのサービスの完全修飾名)にマップするルーティング・テーブルが含まれています。メッセージから抽出された論理的な識別子は、呼び出すサービスの名前である物理的な識別子にマップされます。

注意:
動的ルート・アクションを使用するには、Oracle Service Busのサービスの完全修飾名が必要です。

パイプラインでは、論理的な修飾子はXPathを使用してメッセージに取得されます。XQueryリソースのXML表を変数に割り当てます。ルーティング表の変数に問合せを実装し、対応する論理的な修飾子に基づいて物理的な修飾子を抽出します。この変数を使用すると、必要なサービスを呼び出すことができます。次の項では、動的ルーティングの実装方法を説明します。

- 37.8.1.1項「サンプルXMLファイル」

- 37.8.1.2項「サンプルXMLからのXQueryリソースの作成」

- 37.8.1.3項「動的ルーティングを実装するためのプロキシ・サービスの作成および構成」

- 37.8.1.4項「IDベースのルーティングの実装に関するガイドライン」

37.8.1.1 サンプルXMLファイル

次のXMLファイルからXQueryリソースを作成できます。sampleXquery.xmlとしてこれを保存します。

例37-16 サンプルXMLファイル

<routing>
<row>
<logical>Oracle</logical>
<physical>default/goldservice</physical>
</row>
<row>
<logical>ABC Corp</logical>
<physical>default/silverservice</physical>
</row>
</routing>

37.8.1.2 サンプルXMLからのXQueryリソースの作成

サンプルXMLからXQueryリソースを作成するには:

1. アクティブ・セッションで、左側のナビゲーション・パネルから「プロジェクト・エクスプローラ」を選択します。「プロジェクト・ビュー」ページが表示されます。

2. XQueryリソースの追加先となるプロジェクトを選択します。

3. 「プロジェクト・ビュー」ページで、「リソース・タイプの選択」リストから「XQueryリソース」を選択します。XQueryの作成ページが表示されます。

4. 「リソース名」フィールドにリソースの名前を入力します。これは必須です。

5. 「リソースの説明」フィールドにリソースの説明を入力します。これは省略可能です。

6. 「XQuery」フィールドに、XQueryリソースとして使用するXMLへのパスを指定します。「参照」をクリックしてファイルを検索します。また、XMLをコピーして「XQuery」フィールドに貼り付けることもできます。これは必須です。

7. XQueryリソースを保存します。

8. セッションをアクティブ化します。

37.8.1.3 動的ルーティングを実装するためのプロキシ・サービスの作成および構成

プロキシ・サービスを使用して動的ルーティングを実装するには:

1. アクティブ・セッションで、左側のナビゲーション・パネルから「プロジェクト・エクスプローラ」を選択します。「プロジェクト・ビュー」ページが表示されます。

2. プロキシ・サービスの追加先となるプロジェクトを選択します。

3. 「プロジェクト・ビュー」ページで、「リソース・タイプの選択」リストから「プロキシ・サービス」リソースを選択します。「全般的な構成」ページが表示されます。

4. 「全般的な構成」ページの「サービス名」フィールドに、プロキシ・サービスの名前を入力します。これは必須です。

5. サービスのタイプを選択するには、「サービス・タイプ」の下の利用可能なさまざまなサービスのタイプの近くにあるボタンをクリックします。サービスのタイプの選択方法の詳細は、第21章「プロキシ・サービス: アクション」を参照してください。

6. 「終了」をクリックします。「サマリー」ページで「保存」をクリックして、プロキシ・サービスを保存します。

7. 「プロジェクト・ビュー」ページで、「リソース」表の新しく作成したプロキシ・サービスに対して「メッセージ・フローの編集」アイコンをクリックします。「メッセージ・フローの編集」ページが表示されます。

8. メッセージ・フローをクリックして、パイプライン・ペアをメッセージ・フローに追加します。

9. 「リクエスト・パイプライン」アイコンをクリックし、メニューから「ステージの追加」を選択します。

10. 「Stage1」アイコンをクリックし、メニューから「ステージの編集」を選択します。「ステージ構成の編集」ページが表示されます。

11. 「アクションの追加」アイコンをクリックします。メニューから「アクションの追加」項目を選択します。

12. 「メッセージ処理」から「割当て」アクションを選択します。

13. 「式」をクリックします。XQuery式エディタが表示されます。

14. 「XQueryリソース」をクリックします。ブラウザに、XQueryリソースをインポートできるページが表示されます。「参照」をクリックしてXQueryリソースを検索します。

15. 「検証」をクリックしてインポートしたXQueryリソースを検証します。

16. 検証が成功したら、インポートしたXQuery式を保存します。

17. 「ステージ構成の編集」ページで、フィールドに変数の名前を入力します。
これにより、XQueryリソースがこの変数に割り当てられます。これで、この変数に外部化したルーティング表が格納されました。

18. 別の「割当て」アクションを追加します。

19. 次のXQueryを入力します。

<ctx: route>
<ctx: service isProxy='false'> {$routingtable/row[logical/text()=$logicalidentifier]/physical/text()}
</ctx: service>
</ctx: route>

前述のコードで、$logicalidentifierを実際のXPathで置換して、メッセージ($bodyなど)から論理的な識別子を抽出します。

20. 「検証」をクリックして、XQueryを検証します。

21. 検証が成功したら、XQueryを保存します。

22. 「ステージ構成の編集」ページで、フィールドに変数の名前(routeresultなど)を入力します。
これにより、動的ルート・アクションで使用するXMLがこの変数に抽出されます。

23. メッセージ・フローをクリックして、ルート・ノードをメッセージ・フローの最後に追加します。

24. 「ルート・ノード」アイコンをクリックし、メニューから「編集」を選択します。

25. 「アクションの追加」アイコンをクリックします。メニューから「アクションの追加」項目を選択します。

26. 動的ルーティング・アクションを選択します。

27. 「式」をクリックします。XQuery式エディタが表示されます。

28. 変数($routeresultなど)を入力します。

37.8.1.4 IDベースのルーティングの実装に関するガイドライン

認証済ユーザーのIDをベースにしたメッセージの動的ルーティングを行う場合、Oracle Service Busはユーザー名、グループ・メンバーシップ(/principals/group)およびサブジェクト名(/subject-properties/property/name)などの情報を次のインバウンド・コンテキスト変数に格納します。

- $inbound/ctx:security/ctx:transportClient/*

- $inbound/ctx:security/ctx:messageLevelClient/*

これらのコンテキスト変数の詳細は表39-5「security要素の下位要素」を参照してください。

37.8項「動的ルーティングの使用」で説明されているガイダンスに従って、目的のマッピング方法としてXQueryまたは簡単なXMLを使用して、認証済ユーザーのID特性を異なるエンドポイントにマップします。

次の事前定義されたOSB XQuery関数も、IDベースのルーティングのセキュリティ・チェックの実行に使用できます。

- 43.2.1項「fn-bea:lookupBasicCredentials」

- 43.2.2項「fn-bea:isUserInGroup」

- 43.2.3項「fn-bea:isUserInRole」

動的サービスの呼出しの操作例については、http://www.oracle.com/technetwork/middleware/service-bus/learnmore/index.htmlでOracle Service Busのサンプルを参照してください。

37.9 XQueryを使用したデータベースへのアクセス

Oracle Service Busでは、カスタムのEJBコードやJavaコードを記述したり、Oracle Data Service Integratorなどの別のデータベース製品を使用せずに、プロキシ・サービスからデータベースに対して読取りアクセスを行うことができます。execute-sql()関数を使用して、データベースに対して簡単なJDBC呼出しを行い、単純なデータベースの読取りを実行できます。指定した地域の税率を取得する単純な問合せや、複雑な結合を使用して、基になる複数のデータベース表から注文の現在のステータスを取得する問合せなど、任意のSQL問合せが有効です。

データベース問合せを使用してデータを取得し、メッセージに情報を追加したり、ルーティング先を選択したり、プロキシ・サービスの動作をカスタマイズすることができます。Oracle Service Busプロキシ・サービスが「見積依頼」メッセージを受信する場合のシナリオを例として示します。プロキシ・サービスは、顧客の優先度に基づいて、見積りを提供する複数のビジネス・サービス(たとえば標準、ゴールド、プラチナ・レベルのサービス)のいずれかにリクエストをルーティングできます。その後で、プロキシ・サービスは、それらのサービスが返す結果をSQLベースで補強します。たとえば、選択した出荷方法と注文品の重量に基づいて送料を検索し、そのコストを見積依頼メッセージに追加することができます。

関数の構文とその使用例については、43.2.5項「fn-bea:execute-sql()」を参照してください。execute-sql()関数は型付きデータを返し、SQL/JDBCデータ・モデルとXQueryデータ・モデル間で値を自動的に変換します。

返された要素を、Oracle Service Busメッセージ・フローのユーザー定義の変数に格納できます。

execute-sql()関数でサポートされるデータベースおよびJDBCドライバは次のとおりです。

- Oracle WebLogic Serverに含まれるサンプル・データベース。
IBM DB2/NT 8

- Microsoft SQL Server 2000、2005

- Oracle8iリリース8.1.x

- Oracle9i、Oracle Database 10g

- Sybase Adaptive Server 12.5.2および12.5.3

- Oracle WebLogic Server タイプ4 JDBCドライバ

- Oracle WebLogic Serverでサポートされるサード・パーティ製ドライバ

43.2.5項「fn-bea:execute-sql()」関数で使用するデータソースには、非XAドライバを使用してください。この関数は、データソースへの読取り専用アクセスをサポートしています。

注意:
データベースへの接続に使用する非XA JDBCドライバ・クラスの指定に加え、グローバル・トランザクションと2フェーズ・コミットを必ず無効にする必要があります。(Oracle WebLogic Server管理コンソールで、グローバル・トランザクションはJDBCデータ・ソースに対してデフォルトでは有効です。)データ・ソースに対するこれらの指定は、Oracle WebLogic Server管理コンソールを介して行うことができます。Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・オンライン・ヘルプの「JDBCデータ・ソースの作成」を参照してください。

Oracle Service BusでサポートされているデータベースおよびJDBCドライバの詳細は、次の場所にあるOracle Fusion Middlewareのサポートされるシステム構成を参照してください:

http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html

前述のリストに示したコア・セット以外のデータベースもサポートされています。ただし、前述のコア・データベースでは、非コア・データベースの場合よりも、XQueryエンジンが適切にデータ型を認識し、XQueryタイプにマップします。データを取得する際に、コア・データベースの独自のJDBC拡張が使用される場合もあります。非コア・データベースでは、XQueryエンジンは、JDBCドライバが提供する標準タイプのコード、および標準のJDBC結果セットのアクセス・メソッドに完全に依存します。

プロキシ・サービスを設計する際に、XQueryをリソースとして入力するのではなく、アクション定義の一部としてインラインで入力することができます。メッセージ・フローでIf...Then...アクションの条件にインラインXQueryを使用することもできます。インラインXQueryエディタの使用については、37.11.3項「変数の構造のマッピングの作成」を参照してください。

37.10 メッセージ・コンテキストについて

メッセージ・コンテキストは、Oracle Service Busを介してメッセージがルーティングされるときに、メッセージ・コンテキストとメッセージに関する情報を保持する一連の変数です。header、bodyおよびattachmentsの各変数(XQuery文では、$header、$bodyおよび$attachments)は、Oracle Service Busを介して流れるメッセージを表します。メッセージの標準書式はSOAPです。サービス・タイプがSOAPでなくても、メッセージはOracle Service Busのメッセージ・コンテキスト内でSOAPとして表示されます。

37.10.1 メッセージ・コンテキストのコンポーネント

メッセージ・コンテキストでは、$headerにSOAP Header要素が格納され、$bodyにSOAP Body要素が格納されます。Header要素とBody要素は、プロキシ・サービスのサービス・タイプに応じてSOAP 1.1またはSOAP 1.2のネームスペースで修飾されます。また、メッセージ・コンテキストでは、$attachmentsにattachmentsと呼ばれるラッパー要素が含まれ、attachmentごとに1つのattachment子要素を持ちます。attachment要素には、body要素と実際の添付ファイルが含まれます。

プロキシ・サービスでメッセージを受信すると、メッセージのコンテンツを使用してheader変数、body変数およびattachments変数が初期化されます。SOAPサービスの場合、受信したSOAPメッセージのエンベロープからHeader要素およびBody要素が直接取得され、それぞれ$headerおよび$bodyに割り当てられます。非SOAPサービスの場合、通常はメッセージのコンテンツ全体がBody要素(SOAP 1.1ネームスペースで修飾)でラップされて$bodyに割り当てられ、空のHeader要素(SOAP 1.1ネームスペースで修飾)が$headerに割り当てられます。

バイナリ・メッセージとMFLメッセージは別の方法で初期化されます。MFLメッセージの場合、$bodyに割り当てられるBody要素には、MFLと同等のXMLドキュメントが挿入されます。バイナリ・メッセージの場合、メッセージ・データは内部的に格納され、$bodyに割り当てられるBody要素には参照XMLが挿入されます。参照XMLは<binary-content ref="..."/>のような形式になります。"..."には、プロキシ・サービスによって割り当てられる一意の識別子が入ります。

メッセージ・コンテキストは、XMLスキーマによって定義されます。プロキシ・サービスを定義するメッセージ・フローのコンテキスト変数を操作するには、XQuery式を使用する必要があります。

Oracle Service Busで事前定義されているコンテキスト変数は、次のように分類されます。

- メッセージ関連の変数

- inbound変数およびoutbound変数

- operation変数

- fault変数

事前定義されたコンテキスト変数の詳細は、39.2項「事前定義されたコンテキスト変数」を参照してください。

$bodyには、メッセージのペイロード変数が含まれます。Oracle Service Busからメッセージをディスパッチするときに、送信メッセージに含める変数を決定できます。この決定は、ターゲットのエンドポイントがSOAPメッセージを受信するか非SOAPメッセージを受信するかによって異なります。

- バイナリの場合、$bodyのBody要素に任意のテキストまたはXMLメッセージ・コンテンツが格納されて送信されます。

- MFLメッセージの場合、$bodyのBody要素にMFLドキュメントと同等のXMLが格納されます。

- テキスト・メッセージの場合、$bodyのBody要素にテキストが格納されます。テキスト添付では、$attachmentsのBody要素にテキストが格納されます。コンテンツがシンプル・テキストではなくXMLの場合、XMLはテキスト・メッセージとして送信されます。

- XMLメッセージの場合、$bodyのBody要素にXMLが格納されます。XML添付では、$attachmentsのBody要素にXMLが格納されます。

- SOAPメッセージは、<soap:Envelope>要素内のheader変数およびbody変数のコンテンツをラップすることで作成されます。SOAP 1.1ネームスペースはSOAP 1.1サービスに使用され、SOAP 1.2ネームスペースはSOAP 1.2サービスに使用されます。body変数に参照XMLが格納されている場合、この参照XMLが送信されます。つまり、参照されているコンテンツはメッセージに追加されません。

非SOAPサービスの場合、$bodyのBody要素にbinary-content要素が格納されると、ターゲット・サービスのタイプに関係なく、内部的に格納された参照先コンテンツがそのまま送信されます。

詳細は、第39章「メッセージ・コンテキスト」を参照してください。

メッセージ・コンテキスト変数の型は、メッセージ・コンテキスト・スキーマ(MessageContext.xsd)によって定義されます。Oracle XQuery Mapperでメッセージ・コンテキスト変数を操作する場合は、JARファイル(OSB_ORACLE_HOME/lib/sb-schemas.jar)に用意されたMessageContext.xsdと、次の場所にあるトランスポート固有のスキーマを参照する必要があります。

OSB_ORACLE_HOME/lib/transports/

メッセージ・コンテキスト・スキーマおよびトランスポート固有のスキーマの詳細は、39.10項「メッセージ・コンテキスト・スキーマ」を参照してください。

37.10.2 メッセージ・コンテキストを表示および変更するためのガイドライン

メッセージ・コンテキストを検査または変更するときには、次のガイドラインを考慮してください。

- XQuery式で変数の要素を参照する場合、その変数のルート要素はパスに含まれません。たとえば、次のXQuery式は、メッセージの最初の添付のContent-Descriptionを取得します。

$attachments/ctx:attachment[1]/ctx:content-Description

2番目の添付を取得するには、次のように記述します。

$attachments/ctx:attachment[2]/ctx:body/*

- コンテキスト変数は空の場合もあれば、単一のXML要素または文字列値が格納されている場合もあります。ただし、多くの場合、XQuery式はシーケンスを返します。XQuery式を使用して値を変数に割り当てるとき、式によって返されるシーケンスの最初の要素のみが変数の値として格納されます。たとえば、SOAPヘッダーのWS-Addressing Message IDの値(ヘッダーに存在するものと仮定)をidvarという変数に割り当てるには、割当てアクションを次のように指定します。

assign data($header/wsa:messageID to variable idvar

注意:
この例で2つのWS-Addressing MessageIDヘッダーが存在する場合、idvar変数には最初のMessageIDヘッダーの値が割り当てられます。

- 変数$header、$bodyおよび$attachmentsが空になることはありません。ただし、$headerには空のSOAP Header要素、$bodyには空のSOAP Body要素、$attachmentsには空のattachments要素がそれぞれ含まれる場合があります。

- トランスフォーメーション・リソース(XSLTまたはXQuery)を使用する場合、トランスフォーメーション・リソースは、メッセージのSOAP本体のドキュメントを変換するように定義されます。このような場合、トランスフォーメーションの入力パラメータをXQuery式にすることで、トランスフォーメーションの簡易化および効率化を図ることができます。たとえば、次のXQuery式を使用して、トランスフォーメーションへの入力として、メッセージのBody要素($body)にビジネス・ドキュメントを渡すことができます。

$body/* [1]

トランスフォーメーションの結果は、置換アクションによって$bodyに戻すことができます。つまり、$bodyのコンテンツ(Body要素のコンテンツ)を置換します。詳細は、第11章「XQueryトランスフォーメーション」および第15章「XSLトランスフォーメーション」を参照してください。

- 挿入アクションまたは置換アクションを使用すると、単一の要素に対する挿入または置換だけでなく、選択した要素のシーケンスに対しても挿入または置換を行うことができます。要素のシーケンスを返すようXQuery式を構成できます。たとえば、挿入アクションおよび置換アクションを使用して、$inboundから$outboundに一連のトランスポート・ヘッダーをコピーすることができます。アクションを追加する方法については、21.1項「メッセージ・フローでのアクションの追加と編集」を参照してください。使用例については、37.10.3項「inboundからoutboundへのJMSプロパティのコピー」を参照してください。

37.10.3 inboundからoutboundへのJMSプロパティのコピー

プロキシ・サービスと呼び出されるビジネス・サービスのインタフェースが異なることが前提になっています。そのため、inbound変数からoutbound変数への情報(トランスポート・ヘッダーやJMSプロパティなど)の伝播は行われません。

プロキシ・サービスのリクエスト・メッセージとレスポンス・メッセージのトランスポート・ヘッダーは$inboundに含まれ、呼び出されるビジネス・サービスのリクエストとレスポンスのトランスポート・ヘッダーは$outboundに含まれます。

たとえば、一方向メッセージ(レスポンスのない呼出し)で、ユーザー定義のJMSプロパティをインバウンド・メッセージからアウトバウンド・メッセージにコピーする必要がある場合、次のXQuery式を使用できます。

トランスポート・ヘッダー・アクションを使用して、次を設定します

$inbound/ctx:transport/ctx:request/tp:headers/tp:user-header

次の最初の子として:

./ctx:transport/ctx:request/tp:headers

出力変数の中で。

トランスポート・ヘッダー・アクションの構成方法の詳細は、21.7項「トランスポート・ヘッダー・アクションの追加」を参照してください。

37.11 変数の構造での作業

この項の内容は次のとおりです。

- 37.11.2項「変数の構造の使用」

- 37.11.2項「変数の構造の使用」

- 37.11.3項「変数の構造のマッピングの作成」

37.11.1 インラインXQuery式エディタの使用

Oracle Service Busでは、Oracle XQuery Mapperなどの外部ツールで作成されたXQueryをインポートできます。これらのXQueryは、プロキシ・サービスのメッセージ・フローのどの場所でも使用できます。XQueryを使用するには、XQueryリソースの入力をインラインXQueryにバインドし、XQueryリソースの出力をアクションにバインドします。このアクションは、出力の結果を入力として使用する割り当て、置換、挿入などのアクションです。

ただし、XQueryをリソースとして入力するのではなく、アクションの定義の一部としてインラインで入力することができます。If...Then...アクションの条件にインラインXQueryを使用することもできます。

インラインXQuery式エディタは、次のもので構成される簡単なXQueryを入力するときに使用します。

- XQueryが埋め込まれたXMLフラグメント

- child軸に沿った単純な変数パス

注意:
より複雑なXQueryについては、XQueryに慣れていない場合は特に、XQuery Mapperを使用することをお薦めします。

インラインXQueriesは、次のような場合に使用すると効率的です。

- インラインXQuery式エディタを使用して変数の構造を作成します。37.11.2項「変数の構造の使用」を参照してください。

- $headerまたは$bodyに含まれるSOAPエンベロープの要素からビジネス・ドキュメントまたはRPCパラメータを抽出したり、アクセスします。

- $attachmentsに含まれる添付ドキュメントを抽出したり、アクセスします。

- サービス・コールアウト・アクションのパラメータをSOAPエンベロープから抽出して設定します。

- サービス・コールアウト・アクションの結果パラメータをSOAPエンベロープに挿入します。

- for loopを実行するためにSOAPエンベロープからシーケンスを抽出します。

- 更新アクションで、for loop内のシーケンスの項目を更新します。

注意:
インラインXQuery式エディタを使用して、変数の構造を作成することもできます。詳細は、37.11.2項「変数の構造の使用」を参照してください。

37.11.1.1 インラインXQuery

Oracle Service Busでは、Oracle XQuery Mapperなどの外部ツールで作成されたXQueryをインポートできます。これらのXQueryは、プロキシ・サービスのメッセージ・フローのどの場所でも使用できます。XQueryを使用するには、XQueryリソースの入力をインラインXQueryにバインドし、XQueryリソースの出力をアクションにバインドします。このアクションは、出力の結果をアクション入力として使用する割当て、置換、挿入などのアクションです。ただし、XQueryをリソースとして入力するのではなく、アクションの定義の一部としてインラインで入力することができます。If...Then...アクションの条件にインラインXQueryを使用することもできます。

インラインXQueryエディタとインラインXPathエディタでは、変数の構造を型または要素にマップし、その構造のグラフィック表現からドラッグ・アンド・ドロップ操作によってパス式を作成することにより、変数の構造を宣言できます。また、パス式を手動で入力することもできます。

この機能は、すべてのユーザー定義変数と$inbound、$outboundおよび$faultに対して直接使用できます。ただし、この機能を使用して$attachmentsのXML添付ファイル、$headerのヘッダーまたは$bodyのドキュメントとRPCパラメータに直接アクセスすることはできません。例外として、WSDLプロキシ・サービスによって受信されたリクエスト・メッセージの$bodyのドキュメントとパラメータには直接アクセスできます。

変数の構造の作成方法の詳細は、37.11.3項「変数の構造のマッピングの作成」を参照してください。

XQueryエンジンのサポート、およびOracleの関数と演算子の関係の詳細は、第43章「XQueryの実装」を参照してください。

37.11.1.2 インラインXQuery式エディタの用途

通常、インラインXQuery式エディタは、次のもので構成される簡単なXQueryを入力するときに使用します。

- XQueryが埋め込まれたXMLフラグメント

- child軸に沿った単純な変数パス

注意:
複雑なXQueryには、ドラッグ・アンド・ドロップ機能を備えたOracle XQuery Mapperを使用することをお薦めします。『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のXQuery Mapperに関する項を参照してください。

インラインXQueryの適切な使用例は次のとおりです。

- $headerまたは$bodyに含まれるSOAPエンベロープの要素からビジネス・ドキュメントまたはRPCパラメータを抽出したり、アクセスします。

- $attachmentsに含まれる添付ドキュメントを抽出したり、アクセスします。

- サービス・コールアウトのパラメータをSOAPエンベロープから抽出して設定します。

- サービス・コールアウトの結果パラメータをSOAPエンベロープに挿入します。

- for loopを実行するためにSOAPエンベロープからシーケンスを抽出します。

- 更新アクションで、for loop内のシーケンスの項目を更新します。

インラインXQuery式エディタを使用して、変数の構造を作成することもできます。詳細は、37.11.2項「変数の構造の使用」を参照してください。

37.11.1.2.1 タイプ依存の式のベスト・プラクティス

タイプ依存の式を使用する場合に予期した結果を保証するには、値を目的のタイプに手動でキャストします。たとえば、次の文では、counterをXQueryコンパイラの整数値としてキャストして、単一の戻り値を保証します。

<Body><result>{$foo/item[xs:int($counter)]}</result></Body>

37.11.2 変数の構造の使用

インラインXQuery式エディタを使用すると、変数の構造を作成することができます。これにより、設計の目的で特定の変数の構造を定義できます。たとえば、XPath変数のXMLスキーマを表示するよりも、管理コンソールでXPath変数を参照する方が簡単です。

注意:
ランタイムを作動させるために変数の構造を作成する必要はありません。変数の構造によって、変数の構造や変数パスが定義されますが、変数は作成されません。変数は、ステージでの割当てアクションの対象として実行時に作成されます。

一般的なプログラミング言語では、変数のスコープは静的です。変数の名前と型は明示的に宣言されます。静的なスコープ内の任意の場所から変数にアクセスできます。

Oracle Service Busにはいくつかの事前定義された変数が存在しますが、変数を動的に作成し、割当てアクションまたはforループ内のループ変数を使用して変数に値を割り当てることもできます。変数に値を割り当てると、プロキシ・サービスのメッセージ・フローの任意の場所から変数にアクセスできるようになります。変数の型は宣言されませんが、原則として、任意の時点で変数に格納されている基礎になる値の型が変数の型になります。

注意:
forループの変数のスコープは制限されており、ステージ外からはアクセスできません。

インラインXQuery式エディタを使用すると、XQueryには0以上の入力と1つの出力が含まれます。式エディタ自体に入力と出力の構造を表示できるため、インラインXQueryを作成するときに、XMLスキーマまたはWSDLリソースを開いて構造を確認する必要はありません。構造が視覚的に表示されるため、作成中のXQueryに述部を指定せずに、child軸に沿って単純な変数パスをドラッグ・アンド・ドロップすることができます。

変数の構造のマッピングでは、各エントリはラベルを持ち、変数または変数パスを1つまたは複数の構造にマップします。これらのマッピングのスコープはステージまたはルート・ノードです。変数は静的に型指定されないので、1つの変数がステージまたはルート・ノードの様々な位置(または同じ位置)で複数の異なる構造を持つことができます。つまり、1つの変数または変数パスを複数の構造にマップし、それぞれに異なるラベルを使用することができます。構造を表示するには、リストで対応するラベルを選択します。

注意:
インラインXPath式エディタでも変数の構造のマッピングを作成できます。ただし、変数または変数パスは構造にマップされますが、構造から選択したときに生成されるXPathは、変数を基準にした相対XPathです。./ctx:attachment/ctx:bodyは、相対XPathの一例です。

37.11.3 変数の構造のマッピングの作成

次の項では、様々なタイプの変数の構造のマッピングを作成する方法について説明します。

- 37.11.3.1項「サンプルWSDL」

- 37.11.3.2項「例で必要なリソースの作成」

- 37.11.3.3項「例1: 事前定義された変数の構造の選択」

- 37.11.3.4項「例2: 変数を型にマップする変数の構造の作成」

- 37.11.3.5項「例3: 変数を要素にマップする変数の構造の作成」

- 37.11.3.6項「例4: 変数を子要素にマップする変数の構造の作成」

- 37.11.3.7項「例5: 変数をビジネス・サービスにマップする変数の構造の作成」

- 37.11.3.8項「例6: 子要素と子要素をマップする変数の構造の作成」

37.11.3.1 サンプルWSDL

このサンプルWSDLは、この項のほとんどの例で使用します。このWSDLをリソースとして構成に保存してください。詳細は、37.11.3.2項「例で必要なリソースの作成」を参照してください。

例37-17 サンプルWSDL

<definitions
name="samplewsdl"
targetNamespace="http://example.org"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:s0="http://www.oracle.com"
xmlns:s1="http://example.org"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<types>
<xs:schema
attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="http://www.oracle.com"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="PO" type="s0:POType"/>
<xs:complexType name="POType">
<xs:all>
<xs:element name="id" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:all>
</xs:complexType>
<xs:element name="Invoice" type="s0:InvoiceType"/>
<xs:complexType name="InvoiceType">
<xs:all>
<xs:element name="id" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:schema>
</types>
<message name="POTypeMsg">
<part name="PO" type="s0:POType"/>
</message>
<message name="InvoiceTypeMsg">
<part name="InvReturn" type="s0:InvoiceType"/>
</message>

<portType name="POPortType">
<operation name="GetInvoiceType">
<input message="s1:POTypeMsg"/>
<output message="s1:InvoiceTypeMsg"/>
</operation>
</portType>
<binding name="POBinding" type="s1:POPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetInvoiceType">
<soap:operation soapAction="http://example.com/GetInvoiceType"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
</definitions>

37.11.3.2 例で必要なリソースの作成

この後の例を利用するには、サンプルWSDLをリソースとして構成に保存し、サンプルWSDLを使用するサンプルのビジネス・サービスとプロキシ・サービスを作成します。

次の手順に従って、Oracle Service Bus管理コンソールでタスクを実行します。

- 37.11.3.2.1項「WSDLのリソースとしての保存」

- 37.11.3.2.2項「サンプルWSDLを使用するプロキシ・サービスの作成」

- 37.11.3.2.3項「サンプル・プロキシ・サービスのメッセージ・フローの構築」

- 37.11.3.2.4項「サンプルWSDLを使用するビジネス・サービスの作成」

37.11.3.2.1 WSDLのリソースとしての保存

次のステップを実行します:

1. Oracle Service Bus管理コンソールの左側のナビゲーション・ペインで、「チェンジ・センター」の下にある「作成」をクリックして、現在の構成に変更を加えるための新しいセッションを作成します。

2. 左側のナビゲーション・ペインで、「プロジェクト・エクスプローラ」をクリックします。

3. 「プロジェクト・ビュー」ページで、WSDLの追加先となるプロジェクトをクリックします。

4. 「プロジェクト・ビュー」ページの「リソースの作成」フィールドで、「インタフェース」の下にある「WSDL」を選択します。

5. 「新しいWSDLリソースの作成。」ページの「リソース名」フィールドに「SampleWSDL」と入力します。このフィールドは必須です。

6. サンプルWSDLのテキストをコピーして「WSDL」フィールドに貼り付けます。
このフィールドは必須です。

7. 「保存」をクリックします。新しいWSDL SampleWSDLがリソースのリストに追加され、現在のセッションで保存されます。次に、このWSDLを使用するプロキシ・サービスを作成する必要があります。37.11.3.2.2項「サンプルWSDLを使用するプロキシ・サービスの作成」を参照してください。

37.11.3.2.2 サンプルWSDLを使用するプロキシ・サービスの作成

次のステップを実行します:

1. 左側のナビゲーション・ペインで、「プロジェクト・エクスプローラ」をクリックします。

2. 「プロジェクト・ビュー」ページで、プロキシ・サービスの追加先となるプロジェクトを選択します。

3. 「プロジェクト・ビュー」ページの「リソースの作成」フィールドで、「サービス」の下にある「プロキシ・サービス」を選択します。

4. 「プロキシ・サービスの編集 - 全般的な構成」ページの「サービス名」フィールドに、「ProxywithSampleWSDL」と入力します。このフィールドは必須です。

5. 「サービス・タイプ」フィールドで、サービスで交換されるメッセージのタイプとパッケージ化を定義します。

1. 「新しいサービスの作成」の下にある「WSDL Webサービス」を選択します。

2. 「参照」をクリックします。WSDLブラウザが表示されます。

3. 「SampleWSDL」を選択し、「WSDL定義の選択」ペインで「POBinding」を選択します。

4. 「発行」をクリックします。

6. 「全般的な構成」ページの他のすべてのフィールドをデフォルト値のままにし、「次へ」をクリックします。

7. 「トランスポート構成」ページのすべてのフィールドをデフォルト値のままにし、「次へ」をクリックします。

8. 「操作選択構成」ページで、「選択アルゴリズム」フィールドに「SOAP本体タイプ」が選択されていることを確認し、「次へ」をクリックします。

9. このプロキシ・サービスについてこれまでに入力した構成データを確認し、「保存」をクリックします。新しいプロキシ・サービスProxywithSampleWSDLがリソースのリストに追加され、現在のセッションで保存されます。このプロキシ・サービスのメッセージ・フローを構築するには、37.11.3.2.3項「サンプル・プロキシ・サービスのメッセージ・フローの構築」を参照してください。

37.11.3.2.3 サンプル・プロキシ・サービスのメッセージ・フローの構築

次のステップを実行します:

1. 「プロジェクト・ビュー」ページの「アクション」列で、ProxywithSampleWSDLプロキシ・サービスの「メッセージ・フローの編集」アイコンをクリックします。

2. 「メッセージ・フローの編集」ページで、「ProxywithSampleWSDL」アイコンをクリックし、「パイプライン・ペアの追加」をクリックします。PipelinePairNode1が表示されます。ここには、リクエスト・パイプラインとレスポンス・パイプラインが含まれています。

3. 「リクエスト・パイプライン」アイコンをクリックし、「ステージの追加」をクリックします。ステージ「Stage1」が表示されます。

4. 「保存」をクリックします。ProxywithSampleWSDLプロキシ・サービスの基本的なメッセージ・フローが作成されます。

37.11.3.2.4 サンプルWSDLを使用するビジネス・サービスの作成

次のステップを実行します:

1. 左側のナビゲーション・ペインで、「プロジェクト・エクスプローラ」をクリックします。「プロジェクト・ビュー」ページが表示されます。

2. ビジネス・サービスを追加するプロジェクトを選択します。

3. 「プロジェクト・ビュー」ページの「リソースの作成」フィールドで、「サービス」の下にある「ビジネス・サービス」を選択します。「ビジネス・サービスの編集 - 全般的な構成」ページが表示されます。

4. 「サービス名」フィールドに「BusinesswithSampleWSDL」と入力します。このフィールドは必須です。

5. 「サービス・タイプ」フィールドでは、次のように、サービスで交換されるメッセージのタイプとパッケージ化を定義します。

1. 「新しいサービスの作成」の下にある「WSDL Webサービス」を選択します。

2. 「参照」をクリックします。WSDLブラウザが表示されます。

3. 「SampleWSDL」を選択し、「WSDL定義の選択」ペインで「POBinding」を選択します。

4. 「発行」をクリックします。

6. 「全般的な構成」ページの他のすべてのフィールドをデフォルト値のままにし、「次へ」をクリックします。

7. 「トランスポート構成」ページで、「エンドポイントURI」フィールドにエンドポイントURIを入力します。

8. 「追加」をクリックし、「次へ」をクリックします。

9. 「SOAPバインド構成」ページのすべてのフィールドにデフォルト値を使用します。

10. 「次へ」をクリックします。

11. このビジネス・サービスについてこれまでに入力した構成データを確認し、「保存」をクリックします。新しいビジネス・サービスBusinesswithSampleWSDLがリソースのリストに追加され、現在のセッションで保存されます。

12. 左側のナビゲーション・ペインで、「チェンジ・センター」の下にある「アクティブ化」をクリックします。セッションが終了し、構成がランタイムにデプロイされます。これで、例を使用する準備ができました。37.11.3.3項「例1: 事前定義された変数の構造の選択」に進みます。

37.11.3.3 例1: 事前定義された変数の構造の選択

この例では、プロキシ・サービスProxyWithSampleWSDLを使用して事前定義された変数の構造を選択します。このサービスのタイプは、SampleWSDLのバインディングPOBindingを使用するWSDL Webサービスです。

プロキシ・サービスのメッセージ・フローが、処理するメッセージの構造を認識している必要があります。このために、Oracle Service Busでは事前定義された構造が自動的に提供されます。この構造は、インタフェースのすべてのメッセージで、プロキシ・サービスのWSDLでの定義に従って、body変数をSOAP本体の構造にマップします。この事前定義された構造のマッピングのラベルはbodyです。

注意:
この事前定義された構造は、型付きインタフェースを備えたメッセージング・サービスのためにもサポートされています。

事前定義された変数の構造を選択する手順:

XQuery式エディタ・ページの「変数の構造」パネルで、組込み構造のリストから「body」を選択します。

変数の構造bodyは、図37-4のように表示されます。

図37-4 変数の構造 - body

37.11.3.4 例2: 変数を型にマップする変数の構造の作成

プロキシ・サービスProxyWithSampleWSDLが、ビジネス・サービスBusinessWithSampleWSDLへのサービス・コールアウトを呼び出すとします。このビジネス・サービスも、サービスのタイプはSampleWSDLのバインディングPOBindingを使用するWSDL Webサービスです。操作GetInvoiceTypeが呼び出されます。

この例では、メッセージ・フローが、処理するレスポンス・パラメータの構造を認識する必要があります。このためには、レスポンス・パラメータ変数を型InvoiceTypeにマップする新しい変数の構造を作成します。

変数を型にマップするには:

1. 「変数の構造」パネルで「新しい構造の追加」をクリックします。追加フィールドが図37-5のように表示されます。

図37-5 変数の構造 - 新しい構造の追加

2. 「XMLタイプ」を選択します。

3. 「構造ラベル」フィールドに、作成する変数の構造の表示名として「InvoiceType」と入力します。この表示名を使用すると、実行時には影響を及ぼさず設計時に構造を認識できるように、構造に意味のある名前を付けることができます。

4. 「構造パス」フィールドに、実行時の変数の構造のパスとして「$InvoiceType」と入力します。

5. タイプ「InvoiceType」を選択するには、次のようにします。

1. 「タイプ」フィールドで該当するオプションを選択し、次にリストから「WSDLタイプ」を選択します。

2. 「参照」をクリックします。WSDLブラウザが表示されます。

3. WSDLブラウザで「SampleWSDL」を選択してから、「WSDL定義の選択」ペインの「タイプ」で「InvoiceType」を選択します。

4. 「発行」をクリックします。選択した「WSDLタイプ」の下に「InvoiceType」が表示されます。

6. 「追加」をクリックします。新しい変数の構造「InvoiceType」が変数の構造のリストの「XMLタイプ」の下に追加されます。
変数の構造InvoiceTypeは、図37-6のように表示されます。

図37-6 変数の構造 - InvoiceType

37.11.3.5 例3: 変数を要素にマップする変数の構造の作成

一時変数には、SampleWSDL WSDLで記述された要素Invoiceが含まれているとします。この例では、ProxyWithSampleWSDLメッセージ・フローは、この変数にアクセスする必要があります。このためには、変数を要素Invoiceにマップする新しい変数の構造を作成します。

変数を要素にマップする手順:

1. 「変数の構造」パネルで「新しい構造の追加」をクリックします。

2. 「XMLタイプ」を選択します。

3. 「構造ラベル」フィールドに、作成する変数の構造の名前として、表示されたときに意味がわかるように「Invoice」と入力します。

4. 「構造パス」フィールドに、実行時の変数の構造のパスとして「$Invoice」と入力します。

5. 要素「Invoice」を選択するには、次のようにします。

1. 「タイプ」フィールドで、該当するオプションを選択していることを確認します。「WSDL要素」を選択します。

2. 「参照」をクリックします。

3. WSDLブラウザで「SampleWSDL」を選択してから、「WSDL定義の選択」ペインの「要素」で「Invoice」を選択します。

4. 「発行」をクリックします。選択した「WSDL要素」の下に「Invoice」が表示されます。

6. 「追加」をクリックします。新しい変数の構造「Invoice」が変数の構造のリストの「XMLタイプ」の下に追加されます。
変数の構造Invoiceは、図37-7のように表示されます。

図37-7 変数の構造 - Invoice

37.11.3.6 例4: 変数を子要素にマップする変数の構造の作成

プロキシ・サービスProxyWithSampleWSDLは、ドキュメント・スタイルがAny SOAPであるビジネス・サービスにルーティングします。このビジネス・サービスは、SOAP本体の発注書を返します。この例では、ProxyWithSampleWSDLプロキシ・サービスのメッセージ・フローが、そのレスポンスを処理する必要があります。このためには、body変数をPO要素にマップする新しい構造を作成し、PO要素を変数の子要素として指定します。body変数にはSOAP Body要素が格納され、PO要素はBody要素の子であるため、子要素として指定する必要があります。

変数を子要素にマップするには:

1. 「変数の構造」パネルで「新しい構造の追加」をクリックします。

2. 「XMLタイプ」を選択します。

3. 「構造ラベル」フィールドに、作成する変数の構造の名前として、表示されたときに意味がわかるように「body to PO」と入力します。

4. 「構造パス」フィールドに、実行時の変数の構造のパスとして「$body」と入力します。

5. PO要素を選択するには、次のようにします。

1. 「タイプ」フィールドで、該当するオプションを選択していることを確認します。「WSDL要素」を選択します。

2. 「参照」をクリックします。

3. WSDLブラウザで「SampleWSDL」を選択してから、「WSDL定義の選択」ペインの「要素」で「PO」を選択します。

4. 「発行」をクリックします。

6. PO要素をbody to PO変数の構造の子として設定するために、「子として設定」チェックボックスを選択します。

7. 「追加」をクリックします。新しい変数の構造「body to PO」が変数の構造のリストの「XMLタイプ」の下に追加されます。
変数の構造body to POは、図37-8のように表示されます。

図37-8 変数の構造 - body to PO

37.11.3.7 例5: 変数をビジネス・サービスにマップする変数の構造の作成

プロキシ・サービスProxyWithSampleWSDLは、ビジネス・サービスBusinessWithSampleWSDLにメッセージをルーティングします。このビジネス・サービスも、サービスのタイプはSampleWSDLのバインディングPOBindingを使用するWSDL Webサービスです。この例では、メッセージ・フローがレスポンスを処理する必要があります。このためには、body変数をBusinessWithSampleWSDLビジネス・サービスにマップする新しい構造を定義します。これにより、サービスのWSDLインタフェースで、すべてのメッセージのSOAP本体にbody変数がマップされます。

注意:
このマッピングは、型付きインタフェースを備えたメッセージング・サービスのためにもサポートされています。

変数をビジネス・サービスにマップするには

1. 「変数の構造」パネルで「新しい構造の追加」をクリックします。

2. 「サービス・インタフェース」を選択します。

3. 「構造ラベル」フィールドに、変数の構造の名前として、表示されたときに意味がわかるように「BusinessService」と入力します。

4. 「構造パス」フィールドには、デフォルトとしてすでに$bodyが設定されています。これは、実行時の変数の構造のパスになります。

5. このビジネス・サービスを選択するには、次の操作を実行します。

1. 「サービス」フィールドで、「参照」をクリックします。サービス・ブラウザが表示されます。

2. サービス・ブラウザでBusinessWithSampleWSDLビジネス・サービスを選択し、「発行」をクリックします。ビジネス・サービスが「サービス」フィールドの下に表示されます。

3. 「操作」フィールドで、「すべて」を選択します。

6. 「追加」をクリックします。新しい変数の構造BusinessServiceが変数の構造のリストの「サービス・インタフェース」の下に追加されます。
変数の構造BusinessServiceは、図37-9のように表示されます。

図37-9 変数の構造 - Business Service

37.11.3.8 例6: 子要素と子要素をマップする変数の構造の作成

ProxyWithSampleWSDLプロキシ・サービスが単一の添付ファイルを受信するように、SampleWSDLを変更します。添付ファイルは発注書です。この例では、プロキシ・サービスのメッセージ・フローが発注書を処理する必要があります。このためには、$attachmentsのbody要素を、子要素として指定されているPO要素にマップする新しい構造を定義します。body要素は、次の形式の変数パスとして指定されます。

$attachments/ctx:attachment/ctx:body

事前定義されたattachments構造のbody要素を選択してコピーし、新しいマッピング定義でマップされる変数パスとして貼り付けます。

子要素を別の子要素にマップするには:

1. 「変数の構造」パネルで、組込み構造のリストから「attachments」を選択します。
変数の構造attachmentsは、図37-10のように表示されます。

図37-10 変数の構造 - attachments

2. attachments構造でbody子要素を選択します。ページの右側にあるプロパティ・インスペクタにbody要素の変数パスが表示されます。

$attachments/ctx:attachment/ctx:body

3. body要素の変数パスをコピーします。

4. 「変数の構造」パネルで「新しい構造の追加」をクリックします。

5. 「XMLタイプ」を選択します。

6. 「構造ラベル」フィールドに、この変数の構造の名前として、表示されたときに意味がわかるように「PO attachment」と入力します。

7. 「構造パス」フィールドに、body要素の変数パスを貼り付けます。

$attachments/ctx:attachment/ctx:body

これは、実行時の変数の構造のパスになります。

8. PO要素を選択するには、次のようにします。

1. 「タイプ」フィールドで、該当するオプションを選択していることを確認し、「WSDL要素」を選択します。

2. 「参照」をクリックします。

3. WSDLブラウザで「SampleWSDL」を選択してから、「WSDL定義の選択」ペインの「要素」で「PO」を選択します。

4. 「発行」をクリックします。

9. body要素の子としてPO要素を設定するために、「子として設定」チェックボックスを選択します。

10. 「追加」をクリックします。新しい変数の構造「PO attachment」が変数の構造のリストの「XMLタイプ」の下に追加されます。

11. 複数の添付ファイルを使用する場合は、この構造化変数のフィールドをXQueryで使用するときに、索引を参照に追加します。たとえば、POフィールドをXQueryフィールドにドラッグしてPOを2番目の添付にする場合は、挿入した値を変更します。

$attachments/ctx:attachment/ctx:body/oracle:PO/oracle:id

これを次のように変更します。

$attachments/ctx:attachment[2]/ctx:body/oracle:PO/oracle:id

37.12 サービスの品質

次の項では、Oracle Service Busメッセージングのサービス品質機能について説明します。

- 37.12.1項「配信の保証」

- 37.12.2項「アウトバウンド・メッセージの再試行」

37.12.1 配信の保証

Oracle Service Busでは、信頼性のあるメッセージングがサポートされます。メッセージがルート・ノードから別のサービスにルーティングされるとき、プロキシ・サービスがトランザクションに対応するよう構成されている場合、デフォルトのサービス品質(QoS)は「必ず1回」で、それ以外の場合、「ベスト・エフォート」のQoSがサポートされます。

サービスの品質は、$outboundコンテキスト変数のqualityOfService要素で設定されます。

Oracle Service Busに用意されている配信の保証のタイプを表37-10に示します。

表37-10 配信の保証のタイプ

配信の信頼性

説明

必ず1回

「必ず1回」の信頼性では、アウトバウンド・メッセージの送信が開始されるまで終了エラーが発生しないことを前提として、メッセージがインバウンドからアウトバウンドに1回のみ配信されます。「必ず1回」は、信頼性が最適化されることを意味します。

「必ず1回」の配信の信頼性は提案であり、命令ではありません。「必ず1回」を指定すると、可能な場合に「必ず1回」の信頼性が提供されます。「必ず1回」が不可能な場合は、「1回以上」の配信セマンティクスが試行され、これも不可能な場合は「ベスト・エフォート」の配信が実行されます。

トランザクションに対応するよう構成されているプロキシ・サービスのサービス品質は、「必ず1回」です。

次のインバウンド・トランスポートでも、ルート・ノード・アクションのqualityOfService要素のデフォルト値はexactly-onceです。

- 電子メール

- FTP

- SFTP

- ファイル

- JMS(トランザクション対応)

- Tuxedo(トランザクション対応)

- MQ(バックアウトしきい値の設定が0)

- WS

注意: QoSが「必ず1回」の場合は、アウトバウンド・トランスポートを再試行しないでください。

1回以上

「1回以上」のセマンティクスは、アウトバウンド・メッセージの送信が開始されるまで終了エラーが発生しないことを前提として、メッセージがインバウンドからアウトバウンドに少なくとも1回は配信されることを意味します。ターゲット・サービスがトランスポートレベルのエラーとともに応答した場合でも、配信は成功と見なされます。ただし、タイムアウト、接続エラー、または通信リンクの中断が発生した場合は成功とは見なされません。フェイルオーバーURLが指定されている場合は、少なくとも1つのURLについて「1回以上」のセマンティクスが提供されます。

「必ず1回」が不可能であるが、qualityOfService要素がexactly-onceの場合は、「1回以上」の配信セマンティクスが試行されます。

ベスト・エフォート

「ベスト・エフォート」は、信頼性のあるメッセージングが存在せず、重複するメッセージが除去されないが、パフォーマンスは最適化されることを意味します。qualityOfService要素がbest-effortの場合に実行されます。「必ず1回」および「1回以上」の配信セマンティクスが不可能であるが、qualityOfService要素がexactly-onceの場合にも、「ベスト・エフォート」配信が実行されます。

次のインバウンド・トランスポートの場合、ルート・ノードのqualityOfService要素のデフォルト値はbest-effortです。

- HTTP

- JMS(トランザクション非対応)

- Tuxedo(トランザクション非対応)

- MQ(バックアウトしきい値の設定が0より大きい)

次の場合、qualityOfService要素のデフォルト値は常にbest-effortです。

- サービス・コールアウト・アクション - 常にbest-effortですが、必要に応じて変更できます。

- パブリッシュ・アクション - デフォルトはbest-effortで、変更可能
パブリッシュ・アクションでのQoSの動作の詳細は37.4.1項「トランスフォーメーションとパブリッシュ・アクション」を参照してください。

注意: パブリッシュ・アクションでqualityOfService要素の値がbest-effortの場合、すべてのエラーが無視されます。ただし、ルート・ノード・アクションまたはサービス・コールアウト・アクションでqualityOfService要素の値がbest-effortの場合は、すべてのエラーで例外が発生します。

他のトランスポートのサービスの品質の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のトランスポートに関する項を参照してください。

37.12.1.1 デフォルト要素属性のオーバーライド

デフォルトの「必ず1回」のサービス品質属性をオーバーライドするには、アウトバウンド・メッセージのコンテキスト変数($outbound)でqualityOfServiceを設定する必要があります。詳細については、39.10項「メッセージ・コンテキスト・スキーマ」を参照してください。

次のメッセージ・フロー・アクションの場合、デフォルトのqualityOfService要素属性をオーバーライドできます。

- パブリッシュ

- 動的にパブリッシュ

- パブリッシュ表

- サービス・コールアウト

- ルーティング

- 動的ルーティング

- ルーティング表

qualityOfService要素属性をオーバーライドするには、前述の任意のアクションにルーティング・オプション・アクションを追加し、QoSオプションを選択し、オーバーライド値を選択します。

メッセージ・コンテキスト変数の詳細は、39.10項「メッセージ・コンテキスト・スキーマ」を参照してください。

37.12.1.2 配信の保証のルール

プロキシ・サービスがメッセージをパブリッシュするか、リクエストをビジネス・サービスにルーティングするときは、次の条件に応じて配信の保証がサポートされます。

- qualityOfService要素の値

- インバウンド・トランスポート(および該当する場合は接続ファクトリ)

- アウトバウンド・トランスポート(および該当する場合は接続ファクトリ)

ただし、インバウンド・プロキシ・サービスがローカル・トランスポートで、呼出し元が別のプロキシ・サービスである場合、呼出し元のプロキシ・サービスのインバウンド・トランスポートが配信の保証を行います。呼び出されたプロキシ・サービスのトランスポートがローカル・トランスポートの場合、呼出し元のプロキシ・サービスが最適化されて、直接呼出しになるためです。転送プロトコルの詳細は、第20章「プロキシ・サービス: 作成と管理」および第19章「ビジネス・サービス: 作成と管理」を参照してください。

注意:
プロキシ・サービスからのレスポンスには配信の保証はありません。

配信の保証に適用されるルールを表37-11に示します。

表37-11 配信の保証のルール

提供される配信の保証

ルール

必ず1回

プロキシ・サービスのインバウンド・トランスポートはトランザクションに対応し、アウトバウンド・トランスポートへのqualityOfService要素の値はexactly-onceです。

1回以上

プロキシ・サービスのインバウンド・トランスポートはファイル、FTPまたは電子メールで、qualityOfService要素の値はexactly-onceです。

1回以上

プロキシ・サービスのインバウンド・トランスポートはトランザクションに対応し、トランザクション非対応のアウトバウンド・トランスポートへのqualityOfService要素の値(該当する場合)はexactly-onceです。

配信の保証なし

その他の場合(すべてのレスポンス処理を含む)。

注意:
JMSにより配信の保証として「1回以上」および「必ず1回」をサポートするには、JMSトランザクションを利用し、サーバーがクラッシュした場合、または返信アクションや再開アクションのエラー・ハンドラで処理できないエラーが発生した場合にメッセージを再配信できるように、JMSキューの再試行回数と再試行間隔を構成する必要があります。ファイル、FTP、および電子メール・トランスポートでも、内部ではJMS/XAキューが使用されます。JMS/XAトランスポートを使用したプロキシ・サービスのデフォルトの再試行回数は1です。Oracle Service Busで作成されるデフォルトのJMSキューのリストについては、『Oracle Fusion Middleware Oracle Service Busデプロイメント・ガイド』を参照してください。

配信の保証のその他のルールは次のとおりです。

- インバウンド・プロキシ・サービスのトランスポートでトランザクションが伝播または開始される場合、リクエスト処理は1つのトランザクションで実行されます。

- qualityOfService要素がexactly-onceに設定されている場合、トランザクション対応の宛先へのリクエスト・フローで実行されるルート・ノード・アクションは、すべて同一トランザクションで実行されます。トランザクション・コンテキスト内のパブリッシュ・アクションとサービス・コールアウト・アクションは、デフォルトではbest-effortであるため、トランザクション・コンテキスト外で実行されます。これらのアクションを「必ず1回」に設定すると、トランザクション・コンテキスト内で実行されます。

- ルート・ノードの任意のアクションのqualityOfService要素がbest-effortに設定されている場合、サービス・コールアウト・アクションまたはパブリッシュ・アクションは、リクエスト・フロー・トランザクションの外部で実行されます。具体的には、JMS、Tuxedo、トランザクション対応のTuxedo、またはEJBの各トランスポートで、リクエスト・フロー・トランザクションが中断されます。トランザクション対応のTuxedoの処理はトランザクションなしで実行されるか、すぐにコミットされる別のトランザクションで実行されます。

- リクエストの処理中にエラーが発生しても、(再開アクションまたは返信アクションを使用して)エラーを管理するユーザーのエラー・ハンドラで捕捉されると、メッセージは正常に処理されたと見なされ、トランザクションはコミットされます。トランザクションが中断されるのは、システム・エラー・ハンドラがエラーを受け取る場合、つまりエラーが処理されずにシステム・レベルに届く場合です。また、リクエスト・パイプラインの処理中にサーバー障害が発生した場合もトランザクションが中断されます。

- ビジネス・サービスに対してJMS/XAトランスポートを使用するプロキシ・サービスがレスポンスを受信する(かつプロキシのインバウンドがトランザクション対応のTuxedoではない)場合、レスポンス処理は1つのトランザクションで実行されます。

- qualityOfService要素が exactly-onceに設定されている場合、すべてのルート・アクション、サービス・コールアウト・アクション、およびパブリッシュ・アクションは同じトランザクションで実行されます。

- qualityOfService要素がbest-effortに設定されている場合、すべてのパブリッシュ・アクションとサービス・コールアウト・アクションは、レスポンス・フロー・トランザクションの外部で実行されます。特に、JMS、EJB、またはトランザクション対応のTuxedoのタイプのトランスポートの場合、レスポンス・フロー・トランザクションは中断され、サービス呼出しの処理はトランザクションなしで、またはすぐにコミットされる別のトランザクションで実行されます。

- JMS/XA宛先へのレスポンス・フローで実行されるプロキシ・サービスのレスポンスは、qualityOfService要素の設定に関係なく、常に同じトランザクションで実行されます。

- プロキシ・サービスのインバウンド・トランスポートがトランザクション対応のTuxedoであるか、プロキシ・サービスの「レスポンスに同じトランザクション」オプションを設定している場合、リクエスト処理とレスポンス処理はともにこのトランザクションで実行されます。

注意:
インバウンド・トランスポートがトランザクション対応のTuxedoで、アウトバウンドがJMS/XAなどの非同期トランスポートの場合、ランタイム・エラーが発生します。

37.12.1.3 スレッディング・モデル

Oracle Service Busのスレッディング・モデルは次のように作動します。

- プロキシ・サービスのリクエスト・フローとレスポンス・フローが別のスレッドで実行します。

- サービス・コールアウトは常にブロックします。qualityOfService要素の値がbest-effortの場合、HTTPルート・アクションまたはパブリッシュ・アクションはブロックしません(リクエスト/レスポンスまたは一方向呼出しの場合)。

- JMSルート・アクションまたはパブリッシュ・アクションは常にブロックしません。ただし、Oracle Service Busには永続メッセージ処理状態がないため、リクエストが送信された後でサーバーが再起動するとレスポンスが失われます。

注意:
リクエスト・フローまたはレスポンス・フローのパブリッシュ・アクションでは、レスポンスは常に破棄されます。これは、パブリッシュ・アクションは本質的に一方向のメッセージ送信であるためです 。

37.12.1.4 プロキシ・サービスの分割

次の場合に、プロキシ・サービスの分割を検討してください。

- HTTPがプロキシ・サービスのインバウンドおよびアウトバウンド・トランスポートであるとき、メッセージ・フローの途中に高信頼性を組み込みます。このようにして高信頼性を実現するには、プロキシ・サービスを、フロント・エンドHTTPプロキシ・サービスと、HTTPアウトバウンド・トランスポートを使用するバックエンドJMS (一方向またはリクエスト/レスポンス)プロキシ・サービスに分割します。エラー発生時には、メッセージの損失を回避できるように、最初のプロキシ・サービスがメッセージを2番目のプロキシ・サービスのキューにすぐに入れる必要があります。

- プロキシ・サービス(たとえばloanGateway1)が別のプロキシ・サービス(たとえばloanGateway2)を呼び出すときに、JMS以外のトランスポートについて直接呼出しの最適化を無効にするには次のようになります。プロキシ・サービスloanGateway1からプロキシ・サービスloanGateway2にルーティングします(プロキシ・サービスloanGateway2がJMSトランスポートを使用する場合)。

- HTTPプロキシ・サービスでJMSキューにパブリッシュするときに、リクエスト処理において後で例外が発生した場合にパブリッシュ・アクションをロールバックするには、プロキシ・サービスをフロント・エンドHTTPプロキシ・サービスとバックエンドJMSプロキシ・サービスに分けます。パブリッシュ・アクションでは、qualityOfService要素にexactly-onceを指定し、XA接続ファクトリを使用します。

37.12.2 アウトバウンド・メッセージの再試行

JMSを使用してメッセージのインバウンドの再試行を構成するだけでなく、アウトバウンドの再試行およびロード・バランシングも構成できます。ロード・バランシング、フェイルオーバー、および再試行の組合せによって、パフォーマンスと高可用性を実現できます。各メッセージのフェイルオーバーURLとして指定したURLのリストは、ロード・バランシング・アルゴリズムに基づいて自動的に並べ替えられ、フェイルオーバーのシーケンスが形成されます。再試行回数がNの場合、シーケンス全体がN回再試行されてから終了します。システムは指定された再試行間隔の時間だけ待機してから、シーケンスの次のループを開始します。再試行回数が完了してもまだエラーがある場合、ルート・ノードのエラー・ハンドラ・パイプラインが呼び出されます。エラー・ハンドラ・パイプラインの詳細は、24.3項「パイプライン・エラー・ハンドラの追加」を参照してください。

注意:
HTTPトランスポートの場合、Oracle Service Busでは200または202以外のHTTPステータスはエラーと見なされるため、再試行する必要があります。このアルゴリズムにより、Oracle Service Busでは、解決することのできない認証エラーなどのエラーを、そのURLで一定期間再試行することが可能です。これに対して、Oracle Service Busで任意のメッセージの送信を再試行するときに別のURLにフェイルオーバーする場合は、新しいURLではエラーにならない可能性があります。
quality of serviceがexactly-onceの場合、フェイルオーバーや再試行は行われません。

37.13 Oracle Service Busでのワーク・マネージャの使用

Oracle WebLogic Serverは、アプリケーションとWebサービス環境のパフォーマンスを最適化し、ワーク・マネージャという機能を使用してサービス・レベル・アグリーメントを保持する際に役立ちます。ワーク・マネージャのリソースを作成し、作業実行ルールを定義することによって、作成したリソースを構成します。Oracle WebLogic Serverではワーク・マネージャのルールを使用して、作業の優先順位を付け、ワーク・マネージャが配置されているどのようなアプリケーションやコンポーネントにもスレッドを割り当てることができます。

ワーク・マネージャの詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明を参照してください。

37.13.1 ワーク・マネージャを使用するためのビジネス・サービスおよびプロキシ・サービスの構成

Oracle Service Busでは、プロキシ・サービスおよびビジネス・サービスのいくつかのトランスポートで、ワーク・マネージャとサービスを関連付けてサービス作業の優先順位を付けることができる、「ディスパッチ・ポリシー」という構成オプションが提供されます。Oracle Service Busプロキシ・サービスのディスパッチ・ポリシーを構成することで、起動とリクエスト・パイプラインの実行はワーク・マネージャのルールによって制御されます。たとえば、最大制約が5のディスパッチ・ポリシーを使用したプロキシ・サービスの場合、そのプロキシ・サービスでは同時に5つのリクエスト・パイプライン・タスクしか実行できません。

リクエスト・パイプラインがプロキシ・サービスのディスパッチ・ポリシーによって制御されるのに対し、レスポンス・パイプラインはビジネス・サービスまたは分割-結合のディスパッチ・ポリシーによって制御されます。RouteToアクションでは、メッセージのルーティング先のビジネス・サービスまたは分割-結合を指定し、レスポンスには指定したビジネス・サービスまたは分割-結合のすべてのディスパッチ・ポリシーが適用されます。

RouteToアクションでローカル・プロキシ・サービスを指定した場合、元のプロキシのディスパッチ・ポリシーがローカル・プロキシのリクエスト・パイプラインで実行される作業に適用されます。ローカル・プロキシまたはローカル・プロキシのチェーンが、ビジネス・サービスまたは分割-結合を呼び出すRouteToアクションに達すると、ビジネス・サービス、分割-結合および後続のすべてのレスポンス・パイプラインが、呼び出されたビジネス・サービスまたは分割-結合のディスパッチ・ポリシーによって制御されます。

リクエストでエラーが発生すると、エラー・レスポンスは同じスレッド内でリクエスト・パイプラインとして処理されます。

37.13.2 サービスの品質

アウトバウンド・メタデータで指定したサービス品質(QoS)は、リクエストをスレッド化する方法に影響を与える可能性があるため、ワーク・マネージャを監視する際の表示内容にも影響します。RouteToアクションでのQoSは、デフォルトではインバウンドQoSに設定されています。たとえば、JMS/XA、SB、Tuxedo、WS(WS-RM)などトランザクション対応の一部のインバウンド・トランスポートでは、QoSは「必ず1回」に設定されます。HTTPなどのその他のインバウンド・トランスポートでは、QoSはデフォルトで「ベスト・エフォート」に設定されます。RouteToアクションでのQoSは、RouteToアクションのユーザー設定でオーバーライドされない限り、インバウンドから継承されます。

「ベスト・エフォート」を使用すると、ルート・ノードはビジネス・サービスを非同期に呼び出します。「ベスト・エフォート」の場合は、ワーク・スレッドはプールに戻され、レスポンスを待機しないため、非同期に戻される予定の保留中の作業がある場合でも、ワーク・マネージャの制約に対してスレッドがカウントされることはありません。しかし、「必ず1回」を選択すると、リクエスト・スレッドによってリクエストが送信され、レスポンスの待機がブロックされて、ワーク・マネージャの制約に対してスレッドがカウントされます。「必ず1回」の場合は、待機中のスレッドはプロキシ・サービスに割り当てられたワーク・マネージャに適用されます。肯定レスポンスが届くと、新規スレッドにより、ビジネス・サービスまたは分割-結合に割り当てられたディスパッチ・ポリシーを使用して、そのレスポンス・パイプラインが処理されます。

「必ず1回」を指定することは、パフォーマンス、メモリーおよびスレッドの視点から費用がかかりますが、トランザクション対応のインバウンド・リソースおよびアウトバウンド・リソースにおける整合性を維持するためには必要です。

QoSの詳細は、37.12項「サービスの品質」を参照してください。

37.13.3 ベスト・プラクティス

ワーク・マネージャをOracle Service Busコンポーネントに適用するときには、最善の結果を得るために次の推奨に従ってください。次のリストの最初の2つの項目を無視すると、実行時にデッドロックが発生する可能性があります。

- 同期トランスポートを使用するプロキシ・サービスにワーク・マネージャを適用する場合は、そのプロキシ・サービスのメッセージ・フローによって呼び出されるビジネス・サービスには別のワーク・マネージャを適用してください。

- 前述の場合、プロキシ・サービスおよびビジネス・サービスのワーク・マネージャは、値が同じであっても別々の制約を持つ必要があります。

- デフォルトのワーク・マネージャを使用するかわりに、新しいワーク・マネージャをService Busコンポーネントに適用します。Service Busコンポーネントにワーク・マネージャを適用する前に、WebLogic Serverの管理コンソールを使用してワーク・マネージャを作成する必要があります。

- 1つのワーク・マネージャを複数のService Busコンポーネントに関連付けないようにするには、ワーク・マネージャと最大スレッド制約にService Busコンポーネントと同じ名前を付け、それらを識別するためにそれぞれ「WorkManager」および「MaxThread」のような接尾辞を加えます。

37.14 コンテンツ・タイプ、JMSタイプ、およびエンコーディング

Oracle Service Busでは、異種のエンドポイント間での相互運用性を確保するため、コンテンツ・タイプ、JMSタイプ、およびエンコーディングをそれぞれ制御できます。

Oracle Service Busでは外部のクライアントまたはサービスに必要な情報が想定されませんが、サービス定義で構成済の情報が使用されます。アウトバウンド・メッセージのコンテンツ・タイプは、サービス・タイプとインタフェースから派生します。コンテンツ・タイプは、電子メールおよびHTTPプロトコルの一部です。

サービス・タイプごとのコンテンツ・タイプを次に示します。

- XMLまたはSOAP (WSDLの有無を問わない)の場合、コンテンツ・タイプはtext/XML。

- インタフェースがMFLまたはバイナリのメッセージングの場合、コンテンツ・タイプはbinary/octet-stream。

- インタフェースがテキストのメッセージングの場合、コンテンツ・タイプはtext/plain。

- インタフェースがXMLのメッセージングの場合、コンテンツ・タイプはtext/XML

- インタフェースがJavaのメッセージングの場合、コンテンツ・タイプはJavaオブジェクト。

また、JMSタイプには、Java型以外のメッセージ用のバイトまたはテキストを指定できます。Oracle Service Bus管理コンソールまたはEclipse用Oracle Service Busプラグインでサービスを定義する際に使用する、JMSタイプを構成します。

サービスを呼び出すプロキシ・サービスのアウトバウンド・コンテキスト変数($outbound)のコンテンツ・タイプ、およびプロキシ・サービス・レスポンスのインバウンド・コンテキスト変数($inbound)のコンテンツ・タイプはオーバーライドできます。$outboundコンテキスト変数と$inboundコンテキスト変数の詳細は、39.4項「inbound変数とoutbound変数」を参照してください。

すべてのアウトバウンド・メッセージについて、サービス定義でエンコーディングも明示的に構成されます。サービス定義の詳細は、第20章「プロキシ・サービス: 作成と管理」および第19章「ビジネス・サービス: 作成と管理」を参照してください。

37.15 抑制パターン

Oracle Service Busでは、ビジネス・サービスへのメッセージ・フローを制限できます。このビジネス・サービスへのメッセージ・フローを制限する技術は、スロットルと呼ばれます。詳細は、第50章「スロットル」を参照してください。

37.16 WS-Iへの準拠

Oracle Service Busは、実行時環境でSOAP 1.1サービスへのWebサービス相互運用性(WS-I)準拠を提供します。WS-Iの基本プロファイルの目的を次に示します。

- WSDLとSOAPの仕様の曖昧な部分を明確にします。

- 相互運用性を拡張するために、メッセージの受信やWSDLのインポートに適用できる制約を定義します。メッセージを送信するときは、制約を満たすようにメッセージを構成します。

WS-I基本プロファイルは、http://www.ws-i.org/Profiles/BasicProfile-1.1.htmlにあります。

WSDLに基づいてプロキシ・サービスまたはビジネス・サービスを構成する場合、Oracle Service Bus管理コンソールまたはEclipse用Oracle Service Busプラグインを使用して、Oracle Service BusでそのサービスにWS-I準拠を適用するかどうかを指定できます。この方法については、20.2.17項「「操作選択構成」ページ」を参照してください。

プロキシ・サービスのWS-I準拠を構成すると、そのプロキシ・サービスが受信するインバウンド・リクエスト・メッセージでチェックが実行されます。呼び出されたサービスについてWS-I準拠を構成すると、その呼び出されたサービスからのレスポンス・メッセージを任意のプロキシが受信したときに、チェックが実行されます。デフォルトでは、プロキシ・サービスのSOAPクライアントはシステム・エラー・ハンドラ定義のエラーを受け取るため、このようなエラーに対応するエラー・ハンドラを作成することをお薦めします。エラー・ハンドラの作成方法の詳細は、次を参照してください。

- 24項「プロキシ・サービス: エラー・ハンドラ」

- 『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージ・フローへのエラー・ハンドラの追加と構成に関する項

プロキシ・サービスから送信されるメッセージについては、それがアウトバウンド・リクエストでもインバウンド・レスポンスでも、WS-I準拠のチェックは明示的には実行されません。これは、ほとんどのメッセージ・コンテンツの生成はパイプライン設計者によって行われるためです。ただし、メッセージのOracle Service Busによって生成される部分は、サポートされるWS-I準拠のすべてのチェックを満たします。次のコンテンツが含まれます。

- サービス呼出しリクエスト・メッセージ

- プロキシ・サービスによって返されるシステム生成のエラー・メッセージ

- プロキシ・サービスによって生成されるHTTPステータス・コード

「WS-I準拠の適用」チェックボックスは、図37-11のように表示されます。

図37-11 「WS-I準拠の適用」チェックボックス

37.16.1 WS-I準拠チェック

注意:
WS-I準拠チェックでは、サービスで呼び出される操作をシステムが認識する必要があります。つまり、プロキシ・サービスが受信するリクエスト・メッセージでは、コンテキスト変数$operationはnull以外の値であることが必要です。そのためには、操作選択アルゴリズムが適切に構成されていることが前提になります。呼び出されたサービスから受信するレスポンス・メッセージでは、ルート、パブリッシュ、およびサービス・コールアウトのアクション構成で操作が指定されている必要があります。

プロキシ・サービスまたはビジネス・サービスのWS-I準拠チェックを構成すると、Oracle Service Busで表37-12に示すチェックが実行されます。

表37-12 Oracle Service BusのWS-I準拠チェック

チェック

WS-I基本プロファイルの詳細

説明

3.1.1 SOAPエンベロープ構造

R9980 エンベロープは、SOAP 1.1、第4項「SOAP Envelope」に指定された構造に準拠する必要があります(修正対象)。

このチェックは、リクエスト・メッセージとレスポンス・メッセージに適用されます。レスポンス・メッセージがチェックされ、メッセージに外部Envelopeタグがない場合、soap:clientエラーが生成されます。メッセージがEnvelopeタグだが、別のネームスペースがある場合、3.1.2 SOAPエンベロープ・ネームスペースによって処理されます。

3.1.2 SOAPエンベロープ・ネームスペース

R1015 受信側は、ドキュメント要素がsoap:Envelopeでないエンベロープを検出した場合にエラーを生成する必要があります。

このチェックはリクエスト・メッセージとレスポンス・メッセージに適用されます。これは、3.1.1 SOAPエンベロープ構造に関連しています。リクエスト・メッセージのローカル名がEnvelopeであるが、ネームスペースがSOAP 1.1でない場合、soap:VersionMismatchエラーが生成されます。

3.1.3 SOAP Bodyのネームスペース修飾

R1014 エンベロープのsoap:body要素の子要素は、ネームスペースで修飾する必要があります。

このチェックは、リクエスト・メッセージとレスポンス・メッセージに適用されます。すべてのリクエスト・エラー・メッセージでsoap:Clientエラーが生成されます。

3.1.4 許可されない構成

R1008 エンベロープは文書型宣言を含むことはできません。

このチェックは、リクエスト・メッセージとレスポンス・メッセージに適用されます。すべてのリクエスト・エラー・メッセージでsoap:Clientエラーが生成されます。

3.1.5 SOAPトレーラ

R1011 エンベロープでは、soap:body要素の後にsoap:Envelopeの子要素を持つことはできません。

このチェックは、リクエスト・メッセージとレスポンス・メッセージに適用されます。すべてのリクエスト・エラー・メッセージでsoap:Clientエラーが生成されます。

3.1.9 SOAP 1.1要素のSOAP属性

R1032 エンベロープのsoap: Envelope、soap:header、およびsoap:body要素は、ネームスペースhttp://schemas.xmlsoap.org/soap/envelope/の属性を持つことはできません。

このチェックは、リクエスト・メッセージとレスポンス・メッセージに適用されます。任意のリクエスト・エラー・メッセージでsoap:clientエラーが生成されます。

3.3.2 SOAP Faultの構造

R1000 エンベロープがFaultの場合、soap: Fault要素は、faultcode、faultstring、faultactor、およびdetail以外の要素の子を持つことはできません。

このチェックは、レスポンス・メッセージのみに適用されます。

3.3.3 SOAP Faultのネームスペース修飾

R1001 エンベロープがFaultの場合、soap:Fault要素の子要素は修飾されません。

このチェックは、レスポンス・メッセージのみに適用されます。

3.4.6 HTTPクライアント・エラー・ステータス・コード

R1113 HTTPリクエスト・メッセージの形式に誤りがある場合、インスタンスは「400 Bad Request」HTTPステータス・コードを使用する必要があります。

R1114 HTTPリクエスト・メッセージの形式に誤りがある場合、インスタンスは「405 Method not Allowed」HTTPステータス・コードを使用する必要があります。

R1125 リクエストのフォーマットに問題があることを示すレスポンスについては、インスタンスは4xx HTTPステータス・コードを使用する必要があります。

リクエストのエラーで返されるステータス・コードを変更できない場合、プロキシ・サービスのレスポンスのみに適用されます。

3.4.7 HTTPサーバー・エラー・ステータス・コード

R1126 レスポンス・エンベロープがFaultの場合、インスタンスは「500 Internal Server Error」HTTPステータス・コードを返す必要があります。

このチェックは、リクエスト・メッセージとレスポンス・メッセージに別の方法で適用されます。リクエスト・メッセージの場合、生成されたフォルトには「500 Internal Server Error」HTTPステータス・コードが含まれます。レスポンス・メッセージの場合、「500 Internal Server Error」HTTPステータス・コードのないフォルト・レスポンスが受信されると、エラーが生成されます。

4.7.19 レスポンス・ラッパー

R2729 rpc-literalバインディングで記述されたエンベロープがレスポンスである場合、対応するwsdl:operationの名前に文字列Response.が接尾辞として付いた名前のラッパー要素が必要です。

このチェックは、レスポンス・メッセージのみに適用されます。Oracle Service Busでは、プロキシ・サービスからFault以外のレスポンスを生成することはありません。

4.7.20 パート・アクセッサ

R2735 rpc-literalバインディングで記述されたエンベロープでは、ネームスペースにないパラメータと戻り値のパート・アクセッサ要素を配置する必要があります。

R2755 rpc-literalバインディングで記述されたメッセージのパート・アクセッサ要素は、対応するwsdl:part要素のname属性と同じ値のローカル名を持つ必要があります。

このチェックは、リクエスト・メッセージとレスポンス・メッセージに適用されます。任意のリクエスト・エラー・メッセージでsoap:clientエラーが生成されます。

4.7.22 必須ヘッダー

R2738 エンベロープは、エンベロープを記述するwsdl: bindingのwsdl: operationのwsdl: inputまたはwsdl: outputに指定された、すべてのsoapbind:headersを含む必要があります。

このチェックは、リクエスト・メッセージとレスポンス・メッセージに適用されます。任意のリクエスト・エラー・メッセージでsoap:clientエラーが生成されます。

4.7.25 SOAPActionの記述

R2744 HTTPリクエスト・メッセージは、SOAPAction HTTPヘッダー・フィールドに、soap:operationのsoapAction属性の値と等しい、引用符で囲まれた値を含む必要があります(対応するWSDL記述にこの値が存在する場合)。

R2745 HTTPリクエスト・メッセージは、SOAPAction HTTPヘッダー・フィールドに、引用符で囲まれた空の文字列値を含む必要があります(対応するWSDL記述に、soapbind:operationのSOAPActionが存在しない場合、または値が空の文字列で存在する場合)。

このチェックはリクエスト・メッセージに適用され、soap:clientエラーが返されます。

37.17 SOAP 1.1とSOAP 1.2との間の変換

Oracle Service Busは、SOAP 1.1とSOAP 1.2をサポートしています。SOAP 1.1プロキシ・サービスでSOAP 1.2ビジネス・サービスを呼び出すことも、その逆の呼出しを行うこともできます。しかし、SOAP 1.1と1.2に違いがあるため、Oracle Service Busは一部の状況で2つのSOAP間での自動変換を実行できません。SOAP 1.1と1.2の変換を適切に使用するには、次のガイダンスを使用してください。

- ビジネス・サービスを呼び出す前に、Oracle Service BusによりSOAPネームスペースは自動的に変更されます。ビジネス・サービスからフォルトが返された場合、プロキシ・サービスのSOAPバージョンに自動的に変更されます。ただし、この処理は2つのバージョン間のSOAPヘッダー関連のXML属性(MustUnderstandなど)をマップするパイプライン・アクションに依存します。また、エンコードされたエンベロープのSOAPエンコードされたネームスペースの変更も、パイプライン・アクションに依存します。

- ペイロードがdoc/またはrpc/リテラル・エンコーディングを使用する場合のみ、SOAP 1.1からSOAP 1.2での自動変換が正常に機能します。

- SOAP 1.1では、encodingStyle属性はエンベロープの任意の要素に許可されます。SOAP 1.2では、encodingStyle属性は本文の子要素のみ許可されます。SOAP 1.1のencodingStyle属性が本文の子要素、ヘッダー、およびフォルト詳細以外で存在する場合、SOAP 1.1からSOAP 1.2への自動的な変換によって、無効エンベロープが生じる場合があります。有効なエンベロープを確保するには、プロキシ・サービス・パイプラインでSOAP変換を実行する必要があります。

- SOAP 1.1とSOAP 1.2サービスがrpc/encodedからdoc/literalなど、異なるエンコーディング・スタイルを使用している場合、プロキシ・サービス・パイプラインでSOAP変換を実行する必要があります。

38 分割-結合によるサービスのパフォーマンスの向上

この章では、分割-結合の概要について説明し、静的分割-結合と動的分割-結合のシナリオについて説明します。

Oracle Service Busの「分割-結合」と呼ばれる高度な仲介機能を使用すると、1つのリクエストの個々のメッセージを同時に処理できるため、サービスのパフォーマンスが向上します。このトピックでは、分割-結合について説明します。内容は次のとおりです。

- 38.1項「分割-結合の概要」

- 38.2項「分割-結合の開発」

38.1 分割-結合の概要

Oracle Service Busの分割-結合機能を使用すると、注文などのサービス・ペイロードを個々のメッセージに分割して同時に処理することができます。順次処理ではなく、同時処理を実行することにより、サービスのパフォーマンスが大幅に向上します。分割-結合では、入力メッセージ・ペイロードをサブメッセージに分け(分割)、それらのサブメッセージを宛先に同時にルーティングして、レスポンスを1つの戻りメッセージに集約(結合)することで、このタスクを実現します。ペイロードを分割し、レスポンスを集約するこのプロセスを分割-結合パターンと呼びます。

分割-結合は、高速システムから低速システムの応答側のサービスに向けてペイロードを配信するシナリオで、全体的なレスポンス時間を最適化する場合に特に役立ちます。分割-結合を使用しない場合、通常、ペイロードの個々のメッセージは受信者によって順次解決されますが、応答側のシステムが低速な場合は時間がかかります。(全体的なレスポンス時間は、メッセージごとのレスポンス時間の合計になります)。分割-結合を使用すると、複数のメッセージが同時に処理されるため、応答側のシステムの負担が減り、レスポンス時間が大幅に向上します。(全体的なレスポンス時間は、個々のメッセージの最長レスポンス時間とシステムのわずかなオーバーヘッドの合計とほぼ同じになります。)

分割-結合機能では、次の2つのパターンがサポートされています。

- 38.1.1項「静的分割-結合」

- 38.1.2項「動的分割-結合」

38.1.1 静的分割-結合

静的分割-結合では、分割-結合の構成に従って、ペイロードを固定数の新しいブランチに分割することで、Oracle Service Busメッセージ・フローのメイン実行スレッドから分岐します。設計時に、呼び出すサービスの数と種類を決定します。

38.1.1.1 静的分割-結合 - サンプル・シナリオ

ある電話会社で、顧客からの通信サービス・パッケージの注文を処理するときに、静的分割-結合を使用するとします。この例では、顧客はDSLサービスとボイス・サービスを一度に申し込むことになります。電話会社は、ペイロードの各リクエストを順次個別に実行するのではなく、Oracle Service Busメッセージ・フローから静的分割-結合パターンを使用する分割-結合へのコールアウトを使用して、メッセージを並列実行できます。

開発者には、このサービス・パッケージの受信サービス・リクエストが必ず2つ(DSLとボイス)になることがわかっているため、この場合、静的分割-結合が理想的なパターンといえます。リクエストを並列ブランチに分割することにより、リクエストを同時に処理できるようになるため、ペイロードを処理する際の全体的なレスポンス時間が向上します。すべてのメッセージの処理が完了すると、生成されたレスポンスが実行スレッドの1つの返信に集約されます。

図38-1は、2つの既知のサービス・リクエスト(DSLのアクティブ化と電話のアクティブ化)に分割し、各リクエストを並列処理して、レスポンスを1つの返信に結合する静的分割-結合を示しています。

図38-1 静的分割-結合 - 既知の数のサービス・リクエスト

38.1.2 動的分割-結合

動的分割-結合では、受信ペイロードの内容に基づいて新しいブランチを動的に作成することで、Oracle Service Busメッセージ・フローのメイン実行スレッドから分岐します。動的分割-結合では、条件ロジックを使用して作成するブランチの数を決定します。すべてのリクエストが同時に処理され、各レスポンスが1つの返信に集約されます。

38.1.2.1 動的分割-結合 - サンプル・シナリオ

ある会社で、従業員の事務用品を自動的に注文するときに動的分割-結合を使用するとします。注文が従業員による送信に基づいて毎週自動的に行われる場合、各週の注文で発生する個々の注文数を知る方法はありません。この会社では、各注文を個別に行うのではなく、Oracle Service Busメッセージ・フローから動的分割-結合パターンを使用する分割-結合へのコールアウトを使用して注文を同時に行うことができます。

開発者には毎週送信される注文数がわからないため、この場合、動的分割-結合が理想的なパターンといえます。動的分割-結合では、すべての注文をループ処理し、並列に配置します。開発者は、処理する注文数を制限することもできます。すべての注文の処理が完了すると、生成された注文レスポンスが実行スレッドの1つの返信に集約されます。

図38-2は、15件の注文を分割し、それらの注文を同時に処理して、レスポンスを1つの返信に結合する動的分割-結合を示しています。

図38-2 動的分割-結合 - 未知の数のサービス・リクエスト

38.1.3 分割-結合フレームワーク

Eclipseの.flowファイルの形式をとる分割-結合は、WSDL操作に基づいています。分割-結合は、FLOWトランスポート(分割-結合専用のトランスポート)による通信を行うWSDLベースのビジネス・サービスにラップされます。このビジネス・サービスは、プロキシ・サービスから呼び出されます。図 38-3は、分割-結合フレームワークを示しています。

図38-3 分割-結合フレームワーク

38.2 分割-結合の開発

Eclipseで分割-結合を作成および構成したら、実行時構成で使用できるようにOracle Service Bus管理コンソールにインポートします。分割-結合の開発については、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の分割-結合の操作に関する項を参照してください。

38.2.1 分割-結合のリソース・タイプと環境変数

任意のスクリプトまたはカスタム・コードで分割-結合を参照する場合は、次の値を使用してください。

- typeId - FLOW

- ワーク・マネージャの環境値のタイプ - 分割-結合ワーク・マネージャ(ディスパッチ・ポリシー)

39 メッセージ・コンテキスト

この章では、Oracle Service Bus(OSB)メッセージ・コンテキスト・モデルとメッセージ・フローで使用する事前定義されたコンテキスト変数について説明します。

この章の内容は次のとおりです。

- 39.1項「メッセージ・コンテキスト・モデル」

- 39.2項「事前定義されたコンテキスト変数」

- 39.3項「メッセージ関連の変数」

- 39.4項「inbound変数とoutbound変数」

- 39.5項「operation変数」

- 39.6項「fault変数」

- 39.7項「コンテキスト変数の初期化」

- 39.8項「コンテキスト変数に対する操作の実行」

- 39.9項「ディスパッチするメッセージの作成」

- 39.10項「メッセージ・コンテキスト・スキーマ」

39.1 メッセージ・コンテキスト・モデル

メッセージ・コンテキストは、Oracle Service Busでメッセージがルーティングされるときに、メッセージ・コンテキストとメッセージに関する情報を保持する一連のプロパティです。これらのプロパティは、コンテキスト変数と呼ばれます。たとえば、サービス・エンドポイントは、事前定義されたコンテキスト変数によって表されます。Oracle Service Busは、ユーザー定義のコンテキスト変数もサポートします。

メッセージ・コンテキストは、XMLスキーマによって定義されます。通常は、XQuery式を使用して、プロキシ・サービスを定義するメッセージ・フローのコンテキスト変数を操作します。

39.2 事前定義されたコンテキスト変数

表39-1に、事前定義されたコンテキスト変数を示します。事前定義されたコンテキスト変数のタイプは、メッセージ関連の変数、inboundおよびoutbound変数、operation変数、fault変数に分けられます。

メッセージ・コンテキスト変数の要素の型については、39.10項「メッセージ・コンテキスト・スキーマ」を参照してください。

表39-1 Oracle Service Busの事前定義されたコンテキスト変数

コンテキスト変数脚注 1

説明

関連項目

header

SOAPメッセージの場合、headerにはSOAPヘッダーが格納されます。(プロキシ・サービスがSOAP 1.2の場合、headerにはSOAP 1.2 Header要素が格納されます。)

メッセージのタイプがSOAP以外の場合、headerには空のSOAPヘッダー要素が格納されます。

39.3項「メッセージ関連の変数」

body

メッセージ・タイプによって異なります。

- SOAPメッセージの場合、SOAPエンベロープから抽出した<SOAP:Body>部が格納されます。(プロキシ・サービスがSOAP 1.2の場合、body変数にはSOAP 1.2 Body要素が格納されます。)

- バイナリ以外の非SOAPメッセージの場合、メッセージ・コンテンツ全体が<SOAP:Body>要素でラップされて格納されます。

- バイナリ・メッセージの場合、バイナリ・メッセージのメモリー内コピーへの参照が<SOAP:Body>でラップされて格納されます。

- Javaオブジェクトの場合、Javaオブジェクトのメモリー内コピーへの参照が<SOAP:Body>でラップされて格納されます。

39.3項「メッセージ関連の変数」

attachments

メッセージのMIME添付を格納します。

39.3項「メッセージ関連の変数」

inbound

次のものが含まれます。

- メッセージを受信したプロキシ・サービスに関する情報。

- インバウンド・トランスポート・ヘッダー。

39.4項「inbound変数とoutbound変数」

outbound

次のものが含まれます。

- メッセージの送信先のターゲット・サービスに関する情報。

- アウトバウンド・トランスポート・ヘッダー。

39.4項「inbound変数とoutbound変数」

operation

プロキシ・サービスで呼び出される操作を指定します。

39.5項「operation変数」

fault

メッセージの処理中に発生したエラーに関する情報を格納します。

39.6項「fault変数」

脚注 1 メッセージ・コンテキスト・スキーマは、メッセージ・コンテキスト変数の要素の型を指定します。

39.3 メッセージ関連の変数

メッセージ関連の変数であるheader、body、およびattachmentsは、Oracle Service Busのメッセージ・フローでのメッセージの標準書式を表します。これらの変数は、プロキシ・サービスが受信したメッセージ・コンテンツを使用して初期化され、他のサービスにルーティングまたはパブリッシュされる送信メッセージを作成するために使用されます。

メッセージの処理の一部としてメッセージを変更するには、これらの変数を変更する必要があります。

メッセージ・ペイロード(つまり、ヘッダーや添付を除くメッセージ・コンテンツ)は、body変数に格納されます。送信メッセージに含める変数のコンテンツはOracle Service Busからメッセージがディスパッチ(パブリッシュまたはルーティング)される時点で決定されます

この決定は、ターゲットのエンドポイントがSOAPメッセージを受信するか非SOAPメッセージを受信するかによって異なります。

- SOAPメッセージが要求される場合は、header変数とbody変数がSOAPエンベロープで結合され、メッセージが作成されます。

- 非SOAPメッセージが要求される場合は、body変数のBody要素のコンテンツによってメッセージ全体が構成されます。

- いずれの場合も、サービスが添付を受信するときは、生成されたメッセージとattachments変数からMIMEパッケージが作成されます。

39.3.1 header変数

header変数には、メッセージに関連付けられているSOAPヘッダーが格納されます。header変数は、下位要素にヘッダーを含む<SOAP:Header>要素を参照します。(プロキシ・サービスがSOAP 1.2の場合、header変数にはSOAP 1.2 Header要素が格納されます。)非SOAPメッセージまたはヘッダーがないSOAPメッセージの場合、<SOAP:Header>要素は空になり、下位要素を持ちません。

39.3.2 body変数

body変数はコアのメッセージ・ペイロードを表し、常に<SOAP:Body>要素を参照します。(プロキシ・サービスがSOAP 1.2の場合、bodyにはSOAP 1.2 Body要素が格納されます。)SOAPメッセージでも非SOAPメッセージでも、コアのペイロードは同じ変数とパッケージで使用できます。つまり、<SOAP:Body>要素でラップされます。

- SOAPメッセージの場合は、SOAP本文がエンベロープから抽出され、body変数に割り当てられます。

- バイナリ以外の非SOAPメッセージの場合は、新しく作成された<SOAP:Body>要素内にメッセージ・コンテンツ全体が挿入されます。

- バイナリ・メッセージの場合は、メッセージ・コンテンツがbody変数に挿入されるのではなく、<binary-content/>参照要素が作成され、<SOAP:Body>要素に挿入されます。バイナリ・コンテンツの処理方法については、39.3.4項「body変数とattachments変数内のバイナリ・コンテンツ」を参照してください。

- Javaオブジェクトの場合は、<java-content/>参照要素が作成され、<SOAP:Body>要素に挿入されます。Javaコンテンツの処理方法については、39.3.5項「body変数内のJavaコンテンツ」を参照してください。

39.3.3 attachments変数

attachments変数には、メッセージに関連付けられた添付が格納されます。attachments変数は、XMLスキーマで定義されます。これは、単一のルート・ノードである<ctx:attachments>と、各添付の<ctx:attachment>下位要素で構成されます。この下位要素には、添付に関する情報(MIMEヘッダーから派生)と添付コンテンツが含まれます。他のメッセージ関連の変数と同様に、attachmentsは常に設定されます。ただし、添付がない場合は、attachments変数は空の<ctx:attachments>要素で構成されます。

各添付要素には、表39-2に示す一連の下位要素が含まれます。

表39-2 attachments変数の下位要素

attachments変数の要素

説明脚注 1

Content-ID

添付を識別するグローバルに一意の参照。型はstringです。

Content Type

添付のメディアのタイプとサブタイプを指定します。型はstringです。

Content-Transfer-Encoding

添付のエンコード方法を指定します。型はstringです。

Content-Description

コンテンツの説明。型はstringです。

Content-Location

添付を識別するローカルに一意のURIベースの参照。型はstringです。

Content-Disposition

受信者による添付の処理方法を指定します。型はstringです。

body

添付データを保持します。型はanyTypeです。

脚注 1 メッセージ・コンテキスト・スキーマは、メッセージ・コンテキスト変数の要素の型を指定します。

型なしのbody要素以外のすべての要素にはMIMEでの解釈と同じ方法で解釈された文字列値が含まれます。たとえば、Content-Type要素の有効な値は、text/xmlとtext/xml; charset=utf-8などです。

添付の解析は再帰的ではありません。添付のContent-Typeがmultipart/...の場合、body要素には元のアンパックのMIMEコンテンツがバイトのストリームとして保持され、添付の下位要素は含まれません。MIMEストリームにはバイナリ・データが含まれることがあり、その場合このストリームは<binary-content>参照要素で表します。

バイナリ・コンテンツの処理方法については、39.3.4項「body変数とattachments変数内のバイナリ・コンテンツ」を参照してください。

Content-Typeがmultipart/form-dataであるメッセージは、実行時に次のように作成されます。

- インバウンド: 受信したインバウンドmultipart/form-dataタイプのメッセージのすべての部分が$attachments変数に割り当てられます。$body変数は空のままになります。

- アウトバウンド: アウトバウンドmultipart/form-dataタイプのメッセージのコンテンツが$attachments変数のコンテンツから作成されます。$headerまたは$bodyからは何も含まれません。

注意:
インバウンド・メッセージがmultipart/form-data以外のmultipartタイプ(multipart/relatedなど)で、アウトバウンド・メッセージがmultipart/form-dataの場合、インバウンド・ルート・パートのヘッダーとコンテンツを明示的に保持する必要があります。そうしないと、パススルーされません。

HTTP、HTTPSまたは電子メール・トランスポートの場合のみ、添付ファイルがインバウンド・リクエストおよびアウトバウンド・レスポンス(つまりプロキシ・サービスが受信するメッセージ内)でサポートされます。添付ファイルは、アウトバウンド・リクエストおよびインバウンド・レスポンス(つまりプロキシ・サービスが送信するメッセージ)に関するすべてのトランスポート・タイプでサポートされます。

Oracle Service Busでは、EJB、Tuxedo、またはDSPベースのサービスへの添付ファイルの送信はサポートしていません。

39.3.4 body変数とattachments変数内のバイナリ・コンテンツ

body変数とattachments変数では、テキストベース、XMLベース、およびMFLベースのコンテンツがXML要素内に直接挿入されます。バイナリ・データの場合、XMLで使用できないバイト値が含まれることがあるため、Oracle Service Busではバイナリ・コンテンツはXML要素内に挿入されません。したがって、バイナリ・コンテンツは操作できませんが効率的に処理されます。

バイナリ・コンテンツが受信されると、Oracle Service Busランタイムによってバイナリ・コンテンツがメモリー内ハッシュ表に格納され、そのコンテンツへの参照がXML(bodyまたはattachments)要素に挿入されます。この参照は、次のXMLスニペットで表されます。

<binary-content ref="..."/>

このref属性に、バイナリ・コンテンツをユニークに識別するURIまたはURNを指定します。このXMLは、Oracle Service Busパイプライン、ブランチまたはルート・ノードで他のコンテンツと同様に操作できます。ただし、影響を受けるのは、元のバイナリ・コンテンツではなく参照だけです。

例:

- body変数のバイナリ・コンテンツを添付にコピーするには、参照XMLを添付要素のbody下位要素にコピーします。

- 2つの異なる添付のバイナリ・コンテンツを置き換えるには、参照XMLスニペットまたはref属性の値を置き換えます。

メッセージがOracle Service Busからディスパッチされると、参照XMLのURIを使用して、関連バイナリ・コンテンツが送信メッセージ内に復元されます。アウトバウンド・メッセージの作成方法については、39.9項「ディスパッチするメッセージの作成」を参照してください。

クライアントと特定の転送(特に、電子メール、ファイル、FTP)では、この同じ参照XMLを使用して参照渡しを実装できます。この場合、実行時のプロキシ・サービスではなく転送またはクライアントによって、参照XMLが作成されます。また、ref属性内のURIの値は、参照XMLを作成するユーザーによって指定されます。参照XMLが実行時のプロキシ・サービスによって作成されない場合(特に、URIの参照先が、内部で管理されているバイナリ・コンテンツであると認識されない場合)、URIはOracle Service Busにより逆参照されず、送信メッセージにコンテンツが挿入されません。

39.3.4.1 ビジネス・プロセスへの添付付きSOAPの送信

Oracle Service BusからBPELビジネス・プロセスへ添付文書付きSOAP(SwA)を送信し、XPath関数ora:getAttachmentContent('inputVariable','bin','/bin')を使用してBPEL内の複数の添付を取得するには、必ず次の手順を実行してください。

- 複数の添付にContent-ID添付変数を設定します。

- href属性を使用して、プライマリSOAPエンベロープ内の添付を参照します。

場合によっては、cid:情報がhref属性にない場合があります。

次に、例を示します。

Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml;
start="<rootpart@example.com>"
Content-Description: This is the optional message description.
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <rootpart@example.com>

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body xmlns:types="http://example.com/mimetypes">
<m:SendClaim xmlns:m=”http://example.com/mimewsdl”>
<ClaimDetail>
<Name>...</Name>
<!-- additional claim details -->
</ClaimDetail>
<ClaimPhoto href=”cid:4d7a5fa2-14af-451c-961b5c3abf786796@example.com”/>
</m:SendClaim>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

--MIME_boundary
Content-Type: image/jpeg
Content-Transfer-Encoding: binary
Content-ID: <4d7a5fa2-14af-451c-961b5c3abf786796@example.com>

...MIME attachment of binary photograph...
--MIME_boundary—

39.3.5 body変数内のJavaコンテンツ

Oracle Service Busパイプラインでは、Javaコールアウト・アクションへの入力および出力として、Javaオブジェクトをサポートしています。Javaコールアウトから返されたPOJOはパイプラインにキャッシュされ、そのキーは<java-content ref="cid:kkkkeeeeyyyy"/>の形式のXMLメッセージにラップされて返されます。ここで、cid:kkkkeeeeyyyyは、生成アクションによって自動的に生成されたキーであり、パイプラインのキャッシュにあるオブジェクトの索引を指定するために使用されます。後続するすべてのアクションに対して、このXMLが変更されずに引数として渡されます。

構成時にはPOJO変数のコンテンツは、パイプライン・アクションからは直接アクセスできません。かわりに、コンテンツは次の方法で操作できます。

- コンテンツのメタデータ(コンテンツのキー)は、他のXML(たとえば、$pojo/java-content/@refのようなXQuery)と同様に処理できます。これはロギングやデバッグに役立つことがありますが、オブジェクトのコンテンツに直接アクセスすることはできません。

- (パイプライン内で)自動的にPOJO型として指定される新しい変数にコンテンツを割り当てることができます。オブジェクト自体にアクセスすることはできません。XMLスニペット<java-content.../>がソース変数からターゲット変数にコピーされます。

- コンテンツは、別の適切なアクション(Javaコールアウトなど)に変数(たとえば、$pojo)として渡すことができます。オブジェクト自体にアクセスすることはできません。引数は、実際のオブジェクトに自動的に逆参照されます。

(<java-content />内に)Javaオブジェクトのキーを保持しているすべての変数を削除した場合、または<java-content />スニペットを指しているすべてのXPathを削除した場合、Javaオブジェクトはパイプラインのキャッシュから削除されます。

39.3.6 bodyコンテンツのストリーミング

メッセージ・コンテンツを処理する際に、Oracle Service Busパイプラインによってコンテンツをメモリーにロードするのではなく、コンテンツをストリームするように指定できます。プロキシ・サービスのコンテンツ・ストリーミングを有効にするときは、メッセージ処理時の中間手順として、ストリーミングされたコンテンツをメモリーとディスク・ファイルのどちらにバッファリングするかを指定します。これらの一時ファイルの作成は、パフォーマンスに影響を及ぼすことがあります。一時ファイルの保護については、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のbodyコンテンツをストリーミングする場合の一時ファイルの保護に関する項を参照してください。

ストリーミング・オプションを有効にした場合、コンテンツ・ストリーミングはbody変数のみに適用されます。

一般に、コンテンツ・ストリーミングを使用するのは次のような場合です。

- サイズの大きいコンテンツのメッセージを処理する場合。39.3.6.1項「コンテンツ・ストリーミングを使用する際のベスト・プラクティス」のガイドラインを参照してください。

- Oracle Service Busがペイロードにアクセスする回数が少ない場合。

- トランスフォーメーションのないコンテンツ・ベースのルーティングの場合。コンテンツ・ストリーミングを使用すると、部分解析の利点が得られるため、パフォーマンスが向上します。

39.3.6.1 コンテンツ・ストリーミングを使用する際のベスト・プラクティス

次のガイドラインと推奨事項に従ってください。

- サイズの大きいメッセージを処理するためにストリーミングを有効にした場合、bodyメッセージ・コンテキスト変数について、挿入、置換、名前変更、for each、検証、および削除の各アクションを使用することはできません。これらのアクションでは、入力変数をメモリー内で完全に実体化する必要がありますが、完全な実体化はコンテンツ・ストリーミング・オプションと互換性がないためです。

- 次のパイプライン・アクションでは、サイズの大きい$bodyのXQueryトランスフォーメーションまたはXSLトランスフォーメーションの結果を使用できます。

- 割当て、挿入、および置換の各アクション - 別のコンテキスト変数($body以外)の値を更新する場合。ただし、式の結果が完全に実体化でき、メッセージ・コンテキストに格納できる小さなサイズであることを確認する必要があります。

- Javaコールアウト - 入力引数を渡す場合。Javaコールアウトへのすべての入力は完全に実体化されます。したがって、入力として使用する式の結果は、完全に実体化できる小さなサイズであることが必要です。

- MFLトランスフォーメーション - 入力をXML Beanとしてあらかじめ実体化せずに、サイズの大きいペイロードを変換する場合。MFLトランスフォーメーションへの入力としてサイズの大きい$bodyを使用する場合は、メッセージング・サービスをバイナリ・メッセージ・タイプのプロキシ・サービスとして宣言します。メッセージング・サービスをテキスト・メッセージ・タイプのプロキシ・サービスとして宣言すると、トランスフォーメーションの入力ストリームを取得するために$bodyが完全に実体化されます。

- アラート、ログ、およびレポートの各アクション - サイズの大きい$bodyのXQueryトランスフォーメーションまたはXSLトランスフォーメーションの結果を報告する場合。

- サービス・コールアウト

- XSLトランスフォーメーションでは、トランスフォーメーションを実行するためにすべての入力が完全に実体化されます。したがって、入力が完全に実体化でき、XSLTプロセッサが処理できる小さなサイズであることを確認する必要があります。

- サイズの大きいMFL入力を使用する場合、MFLステージ・アクションではなく、MFLサービスを使用してMFLからXMLへのトランスフォーメーションを実行する必要があります。

- コンテンツが完全に実体化されると、OOM例外が発生する可能性があり、コンテンツを表示することによって、テスト・コンソール・ウィンドウの処理速度が低下するので、テスト・コンソールを使用して、サイズの大きいコンテンツのメッセージでプロキシ・サービスをテストしないでください。

- XQueryを作成するときは、適切な索引を使用して部分解析を実行できるようにします。
たとえば、入力ストリーム全体を使用する$body/*:DateTimeStructを記述するのではなく、次のように記述します。

($body/*:DateTimeStruct)[1] or $body[1]/*:DateTimeStruct[1]

索引を使用することにより、1つ目のDateTimeStruct要素までのコンテンツのみが解析されます。

- 複数のコンシューマ(式)がアクセスする各変数が実体化されるため、XQueryを作成するときに、次のような文を記述しないようにしてください。

let $labdata1 := $body/*
return <HEADER>{ $labdata1/HEADER/@*, $labdata1/HEADER/node() }</HEADER>

この場合、$labdata1はルート要素なしにドキュメント全体にバインドされるため、XQueryエンジンがこれを実体化しようとするとメモリー不足になります。

この問合せを変更して必要以上に実体化されないようにする1つの方法として、/HEADERパス式をlet句内に移動します。

let $labdata1 := $body/*/HEADER
...

この場合、XQueryエンジンはHEADER要素のみを実体化します。

実体化を回避するもう1つの方法として、ストリーミング・モードで要素の名前を変更できるfn-bea:rename()関数を使用する方法があります。

fn-bea:rename($oldelements as element()*, $newname as element()) as element()*

例:

fn-bea:rename($body/*/HEADER, <HEADER_NEW/>)

- 実行時に、サイズの大きいメッセージの処理は、基になるトランスポートの制限と制約を受けます(メッセージ・サイズの処理の制限など)。サイズの大きいメッセージを受け入れるトランスポートの容量を制限するJVMおよびRMIの設定に注意してください。

39.3.7 添付ファイルのストリーミング

メッセージの添付ファイルを処理する際に、添付ファイルをメモリーにバッファリングしてXMLとして解析するのではなく、MIME添付ファイルをディスクにページングしてからコンテンツをストリーミングするように指定できます。サイズの大きい添付ファイルを扱う場合は、この方法が特に効果的です。

この方法を使用すると、ヘッダーのみがバッファリングされ、残りのメッセージ・ペイロードは、小さい複数の部分を同時に読み込むことができるストリームとして公開されます。ストリーミングされた転送により、サイズの大きいメモリー・バッファが不要になるため、サービスのスケーラビリティが向上します。

Oracle Service Busでは、次のトランスポートを使用するプロキシ・サービスおよびビジネス・サービスについて、MIME添付ファイルのストリーミングがサポートされます。

- HTTP/S

- ローカル(添付ファイルのストリーミングが有効になっているHTTPプロキシを介して連鎖し、ページングされた添付ファイル設定を継承している場合)

注意: Oracle Service Busは、電子メール、SB、またはWSトランスポートの添付ファイルのストリーミングをサポートしません。

HTTPプロキシ・サービスに対して有効になっている場合、設定はインバウンド・リクエスト・メッセージの処理に適用されます。HTTPビジネス・サービスの場合、設定はアウトバウンド・レスポンス・メッセージの処理に適用されます。アウトバウンド・リクエスト・メッセージをディスパッチすることができる次のアクションは、添付ファイルのストリーミングをサポートします。

- ルート、動的ルーティング、およびルート表

- パブリッシュ、動的パブリッシュ、およびパブリッシュ表

ストリーミングが有効になっている場合、バイナリ、テキストまたはXMLのすべての添付ファイルは不透明なデータとして処理されます。つまり、添付ファイルのストリーミングが有効になっている場合、添付ファイルのXMLコンテンツに基づいたXQuery/XPath式を実行することはできません。

39.3.7.1 インバウンド・メッセージの処理

Oracle Service Busがインバウンド・メッセージを受信したとき、添付ファイルのストリーミングが構成されている場合は、各MIME添付ファイルのコンテンツはディスク上の別々のファイルに保存されます。

各添付ファイルの標準MIMEヘッダー(これには、Content-ID、Content-Type、Content-Transfer-Encoding、Content-Description、Content-Location、およびContent-Disposition(指定されている場合)が含まれます)をattachment要素の下に追加するように、$attachments変数の値が設定されます。

body子要素には、ソース・リポジトリ内の対応するソースを参照する単一のbinary-content子要素が含まれます。

たとえば、$attachments変数は次のようになります。

<con:attachments xmlns:con="http://www.oracle.com/wli/sb/context">
<con:attachment>
<con:Content-Type>image/jpeg</con:Content-Type>
<con:Content-ID>
&lt;1.urn:uuid:BFB7D745CBAF21BA5B12023554608963@apache.org>
</con:Content-ID>
<con:Content-Transfer-Encoding>
binary
</con:Content-Transfer-Encoding>
<con:body>
<con:binary-content ref="cid:23976580:1183dd6aab9:-7fe0"/>
</con:body>
</con:attachment>
</con:attachments>

これは添付ファイルのコンテンツ・タイプに関係なく実行されます。つまり、たとえばtext/xml添付ファイルは、image/jpeg添付ファイルと同じように、バイナリ・コンテンツ要素を含む不透明なバイナリ・データとして扱われます。

このスタイルのメッセージ処理は、添付ファイルがストリーミングされない場合とは異なります。添付ファイルがストリーミングされない場合は、text/xmlやtext/plainなどの特定のファイル・タイプが認識されて、添付ファイルのXML body要素(XMLコンテンツを格納するため)またはテキスト・コンテンツの初期化に使用されます。

39.3.7.2 アウトバウンド・メッセージの処理

Oracle Service Busがアウトバウンド・メッセージを処理するとき、添付ファイルをストリーミングするように構成されている場合は、各MIME添付ファイルのコンテンツはディスク上の別々のファイルに保存されます。Oracle Service Busは、インバウンド・リクエストの場合と同様に$attachmentsメッセージ・コンテキスト変数を初期化します(39.3.7.1項「インバウンド・メッセージの処理」を参照してください)。

39.3.8 XOP/MTOMサポートについて

Oracle Service Busでは、XOP/MTOM形式のインバウンド・メッセージをデコードして解析し、必要に応じてXOP/MTOM形式を使用してレスポンスを送信するように、プロキシ・サービスを構成できます。また、Service Busではアウトバウンド・メッセージをXOP/MTOM形式でエンコードするようにビジネス・サービスを構成できます。

Oracle Service Busは、着信XOP/MTOMペイロードを受け入れてデコードするために、次のバインディング・タイプを持つプロキシ・サービスをサポートしています。

- 任意のXML

- メッセージング(XML)

- 任意のSOAP

- WSDLベース

XOP/MTOMペイロードを受信するその他のサービス・バインディング・タイプのプロキシ・サービスは、MIMEマルチ・パート・リクエストと同じようにペイロードを処理し、MTOM固有の処理は行いません。

また、次のOracle Service BusトランスポートはXOP/MTOMをサポートします。

- HTTP/S

- ローカル

- SB (連鎖しているOracle Service Busドメインなど、適用可能な場合)

Oracle Service Busは、次のアウトバウンド・メッセージをディスパッチできるすべての既存アクションをサポートします。

- ルート、動的ルーティング、およびルート表

- パブリッシュ、動的パブリッシュ、およびパブリッシュ表

- サービス・コールアウト

Oracle Service Busでは、XOP/MTOMを有効にしたSOAPサービスで、Oracle WSMメッセージ保護ポリシーおよび非メッセージ保護ポリシーがサポートされています。ただし、署名暗号を有効化するOracle WSMメッセージ保護ポリシーまたは添付付きSOAP(SwA)の両方とも、MTOMエンコード・メッセージと互換性がないため、これらのポリシーはXOP/MTOMでサポートされていません。

39.3.8.1 プロキシ・サービスの構成

プロキシ・サービスでXOP/MTOM形式のインバウンド・メッセージをデコードして解析し、必要に応じてXOP/MTOM形式を使用してレスポンスを送信することができます。「XOP/MTOMサポート」が有効になっている場合は、$bodyメッセージ・コンテキスト変数のバイナリ・データを処理する方法を次のオプションからさらに選択します。

- 「参照によるバイナリ・データを含む」(デフォルト) 39.3.8.1.1項「参照によるバイナリ・オプションについて」を参照

- 「値によるバイナリ・データを含む」 39.3.8.1.2項「値によるバイナリ・オプションについて」を参照

「XOP/MTOMサポート」がプロキシ・サービスに対して有効になっている場合は、すべてのインバウンド・メッセージがMTOM形式である必要はありません。かわりに、この設定では、MTOM形式のメッセージが到着したときに、プロキシ・サービスでそれを適宜処理する必要があることを指定します。XOP/MTOMサポートが有効になっていないプロキシ・サービスがMTOM形式のメッセージを受信した場合、サービスはメッセージを拒否し、ランタイム・エラーを発行することにも注意してください。

次の各項では、バイナリ・データ・オプションを使用するときのプロキシ・サービスの動作を説明します。プロキシ・サービスのXOP/MTOMが有効になっており、Oracle WSMインバウンド・リクエスト実行ポリシーを使用している場合にこの動作がどう変化するかの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の第50章の「Oracle Web Services ManagerによるOracle Service Busの保護」に関する項を参照してください。

39.3.8.1.1 参照によるバイナリ・オプションについて

バイナリ・データに直接アクセスする必要がある場合、たとえばJavaコールアウトまたはMessage Format Language (MFL)トランスフォームにデータを渡す場合は、「参照によるバイナリ・データを含む」オプションを使用します。

参照によるバイナリ・オプションが選択されている場合は、Oracle Service Busはインバウンド・メッセージのルートを解析してxop:Includeタグの存在をチェックします。これらのタグが検出された場合、タグはバイナリ・リポジトリ内の対応するソースへの参照を含むctx:binary-content要素に変換されます。結果としてのドキュメントは$bodyメッセージ・コンテキスト変数によって表されます。対照的に、$attachmentsメッセージ・コンテキスト変数は情報を含みません(nullです)。

つまり、パイプライン・アクションが$bodyメッセージ・コンテキスト変数のコンテンツにアクセスした場合、アクションはxop:Include要素を検出しないかわりに、ctx:binary-content要素を使用して動作します。

プロキシ・サービスがクライアントにレスポンスを返信する必要がある場合、バインディング・レイヤーはctx:binary-content参照をメッセージのルートにあるxop:Includeタグに置換し、対応する各バイナリ・コンテンツ参照に別々のMIME部分を追加して、XOP/MTOMパッケージ・レスポンスを作成します。

39.3.8.1.2 値によるバイナリ・オプションについて

「値によるバイナリ・データを含む」は次の場合に使用します。

- MTOMとMTOM以外のサービスの間にブリッジを作成する場合。たとえば、MTOM対応でないサービスにルーティングされるリクエストを受信するMTOM対応のプロキシ・サービスについて考えます。このオプションを使用して、XML内のバイナリ・データをBase64エンコード形式で送信するために既存の標準に準拠できます。

- バイナリ・データの代わりにbase64binary要素の使用を必要とするXMLスキーマに照らしてメッセージのコンテンツを検証する場合。

値によるバイナリ・オプションが選択されている場合は、Oracle Service BusがインバウンドMIMEメッセージのルートを解析してxop:Includeタグの有無をチェックします。該当するタグが検出された場合、対応するMIME部分の本体(バイナリ・データ)はBase64でエンコードされ、結果としてのテキストが$bodyメッセージ・コンテキスト変数のxop:Includeタグを置換します。対照的に、 $attachments メッセージ・コンテキスト変数は情報を含みません(nullです)。

39.3.8.2 ビジネス・サービスの構成

ビジネス・サービスを有効にすると、アウトバウンド・メッセージをXOP/MTOM形式でエンコードできます。[XOP/MTOMサポート]が有効になっている場合は、 $header および $body メッセージ・コンテキスト変数のバイナリ・データを処理する方法を次のオプションからさらに選択します。

- 参照によるバイナリ・データを含む: (デフォルト)アウトバウンド・レスポンス・メッセージでの$bodyメッセージ・コンテキスト変数の設定時に、xop:Include要素をctx:binary-content要素に置換します。

- 値によるバイナリ・データを含む: アウトバウンド・レスポンス・メッセージで、$bodyメッセージ・コンテキスト変数の設定時にxop:Include要素を対応するバイナリ・データのBase64エンコード・テキスト・バージョンで置換します。

「XOP/MTOMサポート」がビジネス・サービスに対して有効になっている場合は、すべてのアウトバウンド・メッセージがMTOM形式である必要はありません。かわりに、この設定はビジネス・サービスがMTOMペイロードを処理できることを指定します。

次の各項では、バイナリ・データ・オプションを使用するときのビジネス・サービスの動作を説明します。ビジネス・サービスのXOP/MTOMが有効になっており、Oracle WSMポリシーを使用している場合にこの動作がどう変化するかの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の第50章の「Oracle Web Services ManagerによるOracle Service Busの保護」に関する項を参照してください。

39.3.8.2.1 アウトバウンド・メッセージの処理

ビジネス・サービスで「XOP/MTOMサポート」が有効になっている場合、Oracle Service Busは$bodyメッセージ・コンテキスト変数のコンテンツを調べてctx:binary-content要素を検索します。要素がある場合、Oracle Service Busはctx:binary-contentをxop:Include要素およびペイロードの対応するMIME部分に置換して、XOP/MTOM MIMEパッケージを作成します。

XOP/MTOMが有効で本体にバイナリ・コンテンツが含まれている場合、コンテンツのサイズに関係なく(たとえば、1KBより小さい場合でも)Oracle Service Busは常にXOP/MTOMを使用します。

また、Oracle Service BusはMTOMとSwAの組合せをサポートしません。そのため、ビジネス・サービスへのアウトバウンド・リクエストをディスパッチする必要があり、次の条件に該当する場合、システムは実行時例外をスローします。

- ビジネス・サービスのXOP/MTOMが有効になっています。

- $attachmentsメッセージ・コンテキスト変数がnullではありません。

39.3.8.3 XOP/MTOM添付ファイルのストリーミング

サービスでXOP/MTOMが有効になっている場合、前の説明に示すように、Oracle Service Busはメッセージの$headerと$body内の要素を自動的に変更します。XOP/MTOMメッセージを変更する必要があるため、Oracle Service Busはメッセージ$headerとメッセージ$bodyのストリーミングをサポートしません。

ただし、添付ファイルが大きいためにメモリー不足のエラーを発生させるような場合、XOP/MTOMメッセージのバイナリ添付ファイルを、Oracle Service Busヒープ(デフォルト)ではなく、ディスクに直接ストリーミングする必要があります。

注意:
XOP/MTOM添付ファイルは、メッセージの$attachments変数では送信されません。前述のとおり、それらはメッセージ$body内に含まれるかまたは$bodyメッセージから参照されます。

XOP/MTOMメッセージの添付ファイルを直接ディスクにストリーミングするには、サービス構成で次の設定を使用します。

- XOP/MTOMの「参照によるバイナリ・データを含む」オプションを使用します。(「値によるバイナリ・データを含む」オプションでは、$body内にバイナリ・データが直接含まれ、XOP/MTOMのサポートにはストリーミングできません。)

- 「参照によるバイナリ・データを含む」が選択されている場合は、「添付ファイルのディスクへのページング」オプション(HTTPトランスポートのみ)も選択できます。「添付ファイルのディスクへのページング」が選択されている場合は、Oracle Service Busはメモリーではなくディスク上のバイナリ添付ファイルを参照するXOP/MTOMメッセージを生成します。

注意:
最適なパフォーマンスを得るためにはメモリー内の添付ファイルを参照する方法が推奨されるので、メモリー不足のエラーを発生させるようなサイズの大きい添付ファイルを送信する特別な必要性がある場合のみ「添付ファイルのディスクへのページング」オプションを使用します。

39.4 inbound変数とoutbound変数

$inboundコンテキスト変数と$outboundコンテキスト変数には、インバウンド・エンドポイントとアウトバウンド・エンドポイントに関する情報が格納されます。$inbound変数にはリクエスト・メッセージを受信したプロキシ・サービスに関する情報が格納され、$outbound変数にはメッセージの送信先であるターゲット・ビジネス・サービスに関する情報が格納されます。

$outbound変数は、ルート・ノードのルート・アクションとパブリッシュ・アクションで設定されます。$outboundを変更するには、ルート・ノードでリクエスト・アクションとレスポンス・アクションを構成し、パブリッシュ・アクションでリクエスト・アクションを構成します。

注意:
inboundコンテキスト変数およびoutboundコンテキスト変数に行う変更の一部は、実行時に保持されません。つまり、特定のヘッダーおよびメタデータは、Oracle Service Busランタイムによって上書きまたは無視されます。トランスポート・ヘッダーとサービス・コールアウト・アクションを使用してトランスポート・ヘッダーとメタデータを設定する場合、およびテスト・コンソールを使用してプロキシ・サービスとビジネス・サービスをテストする場合にもこの制限は当てはまります。
制限のあるヘッダーとメタデータの詳細は、33.4項「テスト・コンソールでのランタイムによるトランスポート設定の使用方法」を参照してください。ルート・ノードのリクエスト・アクションまたはレスポンス・アクションおよびパブリッシュ・アクション以外でメッセージ・フローの$outboundに行う変更は無視されることにも注意してください。つまりルート・ノードおよびパブリッシュ・アクションで$outboundが初期化される際、、それらの変更は上書きされるということです。

サービス・コールアウト・アクションでoutbound変数を変更することはできません。

inbound変数とoutbound変数の特性は次のとおりです。

- 同じXMLスキーマを持ちます。inboundコンテキスト変数とoutboundコンテキスト変数は、39.10項「メッセージ・コンテキスト・スキーマ」で説明されているようにendpoint要素のインスタンスです。

- サービス・ディレクトリに登録されているエンドポイントの名前を指定する単一のname属性を含みます。name属性は、inbound、outboundいずれの場合も読取り専用として扱う必要があります。

注意:
この読取り専用ルールは強制されません。読取り専用の要素を変更すると予期できない動作が生じることがあります。

- 次の項で説明する下位要素service、transport、securityを含みます。

HTTP、HTTPSまたは電子メール・トランスポートの場合のみ、添付ファイルがインバウンド・リクエストおよびアウトバウンド・レスポンス(つまりプロキシ・サービスが受信するメッセージ内)でサポートされます。

添付ファイルは、アウトバウンド・リクエストおよびインバウンド・レスポンス(つまりプロキシ・サービスが送信するメッセージ)に関するすべてのトランスポート・タイプでサポートされます。

Oracle Service Busでは、EJB、Tuxedo、またはDSPベースのサービスへの添付ファイルの送信はサポートしていません。

39.4.1 inbound変数とoutbound変数の下位要素

この項では、コンテキスト変数inboundおよびoutboundの下位要素について説明します。また、どの下位要素が実行時に初期化されるかについての情報も示します。コンテキスト変数が初期化される方法については、39.7項「コンテキスト変数の初期化」を参照してください。次の下位要素があります。

- 39.4.1.1項「service」

- 39.4.1.2項「transport」

- 39.4.1.3項「security」

39.4.1.1 service

service要素は、inbound、outboundいずれの場合も読取り専用です。下位要素としてはproviderName、operationがあります。

表39-3 service要素の下位要素

下位要素脚注 1

説明

providerName

サービス・キー・プロバイダの名前を指定します。

パブリッシュ・アクションおよびルーティング・アクションの構成に基づいて初期化されます。

operation

(outboundのみ)

outbound変数で使用され、ターゲット・ビジネス・サービスで呼び出される操作の名前を指定します。

inboundおよびoutboundに基づいて初期化されます。

注意: この要素はoutbound変数に対してのみ使用されます。inboundメッセージの場合は、プロキシ・サービスで呼び出される操作の名前がoperation変数によって指定されます。

脚注 1 メッセージ・コンテキスト・スキーマは、メッセージ・コンテキスト変数の要素の型を指定します。

39.4.1.2 transport

transport要素はinboundの場合は読取り専用です。ただし例外として、response要素ではこの要素を変更してレスポンス・トランスポート・ヘッダーを設定できます。transport要素の下位要素を表39-4に示します。

表39-4 transport要素の下位要素

下位要素脚注 1

説明

uri

次のようにエンドポイントのURIを指定します。

- inbound変数で使用する場合、これは、メッセージを受信するURIです。

- outbound変数で使用する場合、これは、メッセージの送信時に使用するURIです。この値は、サービス・ディレクトリに登録されているURI値をオーバーライドします。

初期化

URI要素は次のように初期化されます。

- inbound変数の場合は常に初期化されます。

- outbound変数の場合は初期化されません。outboundに対してURIを設定すると、サービス構成で指定されたURIのセットがオーバーライドされます。この要素を設定した場合、URIフェイルオーバーはサポートされません。

request

inbound変数では、この要素は読取り専用脚注 2 です。outbound変数の場合は変更可能です。

リクエストに関するトランスポート固有のメタデータ(トランスポート・ヘッダーを含む)を指定します。この要素の値は転送プロトコルによって定義されます(具体的には、トランスポートSDKによって定義されたRequestMetaData XML)。したがって、この要素の構造は使用されるトランスポートによって異なります。

この要素のトランスポート固有の型については、Oracle Service Busインストールの次のディレクトリに用意された該当するトランスポート・スキーマを参照してください。

OSB_ORACLE_HOME/lib/transports/

初期化

URI要素は次のように初期化されます。

- inbound変数の場合は、Oracle Service Busで受信したリクエスト・メッセージの情報を使用して初期化されます。

- outbound変数の場合は、適切な型のrequest要素が作成されます。使用される型はトランスポートに依存します。request要素は通常は空の要素として初期化されますが、一部の重要なトランスポート・ヘッダー(content-type、SOAPActionなど)については例外です。

ルート・ノードのリクエスト・アクションで$outboundを構成すると、ファイル・トランスポートプロトコルを使用して次のようにアウトバウンド・メッセージのファイル名を設定できます。

- fileNameのみを指定した場合、その名前のファイルはターゲット・ビジネス・サービスのエンドポイントURIで指定される場所に格納されます。

- isFilePathをtrueに設定している場合、fileNameの値はターゲット・ビジネス・サービスのエンドポイントURIに追加された相対パスとして使用されます。たとえば、エンドポイントURIがfile:////apollo/ob/dataで、fileNameヘッダーを./myPath/myFile.xmlに設定し、isFilePathをtrueに設定している場合、メッセージは/apollo/ob/data/myPath/myFile.xmlに格納されます。
その名前のファイルがすでに存在する場合、path/filename_random-number.xmlの形式で新しい名前が生成されます。ここで、random-numberは0から999999の整数です。

response

この要素は、outbound変数の場合は読取り専用です。inbound変数の場合は変更可能です。

レスポンスに関するトランスポート固有のメタデータ(トランスポート・ヘッダーを含む)を指定します。この要素の値は転送プロトコルによって定義されます(具体的には、トランスポートSDKによって定義されたResponseMetaData XML)。したがって、この要素の構造は使用されるトランスポートによって異なります。

この要素のトランスポート固有の型については、Oracle Service Busインストールの次のディレクトリに用意された該当するトランスポート・スキーマを参照してください。

OSB_ORACLE_HOME/lib/transports/

初期化

URI要素は次のように初期化されます。

- outbound変数の場合は、Oracle Service Busで受信したレスポンス・メッセージの情報を使用して初期化されます。

- inbound変数の場合は、適切な型のresponse要素が作成されます。使用される型はトランスポートに依存します。response要素は通常は空の要素として初期化されますが、一部の重要なトランスポート・ヘッダー(content-type、SOAPActionなど)については例外です。

標準HTTPヘッダーの説明については、http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.htmlを参照してください。

標準JMSヘッダーの詳細は、『Oracle Fusion Middleware Oracle WebLogic Server JMSのプログラミング』のJMSパブリックAPIの付加価値拡張機能に関する項を参照してください。

注意: MQヘッダーApplOriginData、ApplIdentityData、Accounting TokenにはOracle JMSと同等のものがありません。

mode

通信スタイルがrequest(一方向)であるか、request-response(双方向)であるかを指定します。

初期化

inbound変数、outbound変数のいずれの場合も、サービスおよびそのサービスの操作(該当する場合)の情報を使用して初期化されます。たとえば、リクエストのみの操作が呼び出されるとき、mode要素はrequest-responseではなくrequestに設定されます。

qualityOfService

この要素は、inbound変数の場合は読取り専用です。

outbound(パブリッシュ・アクションまたはルーティング・アクションのアウトバウンド・リクエスト・アクション)の場合は変更可能です。

メッセージ送信時または受信時に使用するサービスの品質を指定します。有効な値はbest-effortとexactly-onceです。

- best-effortでは、各ディスパッチでそのトランザクション・コンテキストが定義されます(トランスポートがトランザクション対応の場合)。
ベスト・エフォートでは、信頼性のあるメッセージングも、重複するメッセージの除去もありません。ただし、パフォーマンスは最適化されます。

パブリッシュ・アクションの結果としてメッセージがディスパッチされるシナリオでは、ディスパッチ・エラーは表示されません。

ルーティング・ノードからメッセージがディスパッチされるシナリオでは、ディスパッチ・エラー表示されます。

- exactly-onceでは、ディスパッチはインバウンド・トランザクション・コンテキストの一部として含められます(コンテキストが存在し、アウトバウンド・トランスポートがトランザクション対応の場合)。エラーが発生すると、処理が中止され、関連付けられているエラー・ハンドラがトリガーされます(ルーティング、パブリッシュのいずれの場合も)。
「必ず1回」の信頼性では、アウトバウンド・メッセージの送信が開始されるまで終了エラーが発生しないことを前提として、メッセージがインバウンドからアウトバウンドに1回のみ配信されます。

初期化

qualityOfService要素は、inbound変数およびoutbound変数で次のように初期化されます。

- inbound変数の場合、サービス品質(QoS)はトランスポートによって決定されます。たとえば、JMS/XAトランスポートではQoSは「必ず1回」で、HTTPトランスポートでは「ベスト・エフォート」です。

- outboundの場合、QoSはパブリッシュとルーティングで異なり、次のように設定されます。
ルーティング - メッセージがルート・ノードから別のサービスにルーティングされる場合、QoSは、インバウンド・コンテキスト変数の値を使用して常に初期化されます。つまり、アウトバウンドのQoSは、インバウンドのQoSが「必ず1回」の場合(のみ)「必ず1回」に設定されます。それ以外の場合、アウトバウンドのQoSは「ベスト・エフォート」に設定されます。

パブリッシュ - メッセージが、パブリッシュ・アクションの結果として別のサービスにパブリッシュされる場合、サービスの品質(QoS)は、インバウンドの設定に関係なく、「ベスト・エフォート」に常に初期化されます。

retryCount

(outboundのみ)

Oracle Service Busからメッセージを送信するときの再試行回数を指定します。

retryCountが設定されている場合は、ターゲット・サービスの構成に含まれるすべての再試行回数の値がこの設定によりオーバーライドされます。

脚注 1 メッセージ・コンテキスト・スキーマは、メッセージ・コンテキスト変数の要素の型を指定します。

脚注 2 この読取り専用ルールは強制されません。読取り専用の要素を変更すると予期できない動作が生じることがあります。

39.4.1.3 security

security要素の下位要素を表39-5に示します。

表39-5 security要素の下位要素

下位要素脚注 1

説明

transportClient

(inboundのみ、読取り専用脚注 2 )

認証されたトランスポート・レベル・ユーザー情報を指定します。ユーザー情報にはユーザー名とオプションのprincipalsが含まれます。principalsには0個以上のgroupを含めて、subjectが属するgroupごとに1つの要素を含めることができます。

注意: subjectが匿名の場合、usernameは"anonymous"で、group要素はありません。

Oracle Service Busによって初期化されます。inboundのtransportClient要素は読取り専用です。

messageLevelClient

(inboundのみ、読取り専用^2)

認証されたメッセージ・レベル・ユーザー情報を指定します。ユーザー情報にはユーザー名とオプションのprincipalsが含まれます。principalsには0個以上のgroupを含めて、subjectが属するgroupごとに1つの要素を含めることができます。

注意: subjectが匿名の場合、usernameは"anonymous"で、group要素はありません。

Oracle Service Busによって初期化されます。inboundのmessageLevelClient要素は読取り専用です。

doOutboundWss

outboundのみ)

Oracle Service Busは、ルーティング時またはパブリッシュ時にこの要素の値を設定します。

使用頻度の低いデザイン・パターンには、この値をfalseに設定して、プロキシ・サービスがアウトバウンドWS-Security SOAPエンベロープを自動的に生成しないようにするものもあります。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の「Webサービスのメッセージ・レベルでのセキュリティの構成」、アウトバウンドWS-Securityの無効化に関する項を参照してください。

注意: あるプロキシ・サービスがOracle Web Services Managerサービス・ポリシーを含む別のプロキシ・サービス(ローカル・プロキシなど)を呼び出す場合はアウトバウンドWS-Security処理は行われません。OSBはその操作を自動的に処理し、doOutboundWssプロパティを使用しません。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のローカル・プロキシでのOracle WSMセキュリティの使用に関する説明を参照してください。

脚注 1 メッセージ・コンテキスト・スキーマは、メッセージ・コンテキスト変数の要素の型を指定します。

脚注 2 この読取り専用ルールは強制されません。読取り専用の要素を変更すると予期できない動作が生じることがあります。

39.4.2 関連項目

第21章「プロキシ・サービス: アクション」

22.8項「メッセージ・フローへのルート・ノードの追加」

標準HTTPヘッダーの説明については、http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.htmlを参照してください。

標準JMSヘッダーの詳細は、『Oracle Fusion Middleware Oracle WebLogic Server JMSのプログラミング』のWebLogic JMSに関する項を参照してください。

39.5 operation変数

operation変数は、読取り専用の変数です。この変数には、プロキシ・サービスで呼び出される操作を指定する文字列が格納されます。プロキシ・サービスに対する操作が定義されていない場合は、operation変数が設定されず、nullと等価の値が返されます。

Oracle Service Busでは、パフォーマンスを最適化するためにoperation変数がinbound変数の下位要素ではなくスタンドアロン変数として提供されます。処理の計算は、inbound変数がアクセスされたときではなく、operation変数が明示的にアクセスされるまで延期されることがあります。

39.6 fault変数

fault変数は、メッセージ処理中に発生したすべてのエラーに関する情報を保持するために使用します。エラーが発生すると、この変数に情報が格納されてから、適切なエラー・ハンドラが呼び出されます。

注意:
この変数はエラー・ハンドラ・パイプラインでのみ定義され、リクエスト・パイプラインやレスポンス・パイプライン、ルート・ノードやブランチ・ノードでは設定されません。

fault変数には、表39-6に示すerrorCode、reason、detailsおよびlocationの各下位要素が含まれます。

表39-6 fault変数の下位要素

fault変数の要素

説明脚注 1 ...

errorCode

エラー・コードを文字列値で指定します。

reason

エラーの説明を格納します。

details

エラーに関連するユーザー定義XMLコンテンツを格納します。

location

エラーが発生したノード、パイプライン、およびステージを指定します。また、エラーがエラー・ハンドラ内で発生したかどうかも指定します。次の下位要素があります。

- node - エラーが発生したパイプライン、ブランチ、またはルート・ノードの名前を示す文字列。

- pipeline - 該当する場合、エラーが発生したパイプラインの名前を示す文字列。

- stage - 該当する場合、エラーが発生したステージの名前を示す文字列。

- error-handler - エラー・ハンドラ内でエラーが発生したことを示すブール値。

脚注 1 メッセージ・コンテキスト・スキーマは、メッセージ・コンテキスト変数の要素の型を指定します。

fault変数のコンテンツは、SOAPベースのプロキシ・サービスからの返信時にフォルトを生成しやすいよう、SOAPフォルトに基づいてモデル化されています。Oracle Service Busによって生成されるエラー・コードの値はシステム・エラー・コードに対応し、エラー・コードにはBEA文字列の接頭辞が付加されます。

エラーに関連付けられたエラー・コードは、faultコンテキスト変数の要素内に表示されます。次のXQuery文を使用して値にアクセスできます。

$fault/ctx:errorCode/text()

Oracle Service Busでは、考えられる3つのクラスのエラーに対応する3つの汎用エラー・コードが定義されています。汎用コードの形式はBEA-xxx000です。ここで、xxxは汎用カテゴリを次のように表します。

- 380: トランスポート

- 382: プロキシ

- 386: セキュリティ

- 394: UDDI

これにより、次のように汎用コードが生成されます。

- BEA-380000からBEA-380999
トランスポート・エラーを示します(メッセージのディスパッチの失敗など)。

- BEA-382000からBEA-382499
プロキシ・サービスのランタイム・エラーを示します(ステージの例外など)。

- BEA-382500からBEA-382999
プロキシ・サービス・アクション内のエラーを示します。

- BEA-386000からBEA-386999
WS-Securityエラーを示します(認可エラーなど)。

- BEA-394500からBEA-394999
UDDIサブシステム内のエラーを示します。

Oracle Service Busでは、特定のエラーを示すユニークなコードが定義されています。例:

BEA-382030 - メッセージ解析エラーを示します(SOAPプロキシ・サービスが非SOAPメッセージを受信したなど)。

BEA-382500 - サービス・コールアウト・アクションがSOAPフォルト・レスポンスを受信した場合に備えて予約されています。

これらのエラー・コードおよびその他の特定のエラー・コードについては、付録A「エラー・コード」を参照してください。また、37.7項「メッセージ・フローでのエラー処理」も参照してください。

39.7 コンテキスト変数の初期化

メッセージ・コンテキストとその変数は、メッセージ受信時およびメッセージ処理の開始前にバインディング・レイヤーで初期化されます。コンテキスト変数を初期化する方法を表39-7に示します。

表39-7 コンテキスト変数の初期化

コンテキスト変数

初期化方法

fault

ルーティングが行われていないか、エラーが発生していないため、nullに初期化されます。

outbound

ルート・ノードのルート・アクションとパブリッシュ・アクションで初期化されます。ルーティング・ノードのリクエスト・アクションとパブリッシュ・アクションで(さらに、ルーティング・ノードのレスポンス・アクションでも)$outboundを変更できます。詳細は、39.4項「inbound変数とoutbound変数」を参照してください。

outboundの下位要素の初期化については、39.4.1項「inbound変数とoutbound変数の下位要素」を参照してください。

inbound

登録されたプロキシ・サービスに関するService Busメタデータと、特定の受信リクエストに関するトランスポート・レベル・メタデータ(トランスポート・ヘッダー、認証されたユーザー情報など)から取得したサービス、トランスポート、およびセキュリティの情報で初期化されます。

inboundの下位要素の初期化については、39.4.1項「inbound変数とoutbound変数の下位要素」を参照してください。

header

body

attachments

operation

インバウンド・メッセージのコンテンツを使用して初期化されます。初期化の実行方法は、この項の以降のトピックで説明するようにプロキシ・サービスのタイプによって異なります。

- 39.7.1項「attachmentsコンテキスト変数の初期化」

- 39.7.2項「header、bodyコンテキスト変数の初期化」

header、body、attachmentsの3つの変数は、ルーティングの後に、受信したレスポンスのコンテンツを使用して再初期化されます。ルーティングが実行されない場合や、通信モードがリクエストのみの場合、これらの変数は再初期化されません。つまり、これらの変数のコンテンツはクリアされません。

39.7.1 attachmentsコンテキスト変数の初期化

attachmentsコンテキスト変数は、メッセージに含まれるすべてのMIME添付ファイルで初期化されますが、メイン・メッセージを表す部分は含まれません(SOAP、XML、MFLなど形式を問わず)。各<attachment>要素は、MIMEパッケージの各部分に伴うMIMEヘッダーを使用して初期化されます。

<attachment>の<body>要素のコンテンツは、添付のContent-Typeに応じて次のいずれかになります。

- XML

- テキスト

- 添付コンテンツを参照する参照XMLスニペット(39.3.4項「body変数とattachments変数内のバイナリ・コンテンツ」を参照)

39.7.2 header、bodyコンテキスト変数の初期化

この項では、コンテキスト変数headerおよびbodyの初期化方法について説明しますが、これらの変数の初期化方法は、プロキシ・サービスのタイプが39.9.1項「SOAPサービス」、39.9.2項「XMLサービス(非SOAP)」、39.9.3項「メッセージング・サービス」のいずれであるかによって異なります。

39.7.2.1 SOAPサービス

SOAPベースのサービスへのメッセージは、<soap:Envelope>要素に含まれるXMLを含むSOAPメッセージです。添付を含むメッセージの場合、インバウンド・メッセージのコンテンツは、SOAPエンベロープをその一部として(通常は最初の部分、または最上位のContent-Typeヘッダーで指定される部分)含むMIMEパッケージです。コンテキスト変数は次のように初期化されます。

- header - SOAPメッセージの<soap:Header>要素で初期化されます。

- body - SOAPメッセージの<soap:Body>要素で初期化されます。

39.7.2.2 XMLサービス(非SOAP)

XMLベースのサービスへのメッセージはXMLですが、プロキシ・サービス構成で許可された型を使用できます。添付を含むメッセージの場合、インバウンド・メッセージのコンテンツは、プライマリXMLペイロードをその一部として(通常は最初の部分、または最上位のContent-Typeヘッダーで指定される部分)含むMIMEパッケージです。

コンテキスト変数は次のように初期化されます。

- header - 空の<soap:Header/>要素で初期化されます。

- body - XMLペイロード全体をラップする<soap:Body>要素で初期化されます。

39.7.2.3 メッセージング・サービス

メッセージング・サービスは、あるデータ型のメッセージを受信し、応答として別のデータ型のメッセージを返すことができるサービスです。サポートされるデータ型は、XML、MFL、テキスト、または型なしバイナリです。コンテキスト変数は次のように初期化されます。

- header - 空の<soap:Header/>要素で初期化されます。

- body - ペイロード全体をラップする<soap:Body>要素で初期化されます。

- XML、MFL、およびテキスト・コンテンツの場合は、<soap:Body>要素内に直接挿入されます。

- バイナリ・コンテンツの場合は、参照XMLコードが作成され<soap:Body>要素内に挿入されます(39.3.4項「body変数とattachments変数内のバイナリ・コンテンツ」を参照)。バイナリ・コンテンツに対してアクセスまたは変更を行うことはできませんが、参照XMLを検証および変更し、インライン・コンテンツと置き換えることができます。

39.8 コンテキスト変数に対する操作の実行

メッセージ・コンテキストに対する対話および操作は、プロキシ・サービスを定義するパイプライン、ブランチ、またはルート・ノードでのアクションを通じて行います。ほとんどのアクションについては、それを実行するためのXQuery言語が公開されています。各コンテキスト変数は、同じ名前のXQuery変数として表されます。たとえば、header変数は、XQueryでは$headerとしてアクセスでき、body変数は$bodyとしてアクセスできます。この項の例では、XQueryを使用してコンテキスト変数に対するチェックおよび操作を行っています。

39.8.1 $body

$body変数は<soap-env:Body>...</soap-env:Body>要素を含みます。(プロキシ・サービスがSOAP 1.2の場合、body変数にはSOAP 1.2 Body要素が格納されます。)

たとえば、割当てアクションを使用してbodyコンテキスト変数にデータを割り当てた場合、<soap-env:Body>要素でデータをラップする必要があります。つまり、コンテキスト変数内に<soap-env:Body>要素を含めることによってSOAPパッケージを構築します。

Oracle Service Busのこの動作には例外があります。サービス・コールアウト・アクションのリクエスト・ドキュメント変数を作成する場合です。この場合、サービス・コールアウト・アクションはコアのペイロード(RPCパラメータ、ドキュメントなど)を処理の対象とし、Oracle Service Busはコアのペイロードに基づいてSOAPパッケージを構築します。つまり、サービス・コールアウト・アクションのリクエスト・ドキュメント変数を構成するときには、入力ドキュメントを<soap-env:Body>...</soap-env:Body>でラップしません。

サービス・コールアウト・アクションの構成については、21.6項「サービス・コールアウト・アクションの追加」を参照してください。

39.8.2 $header

$header変数は<soap-env:Header>...</soap-env:Header>要素を含みます。(プロキシ・サービスがSOAP 1.2の場合、header変数にはSOAP 1.2 Header要素が格納されます。)

たとえば、割当てアクションを使用してheaderコンテキスト変数にデータを割り当てた場合、<soap-env:Header>要素でデータをラップする必要があります。つまり、コンテキスト変数内に<soap-env:Header>要素を含めることによってSOAPパッケージを構築します。これは、サービス・コールアウト・リクエストの1つまたは複数のSOAPヘッダーを設定できる場合を含め、$headerのすべての操作に該当します。サービス・コールアウト・アクションのSOAPヘッダーの構成の詳細については21.6項「サービス・コールアウト・アクションの追加」を参照してください。

WS-Addressingヘッダー(From)の抽出: $header/wsa:From

非SOAPメッセージからのペイロードの抽出: $body/*

アウトバウンド・レスポンス・メッセージからのuser-headerの抽出: $outbound/ctx:transport/ctx:response/tp:user-header[@name='myheader']/@value

SOAPサービスへのサービス・コールアウト内のリクエスト・パラメータに使用するbody入力変数を作成する場合、soap-env:Bodyラッパーを削除するために、body/*を使用してその変数のコンテンツを定義します($bodyを使用すると、soap-env:Bodyラッパーが保持されます)。

サービス コールアウト内のリクエスト・パラメータの変数コンテンツの割当て: $body/*

39.8.3 関連項目

XQueryエディタおよびXPathエディタを使用したコンテキスト変数の処理の詳細は、次を参照してください。

- 37.11項「変数の構造での作業」

- 第23章「プロキシ・サービス: XQueryエディタおよびXPathエディタ」

39.9 ディスパッチするメッセージの作成

Oracle Service Busによってメッセージがパブリッシュまたはルーティングされるときに、メッセージ・コンテキストの変数の値を使用してメッセージのコンテンツが作成されます。たとえば、トランスポート・ヘッダーとトランスポート固有のメタデータは、$outbound/transport/requestから取得されます。コンテキストの初期化と同様に、アウトバウンド・メッセージのメッセージ・コンテンツはターゲット・サービスのタイプに応じて異なって処理されます。次のトピックで説明されているように、アウトバウンド・メッセージ・コンテンツの作成方法はターゲット・サービスのタイプによって異なります。

- 39.9.1項「SOAPサービス」

- 39.9.2項「XMLサービス(非SOAP)」

- 39.9.3項「メッセージング・サービス」

39.9.1 SOAPサービス

送信SOAPメッセージは、header変数とbody変数のコンテンツを<soap:Envelope>要素でラップして作成します。呼び出されたサービスがSOAP 1.2サービスの場合、作成されるエンベロープはSOAP 1.2エンベロープです。呼び出されたサービスがSOAP 1.1サービスの場合、作成されるエンベロープはSOAP 1.1エンベロープです。body変数に参照XMLコードが格納されている場合、メッセージは現状のまま送信されます。つまり、参照されているコンテンツはメッセージに追加されません。

attachments変数で添付が定義されている場合は、メイン・メッセージと添付データからMIMEパッケージが作成されます。各添付部分のコンテンツの処理方法は、メッセージング・サービスのコンテンツの処理方法に類似しています。

39.9.2 XMLサービス(非SOAP)

Oracle Service BusのXMLベースのサービスへのメッセージは、body変数のコンテンツから作成されます。

- body変数が空の場合は、サイズがゼロのメッセージが送信されます。

- body変数に複数のXMLスニペットが含まれる場合は、最初のスニペットのみがアウトバウンド・メッセージで使用されます。たとえば、<soap:Body>に<abc/><xyz/>が含まれる場合は、<abc/>のみが送信されます。

- body変数のコンテンツがXMLではなくテキストである場合は、エラーがスローされます。

- body変数に参照XMLコードが格納されている場合、メッセージは現状のまま送信されます。つまり、参照されているコンテンツはメッセージに追加されません。

- attachments変数で添付が定義されている場合は、XMLメッセージと添付データからMIMEパッケージが作成されます。XMLメッセージがnullの場合は、対応するMIME本文部分は空になります。各添付部分のコンテンツの処理方法は、メッセージング・サービスのコンテンツの処理方法に類似しています。

含まれているデータのタイプにかかわらず、header変数はアウトバウンド・メッセージにコンテンツを提供しません。

サービス・コールアウト・アクションに対するメッセージの作成の例については、第21章「プロキシ・サービス: アクション」を参照してください。

39.9.3 メッセージング・サービス

Oracle Service Busのメッセージング・サービスへのメッセージは、body変数のコンテンツから作成されます。

- 送信メッセージのタイプに関係なく、body変数が空の場合、サイズがゼロのメッセージが送信されます。

- 送信メッセージのタイプがXMLの場合、メッセージは39.9.2項「XMLサービス(非SOAP)」で示されているのと同じ方法で作成されます。

- 送信メッセージのタイプがMFLの場合は、抽出されたXMLがMFLに変換される点を除きXMLメッセージの場合と同様に処理されます。(XMLからMFLへの変換が実行できない場合はエラーが発生します。)

- ターゲット・サービスでテキスト・メッセージが要求される場合は、body変数のコンテンツがテキストとして解釈され送信されます。このため、Oracle Service Busでは、ターゲット・サービスにテキストとして配信する必要がある着信XMLメッセージを処理できます。つまり、このようなメッセージを処理するためにメッセージ・フローを構成する必要はありません。

- バイナリ・メッセージを受信するターゲット・サービスの場合は、body変数に参照XMLコードを格納する必要があります。参照URIは、Oracle Service Busのメモリー内ハッシュ表に格納されたバイナリ・データを参照します。参照先コンテンツはターゲット・サービスに送信されます。
クライアント、トランスポート、またはプロキシ・サービスの設計者によって参照URIが指定される場合、参照されるデータはOracle Service Busに格納されないため、アウトバウンド・メッセージに含めることはできません。したがって、参照XMLがメッセージで送信されます。

body変数に参照XMLコードが含まれ、ターゲット・サービスでバイナリ以外のメッセージが要求される場合は、body変数内の参照XMLはコンテンツとして処理されます。つまり、メッセージはXMLとして送信されるか、テキストに変換されるか、またはMFLに変換されます。これは、参照XMLのURIに関係なく当てはまります。

含まれているデータのタイプにかかわらず、header変数はアウトバウンド・メッセージにコンテンツを提供しません。

サービス・コールアウト・アクションに対するメッセージの作成の例については、第21章「プロキシ・サービス: アクション」を参照してください。

39.9.3.1 電子メール・メッセージでのバイナリ・コンテンツの送信について

バイナリ・メッセージの場合、Oracle Service Busではbody変数にメッセージ・コンテンツは挿入されません。かわりに、<binary-content/>参照要素が作成され<SOAP:Body>要素に挿入されます(39.3項「メッセージ関連の変数」を参照)。ただし、電子メール規格では、バイナリ・コンテンツ・タイプをメッセージの主要な部分として送信することがサポートされていません。テキストまたはXMLのドキュメントと任意の添付を受信するメッセージング・サービスに、電子メールでバイナリ・メッセージを送信する場合は、次の手順に従います。

1. バイナリ・コンテンツ参照XMLを$bodyから$attachmentsに変更します。

2. $bodyのコンテンツを<SOAP:Body>要素でラップされたテキストまたはXMLに置き換えます。

送信メッセージのタイプがMFLの場合は、$bodyのコンテンツが、MFLトランスフォーメーションに基づいてXMLからテキストまたはバイナリに変換されます。

- ターゲット・サービスでテキスト・メッセージを受信する場合は、$outboundでcontent-type(MFLメッセージ・タイプのデフォルトはバイナリ)をtext/plainとして設定できます。

- ターゲット・サービスでバイナリ・メッセージを受信する場合は、電子メール・トランスポートでMFLコンテンツを送信することはできません。

バイナリ・コンテンツの処理方法については、39.3.4項「body変数とattachments変数内のバイナリ・コンテンツ」を参照してください。

39.9.4 関連項目

39.10項「メッセージ・コンテキスト・スキーマ」

21.6項「サービス・コールアウト・アクションの追加」

21.7項「トランスポート・ヘッダー・アクションの追加」

22.8項「メッセージ・フローへのルート・ノードの追加」

39.10 メッセージ・コンテキスト・スキーマ

メッセージ・コンテキスト変数の型を指定するメッセージ・コンテキスト・スキーマ(MessageContext.xsd)は、39.10項「Message Context.xsd」で示されます。

メッセージ・コンテキスト変数を操作する場合、JARファイル(OSB_ORACLE_HOME/lib/sb-schemas.jar)に用意されたMessageContext.xsdと、OSB_ORACLE_HOME/lib/transports/にあるトランスポート固有のスキーマを参照する必要があります。

例39-1 Message Context.xsd

<schema targetNamespace="http://www.bea.com/wli/sb/context"
xmlns:mc="http://www.bea.com/wli/sb/context"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<!--============================================================== -->

<!-- The context variable 'fault' is an instance of this element -->
<element name="fault" type="mc:FaultType"/>

<!-- The context variables 'inbound' and 'outbound' are instances of this element -->
<element name="endpoint" type="mc:EndpointType"/>

<!-- The three sub-elements within the 'inbound' and 'outbound' variables -->
<element name="service" type="mc:ServiceType"/>
<element name="transport" type="mc:TransportType"/>
<element name="security" type="mc:SecurityType"/>

<!-- The context variable 'attachments' is an instance of this element -->
<element name="attachments" type="mc:AttachmentsType"/>

<!-- Each attachment in the 'attachments' variable is represented by an instance of this element -->
<element name="attachment" type="mc:AttachmentType"/>

<!-- Element used to represent binary payloads and pass-by reference content -->
<element name="binary-content" type="mc:BinaryContentType"/>

<!-- =================================================================== -->

<!-- The schema type for  -->
<complexType name="AttachmentsType">
<sequence>
<!-- the 'attachments' variable is just a series of attachment elements -->
<element ref="mc:attachment" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>

<complexType name="AttachmentType">
<all>
<!-- Set of MIME headers associated with attachment -->
<element name="Content-ID" type="string" minOccurs="0"/>
<element name="Content-Type" type="string" minOccurs="0"/>
<element name="Content-Transfer-Encoding" type="string" minOccurs="0"/>
<element name="Content-Description" type="string" minOccurs="0"/>
<element name="Content-Location" type="string" minOccurs="0"/>
<element name="Content-Disposition" type="string" minOccurs="0"/>

<!-- Contains the attachment content itself, either in-lined or as <binary-content/> -->
<element name="body" type="anyType"/>
</all>
</complexType>

<complexType name="BinaryContentType">
<!-- URI reference to the binary or pass-by-reference payload -->
<attribute name="ref" type="anyURI" use="required"/>
</complexType>

<!-- =================================================================== -->

<complexType name="EndpointType">
<all>
<!-- Sub-elements holding service, transport, and security details for the endpoint -->
<element ref="mc:service" minOccurs="0" />
<element ref="mc:transport" minOccurs="0" />
<element ref="mc:security" minOccurs="0" />
</all>

<!-- Fully-qualified name of the service represented by this endpoint -->
<attribute name="name" type="string" use="required"/>
</complexType>

<!-- =================================================================== -->

<complexType name="ServiceType">
<all>
<!-- name of service provider -->
<element name="providerName" type="string" minOccurs="0"/>

<!-- the service operation being invoked -->
<element name="operation" type="string" minOccurs="0"/>
</all>
</complexType>

<!-- =================================================================== -->

<complexType name="TransportType">
<all>
<!-- URI of endpoint -->
<element name="uri" type="anyURI" minOccurs="0" />

<!-- Transport-specific metadata for request and response (includes transport headers) -->
<element name="request" type="anyType" minOccurs="0"/>
<element name="response" type="anyType" minOccurs="0" />

<!-- Indicates one-way (request only) or bi-directional (request/response) communication -->
<element name="mode" type="mc:ModeType" minOccurs="0" />

<!-- Specifies the quality of service -->
<element name="qualityOfService" type="mc:QoSType" minOccurs="0" />

<!-- Retry values (outbound only) -->
<element name="retryInterval" type="integer" minOccurs="0" />
<element name="retryCount" type="integer" minOccurs="0" />
</all>
</complexType>

<simpleType name="ModeType">
<restriction base="string">
<enumeration value="request"/>
<enumeration value="request-response"/>
</restriction>
</simpleType>

<simpleType name="QoSType">
<restriction base="string">
<enumeration value="best-effort"/>
<enumeration value="exactly-once"/>
</restriction>
</simpleType>

<!-- =================================================================== -->

<complexType name="SecurityType">
<all>
<!-- Transport-level client information (inbound only) -->
<element name="transportClient" type="mc:SubjectType" minOccurs="0"/>

<!-- Message-level client information (inbound only) -->
<element name="messageLevelClient" type="mc:SubjectType" minOccurs="0"/>

<!-- Boolean flag used to disable outbound WSS processing (outbound only) -->
<element name="doOutboundWss" type="boolean" minOccurs="0"/>
</all>
</complexType>

<complexType name="SubjectType">
<sequence>
<!-- User name associated with this tranport- or message-level subject -->
<element name="username" type="string"/>
<element name="principals" minOccurs="0">
<complexType>
<sequence>
<!-- There is an element for each group this subject belongs to, as
determined by the authentication providers -->
<element name="group" type="string"
minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<!-- =================================================================== -->

<complexType name="FaultType">
<all>
<!-- A short string identifying the error (e.g. BEA38229) -->
<element name="errorCode" type="string"/>

<!-- Descriptive text explaining the reason for the error -->
<element name="reason" type="string" minOccurs="0" />

<!-- Any additional details about the error  -->
<element name="details" type="anyType" minOccurs="0" />

<!-- Information about where the error occured in the proxy -->
<element name="location" type="mc:LocationType" minOccurs="0" />
</all>
</complexType>

<complexType name="LocationType">
<all>
<!-- Name of the Pipeline/Branch/Route node where error occured -->
<element name="node" type="string" minOccurs="0" />

<!-- Name of the Pipeline where error occured (if applicable) -->
<element name="pipeline" type="string" minOccurs="0" />

<!-- Name of the Stage where error occured (if applicable) -->
<element name="stage" type="string" minOccurs="0" />

<!-- Indicates if error occured from inside an error handler -->
<element name="error-handler" type="boolean" minOccurs="0" />
</all>
</complexType>
<!-- Encapsulates any stack-traces that may be added to a fault <details> -->
<element name="stack-trace" type="string"/>
</schema>

39.10.1 関連項目

39.4項「inbound変数とoutbound変数」

39.8項「コンテキスト変数に対する操作の実行」

39.9項「ディスパッチするメッセージの作成」

40 テスト・コンソールの使用

この章では、本番環境でのテスト・コンソールのアンデプロイの方法について説明した項を含む、Oracle Service Bus Test Consoleを使用したサービスのテストについてのガイドラインと情報を示します。

Oracle Service Busテスト・コンソールは、システムの設計の検証およびテストに使用するブラウザ・ベースのテスト環境です。これは、Oracle Service Bus管理コンソールの拡張機能です。(テスト・コンソールはEclipseでも使用できます。)テスト・コンソールで、テストするオブジェクト(プロキシ・サービス、ビジネス・サービス、XQuery、XSLT、またはMFLリソース)の構成、テストの実行、および結果の表示を行うことができます。場合によっては、コードをトレースし、特定のトレース・ポイントのメッセージの状態を調べることができます。設計時テストを行うことで、構成を本番環境にデプロイする前に設計上の問題を割り出すことができます。

テスト・コンソールでは、システムの特定部分を切り分けてテストしたり、システムを1つの単位としてテストしたりできます。テスト・コンソールはクラスタ環境で使用できます。しかし、本番環境にテスト・コンソールをデプロイすることはお薦めしません。

テスト・コンソールには、次の場所からアクセスできます。

- プロジェクト・エクスプローラ

- リソース・ブラウザ

- XQueryエディタ

- Eclipse(実行およびデバッグオプションを使用)

手順の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の第33章「テスト・コンソール」およびOracle Service Busデバッガの使用に関する項を参照してください。

この章の内容は次のとおりです。

- 40.1項「前提条件」

- 40.2項「プロキシ・サービスのテスト」

- 40.3項「ビジネス・サービスのテスト」

- 40.4項「プロキシ・サービスとビジネス・サービスの推奨テスト・アプローチ」

- 40.5項「テスト・コンソールを使用したプロキシ・サービスのトレース」

- 40.6項「リソースのテスト」

- 40.7項「XQueryテストの実行」

- 40.8項「Webサービス・セキュリティを含むサービスのテスト」

- 40.9項「テスト・コンソールのトランスポート設定」

- 40.10項「セキュリティとトランスポートについて」

- 40.11項「テスト・コンソールのアンデプロイ」

40.1 前提条件

テスト・コンソールを使用するには、次のようにします。

- Oracle Service Busが実行中であり、テストするリソースを含むセッションがアクティブ化されています。

- XQueryテストが機能するように、ブラウザのポップアップ・ブロッカを無効にする必要があります。Internet Explorerブラウザでツールバーを使用している場合、「インターネット オプション」メニューでポップアップ・ブロッカを無効にするだけでなく、ポップアップをブロックするように構成されているすべてのツール・バーについてもこの機能を無効にする必要があります。XQueryテストは、設計時環境(アクティブ・セッション)でのみ実行されます。

- テスト・コンソール・サービスが実行されていないことを示すエラーを受信した場合は、管理サーバーがlocalhostなどの特定の有効なアドレスをリスニングするように設定してみます。Oracle WebLogic Server Consoleで、「環境」>「サーバー」>「admin_server_name」>「構成」>「一般」を選択して、「Listen address」を設定します。また、クラスタではすべての管理対象ノードが実行されていることを確認します。

- テスト・コンソールを使用してSAMLトークンを生成し、プロキシ・サービスに送信する場合は、SAMLトークンを要求し、リライイング・パーティにするように、プロキシ・サービスを構成する必要があります。SAMLリライイング・パーティの作成の詳細は、Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・オンライン・ヘルプのSAML 1.1リライイング・パーティの作成に関する説明を参照してください。

注意:
SAMLリライイング・パーティ作成時には、次に留意してください。

- プロキシ・サービスではWSS/Sender-VouchesプロファイルおよびWSS/Holder-of-Key SAMLプロファイルのみ使用できます。

- リライイング・パーティを構成する場合、ターゲットURLの値としてプロキシ・サービスのURIを指定します。Oracle Service Bus管理コンソールのプロジェクト・エクスプローラ・モジュールでプロキシ・サービス名をクリックすると、プロキシ・サービスのURIを表示できます。URIは、「トランスポート構成」表のエンドポイントURI行に表示されます。

40.2 プロキシ・サービスのテスト

次のタイプのプロキシ・サービスをテストできます。

- WSDL Webサービス

- メッセージング・サービス

- 任意のSOAPサービス

- 任意のXMLサービス

40.2.1 直接呼出し

注意:
直接呼出しオプションを有効にしてプロキシ・サービスのテストを行うと、アクセス制御を含むいくつかの重要なセキュリティ手順が回避されます。Oracleは、本番システムでテスト・フレームワークを使用しないことをお薦めします。テスト・コンソールの割当て解除の詳細は、40.11項「テスト・コンソールのアンデプロイ」を参照してください。

直接呼出しは、同じOracle Service Busドメイン内にあるプロキシ・サービスをテストするときに使用します。直接呼出しオプションを使用すると、メッセージはトランスポート・レイヤーを経由せずにプロキシ・サービスに直接送信されます。直接呼出しオプションを使用した場合、デフォルトでトレースが有効になり、テスト・コンソールでメッセージ・フローの診断とトラブルシューティングが可能になります。デフォルトでは、プロキシ・サービスのテストは直接呼出しオプションを使用して実行されます。

直接呼出しオプションを使用してプロキシ・サービスをテストする場合、テスト・コンソールに入力する構成データは、プロキシ・サービスを呼び出すクライアントから渡されるものとしてプロキシ・サービスで想定されているデータである必要があります。つまり、テスト・コンソールは、プロキシ・サービスを呼び出すクライアントの役割を果たします。また、直接呼出しによるテストを実行するときには、メッセージのモニター・フレームワークは経由しません。

図40-1は、直接呼出しを示しています。メッセージはトランスポート・レイヤーを経由せず、プロキシ・サービス(P1)に直接配信されます。

図40-1 直接呼出しによるプロキシ・サービスのテスト

直接呼出しの方法は、プロキシ・サービスの内部メッセージ・フロー・ロジックをテストする場合に最も適しています。テスト・データでは、ディスパッチされた時点でのメッセージの予想される状態をシミュレートする必要があります。このテスト・アプローチと、テスト・コンソールの「トランスポート」パネルにあるカスタム(インバウンド)トランスポート・ヘッダーの設定を使用して、サービス呼出しを正確にシミュレートします。

40.2.2 間接呼出し

間接呼出しを使用してプロキシ・サービスをテストする場合(つまり、「直接呼出し」オプションを選択していない場合)、メッセージはトランスポート・レイヤー経由でプロキシ・サービスに送信されます。トランスポート・レイヤーでは、テストの一環としてメッセージ・ヘッダーまたはメタデータの操作を実行します。これにより、プロキシ・サービス間の実行時パスが呼び出されます。

図40-2は、間接呼出しを示しています。メッセージはまずトランスポート・レイヤーによって処理され、その後でプロキシ・サービス(P1)に配信されます。

図40-2 間接呼出しによるプロキシ・サービスのテスト

このテスト方法は、2つのプロキシ・サービスが同じJVMで実行されているときに、プロキシ・サービス間のインタフェースをテストする場合に使用することをお薦めします。このテスト・アプローチと、テスト・コンソールの「トランスポート」パネルにあるカスタム(アウトバウンド)トランスポート・ヘッダーの設定を使用して、サービス呼出しを正確にシミュレートします。トランスポート設定の詳細は、40.9項「テスト・コンソールのトランスポート設定」を参照してください。

間接呼出しを使用する場合、テストに入力する構成データは、プロキシ・サービス(たとえば、別のプロキシ・サービスのルート・ノードやサービス・コールアウト・アクション)から送信されるデータです。間接呼出しのシナリオでは、テスト・コンソールは、別のサービスへのルーティングまたはコールアウトを行うプロキシ・サービスの役割を果たします。

注意:
リクエスト/レスポンスMQプロキシ・サービスに対して間接呼出しを使用しても機能しません。
また、messageIDに基づく相関を使用したMQまたはJMSリクエスト/レスポンス・プロキシ・サービスの間接呼出しからのレスポンスは、テスト・コンソールには表示されません。間接呼出しを使用してMQまたはJMSリクエスト/レスポンス・プロキシ・サービスをテストした場合、レスポンスはレスポンス・キューに保持されますが、テスト・コンソールには表示されません。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のMQトランスポートに関する項を参照してください。

40.2.3 HTTPリクエスト

プロキシ・サービスをテストするときに、テスト・コンソールではネットワーク経由でHTTPリクエストを送信しないため、トランスポートレベルのアクセス制御は適用されません。トランスポートレベルのアクセス制御は、Webアプリケーション・レイヤーで行われるため、Oracle Service Bus管理コンソールのトランスポート・レイヤー経由で間接呼出しが行われても、HTTPリクエストはネットワーク経由で送信されず、トランスポートレベルのアクセス制御は適用されません。トランスポート・レイヤーでのメッセージ処理については、『Oracle Fusion Middleware Oracle Service Busコンセプトおよびアーキテクチャ』のアーキテクチャの概要に関する項を参照してください。

トランスポート設定の詳細は、33.4項「テスト・コンソールでのランタイムによるトランスポート設定の使用方法」を参照してください。

40.3 ビジネス・サービスのテスト

次のタイプのビジネス・サービスをテストできます。

- WSDL Webサービス

- トランスポート型付きのサービス

- メッセージング・サービス

- 任意のSOAPサービス

- 任意のXMLサービス

ビジネス・サービスをテストする場合、メッセージは必ずトランスポート・レイヤーを経由してルーティングされます。直接呼出しオプションは使用できません。サービスをテストする際にテスト・コンソールに指定する構成データは、プロキシ・サービスのルート・ノードやサービス・コールアウト・アクションなどから、そのビジネス・サービスに送信されることが予想されるメッセージの状態を表すデータです。テスト・コンソールを使用してビジネス・サービスをテストする場合、テスト・コンソールは呼出し側のプロキシ・サービスの役割を果たします。

ヒント:
テスト中のビジネス・サービスがリモート・ドメインにある場合でも、テスト・コンソールで指定されたユーザー名およびパスワードが、ローカルOracle Service Busドメインに存在することを確認します。テスト・サービスは、プロキシ・サービスまたはビジネス・サービスを呼び出す前に、ローカル認証を実行します。

40.4 プロキシ・サービスとビジネス・サービスの推奨テスト・アプローチ

図40-3に示すシナリオでは、クライアントがプロキシ・サービス(P1)を呼び出します。メッセージ・フローは、ビジネス・サービスB1、プロキシ・サービスP2、プロキシ・サービスP3の順に呼び出してから、メッセージをクライアントに返します。インタフェースを番号で示しています。

図 40-3テスト・シナリオの例

このシナリオには、有効なテスト方法がいくつもあります。次のテスト方法をお薦めします。

- クライアント呼出しをテストする前に、特定のプロキシ・サービスへのクライアント・インタフェース以外のインタフェースのテストを完了します。つまり、図40-3に示すサンプル・シナリオでは、まずインタフェース1から4のテストを完了してから、インタフェース5をテストします。このようにして、プロキシ・サービス(P1)のメッセージ・フロー・ロジックを繰返し変更し、プロキシ・サービスへの他のインタフェースが正しく機能することを確認したうえで(インタフェース5を介して)テストできます。

- システム・テストの前に、メッセージ・フローですべてのXQuery式を検証し、テストします。図40-3では、インタフェース1がXQuery式のテストを示しています。

- 間接呼出しを使用して、プロキシ・サービスからビジネス・サービスへのインタフェース(図40-3のインタフェース2)をテストします。つまり、トランスポート・レイヤー経由でメッセージをルーティングします。

- 間接呼出しを使用して、プロキシ・サービスからプロキシ・サービスへのインタフェース(図40-3のインタフェース3と4)をテストします。つまり、直接呼出しオプションを無効にします。これにより、テスト時にメッセージはトランスポート・レイヤー経由でルーティングされます。

- 最後のシステム・テストで、プロキシ・サービスP1を呼び出すクライアントをシミュレートします。図40-3では、このテストはインタフェース5によって表されています。直接呼出しを使用してインタフェース5をテストします。この方法では、テスト時にメッセージはトランスポート・レイヤーを経由しません。デフォルトでは、直接呼出しを使用するとトレースが有効になります。

- システムの今後のトラブルシューティングを容易にするために、インタフェースのテストが成功した後のメッセージの状態を保存します。インタフェース5のテストは、実際にはシステム全体のテストです。システムの他のすべてのインタフェースが正しく機能していることを確認することで、システム・エラー発生時のトラブルシューティングの範囲を絞り込むことができます。

40.5 テスト・コンソールを使用したプロキシ・サービスのトレース

プロキシ・サービスのメッセージのトレースでは、メッセージ・フローの複数のポイントでメッセージ・コンテキストとアウトバウンド通信が検証されます。メッセージを検査するポイントはOracle Service Busであらかじめ定義されています。Oracle Service Busでは、ステージ、エラー・ハンドラ、およびルート・ノードのトレースが定義されています。

トレースのステージごとに、メッセージ・コンテキストに発生した変更と、そのステージの実行中に呼び出されたすべてのサービスが含まれます。トレースには次の情報が含まれます。

- (新しい変数) - すべての新しい変数の名前と値。値を表示するには、プラス記号(+)をクリックします。

- (削除された変数) - 削除されたすべての変数の名前。

- (変更された変数) - 値が変更されたすべての変数の名前。新しい値を表示するには、プラス記号(+)をクリックします。

- パブリッシュ - すべてのパブリッシュ呼出しが表示されます。トレースには、パブリッシュ呼出しごとに、呼び出されたサービスの名前と、outbound、header、bodyおよびattachmentの各変数の値が含まれます。

- サービス・コールアウト - すべてのサービス・コールアウトが表示されます。トレースには、サービス・コールアウトごとに、呼び出されたサービスの名前、outbound変数の値、リクエスト・メッセージとレスポンス・メッセージのheader、bodyおよびattachmentの各変数の値が含まれます。

ルート・ノードについても、ステージと同様の情報が含まれます。ルート・ノードの場合、トレースには次のカテゴリの情報が含まれます。

- リクエスト・パスでのサービス呼出しのトレース

- ルーティングされたサービスのトレース

- レスポンス・パスでのサービス呼出しのトレース

- (リクエスト・パスの)ルート・ノードの開始ポイントと(レスポンス・パスの)終了ポイントの間でメッセージ・コンテキストに加えられた変更

40.5.1 例: プロキシ・サービスのテストとトレース

次のサンプル・シナリオでは、手順のベースとしてOracle Service Busサンプル・ドメインのプロキシ・サービスの1つ(「融資申込みの検証」例に対応しているloanGateway3プロキシ・サービス)を使用します。

テスト・コンソールを使用して、このOracle Service Busサンプル・ドメインのプロキシ・サービスをテストするには:

1. Oracle Service Busサンプル・ドメインを起動し、サンプル・データをロードします。

2. Oracle Service Bus管理コンソールにログインし、「リソース・ブラウザ」を選択してLoanGateway3プロキシ・サービスを検索します。

3. LoanGateway3プロキシ・サービスの「テスト・コンソールの起動」アイコンをクリックします。「プロキシ・サービス・テスト - LoanGateway3」ページが表示されます。「直接呼出し」と「トレースを含む」オプションが選択されています。

4. 表示されたテスト用XMLを編集して、例40-1に示すテスト・メッセージを送信します。

例40-1 LoanGateway3のテスト・メッセージ

<loanRequest xmlns:java="java:normal.client">
<java:Name>Name_4</java:Name>
<java:SSN>SSN_11</java:SSN>
<java:Rate>4.9</java:Rate>
<java:Amount>2500</java:Amount>
<java:NumOfYear>20.5</java:NumOfYear>
<java:Notes>Name_4</java:Notes>
</loanRequest>

5. 「実行」をクリックします。
結果ページの下部までスクロールして、図40-4に示す「呼出しのトレース」パネルのトレース結果を表示します。

図 40-4 loanGateway3プロキシ・サービスの呼出しのトレース

トレースでは次のことが示されます。

- 初期メッセージ・コンテキスト - プロキシ・サービスが呼び出されたときに、プロキシ・サービスが初期化した変数を表示します。変数の値を確認するには、変数名に対応する+記号をクリックします。

- 変更された変数 - validate loan applicationステージでメッセージが処理された結果、$header、$bodyと$inboundが変更されました。これらの変更は、メッセージ・フローの最後に表示されます。

- ステージ・エラー・ハンドラが検証エラーを処理した結果として、faultコンテキスト変数($fault)のコンテンツが表示されます。この場合、例40-1の<java:NumOfYear>要素に整数以外の値(20.5)を入力したことが原因で検証エラーが発生しました。

別の入力パラメータを使用するか、Oracle Service Bus管理コンソールでメッセージ・フローを変更することで、プロキシ・サービスをテストできます。次に、再度テストを実行し、結果を表示します。

40.6 リソースのテスト

テストできるリソースは次のとおりです。

- 40.6.1項「MFL」

- 40.6.2項「XSLT」

- 40.6.3項「XQuery」

40.6.1 MFL

MFL(メッセージ・フォーマット言語)ドキュメントは、バイナリ・データのレイアウトの記述に使用する特殊なXMLドキュメントです。MFLリソースは、次のトランスフォーメーションをサポートしています。

- XMLからバイナリ - 必須入力(XML)が1つと出力(バイナリ)が1つあります。

- バイナリからXML - 必須入力(バイナリ)が1つと出力(XML)が1つあります。

各トランスフォーメーションでは、入力を1つだけ受け入れ、出力を1つ返します。

40.6.1.1 例

次の例は、MFLトランスフォーメーションのテストを示しています。テスト・コンソールにより、MFLファイルからXMLドキュメントのサンプルが生成されます。XML入力を使用してテストを実行します。テストが成功すると、入力XMLドキュメントのメッセージ・コンテンツがバイナリ形式に変換されます。

例40-2に、MFLファイルの例を示します。

例40-2 MFLファイルの内容

<?xml version='1.0' encoding='windows-1252'?>
<!DOCTYPE MessageFormat SYSTEM 'mfl.dtd'>
<MessageFormat name='StockPrices' version='2.01'>
<StructFormat name='PriceQuote' repeat='*'>
<FieldFormat name='StockSymbol' type='String' delim=':' codepage='windows-1252'/>
<FieldFormat name='StockPrice' type='String' delim='|'codepage='windows-1252'/>
</StructFormat>
</MessageFormat>

例40-2のMFLファイルをテストするためにテスト・コンソールで生成されるXMLドキュメントを例40-3に示します。

例40-3 テスト・コンソールでのXML入力

<StockPrices>
<PriceQuote>
<StockSymbol>StockSymbol_31</StockSymbol>
<StockPrice>StockPrice_17</StockPrice>
</PriceQuote>
</StockPrices>

テスト・コンソールで、「実行」をクリックしてテストを実行します。例40-4は、生成されたテスト・データを示しています。この結果では、銘柄記号と株価がバイナリ形式で示されています。

例40-4 MFLのテスト・コンソールでの結果

00000000:53 74 6F 63 6B 53 79 6D 62 6F 6C 5F 33 31 3A 53 StockSymbol_31:S
00000010:74 6F 63 6B 50 72 69 63 65 5F 31 37 7C .. .. .. StockPrice_17|...

40.6.2 XSLT

Oracle Service Busでは、Extensible Stylesheet Language Transformation (XSLT)を使用してXML間のマッピングを記述します。XSLトランスフォーメーションは、プロキシ・サービスのメッセージ・フローでXQuery式を編集するときに使用できます。

XSLTリソースをテストするには、入力XMLドキュメントを指定する必要があります。テスト・コンソールは、出力XMLドキュメントを返します。ドキュメントに、トランスフォーメーションで使用するパラメータを作成できます。XSLTパラメータは、値としてプリミティブ型またはXMLドキュメントをとります。XSLトランスフォーメーションからパラメータの型を識別することはできません。テスト・コンソールの「XSLTリソース・テスト」ページの「入力およびパラメータ」パネルで、ドキュメントに定義されたXSLTパラメータにバインドする値を指定する必要があります。

詳細は、33.2.2項「XSLTトランスフォーメーションのテスト」を参照してください。

40.6.3 XQuery

XQueryは、データがXMLに物理的に格納されるか、XMLとして表示されるかに関係なく、XMLの構造を使用して、様々な種類のデータに対する問合せを表現します。

XQueryトランスフォーメーションは複数の入力をとる場合があります。返される出力は1つです。XQueryトランスフォーメーションに想定される入力は、定義済の各XQuery外部変数にバインドする変数値です。XQuery入力変数の値には、プリミティブ型の値(string型、integer型、date型)、XMLドキュメント、またはこれらの型のシーケンスを指定できます。出力値は、プリミティブ型の値(string型、integer型、date型)、XMLドキュメント、またはこれらの型のシーケンスになります。

XQueryは型付きの言語で、外部変数ごとに型が決まっています。型は次のグループに分類できます。

- 単純型/プリミティブ型 - string、int、floatなど

- XMLノード

- 型なし

想定される型が単純型である場合は、テスト・コンソールに1行の編集ボックスが表示されます。想定されるデータがXMLである場合は、複数行の編集ボックスが表示されます。変数に型がない場合は、両方の組合せの入力が使用されます。テスト・コンソールに[] as XMLというフィールドが表示され、ここで変数の型を宣言できます。テスト・コンソールの入力は、入力する必要のあるデータの型がわかりやすいように、型に基づいて表示されます。

図40-5は、int、XML、および未定義の型の3つの変数を含むXQueryを示しています。

図40-5 XQueryテストへの入力

テスト・コンソールでは、3つの変数がすべて「変数」パネルに表示されます。型なし変数には、デフォルトでXMLが選択されます。これが最も一般的なケースであるためです。「変数」パネルでこれらの変数を構成する必要があります。33.2.3項「XQueryトランスフォーメーションのテスト」を参照してください。

XQueryエディタからXQuery式をテストすることもできます。

40.7 XQueryテストの実行

XQueryテストが機能するように、ブラウザのポップアップ・ブロッカを無効にする必要があります。Internet Explorerブラウザでツールバーを使用している場合、「インターネット オプション」メニューでポップアップ・ブロッカを無効にするだけでなく、ポップアップをブロックするように構成されているすべてのツール・バーについてもこの機能を無効にする必要があります。

テスト・コンソールでXQueryテストを実行する場合、新しいテストを実行するには「戻る」ボタンを使用します。ただし、XQueryを変更した後に新しいテストを実行する場合、変更を有効にするには、テスト・コンソールを閉じて再度開く必要があります。詳細は、33.2.3項「XQueryトランスフォーメーションのテスト」を参照してください。

40.8 Webサービス・セキュリティを含むサービスのテスト

テスト・コンソールは、Webサービス・セキュリティ(WSS)で保護されたプロキシ・サービスとビジネス・サービスのテストをサポートします。WS-Securityアサーションを含むWS-Policyが割り当てられたSOAPサービスは、WSSで保護されます。具体的には、サービス操作の有効なリクエストWS-PolicyまたはレスポンスWS-PolicyにWS-Securityアサーションが含まれている場合、そのサービス操作はWS-Securityで保護されます。WS-Policyは、WS-PolicyAttachmentによってサービスに割り当てられます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のWSDLドキュメントへのWS-Policy文の付加に関する項を参照してください。操作にはリクエスト・ポリシーとレスポンス・ポリシーの両方を含めることができます。

操作にリクエストWS-PolicyまたはレスポンスWS-Policyが含まれる場合、テスト・コンソールとサービスとの間のメッセージのやり取りはWS-Securityのメカニズムによって保護されます。テスト・サービスは、操作のポリシーに従って、デジタル署名を施すか、メッセージ(正確にはメッセージの一部)を暗号化し、該当するセキュリティ・トークンを含めます。デジタル署名操作および暗号化操作に対する入力がクリアテキストSOAPエンベロープであることを指定します。33.1.2項「プロキシ・サービスのテスト・データの構成」および33.1.6項「ビジネス・サービスのテスト・データの構成」を参照してください。

同様に、サービスは、操作のレスポンス・ポリシーに従ってレスポンスを処理します。レスポンスは、暗号化またはデジタル署名される場合があります。この場合、テスト・サービスはこのレスポンスを処理し、メッセージの復号化またはデジタル署名の検証を行います。

テスト・コンソール(「セキュリティ」パネル)には、WS-Securityを含むサービスのテストに使用するサービス・プロバイダ、「ユーザー名」および「パスワード」の各フィールドが表示されます。

テスト・コンソールでサービス・キー・プロバイダを指定すると、WS-Securityで要求されるクライアント側のすべてのPKIキー・ペア資格証明がサービス・キー・プロバイダから取得されます。操作のリクエスト・ポリシーでIDアサーションが指定されており、サポートされるトークン・タイプの1つがユーザー名トークンである場合は、「ユーザー名」フィールドと「パスワード」フィールドを使用します。

サービス・プロバイダ、「ユーザー名」および「パスワード」の各フィールドは、操作にリクエスト・ポリシーまたはレスポンス・ポリシーが含まれている場合に必ず表示されます。値が必須かどうかは、実際のリクエスト・ポリシーとレスポンス・ポリシーによって決まります。

表40-1と表40-2にセキュリティ・シナリオを示します。

表40-1 デジタル署名と暗号化のシナリオ

シナリオ

サービス・キー・プロバイダの必要性

リクエスト・ポリシーにConfidentialityアサーションがあります。

いいえ。テスト・サービスは、サービスの公開鍵でリクエストを暗号化します。プロキシ・サービスをテストする場合、テスト・サービスは、プロキシ・サービスのサービス・キー・プロバイダに割り当てられた暗号化証明書から公開鍵を自動的に取得します。

ビジネス・サービスをテストする場合、暗号化証明書はビジネス・サービスのWSDLに埋め込まれます。テスト・サービスは、WSDLリポジトリからこのWSDLを自動的に取得し、WSDLから暗号化証明書を取り出します。

レスポンス・ポリシーにConfidentialityアサーションがあります。

はい。このシナリオでは、操作ポリシーは、クライアントが証明書をサービスへ送信することを要求します。サービスは、この証明書の公開鍵を使用し、クライアントへのレスポンスを暗号化します。サービス・キー・プロバイダを指定する必要があり、このサービス・キー・プロバイダには、暗号化資格証明が関連付けられている必要があります。

リクエストとレスポンスの両方の暗号化がサポートされている場合、異なる資格証明を使用する必要があります。

リクエスト・ポリシーにIntegrityアサーションがあります。

はい。クライアントはリクエストに署名する必要があります。サービス・キー・プロバイダを指定する必要があり、このサービス・キー・プロバイダには、デジタル署名資格証明が関連付けられている必要があります。

さらに、このIntegrityアサーションがSAML holder-of-keyの場合は、サービス・キー・プロバイダに加え、ユーザー名とパスワードも必要です。

レスポンス・ポリシーにIntegrityアサーションがあります。

いいえ。この場合、ポリシーは、サービスがレスポンスに署名する必要があることを指定します。サービスは、秘密鍵でレスポンスに署名します。テスト・コンソールはこの署名を確認するのみです。

プロキシ・サービスをテストする場合、プロキシ・サービスのサービス・キー・プロバイダのデジタル署名資格証明に関連付けられた秘密鍵が使用されます。

ビジネス・サービスをテストする場合、サービスは、サービスをホストするシステムに製品固有の方法で構成されたキー・ペアを使用して署名します。

現在のセキュリティ・レルムが証明書検索および検証を実行するように構成されている場合、サービス・キー・プロバイダに割り当てられる証明書は、証明書検索および検証フレームワークに登録され、有効である必要があります。

証明書検索と検証の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』の資格検索および検証フレームワークの構成に関する項を参照してください。

表40-2 IDポリシーのシナリオ(ポリシーにIDアサーションが含まれている場合)

サポートされるトークン・タイプ脚注 1

説明

コメント

UNT

サービスがWSSユーザー名トークンのみを使用

「セキュリティ」パネルでユーザー名とパスワードを指定する必要があります。

X.509

サービスがWSS X.509トークンのみを使用

「セキュリティ」パネルでサービス・キー・プロバイダを指定する必要があります。このサービス・キー・プロバイダには、WSS X.509資格証明が関連付けられている必要があります。

SAML

サービスがWSS SAMLトークンのみを使用

「セキュリティ」パネルまたは「トランスポート」パネルで、ユーザー名とパスワードを指定する必要があります。両方のパネルで指定した場合は、「セキュリティ」パネルのユーザー名とパスワードがSAMLトークンのIDとして使用されます。

UNT、X.509

サービスがUNTまたはX.509トークンを使用

「セキュリティ」パネルで、ユーザー名とパスワードを指定します。または、WSS X.509資格証明が関連付けられているサービス・キー・プロバイダを「セキュリティ」パネルで指定する必要があります。両方指定した場合は、UNTトークンのみが生成されます。

UNT、SAML

サービスがUNTまたはSAMLトークンを使用

「セキュリティ」パネルまたは「トランスポート」パネルで、ユーザー名とパスワードを指定する必要があります。両方指定した場合は、UNTトークンのみが送信されます。

X.509、SAML

サービスがX.509またはSAMLトークンを使用

次のいずれかを指定する必要があります。

- 「セキュリティ」パネルでユーザー名とパスワード

- 「トランスポート」パネルでユーザー名とパスワード

- WSS X.509資格証明が関連付けられているサービス・キー・プロバイダ

UNT、X.509、SAML

サービスがUNT、X.509、またはSAMLトークンを使用

次のいずれかを指定する必要があります。

- 「セキュリティ」パネルでユーザー名とパスワード

- 「トランスポート」パネルでユーザー名とパスワード

- WSS X.509資格証明が関連付けられているサービス・キー・プロバイダ

脚注 1 リクエスト・ポリシー内のIDアサーションから

40.8.1 サービスとポリシーの制限

SAMLポリシーを持つプロキシ・サービスとSAML holder-of-keyポリシーを持つビジネス・サービスのテストには、次の制限があります。

- インバウンドSAMLポリシーを持つプロキシ・サービスのテストはサポートされていません。

- SAML holder-of-keyポリシーを持つビジネス・サービスのテストは特殊なケースです。SAML holder-of-keyのシナリオは、次の2とおりの方法で構成できます。

- 整合性ポリシーとして(推奨アプローチ)

- IDポリシーとして

どちらの場合も、ユーザー名とパスワードを指定する必要があります。SAMLアサーションはこのユーザーの代理として機能します。SAML holder-of-keyが整合性ポリシーとして構成されている場合は、サービス・キー・プロバイダも指定する必要があります。このサービス・キー・プロバイダには、デジタル署名資格証明が割り当てられている必要があります。これは、IDポリシーがない場合でもユーザー名とパスワードを指定する必要がある唯一のケースであり、特殊なケースです。

注意:
テスト・コンソールでテストを実行した後、WSSで生成されたエンベロープが必ずしも有効なエンベロープというわけではありません。テスト・コンソールの結果ページには、読みやすくするためにホワイト・スペースが挿入されています。つまり、保護されたSOAPメッセージは、ホワイト・スペースが追加された状態で表示されます。ホワイト・スペースはドキュメントのセマンティクスに影響する可能性があるため、このようなSOAPメッセージはリテラル・データとして必ずしも使用できるわけではありません。たとえば、デジタル署名はホワイト・スペースの影響を受け、無効になることがあります。

40.9 テスト・コンソールのトランスポート設定

テスト・コンソールの「トランスポート」パネルでは、テスト・システムのメッセージのメタデータとトランスポート・ヘッダーを指定できます。

図40-6は、WSDLベースのプロキシ・サービスの「トランスポート」パネルを示しています。

図40-6 テスト・コンソールの「トランスポート」パネル

プロキシ・サービスのメッセージ・フローのメタデータとトランスポート・ヘッダーを設定すると、アウトバウンド・トランスポートのアクションに影響します。メタデータ、メッセージ、およびヘッダーをテストして、パイプライン出力を表示できます。プロキシ・サービスのテスト時に「トランスポート」パネルに表示されるフィールドは、パイプラインで使用できるヘッダーとメタデータを表します。プロキシ・サービスによっては、テスト・コンソールに表示されるフィールドをフィルタ処理できない場合もあります。HTTPベースのすべてのリクエストに対して、トランスポート・パラメータの同じセットが表示されます。

「ユーザー名」と「パスワード」フィールドは、プロキシ・サービスを実行しているユーザーの基本認証を実装するために使用されます。「ユーザー名」と「パスワード」フィールドは、特にトランスポートとの関連はありません。

メタデータ・フィールドは、「ユーザー名」フィールドおよび「パスワード」フィールドと、トランスポート・ヘッダー・フィールドの間に配置されています。表示されるフィールドは、サービスのトランスポート・タイプに基づいています。サービスを定義したときに選択した操作選択アルゴリズムに応じて、あらかじめ入力されているフィールドもあります。

たとえば、図40-6に示す「トランスポート」パネルでは、SOAPActionヘッダー・フィールドに「http://example.orgprocessLoanApp」が入力されます。これは、サービス定義から取得した値です(このプロキシ・サービスに指定されている選択アルゴリズムはSOAPAction Headerです)。選択アルゴリズムの詳細は、第37章「Oracle Service Busでのメッセージ・フローの作成」を参照してください。

トランスポート・レイヤー経由でメッセージを処理するかどうか(直接呼出しと間接呼出しのどちらを使用してサービスをテストするか)に基づいて、「トランスポート」パネルの各フィールドの値を指定します。

プロキシ・サービスを直接呼出しでテストする場合、テスト・データは、トランスポート・レイヤーを経由してメッセージが処理された場合のメッセージを表す必要があります。つまり、テスト・データは、メッセージがトランスポート・レイヤーを放れてサービスに到達した時点で想定される状態のメッセージを表す必要があります。間接呼出しを使用してプロキシ・サービスまたはビジネス・サービスをテストする場合、テスト・データは、ルート・ノードまたはサービス・コールアウトから送信されるデータを表します。テスト・メッセージは、トランスポート・レイヤー経由で処理されます。

MQトランスポートを使用するサービスをテストする場合、使用されるキャラクタ・セットによってはメッセージ・テキストが文字化けすることがあります。テスト・コンソールはメッセージをUTF-8文字形式で書き込みます。MQ接続のコード化文字セット識別コード(CCSID)が1208 (UTF-8)以外に設定されている場合、テキストはコンソールで文字化けして表示されます。これを回避するには、テスト・コンソールのトランスポート・パネル上でcharacterSetというユーザー・ヘッダーを定義することにより、CCSIDをオーバーライドします。ヘッダーの値を1208に設定します。

特定のヘッダーおよびメタデータの詳細と、テスト・フレームワークでそれらが処理される仕組みについては33.4項「テスト・コンソールでのランタイムによるトランスポート設定の使用方法」を参照してください。

40.10 セキュリティとトランスポートについて

テスト・コンソールを使用してBASIC認証でHTTPビジネス・サービスをテストする場合、テスト・コンソールは、ビジネス・サービスのサービス・アカウントのユーザー名とパスワードを認証します。同様に、認証を必要とするJMS、電子メールまたはFTPビジネス・サービスをテストする場合、テスト・コンソールは、そのビジネス・サービスに関連付けられたサービス・アカウントを認証します。

テスト・コンソールでは、プロキシ・サービスをテストするときに、HTTPリクエストはネットワーク経由で送信されません。そのため、トランスポート・レベルのアクセス制御は適用されません。

40.11 テスト・コンソールのアンデプロイ

Oracleは、本番システムでテスト・フレームワークを使用しないことをお薦めします。たとえば、直接呼出しオプションを使用してプロキシ・サービスのテストを行うと、アクセス制御を含むいくつかの重要なセキュリティ手順が回避されます。

Oracle Service Busドメインを作成する場合、構成ウィザードには、デフォルトで、管理サーバーおよびすべての管理対象サーバーのターゲットとして「ALSBテスト・フレームワーク」(テスト・コンソール)が含まれます。次の項では、テスト・コンソールをアンデプロイする様々なオプションについて説明します。

- 40.11.1項「ドメイン作成前のテスト・コンソールの割当て解除」

- 40.11.2項「サーバーが実行されている場合のテスト・コンソールの割当て解除」

- 40.11.3項「サーバーが実行されていない場合のテスト・コンソールの割当て解除」

40.11.1 ドメイン作成前のテスト・コンソールの割当て解除

ドメインの作成前に、Oracle Fusion Middleware構成ウィザードでテスト・コンソールを割当て解除するには、次の手順を実行します。

1. 構成ウィザードを使用してOracle Service Busドメインを作成する場合、「デプロイメントとサービス」のオプションの構成を選択します。

2. それに続く関連するウィザードのページで、サーバーごとに「ALSBテスト・フレームワーク」アプリケーションを選択解除します。

ウィザードによってドメインが作成される場合は、テスト・コンソール(OSB_ORACLE_HOME\lib\sbTestFwk.ear)はデプロイされません。

40.11.2 サーバーが実行されている場合のテスト・コンソールの割当て解除

Oracle Service Busドメインの実行中にテスト・コンソールをアンデプロイするには、次の手順を実行します。

1. Oracle WebLogic Server管理コンソールを起動し、ログインします。

2. 左側のナビゲーション領域の「ドメイン構造」の下にある「デプロイメント」をクリックします。「デプロイメントのサマリー」ページが表示されます。

3. 「デプロイメント」表で、「ALSBテスト・フレームワーク」をクリックします。「ALSBテスト・フレームワーク」の設定ページが表示されます。

4. 「ターゲット」タブをクリックします。

5. 「コンポーネント」チェック・ボックスを選択してすべてのテスト・フレームワーク・リソースを選択し、「ターゲットの変更」をクリックします。

6. 「デプロイメントのターゲット指定」ページで、管理サーバーおよびすべての管理対象サーバーを選択解除します。

7. 「はい」をクリックします。設定が正常に更新されたことを示すメッセージが表示されます。

40.11.3 サーバーが実行されていない場合のテスト・コンソールの割当て解除

Oracle Service Busドメインが実行されていない場合は、WebLogic Scripting Tool(WLST)を使用して、Oracle Service Busドメインからテスト・コンソールを割当て解除できます。WLSTの詳細は、『Oracle Fusion Middleware Oracle WebLogic Scripting Tool』を参照してください。

テスト・コンソール(「ALSBテスト・フレーム」)を割当て解除するには、次の手順を実行します。

1. WLSTを使用するための環境をまだ設定していない場合は、『Oracle Fusion Middleware Oracle WebLogic Scripting Tool』の「WebLogic Scripting Toolの使用」の、WLSTを使用するための主な手順に関する項を参照してください。

2. WLST Offlineを起動します。

C:>java com.bea.plateng.domain.script.jython.WLST_offline

3. 構成ウィザードを使用して作成されたドメインを読み取るには、次のコマンドを実行します。

wls:/offline>readDomain("C:/oracle/user_projects/domains/base_domain")

4. ALSBテスト・フレーム・アプリケーションを割当て解除するには、次のコマンドを実行します。

wls:/offline/base_domain>unassign("AppDeployment", "ALSB Test Framework", "Target", "AdminServer", "ManagedServer_1", "ManagedServer_2")

このコマンドにはすべての管理対象サーバーの名前を含めます。

5. ドメインを更新するには、次のコマンドを実行します。

wls:/offline/base_domain>updateDomain()

6. ドメインを閉じるには、次のコマンドを実行します。

wls:/offline/base_domain>closeDomain()

7. WLSTのコマンド・プロンプトを終了するには、次のコマンドを実行します。

wls:/offline>exit()

41 UDDI

この章では、Oracle Service RegistryなどのUDDI(Universal Description, Discovery, and Integration)レジストリでOracle Service Busを使用する方法について説明します。

この章の内容は次のとおりです。

- 41.1項「UDDI、UDDIレジストリおよびWebサービス」

- 41.2項「Oracle Service BusとUDDIのビジネス・シナリオの例」

- 41.3項「Oracle Service BusとUDDIの使用」

- 41.4項「レジストリの構成」

- 41.5項「UDDIレジストリへのプロキシ・サービスのパブリッシュ」

- 41.6項「自動パブリッシュの使用」

- 41.7項「レジストリからのサービスのインポート」

- 41.8項「自動インポートの使用」

- 41.9項「UDDIを使用したサービスの自動同期」

- 41.10項「Oracle Service Busプロキシ・サービスからUDDIエンティティへのマッピング」

- 41.11項「Oracle Service Busサービスをサポートする標準tModel」

- 41.12項「例」

41.1 UDDI、UDDIレジストリおよびWebサービス

UDDIは、Universal Description, Discovery, and Integrationの略です。UDDIプロジェクトは、企業間取引を迅速、容易、かつ動的に検索および実施できるようにすることを目指す業界イニシアティブです。

設定されるUDDIレジストリには、企業、企業が提供するサービス、および取引を行なう際に使用する通信標準とインタフェースに関する情報がカタログ化されて格納されます。UDDIレジストリは、サービスの検索、サービスの呼び出し、およびサービスのメタデータ(セキュリティ、トランスポート、またはサービスの品質)の管理のための標準ベースの基盤インフラストラクチャです。UDDIレジストリでは、任意のカテゴリ化によってこれらのメタデータを格納し提供します。これらのカテゴリ化を分類法と呼びます。

UDDIレジストリは、企業でWebサービスを共有するために使用されます。UDDIレジストリを使用することで、企業はこれらのWebサービスを整理およびカタログ化し、企業内または信頼できる外部のパートナと共有および再利用することができます。UDDIバージョン3.0の仕様は、http://www.oasis-open.org/committees/uddi-spec/doc/tcspecs.htm#uddiv3で確認できます。

UDDIレジストリは、この仕様に基づいています。この仕様には、UDDIを使用してWebサービスの情報をパブリッシュおよび検索する方法の詳細が記載されています。サービスの実行時の仕様は定義されません(単なるサービスのディレクトリです)。UDDIは、企業のビジネス、ビジネス・サービス、および公開するサービスの技術的な詳細を分類するためのフレームワークを提供します。

レジストリへサービスをパブリッシュするには、サービス・タイプと、レジストリ内でそのサービスを表すデータ構造の知識が必要です。レジストリ・エントリには、特定のプロパティが関連付けられ、これらのプロパティ・タイプはレジストリの作成時に定義されます。レジストリにサービスをパブリッシュして、他の組織がそのサービスを検出して使用できるようにすることが可能です。Oracle Service Busで開発されたプロキシ・サービスは、UDDIレジストリにパブリッシュできます。Oracle Service Busは任意のUDDIバージョン3.0に適合したレジストリと相互作用します。Oracleでは、Oracle Service Registryを提供しています。

図41-1は、Oracle Service BusとUDDIレジストリの統合を示しています。

図41-1 Oracle Service BusとUDDIの統合

Oracle Service Busで、Oracle Service RegistryとのWebベース・インタフェースを使用して、レジストリに簡単にアクセスして利用できます。Oracle Service BusをUDDIと組み合せて使用することにより、規格準拠のWebサービスの再利用が促進されます。このように、Oracle Service Busレジストリ・エントリは、複数のドメインで検索、検出、および使用できます。WebサービスとUDDIは一連の規格に基づいて構築されるため、再利用により、テストされ条件を満たしたWebサービスやアプリケーション開発規格の使用が企業全体で促進されます。Webサービスとインタフェースは、タイプ、機能、または分類に応じてカタログ化すると、検索や管理がさらに容易になります。

41.1.1 UDDI仕様の基本概念

UDDIは、HTTP、XML、XSD (XMLスキーマ定義)、SOAP、WSDLなど、確立された複数の業界標準に基づいています。UDDI仕様には、Webサービスのレジストリとそのプログラムのインタフェースが記述されています。UDDI自体が、Webサービスのセットです。UDDI仕様は、次に関する記述と検出をサポートするサービスを定義しています。

- ビジネスや組織などのWebサービス提供者

- これらのWebサービス提供者が公開するWebサービス

- これらのサービスのアクセスと管理に使用できる技術的なインタフェース

41.1.2 Oracle Service BusでUDDIレジストリを使用する利点

UDDIレジストリには、ビジネス・サービスに関するデータとメタデータが格納されます。UDDIレジストリは、他のアプリケーションがWebサービスを検出して使用できるように、Webサービスを分類、カタログ化、および管理する標準ベースのメカニズムを提供します。UDDIは、設計時と実行時の両方において、IT管理者と開発者に次のような利点をもたらします。

- サービスに関する情報をレジストリにパブリッシュし、検出用にサービスを分類することで、インフラストラクチャの管理が向上します。UDDIでは、増加し続けるサービスのポートフォリオを分類できるため、サービスを管理しやすくなるだけでなく、コンポーネント間の関係を理解する上でも役立ちます。さらに、バージョン管理をサポートし、依存関係を管理することができます。

- UDDIサービスをレジストリからインポートして、Webサービスを呼び出すために必要なパラメータ、および必要な転送プロトコルとセキュリティ・プロトコルを構成できます。

- 規格準拠のWebサービスの使用およびビジネス・アプリケーションでのビジネス・サービスの開発を促進し、Webサービス開発者にリソース・ライブラリへのリンクを提供します。これにより、開発時間が短縮され、生産性が向上します。また、規格準拠のリソースを共有することで、ビジネス・アプリケーション間の相互運用性の実現の可能性が増加します。

- UDDIは、Webサービスの検索と検出のためのユーザー・フレンドリなインタフェースを提供します。

41.1.3 UDDIエンティティの概要

UDDIは、特定のデータ・モデルを使用して、組織とサービスを定義するエンティティを表します。図41-2は、様々なUDDIエンティティ間の関係を示しています。

図41-2 組織とサービスを表すUDDIエンティティ

表41-1に、UDDIエンティティの概要を示します。

表41-1 UDDIエンティティの概要

UDDIエンティティ

説明

ビジネス・エンティティ

サービスを所有および提供する組織またはグループ。ビジネス・エンティティは、サービス提供者の名前、説明、および連絡先詳細のセット、ビジネス・エンティティの特徴を表すカテゴリ、ユニークな識別子、および検出URLのセットで記述できます。

ビジネス・サービス

ビジネス・エンティティが提供する機能またはリソースを表します。ビジネス・サービスは、名前、説明、およびサービスの機能を表す一連のカテゴリで記述されます。UDDIレジストリのビジネス・サービスは、必ずしもWebサービスを表すわけではありません。UDDIレジストリでは、EJBやCORBAなどの任意のサービスを登録できます。

バインディング・テンプレート

ビジネス・サービスを呼び出す方法の技術的な詳細を表します。ビジネス・サービスには、1つまたは複数のバインディング・テンプレートを含めることができます。バインディング・テンプレートは、サービス・エンドポイントを表すアクセス・ポイント(エンドポイントURIとプロトコル仕様)、tModelインスタンス情報、およびバインディング・テンプレートの特定の機能を参照するカテゴリで記述されます。

tModel

UDDIレジストリでのサービスの表現方法を記述する技術仕様(通常は仕様のポインタ、または仕様ドキュメントに関するメタデータ)を表します。サービスの記述には、名前、説明、概要ドキュメント(tModelの目的を示すドキュメントへの参照)、カテゴリ、および(tModelを一意に識別する)識別子が含まれます。

UDDIで使用されるUDDIデータ・モデルとエンティティの詳細は、『Oracle Fusion Middleware Oracle WebLogic Server JAX-RPC Webサービスの高度な機能のプログラミング』のUDDIを使用したWebサービスのパブリッシュと検索に関する項を参照してください。

41.2 Oracle Service BusとUDDIのビジネス・シナリオの例

UDDIを使用する利点を明確にする2つのビジネス・シナリオの例を次に示します。

41.2.1 プロキシ・サービスとUDDIレジストリの基本的な通信

このシナリオでは、Oracle Service Busを使用してレジストリからサービスをインポートし、Oracle Service Busプロキシ・サービスをそのレジストリにパブリッシュする方法を示します。図41-3を参照してください。

図41-3 プロキシ・サービスとUDDIレジストリの通信

Oracle Service Busに、UDDIレジストリからビジネス・サービスをインポートします。プロキシ・サービスのメッセージ・フローでビジネス・サービスと通信するように、プロキシ・サービスを構成します。プロキシ・サービスを元のレジストリにパブリッシュし、他のドメインで使用できるようにすることが可能です。

41.2.2 Oracle Service Busのドメイン間デプロイメント

このシナリオでは、Oracle Service Busを使用したドメイン間デプロイメントを示します。このシナリオでは、あるドメインのOracle Service Busアプリケーションが実行時に別のドメインのOracle Service Busサービスにアクセスする必要があります。図41-4を参照してください。

図41-4 ドメイン間デプロイメントのビジネス・ケース例

2つのドメインに、Oracle Service Busのインスタンスがそれぞれデプロイされています。ドメイン(D1)にOracle Service Busプロキシ・サービス(P1)が構成されています。ドメイン(D2)のOracle Service Busプロキシ・サービス(P2)は、プロキシ・サービス(P1)にアクセスする必要があります。ドメインは直接相互通信することができないため、D2のP2はD1のP1を使用できません。Oracle Service Busのインポート/エクスポート機能では、別のドメインにあるサービスの実行時検出をサポートしていませんが、UDDIレジストリにサービスをパブリッシュすることで、どのドメインのサービスでも検出し使用できるようになります。P1がUDDIレジストリにパブリッシュされると、実行時に呼び出したり(たとえば、株価を取得する)、他のOracle Service Busプロキシ・サービスでビジネス・サービスとしてインポートしたりできます。

別のドメインからインポートおよびエクスポートする場合は、ネットワーク接続が必要です。プロキシ・サービスが別のドメインのリポジトリにあるスキーマを参照するとします。この場合、URLを使用してインポートするために、そのドメインへのHTTPアクセスが必要となります。接続されていない場合、エラー・メッセージが返されます。

41.3 Oracle Service BusとUDDIの使用

Oracle Service Busは、UDDIのバージョン3.0実装に準拠する任意のUDDIレジストリを使用します。Oracle Service Registryは、V 3.0準拠のUDDIレジストリであり、Oracle Service Busで機能することが保証されています。

Oracle Service Bus管理コンソールまたはEclipseを使用して、次のことができます。

- 1つまたは複数のV3.0準拠のUDDIレジストリを使用するようにOracle Service Busを構成します。

- ユーザーがサービスをパブリッシュおよびインポートできるように、レジストリを構成します。

- プロキシ・サービス(サービス・タイプは、WSDL、メッセージング、任意のSOAP、および任意のXML)に関する情報をレジストリにパブリッシュします。

- レジストリで特定のサービスを検索します。また、使用可能なすべてのサービスのリストを表示します。ビジネス・エンティティ、サービス名のパターン、またはこの両方で検索できます。

- レジストリからビジネス・サービスをインポートします。

詳細は、次を参照してください。

- 30.2項「UDDIレジストリの構成」

- 30.4項「UDDIレジストリからのビジネス・サービスのインポート」

- 30.7項「UDDIレジストリへのプロキシ・サービスのパブリッシュ」

41.3.1 UDDIのワークフロー

Oracle Service BusでUDDIレジストリを使用する際の一般的なワークフローは次のとおりです。

- Oracle Enterprise Repositoryをインストールします

- Oracle Service RegistryまたはV3.0準拠のUDDIレジストリをインストールします。

注意:
Oracle Enterprise RepositoryとOracle Service Registryは、Oracle Service Busに含まれていません。これらの製品を使用するには、別途ライセンスを購入する必要があります。
Oracle Enterprise Repositoryの詳細は、Oracle Enterprise Repositoryに関するOracle Fusion Middlewareのドキュメントを参照してください。

- Oracle Service Bus IDEで、19.1.2項「Oracle Enterprise Repositoryからのビジネス・サービスの生成」の説明のとおり、Oracle Enterprise Repositoryのサービス・アセットからビジネス・サービスを生成します。

- Oracle Enterprise Repositoryからのビジネス・サービスの生成の一環として、新規UDDIレジストリ・リソースを作成しない場合、サービス・レジストリをOracle Service Bus管理コンソールまたはEclipseで構成します。次を参照してください。

- 30.2項「UDDIレジストリの構成」

- 『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のUDDIレジストリの操作に関する項

- Oracle Service Bus管理コンソールでデフォルト・レジストリを設定します。30.3項「デフォルトUDDI構成の設定」を参照してください。

41.4 レジストリの構成

UDDIレジストリを構成し、Oracle Service Busで使用できるようにしたら、Oracle Service Busプロキシ・サービスをパブリッシュしたり、レジストリからビジネス・サービスをインポートして、プロキシ・サービスで使用したりできます。レジストリの構成は、Oracle Service Bus管理コンソールのアクティブ・セッションで行う必要があります。詳細は、次を参照してください。

- 30.2項「UDDIレジストリの構成」

- 『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のUDDIレジストリの操作に関する項。

サービスをOracle Service Registryにパブリッシュする場合、レジストリにアクセスするときの認証用に有効なユーザー名とパスワードが必要です。ユーザー名とパスワードの組合せは、サービス・アカウント・リソースとしてOracle Service Busに実装されます。プロキシ・サービスを構成する前に、サービス・アカウントを定義しておく必要があります。17.1項「サービス・アカウントの指定」を参照してください。

複数のユーザー名とパスワードを使用してレジストリを設定できるため、関連付けられたサービス・アカウントに基づいて、ユーザーごとに異なるパーミッションを使用できます。Oracle Service Registryでは、管理者がユーザー権限を管理し、様々なユーザーのニーズに固有のビューをレジストリに作成します。Oracle Service Busでは、ユーザー・パーミッションによってレジストリ、レジストリの内容、および使用できる機能へのアクセスを管理します。

41.5 UDDIレジストリへのプロキシ・サービスのパブリッシュ

Oracle Service Bus管理コンソールまたはIDEを使用して、Oracle Service Registryにプロキシ・サービスをパブリッシュできます。これを行うには、Oracle Service Registryにユーザー・アカウントを設定しておく必要があります。UDDIレジストリには、どのプロキシ・サービスでもパブリッシュできます。使用できるサービス・タイプとトランスポートを表41-2に示します。

表41-2 プロキシ・サービスのサービス・タイプとトランスポート

サービス・タイプ

トランスポート

WSDL

HTTP、JMS、ローカル、SB、WS

トランスポート・タイプ

JEJB

任意のSOAP

HTTP、JMS、ローカル、SB

任意のXML

電子メール、ファイル、FTP、HTTP、JMS、ローカル、MQ、SB、SFTP、Tuxedo

メッセージング

電子メール、ファイル、FTP、HTTP、JMS、ローカル、MQ、SFTP、Tuxedo

注意: メッセージング・サービスでは、リクエストとレスポンスのコンテンツが異なる場合や、レスポンスがない場合(一方向のメッセージ)があります。電子メール、ファイル、SFTPおよびFTPは一方向であることが必要です。

サービスをパブリッシュするビジネス・エンティティを選択できます。ビジネス・エンティティの管理(エンティティの作成、取消し、更新、削除など)は、レジストリ・ベンダーが提供する管理コンソール(Oracle Service RegistryのBusiness Service Consoleなど)を使用して行います。レジストリに初めてパブリッシュするときに、そのレジストリにtModelsをロードする必要があります。これは、Oracle Service Bus管理コンソールまたはEclipse用Oracle Service Busプラグインでパブリッシュの詳細を構成するときに行います。UDDIレジストリにパブリッシュする方法の詳細は、30.7項「UDDIレジストリへのプロキシ・サービスのパブリッシュ」を参照してください。

注意:
UDDIレジストリからサービスをインポートする際に、このサービスのレジストリへのパブリッシュ元であるOracle Service Busクラスタで、クラスタリングされたサーバーがlocalhostアドレスを使用している場合は、エラーが発生することがあります。特に、インポート中のサービスが、他のリソース(WSDLまたはXSD)を参照するリソース(WSDLまたはXSD)を参照している場合に、このエラーが発生します。
クラスタリングされたドメインからUDDIレジストリにサービスをパブリッシュする前に、クラスタ内のいずれのサーバーもサーバー・アドレスにlocalhostを使用していないことを確認します。かわりに、コンピュータ名かIPアドレスを使用します。

41.5.1 UDDIへのローカル・プロキシ・サービスのパブリッシュ

UDDIにローカル・プロキシ・サービスをパブリッシュできたら、サービスをOracle Service Bus汎用プロキシ・サービスに関連付けることができます。たとえば、具体的なWSDLを使用する複数のローカル・トランスポート・プロキシ・サービスに動的にルーティングする任意のSOAPまたは任意のXML汎用プロキシ・サービスを使用できます。また、ビジネス・サービスがアタッチされたエンタープライズ・サービス・バス(ESB)2の汎用プロキシ・サービスに動的にルーティングするESB 1の汎用プロキシ・サービスを使用することもできます。UDDIレジストリから、ローカル・プロキシ・サービスのWSDLと、任意のSOAPまたは任意のXML汎用プロキシ・サービスのURLを取得できます。WSDLとURLを組み合せることで、汎用プロキシ・サービスを介してローカル・プロキシ・サービスにメッセージを送信するための有効なWSDLが作成されます。

41.6 自動パブリッシュの使用

プロキシ・サービスを作成するときに、デフォルトのUDDIレジストリに自動的にパブリッシュするようにプロキシ・サービスを構成できます。まず、デフォルト・レジストリを設定しておく必要があります。30.3項「デフォルトUDDI構成の設定」を参照してください。

個々のプロキシ・サービスの自動パブリッシュ機能を有効にするには、「プロキシ・サービスの作成 - 全般的な構成」ページで「レジストリにパブリッシュ」チェックボックスを選択します。「レジストリにパブリッシュ」オプションを有効にすると、セッションをアクティブ化したときにプロキシ・サービスがデフォルト・レジストリにパブリッシュされます。UDDIレジストリを使用できない場合は、パブリッシュ・アクションが再試行されます。プロキシ・サービスにさらに変更を加えると、再試行がリセットされます。プロキシ・サービスをUDDIレジストリにリパブリッシュすると、UDDIに定義されているプロキシ・サービスの分類がすべて保持されます。

デフォルト・レジストリを変更すると、自動パブリッシュが有効になっているすべてのプロキシ・サービスが新しいデフォルト・レジストリにパブリッシュされます。その後、現在のデフォルト・レジストリとの同期が実行されます。プロキシ・サービスが同期されていない場合、Oracle Service Bus管理コンソールに同期されていないことを示す非同期アイコンが表示されます。

注意:
デフォルト・レジストリを使用しているときにsbconfig.jarをインポートすると、インポート中にsbconfig.jarのデフォルト・レジストリに同じ論理名が設定されるため、ビジネス・エンティティのデフォルト・レジストリが誤った値になる可能性があります。この場合、自動パブリッシュされたプロキシ・サービスがあると、「自動パブリッシュ状態」ページにエラーが表示されることがあります。これを修正するには、デフォルト・レジストリを再度選択します。

41.7 レジストリからのサービスのインポート

UDDIレジストリにあるサービスをOracle Service Busビジネス・サービスとしてインポートできます。WSDLベースのサービスをインポートする場合、複数のUDDIバインディング・テンプレートがあると、Oracle Service Busはバインディング・テンプレートごとに異なるビジネス・サービスを作成します。

Oracle Service BusでUDDIレジストリにアクセスするには、Oracle Service BusのIntegrationAdmin権限またはIntegrationDeployer権限が必要です。Oracle Fusion Middleware Oracle Service Bus開発者ガイドのOracle Service Bus管理コンソールでのロール・ベースのアクセス権に関する説明を参照してください。レジストリ・エントリは、Oracle Service Bus管理コンソールの「システム管理」→「UDDIからインポート」ページにあります。インポート時に、使用可能なレジストリのリストから選択します。レジストリのサービスを検出するには、特定のレジストリに問合せを行う必要があります。レジストリのエントリは一意です。サービスのインポートに使用するレジストリを指定するときに、この問合せを実行します。

UDDIレジストリからの直接インポートにかわるベスト・プラクティスとして、Oracle Enterprise Repositoryに格納されているサービス・アセットからビジネス・サービスを生成することもできます。これがOracle Service Registryのサービスに関連付けられます。

次のビジネス・サービスの種類をUDDIレジストリからOracle Service Busにインポートできます。

- WSDL over HTTPバインディング。複数のUDDIバインディング・テンプレートがある場合、バインディング・テンプレートごとにビジネス・サービスが作成されます。

- SOAP over HTTPバインディングまたはXML over HTTPバインディング。

- Oracle Service Busサービスとして分類されたサービス。UDDIレジストリにパブリッシュされたOracle Service Busプロキシ・サービスです。この機能は主に、あるドメインのプロキシ・サービスが別のドメインのプロキシ・サービスを検出してそこにルーティングする必要のあるマルチ・ドメインのOracle Service Busデプロイメントで使用されます。

UDDIレジストリからのサービスのインポートの詳細は、次を参照してください。

- 30.4項「UDDIレジストリからのビジネス・サービスのインポート」

- 19.1.2項「Oracle Enterprise Repositoryからビジネス・サービスを生成する」

サービスが更新された場合、最新バージョンを取得するには、レジストリからサービスを再度インポートする必要があります。ただし、「自動インポートの有効化」オプションを選択して、インポートしたサービスをUDDIレジストリと自動的に同期する場合を除きます。このオプションを選択した状態でサービスをインポートすると、UDDIレジストリとの同期が維持されます。41.9項「UDDIを使用したサービスの自動同期」を参照してください。自動同期の実行中にエラーが発生した場合、エラーは「自動インポート・ステータス」ページで報告されます。このページでサービスを手動で更新できます。

サービスにはドキュメントが関連付けられており、これらのドキュメントには他のいくつかのドキュメント(スキーマ、ポリシーなど)が含まれる場合があります。インポートでは、UDDIレジストリはサービスの照会URLに基づいてドキュメントの場所を示します。他のリソースを含むドキュメント、または他のリソースを参照するドキュメントが検索された場合は、参照されているすべての情報と含まれている各項目は個別のリソースとしてOracle Service Busに追加されます。

レジストリのサービスを検索する条件として、ビジネス・エンティティとパターンを使用します。たとえば、サービスを検索する場合、「foo%」と入力できます。Oracle Service Busによってパブリッシュされたサービスには、サービスを識別する固有のtmodelキーがあり、レジストリのサービスを検索するときに使用されます。

ビジネス・エンティティがレジストリの構成の最上位ですが、ビジネス、アプリケーション・タイプなどの他の検索条件を使用できます。認証が必要な場合は、システム管理者からユーザー名とパスワードを入手する必要があります。

41.7.1 関連リファレンス

関連情報については、次を参照してください。

- 技術ノートについては、http://www.oasis-open.org/committees/uddi-spec/doc/tns.htmを参照してください。『Using WSDL in a UDDI Registry』の注記が重要です。

- UDDI製品および開発ツールの情報については、http://uddi.org/solutions.htmlのOASIS UDDIソリューションのページを参照してください。

- UDDI仕様(http://www.oasis-open.org/committees/uddi-spec/doc/tcspecs.htm)
この仕様では、次のことが定義されています。

- アプリケーションがUDDIレジストリに対して情報の問合せやパブリッシュを行うために使用するSOAP API

- レジストリ・データ・モデルのXMLスキーマとSOAPメッセージ・フォーマット

- SOAP APIのWSDL定義

- UDDI登録の識別や分類に使用できる様々な識別子とカテゴリ・システムのUDDIレジストリ定義(tModels)

41.8 自動インポートの使用

自動インポート機能を使用すると、Oracle Service Registryからインポートしたビジネス・サービスをレジストリ内の対応するサービスと同期できます。30.5項「自動インポート・ステータスの使用」を参照してください。

注意:
自動インポートは、Oracle Service Bus管理コンソールでのみ使用でき、Eclipse用Oracle Service Busプラグインでは使用できません。

「自動インポート・ステータス」ページでは、次の操作を実行できます。

- 41.8.1項「同期」

- 41.8.2項「デタッチ」

41.8.1 同期

レジストリからインポートしたサービスを同期できます。レジストリ内のサービスが変更された場合に、Oracle Service Bus管理コンソールのサービスをレジストリ内のサービスと同期できます。次の使用例で、同期のプロセスを説明します。ビジネス・サービスがレジストリからデタッチされていない場合、Oracle Service Busはレジストリ内のサービスへの変更を自動的にサブスクライブします。サービスが変更された場合、「リソース・ブラウザ」と「プロジェクト・エクスプローラ」に非同期アイコンが表示され、サービスを同期する必要があることが示されます。また、「自動インポート・ステータス」ページにこのサービスが表示され、サービスを同期したり、レジストリから切り離したりするためのオプションが提供されます。サービスを同期すると、セマンティクス検証エラーが発生し、「競合の表示」ページにエラーが表示される場合があります。セッションをアクティブ化する前に、これらのエラーを修正する必要があります。

サービスが同期されている場合、サービスはUDDIから取得されるフィールドでのみ更新されます。サービス定義の他のフィールドでは、最後のインポート以降に変更を行うと値が保持されます。

サービスをDomain1からレジストリにパブリッシュするシナリオについて考えてみます(図41-5を参照)。これらのサービスをレジストリからDomain2にインポートします。Domain1のサービスを変更し、変更したサービスをレジストリで更新します。自動インポート機能を使用して、変更したサービスをレジストリと同期することで、Domain2のサービスを更新できます。

図41-5 ドメイン間デプロイメントのビジネス・ケース例

41.8.2 デタッチ

Oracle Service Bus管理コンソールのサービスをレジストリ内の対応するサービスと同期する必要がない場合もあります。サービスをレジストリからデタッチすると、同期を回避できます。30.6項「サービスのデタッチ」を参照してください。

41.9 UDDIを使用したサービスの自動同期

Oracle Service Busのサービス定義とUDDIのサービス定義との同期を自動的に維持することができます(双方向)。

Oracle Service Busで作成または変更されたサービスを、自動的にUDDIレジストリにパブリッシュできます。また、ビジネス・サービス定義をUDDIからインポートし、元のサービスがUDDIで変更された場合に自動的に更新できます。あるいは、サービスがUDDIレジストリで変更された場合に同期の承認を求めるようOracle Service Bus管理コンソールまたはEclipse用Oracle Service Busプラグインを構成できます。

レジストリを構成するときに、「自動インポートの有効化」オプションを選択すると、インポートしたサービスがUDDIレジストリと自動的に同期されます。このオプションが有効になっている状態でサービスをインポートすると、UDDIレジストリとの同期が自動的に維持されます。自動同期の実行中にエラーが発生した場合、エラーは「自動インポート・ステータス」ページで報告されます。このページでサービスを手動で更新できます。30.2項「UDDIレジストリの構成」を参照してください。

41.10 Oracle Service Busプロキシ・サービスからUDDIエンティティへのマッピング

Oracle Service Busプロキシ・サービスの属性が、UDDIレジストリでサポートされるデータ・モデルにマップされる必要があります。これによって、プロキシ・サービスをUDDIビジネス・エンティティとしてパブリッシュできます。表41-3に、Oracle Service Busプロキシ・サービスのUDDIレジストリ・マッピングに関連する、サービス・タイプ、メッセージ・タイプおよびトランスポートを示します。

表41-3 プロキシ・サービスの属性とサービス・タイプ

サービス・タイプ

メッセージ・コンテンツ・タイプ

トランスポート

WSDL

SOAPまたはXML (添付ファイル付き)

HTTP、JMS、ローカル、SB、WS

トランスポート・タイプ

SOAPまたはXML

JEJB

任意のSOAP

型なしのSOAP (添付ファイル付き)

HTTP、JMS、ローカル、SB

任意のXML

型なしのXML (添付ファイル付き)

電子メール、ファイル、FTP、HTTP、JMS、ローカル、MQ、SB、SFTP、Tuxedo

メッセージング

バイナリ、テキスト、MFL、XML (スキーマ)

電子メール、ファイル、FTP、HTTP、JMS、ローカル、MQ、SFTP、Tuxedo

注意:
カッコ内の部分はオプションです。メッセージング・サービスでは、リクエストとレスポンスのコンテンツが異なる場合や、レスポンスがない場合(一方向のメッセージ)があります。電子メール、ファイル、SFTPおよびFTPは一方向であることが必要です。

プロキシ・サービスは共通の属性を持ちます。また、サービスやサービスのタイプで使用される転送プロトコルによって固有に定義される属性もあります。各プロキシ・サービスは、特定のタイプのメッセージを配信できます。

UDDIの主要な関連エンティティは次のとおりです。

- businessService: サービス全体を表し、サービスの一般的な概要情報が含まれます。

- bindingTemplate: サービスにアクセスするための情報が含まれます。

- tModels: サービスを分類および定義するための個々の属性を提供します。

図41-6に、WSDLベースのサービスがUDDIビジネス・エンティティにマップされる仕組みを示します。

図41-6 WSDLサービスからUDDIへのマッピング

WSDLベースのプロキシ・サービスをUDDIレジストリにパブリッシュするためのベースとして、http://www.oasis-open.org/committees/uddi-spec/doc/tns.htmにある技術ノート『Using WSDL in a UDDI registry, version 2.0.2』が使用されています。このドキュメントは、WSDLベース以外のサービスをパブリッシュするための基準としても使用されます。このドキュメントと、ベースとなるUDDI仕様には、UDDIエンティティの記述に使用される標準技術モデル(tModels)についての記載があります。Oracle Service Busプロキシ・サービスをUDDIレジストリのエンティティとしてパブリッシュするには、Oracle Service Bus固有の構成要素の一部をサポートする標準のtModelを追加する必要があります。サービスの検索時に、Oracle Service Busプロキシ・サービスのすべての属性(サービス・タイプやトランスポートの詳細など)が役立つわけではありません。これらの属性は、サービスを分類するものではありません。tmodelsは、検出されたサービスの構成の詳細です。これらの構成の詳細は、ビジネス・サービスのバインディング・テンプレートのtmodelinstanceDetailsセクションにマップされます。その他の属性は、サービスを個別に識別するものであり、サービスの検索条件として使用できます。これらの属性は、キー付き参照を使用して、バインディング・テンプレートのcategoryBagの値と共にtModelsにマップされます。

Oracle Service BusからUDDIへのマッピングの例を図41-7に示します。

図41-7 Oracle Service BusからUDDIへのマッピング

41.10.1 Oracle Service Busプロキシ・サービスのUDDIマッピングの詳細

Oracle Service Busプロキシ・サービスの概要情報は、次のようにビジネス・サービスにマップされます。

- 名前と説明は、businessService elements要素にマップされます。

- Oracle Service Busのプロパティには、特殊なkeyedReferenceGroupがありますuddi:bea.com:attributes:oracleservicebusはキーの一例です。

- Oracle Service Busのタイプ(WSDL、SOAP、XML、およびこれらの組合せ)とインスタンスは、サービス・カテゴリのkeyedReferencesにマップされます。uddi:bea.com:servicetypeはキーの一例です。

- Oracle Service Busインスタンスは、Oracle Service Bus keyedReferenceGroup(名前 = "OracleServiceBus"、値 = Oracle Service BusインスタンスのURL)内のkeyedReferenceにマップされます。
このインスタンスは、次の2つの目的を果たします。

- このサービスが実際にOracle Service Busサーバーによってホストされていることを示します。

- Oracle Service BusインスタンスのURLを保持します。

例41-1に、プロキシ・サービスの概要情報のビジネス・サービスへのマッピングを示します。

例41-1 プロキシ・サービスからビジネス・サービスへのマッピング例

<keyedReferenceGroup tModelKey="uddi:bea.com:servicebus:properties">
<keyedReference  tModelKey="uddi:bea.com:servicebus:servicetype"
keyName="Service Type"
keyValue="SOAP"/>
<keyedReference  tModelKey="uddi:bea.com:servicebus:instance"
keyName="Service Bus Instance"
keyValue="http://FOO02.amer.bea.com:7001"/>
</keyedReferenceGroup>

注意:
プロキシ・サービスをパブリッシュするときに作成されるbusinessServiceのキーは、パブリッシュする側が割り当てたキー名です。これは、Oracle Service Busのドメイン名、プロキシ・サービスのパス、およびプロキシ・サービス名から生成されます。形式は次のようになります。

uddi:bea.com:servicebus:<domainname>:<path>:<servicename>

たとえば、Oracle Service BusドメインであるAnonESBanにProxyというプロジェクトがあるとします。このプロジェクトにAccountingというフォルダがあり、このフォルダにはPayoutProxyというプロキシ・サービスが格納されています。PayoutProxyをUDDIにパブリッシュする場合、businessServiceは次のキーで作成されます。

uddi:bea.com:servicebus:AnonESB:Proxies:Accounting:PayoutProxy

Oracle Service Busプロキシ・サービスの詳細情報は、次のようにバインディング・テンプレートにマップされます。

- エンドポイントURIがアクセス・ポイントにマップされます。

- 各トランスポートのマーカーtModelがtModelInstanceDetailsにマップされます。

- HTTP、JMS、ファイル、FTP、電子メールのトランスポートtModel。JMSトランスポートとファイル・トランスポートをサポートするために、新しいtModelsがOracle Service Busにパッケージ化されています。

- Oracle Service Busの詳細構成情報はinstanceParmsにマップされます。

- 各サービス・タイプのマーカーtModelがtModelInstanceDetailsにマップされます。これには、次のものが含まれます。

- WSDL、任意のSOAP、任意のXML、およびメッセージングのtModelプロトコル。任意のSOAP、任意のXML、およびメッセージングをサポートする新しいtModelsがOracle Service Busにパッケージ化されています。

- WSDLはWSDLからUDDIへのマッピングの技術ノートを使用してマップされます。

- メッセージングに含まれる詳細な構成情報はInstanceParmsにマップされます。

例41-2に、詳細情報のバインディング・テンプレートへのマップを示します。

例41-2 詳細のバインディング・テンプレートへのマッピング例

<bindingTemplate bindingKey="uddi:" serviceKey="uddi:">
<accessPoint useType="endPoint">file:///c:/temp/in3</accessPoint>
<tModelInstanceDetails>
<tModelInstanceInfo tModelKey="uddi:uddi.org:transport:file">
<InstanceDetails>
<InstanceParms><ALSBInstanceParms xmlns="http://www.bea.com/wli/sb/uddi">
<property name="fileMask" value="*.*"/>
<property name="sortByArrival" value="false"/> </ALSBInstanceParms>
</InstanceParms>
</InstanceDetails>
</tModelInstanceInfo>
<tModelInstanceInfo tModelKey="uddi:bea.com:servicebus:protocol:
messagingservice">
<InstanceDetails>
<InstanceParms><ALSBInstanceParms xmlns="http://www.bea.com/wli/sb/uddi">
<property name="requestType" value="XML"/>
<property name="RequestSchema" value="http://domain.com:7001
/sbresource?SCHEMA%2FDJS%2FOAGProcessPO"/>
<property name="RequestSchemaElement"
value="PROCESS_PO"/>
<property name="responseType" value="None"/></ALSBInstanceParms>
</InstanceParms>
</InstanceDetails>
</tModelInstanceInfo>
</tModelInstanceDetails>
</bindingTemplate>

41.10.2 トランスポート属性

uddi:uddi.org:transport: *グループのトランスポートのタイプごとに、異なる詳細メタデータのセットが含まれます。表41-3を参照してください。このメタデータは、プロキシ・サービスのトランスポートの構成の詳細を示します。これは、サービスの特徴を示したりサービスを問い合せたりする場合に役立つものではありません。ただし、検出されたサービスにアクセスするときにこのデータが必要になります。メタデータはXML文字列で表され、tModelInstanceInfoのinstanceParmsフィールドに格納されます。

HTTPトランスポートを使用するプロキシ・サービスをマップし、HTTP構成の一部として、必要なクライアント認証やリクエストとレスポンスの文字エンコーディングなどの構成の詳細を記述する必要があるとします。例41-3に、bindingTemplateのtModelInstanceDetailsに必要な内容の一例を示します。

例41-3 tModelInstanceDetailsの例

<tModelInstanceDetails>
<tModelInstanceInfo tModelKey="uddi:uddi.org:transport:http">
<instanceDetails>
<instanceParms>
<ALSBInstanceParms xmlns="http://www.bea.com/wli/sb/uddi">
<property name="client-auth" value="basic"/>
<property name="request-encoding" value="iso-8859-1"/>
<property name="response-encoding" value="utf-8"/>
<property name="Scheme" value="http"/>
</ALSBInstanceParms>
</instanceParms>
</instanceDetails>
</tModelInstanceInfo>
</tModelInstanceDetails>

注意:
各トランスポート方式のサービス・エンドポイントは、常にbindingTemplateのaccessPointフィールドに格納されます。

認証を構成すると、HTTPトランスポート属性またはHTTPSトランスポート属性のinstanceParmsにclient-authプロパティが表示されます。client-authに指定できる値は、basic、client-certおよびcustom-tokenです。値がcustom-tokenの場合は、token-headerとtoken-typeの2つのプロパティが追加されます。

このリリースでは、Oracle Service Busビジネス・サービス定義でカスタム・トークン認証がサポートされていないため、サービスのインポート元のUDDIでclient-authの値がcustom-tokenである場合、サービスは認証が構成されていないものとしてインポートされます。

表41-4は、各トランスポートで使用するtModelKeyとinstanceParmsをトランスポート・タイプ別にまとめたものです。

表41-4 トランスポート属性

トランスポート

tModelKey

InstanceParms

電子メール脚注 1

uddi:uddi.org:transport:smtp

- 添付ファイルのサポート「ブール値」

- リクエストのエンコーディング

ファイル

uddi:uddi.org:transport:file

- ファイル・マスク

- 到着順にソート「ブール値」

- リクエストのエンコーディング

FTP

uddi:uddi.org:transport:ftp

- ファイル・マスク

- 到着順にソート「ブール値」

- 転送モード「テキスト、バイナリ」

- リクエストのエンコーディング

HTTP

uddi:uddi.org:transport:http

- クライアント認証「なし、基本、クライアント証明書(HTTPのみ)、およびカスタム・トークン」

- リクエストのエンコーディング

- レスポンスのエンコーディング

JEJB

uddi:uddi.org:transport:jejb

- URI

- EJB仕様バージョン

- クライアントJar

- ホーム・インタフェース(EJB 3.0の場合、パブリッシュされません)

- リモート・インタフェース(EJB 3.0の場合のビジネス・インタフェース)

- メソッド名

JMS

uddi:uddi.org:transport:jms

- 宛先のタイプ「キュー、トピック」

- レスポンスが必要、レスポンスURI

- レスポンス・メッセージ・タイプ「バイト、テキスト」

- リクエストのエンコーディング

- レスポンスのエンコーディング

ローカル

uddi:uddi.org:transport:local

なし

MQ

uddi:bea.org:transport:mq

- レスポンスが必要

- レスポンスURI

- レスポンス相関パターン

SB

uddi:bea.org:transport:sb

URIスキームは、use sslがfalseの場合はsb、use sslがtrueの場合はsbs。

なし

SFTP

uddi:bea.org:transport:sftp

- ファイル・マスク

- 到着順にソート「ブール値」

- リクエストのエンコーディング

- 認証モード

Tuxedo

uddi:bea.org:transport:tuxedo

- レスポンスが必要

- アクセス・ポイントID

- バッファ・タイプ

- バッファ・サブタイプ

- クラスJar

- フィールド表クラス

- Viewクラス

WS

uddi:uddi.org:transport:http

WSはHTTP tModelKeyを使用

なし

脚注 1 電子メール・トランスポートのバインディング・テンプレートのaccessPointでは、mailto:name@some_server.comという標準のmailto URL形式を使用します。これは、電子メールを読み込むためのURLであり、Oracle Service Busでプロキシ・サービスに構成したURLとは異なります。サーバー名が不明の場合、このmailto URLをプロキシ・サービス定義から生成することはできません。たとえば、プロキシ・サービスがPOP3サーバーから読み込むように定義されている場合、mailfrom:pop3.bea.comのようなURLで定義されていることが考えられます。このようなプロキシ・サービスをパブリッシュすると、ダミー・サーバーが追加されます。前述の例では、パブリッシュされるURLは、mailto:some_name@some_server.comの形式になります。

41.10.3 サービス・タイプ属性

表41-5に、各サービス・タイプの概要を示します。

表41-5 サービス・タイプの属性

サービス

説明

WSDL

WSDLベースのプロキシは、『Using WSDL in a UDDI Registry, version 2.0.2』技術ノート(http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v202-20040631.htm)に基づいてUDDIにマップされます。

任意のSOAP

bindingTemplateのtModelInstanceDetailsとcategoryBagに含まれる簡易マーカー・プロトコルtModelにより、任意のSOAPの属性が定義されます。

任意のXML

bindingTemplateのtModelInstanceDetailsとcategoryBagに含まれる簡易マーカー・プロトコルtModelにより、任意のXMLの属性が定義されます。

メッセージング・サービス

bindingTemplateのtModelInstanceDetailsに含まれる簡易マーカー・プロトコルtModelにより、メッセージング・サービスの属性が定義されます。他のサービス・タイプとは異なり、メッセージング・サービスには、リクエスト・メッセージとレスポンス・メッセージの詳細を示す追加の構成情報が関連付けられています。構成詳細は、tModelInstanceInfo内の次のtModel参照のInstanceParmsデータに、XMLデータとして表されます。

- 入力メッセージ・フォーマット(XML、テキスト、バイナリ、MFL)

- Oracle Service Busの入力メッセージ・スキーマのURL (入力メッセージがXMLの場合は省略可能)

- Oracle Service Busの入力メッセージMFLのURL (入力メッセージがMFLの場合)

- 出力メッセージ・フォーマット(なし、XML、テキスト、バイナリ、MFL)

- Oracle Service Busの出力メッセージ・スキーマのURL (出力メッセージがXMLの場合は省略可能)

- Oracle Service Busの出力メッセージMFLのURL (出力メッセージがMFLの場合)

41.11 Oracle Service Busサービスをサポートする標準tModel

Oracle Service BusとUDDIのマッピングでは、Oracle Service Busのメタデータと関係を表すいくつかの新しい標準tModelsが採用されています。このマッピングをサポートするには、これらのtModelsをUDDIレジストリに登録する必要があります。管理者IDを使用して、Oracle Service RegistryにこれらのtModelsを作成できます。

表41-6から表41-9に、tModelsの概要を示します。

表41-6 CategorizationGroup tModelのタイプ

名前

説明

bea-com:servicebus:properties

Oracle Service Busサービス固有の属性を記述します。データ・モデルでは、ビジネス・サービスのcategoryBagで使用されます。

表41-7 Categorization tModelのタイプ

名前

値

説明

bea-com:servicebus:serviceType

WSDL、SOAP、XML、メッセージング・サービス

Oracle Service Busサービスのサービス・タイプを記述します。

bea-com:servicebus:instance

Oracle Service Bus管理コンソールのURL

サービスをUDDIにパブリッシュするOracle Service Busのサービス・インスタンスを記述します。

表41-8 Transport tModelのタイプ

名前

説明

uddi-org:jms

サービスが使用するトランスポート方式を記述します。これは、ビジネス・サービスのバインディング・テンプレートのaccessPoint属性で参照されます。

uddi-org:file

サービスの呼出しに使用するトランスポートのタイプを記述します。これは、ビジネス・サービスのバインディング・テンプレートのaccessPoint属性で参照されます。

表41-9 Protocol tModelのタイプ

名前

説明

bea-com:servicebus:anySoap

サービスへのアクセスに使用するプロトコルのタイプを記述します。SOAPメッセージを含み、WSDLまたはスキーマで定義されていないサービスを指定します。メッセージ本文のコンテンツは、アプリケーションによって動的に決まります。

bea-com:servicebus:anyXML

サービスへのアクセスに使用するプロトコルのタイプを記述します。XMLメッセージを含む、WSDLまたはスキーマで定義されていないサービスを指定します。メッセージ本文のコンテンツは、アプリケーションによって動的に決まります。

bea-com:servicebus:messagingService

サービスへのアクセスに使用するプロトコルのタイプを記述します。リクエスト・メッセージが任意のXML(スキーマの有無に関係なく)、テキスト、バイナリ、またはMFLで、レスポンス・メッセージがない、または前述のいずれかであるサービスを指定します。メッセージ本文のコンテンツは、アプリケーションによって動的に決まります。

41.12 例

例41-4は、リクエストがスキーマを使用するXML、レスポンスがテキスト・メッセージであるJMSトランスポートで構成されたメッセージング・サービスのマッピング例です。

例41-4 メッセージング・サービスのマッピング例

<businessService
serviceKey="uddi:bea.com:servicebus:Domain:Project:JMSMessaging"
businessKey="uddi:9cb77770-57fe-11da-9fac-6cc880409fac"
xmlns="urn:uddi-org:api_v3">
<name>JMSMessagingProxy</name>
<bindingTemplates>
<bindingTemplate
bindingKey="uddi:4c401620-5ac0-11da-9faf-6cc880409fac"
serviceKey="uddi:bea.com:servicebus:
Domain:Project:JMSMessaging">
<accessPoint useType="endPoint">
jms://server.com:7001/weblogic.jms.XAConnectionFactory/
ReqQueue
</accessPoint>
<tModelInstanceDetails>
<tModelInstanceInfo tModelKey="uddi:uddi.org:transport:jms">
<instanceDetails>
<instanceParms>
<ALSBInstanceParms
xmlns="http://www.bea.com/wli/sb/uddi">
<property name="is-queue" value="true"/>
<property name="request-encoding"
value="iso-8859-1"/>
<property name="response-encoding"
value="utf-8"/>
<property name="response-required"
value="true"/>
<property name="response-URI"
value="jms://server.com:7001/
.jms.XAConnectionFactory/
RespQueue"/>
<property name="response-message-type"
value="Text"/>
<property name="Scheme" value="jms"/>
</ALSBInstanceParms>
</instanceParms>
</instanceDetails>
</tModelInstanceInfo>
<tModelInstanceInfo
tModelKey="uddi:bea.com:servicebus:
protocol:messagingservice">
<instanceDetails>
<instanceParms>
<ALSBInstanceParms xmlns=
"http://www.bea.com/wli/sb/uddi">
<property name="requestType" value="XML"/>
<property name="RequestSchema"
value="http://server.com:7001/
sbresource?SCHEMA%2FDJS%2FOAGProcessPO"/>
<property name="RequestSchemaElement"
value="PROCESS_PO_007"/>
<property name="responseType" value="Text"/>
</ALSBInstanceParms>
</instanceParms>
</instanceDetails>
</tModelInstanceInfo>
</tModelInstanceDetails>
</bindingTemplate>
</bindingTemplates>
<categoryBag>
<keyedReferenceGroup tModelKey="uddi:bea.com:servicebus:properties">
<keyedReference tModelKey="uddi:bea.com:servicebus:servicetype"
keyName="Service Type"
keyValue="Mixed" />
<keyedReference tModelKey="uddi:bea.com:servicebus:instance"
keyName="Service Bus Instance"
keyValue="http://cyberfish.bea.com:7001" />
</keyedReferenceGroup>
</categoryBag>
</businessService>

42 JavaコールアウトおよびPOJOを使用した拡張性

この章では、プロキシ・サービス内からカスタムJavaコードを呼び出すことによってOracle Service Busの機能を拡張する方法について説明します。Oracle Service Busでは、POJO (Plain Old Java Object)へのコールアウトを可能にする「Javaコールアウト」アクションを使用したJava終了メカニズムをサポートしています。

POJOからは静的メソッドにアクセスすることが可能です。POJOとそのパラメータは、設計時にOracle Service Bus管理コンソールまたはEclipse用Oracle Service Busプラグインに表示され、メッセージ・コンテキスト変数にマップできます。

また、 Javaコールアウトを使用してJavaオブジェクトを作成し、パイプラインに格納したり、Javaオブジェクトをパラメータとして他のJavaコールアウトに渡したりすることもできます。

POJOへのJavaコールアウトの構成については、21.20項「Javaコールアウト・アクションの追加」を参照してください。

42.1 使用方法のガイドライン

Oracle Service BusでJavaコールアウトを使用できるシナリオは次のとおりです。

- カスタム検証 - カスタム検証の例には、DTDの検証、またはJavaでのフィールド間のセマンティックの検証があります。

- カスタム・トランスフォーメーション - カスタム・トランスフォーメーションの例には、バイナリ・ドキュメントのbase64Binaryへの変換、base64Binaryのバイナリ・ドキュメントへの変換、またはカスタムJavaトランスフォーメーション・クラスの使用があります。

- カスタム認証とカスタム認可 - カスタム認証とカスタム認可の例には、メッセージ内のカスタム・トークンを認証および認可する必要があるシナリオがあります。ただし、Oracle Service Busは、プロキシ・サービスによって以降に呼び出されるサービスまたはPOJOに、認証されたユーザーのIDを伝播することはできません。

- メッセージに情報を追加するためのルックアップ - たとえば、ファイルまたはJava表を使用して、メッセージに情報を追加できる任意のデータをルックアップできます。

- バイナリ・データ・アクセス - POJOへのJavaコールアウトを使用してバイナリ・ドキュメントの最初の数バイトを検出し、MFLの型を推測します。返されるMFL型は、次のMFL変換アクションによる非XMLからXMLへのトランスフォーメーションで使用されます。

- カスタム・ルーティング・ルールまたはルール・エンジンの実装

- Javaオブジェクトの作成とパイプラインへの格納

- 別のJavaコールアウトへのJavaオブジェクトのパラメータとしての受け渡し

- JEJBプロキシ・サービスを使用したJEJBによるリモートEJB操作またはサービスの呼出し。

Javaコールアウトの入力と戻りの型は制限されていません。Javaオブジェクトのパイプラインでの格納と受渡しの詳細は、39.3.5項「body変数内のJavaコンテンツ」を参照してください。

Enterprise JavaBeans (EJB)もJava終了メカニズムを提供します。次の場合は、Javaコールアウトではなく、EJBを使用することをお薦めします。

- EJB実装がすでにある場合。ただし、JEJBトランスポートでOracle Service Busを介してEJBコールによりEJBを呼び出し、メッセージ・ルーティング、UDDI統合、アラート、操作ごとのモニター、レポート、結果キャッシュなどのOracle Service Busの機能を利用できます。

- JDBCデータベースに対する読込みアクセスが必要な場合。JDBCデータベースに対する読込みアクセス権のために、POJOを使用することもできますが、EJBはこの目的のために特別に設計されており、JDBCリソースの管理およびJDBCリソースへの接続のサポートが強化されます。

- JDBCデータベースまたは他のJ2EEトランザクション対応リソースへの書込みアクセスが必要な場合。EJBはトランザクション対応のビジネス・ロジック向けに特別に設計されており、障害に対する適切な処理へのサポートが強化されます。ただし、トランザクションとセキュリティ・コンテキスト伝播はPOJOを使用してサポートされ、JEJBトランスポートで、トランザクション・コンテキストでのエラー処理が提供されます。

アウトバウンド・メッセージには、POJOまたはEJBを使用するかわりにカスタム・トランスポートを記述することをお薦めします。

42.2 ストリーミング・コンテンツの操作

バイナリ・コンテンツを入力引数としてコールアウト・メソッドに渡すため、およびJavaコールアウト・メソッドからストリーミング・コンテンツの結果を受け入れるために、Javaコールアウトを使用してストリーミング・コンテンツを操作できます。

42.2.1 ストリーミング・コンテンツをJavaコールアウトに渡す方法

Javaコールアウト・メソッドに、バイナリ・コンテンツを入力引数としてストリーミング形式で渡すことができます。Oracle Service Busは入力引数のJavaタイプを確認して処理します。引数のタイプがjavax.activation.DataSourceの場合、システムはラッパーDataSourceオブジェクトを作成し、Source.getInputStream()メソッドを呼び出して、対応するソースからInputStreamを取得します。このメソッドは、Javaコールアウト・コードから必要なだけ何回でも呼び出すことができます。

また、getContentType()メソッドは、バイナリ・コンテンツがページングされたMIME添付ファイルでないかぎり、application/octet-streamを返します。バイナリ・コンテンツがページングされたMIME添付ファイルである場合は、対応するMIME部分のContent-Typeヘッダー(存在する場合)が使用されます。

同様に、getName()メソッドは、バイナリ・コンテンツがページングされたMIME添付ファイルでないかぎり、バイナリ・コンテンツの参照属性の文字列値を返します。バイナリ・コンテンツがページングされたMIME添付ファイルである場合は、対応するMIME部分のContent-IDヘッダー(存在する場合)が使用されます。getOutputStream()メソッドは必要に応じてUnsupportedOperationExceptionをスローします。

完了後、結果はJavaコールアウト・メソッド引数に渡されます。入力ストリームのバイナリ・オクテットを正しく解釈するために、Javaコールアウト・メソッドでContent-Transfer-Encodingヘッダーの値が必要な場合もあります(たとえば、エンコーディングがバイナリ、7ビット、8ビットのいずれであるかを判別する場合ど)。次に示すように、このパラメータを別個の引数として渡すことができます。

$attachments/*:attachment[1]/*:Content-Transfer-Encoding/text()

入力引数がDataSourceでない場合、Oracle Service Busは引数をbyte[]配列に変換します。

42.2.2 Javaコールアウトからコンテンツ結果をストリーミングする方法

Javaコールアウト・メソッドからストリーミング・コンテンツ結果を取得できます。この処理のために、Oracle Service Busは結果のJavaタイプを確認し、適切なコンテキスト変数の値を対応するctx:binary-content XML要素に設定して、新しいソースをソース・リポジトリに追加します。

注意:
Javaコールアウト・メソッドからファイルのコンテンツを返す場合、javax.activation.FileDataSourceのインスタンスを使用することができます。

Oracle Service Busパイプラインがソースのバイナリ・コンテンツを必要とする場合、ctx:binary-content要素に対応するDataSourceオブジェクトをリポジトリから検索して、バイナリ・オクテットを取得するためにDataSource.getInputStream()メソッドを呼び出します。

getInputStream()メソッドは、トランスポート・レイヤーでのアウトバウンド・メッセージの再試行に応じるなどのために、メッセージ処理時に何度も呼び出されることがあります。

42.3 ベスト・プラクティス

POJOは、Oracle Service BusでJARリソースとして登録されます。JARリソースの詳細は、第8章「JAR」を参照してください。

通常、JARはサイズを小さくし、簡単なものにすることをお薦めします。JARが呼び出すサイズの大きいコードまたは使用される大きなフレームワークは、システム・クラス・パスに含めることをお薦めします。システム・クラス・パスを変更する場合は、サーバーを再起動する必要があります。

独立したクラスおよび重複するクラスは、同じJARリソースに含め、性質上区別されるクラスは異なるJARに含めることをお薦めします。JARを変更すると、そのJARを参照するすべてのサービスが再デプロイされます。これはOracle Service Busにとって多大な時間を必要とする場合があります。同じクラスを、競合させずに複数のJARリソースに配置できます。JARは、最初に参照されたときに、動的にクラス・ロードされます。

1つまたは複数のプロキシ・サービスで、単一のPOJOを呼び出せます。プロキシ・サービスのすべてのスレッドが同じPOJOを呼び出します。そのため、POJOはスレッド・セーフであることが必要です。POJOのクラスまたはメソッドは同期できます。この場合、呼出しを行うすべてのプロキシ・サービスのすべてのスレッドによるアクセスを順序付けします。POJOコードによって、任意のより詳細な並行処理(たとえば、データベース読込みの結果キャッシュへのアクセスの制御や、古いキャッシュ・エントリ処理の実装)を実装する必要があります。

通常、POJOの場合、スレッドの作成は推奨されません。

43 XQueryの実装

この章では、Oracle Service Busで使用できるカスタムOracle XQuery関数について説明します。

Oracle XQueryエンジンは、XQueryのWorld Wide Web (W3C)仕様で説明する、モジュール以外のすべての言語機能を完全にサポートしています。XQuery 1.0およびXPath 2.0の関数と演算子(W3Cの作業草案、2004年7月23日)の詳細は、http://www.w3.org/TR/2004/WD-xpath-functions-20040723/を参照してください。

Oracle Service Busでは、次のXQuery関数をサポートしています。

- W3C仕様で説明するXQuery関数の堅牢なサブセット。

- いくつか例外はありますが、Oracle XQueryエンジンの一部として提供されるOracle拡張関数および言語キーワード(43.1項「Oracleでサポートされる拡張関数」を参照)。

- Oracle Service Bus固有の拡張関数。43.2項「Oracle Service Busでの拡張関数」を参照してください。

注意:
すべてのOracleの拡張関数で、次の関数接頭辞fn-bea:を使用します。つまり、XQueryの完全な表記では拡張関数は次の形式になります。

fn-bea: function_name.

43.1 Oracleでサポートされる拡張関数

すべてのOracle拡張関数については、http://download.oracle.com/docs/cd/E13162_01/odsi/docs10gr3/xquery/extensions.htmlにある『XQueryおよびXQSE開発者ガイド』の「XQueryの実装」を参照してください。

Oracle Service Busでは、XQueryに対し、次のものを除くすべてのOracle拡張関数がサポートされています。

- fn-bea:is-access-allowed

- fn-bea:is-user-in-group

- fn-bea:is-user-in-role

- fn-bea:userid

- fn-bea:async

- fn-bea:timeout

- fn-bea:get-property

- fn-bea:execute-sql()

次の関数は使用しないでください。他の言語機能で代用することをお薦めします。

- fn-bea:if-then-else

- fn-bea:QName-from-string

- fn-bea:sql-like

43.2 Oracle Service Busでの拡張関数

Oracle Service Busには、次のXQuery関数が用意されています。

- 43.2.1項「fn-bea:lookupBasicCredentials」

- 43.2.2項「fn-bea:isUserInGroup」

- 43.2.3項「fn-bea:isUserInRole」

- 43.2.4項「fn-bea: uuid」

- 43.2.5項「fn-bea:execute-sql()」

- 43.2.6項「fn-bea:serialize()」

43.2.1 fn-bea:lookupBasicCredentials

fn-bea:lookupBasicCredentials関数は、指定されたサービス・アカウントのユーザー名と暗号化されていないパスワードを返します。任意のタイプのサービス・アカウントを指定できます(静的、パススルー、またはユーザー・マッピング)。第17章「サービス・アカウント」を参照してください。

fn-bea:lookupBasicCredentials関数は、カスタム・トランスポート・ヘッダー、またはSOAPエンベロープのアプリケーション固有の場所にあるユーザー名とパスワードのエンコードに使用するXQuery関数の大規模なセットの一部として使用します。HTTP認証ヘッダーにユーザー名とパスワードだけを含める必要がある場合、またはWS-Securityユーザー名トークンとしてユーザー名とパスワードだけを必要とする場合は、この関数を使用する必要はありません。Oracle Service Busは事前にサービス・アカウントからユーザー名とパスワードを取得し、必要に応じてHTTP認証ヘッダーにエンコードします(WS-Securityユーザー名トークンの場合も同様)。

関数には次の署名が含まれます。

fn-bea:lookupBasicCredentials( $service-account as xs:string ) as UsernamePasswordCredential

ここで、$service-accountは、次の形式のサービス・アカウントのパスと名前です。

project-name[/folder[...]]/service-account-name

戻り値は、次の形式のXML要素です。

<UsernamePasswordCredential
xmlns="http://www.bea.com/wli/sb/services/security/config">
<username>name</username>
<password>unencrypted-password</password>
</UsernamePasswordCredential>

返された要素をユーザー定義の変数に保管し、必要なときにこの変数からユーザー名とパスワード値を取得できます。

たとえば、Oracle Service Busプロジェクトには、myProjectという名前が付けられます。myServiceAccountという名前の静的なサービス・アカウントを、myFolder1/myFolder2という名前のフォルダに作成します。サービス・アカウントに、ユーザー名patとパスワードpatspasswordを保存します。

サービス・アカウントのユーザー名とパスワードを取得するには、次の関数を呼び出します。

fn-bea:lookupBasicCredentials( myProject/myFolder1/myFolder2/myServiceAccount )

関数は次の要素を返します。

<UsernamePasswordCredential
xmlns="http://www.bea.com/wli/sb/services/security/config">
<username>pat</username>
<password>patspassword</password>
</UsernamePasswordCredential>

43.2.2 fn-bea:isUserInGroup

特定のユーザーが特定のグループに所属するかどうかのインジケータを返します(trueまたはfalse)。例:

fn-bea:isUserInGroup($user-name as xs:string, $group-name as xs:string)

43.2.3 fn-bea:isUserInRole

特定のユーザーが特定のロールに所属するかどうかのインジケータを返します(trueまたはfalse)。例:

fn-bea:isUserInRole($user-name as xs:string, $role-name as xs:string)

43.2.4 fn-bea: uuid

関数fn-bea:uuidは、汎用一意識別子を返します。関数には次の署名が含まれます。

fn-bea:uuid() as xs:string

この関数をプロキシ・パイプラインで使用して、ユニークな識別子を生成できます。生成されたユニークな識別子を、要素としてXMLドキュメントに挿入できます。システム変数にユニークな識別子は生成できません。これを、メッセージ・ペイロードの変更に使用できます。

たとえば、トラッキング用にユニークな識別子を生成してメッセージに追加するとします。この関数を使用してユニークな識別子を生成できます。関数が返す文字列をSOAPヘッダーに追加できます。

43.2.5 fn-bea:execute-sql()

fn-bea:execute-sql()関数を使用すると、Oracle Service Busのメッセージ・フローでXQueryから低レベルのデータベースにアクセスできます。詳細は、37.9項「XQueryを使用したデータベースへのアクセス」を参照してください。問合せは、型付きデータを含むフラットな行要素のシーケンスを返します。

関数には次の署名が含まれます。

fn-bea:execute-sql( $datasource as xs:string, $rowElemName as xs:QName, $sql as xs:string, $param1, ..., $paramk) as element()*

説明:

- $datasourceはデータソースのJNDI名。

- $rowElemNameは行要素の名前。$rowElemNameを、結果の要素シーケンスの各要素に付けるQNameとして指定します。

- $sqlはSQL文。

- $param1, ..., $paramkは1 - k個のパラメータ。

- element()*は返された要素のシーケンスを表します。

戻り値は、型付きデータを含むフラットな行要素のシーケンスで、SQL/JDBCデータ・モデルとXQueryデータ・モデル間で値を自動的に変換します。サポート対象のデータベースについてXQueryエンジンが生成する、またはサポートするデータ型マッピングの詳細は、付録H「XQuery-SQLマッピング参照」を参照してください。

Oracle Service Busメッセージ・フローからfn-bea:execute-sql()関数を実行する場合、返された要素をユーザー定義の変数に格納できます。

次の例では、Oracle Service Busでのfn-bea:execute sql()関数の使用方法について説明します。

- 43.2.5.1項「例1: 動的ルーティングのデータベースからのURIの取得」

- 43.2.5.2項「例2: データベースからのXMLTypeデータの取得」

43.2.5.1 例1: 動的ルーティングのデータベースからのURIの取得

Oracle Service Busプロキシ・サービスでは、実行時のメッセージのルーティング(動的)先であるURIの仕様をサポートしています。詳細は、37.8項「動的ルーティングの使用」を参照してください。例43-1は、動的ルーティング・シナリオでデータベースからURIを取得するfn-bea:execute-sql()関数の使用例を示しています。

例43-1 データベースからのビジネス・サービスのURIの取得

<ctx:route><ctx:service>
{
fn-bea:execute-sql(
'ds.myJDBCDataSource',
xs:QName('customer'),
'SELECT targetService FROM DISPATCH_MAPPING WHERE customer_priority=?',
xs:string($body/m:Request/m:customer_pri/text())
)/TARGETSERVICE/text()
}
</ctx:service></ctx:route>

例43-1では、次のようになります。

- ds.myJDBCDataSourceはデータ・ソースのJNDI名。

- xs:string($body/m:Request/m:customer_pri/text())は、リクエスト・メッセージを確認し、メッセージにcustomer_priの値を含むcustomer_priority=?を生成します。

- /TARGETSERVICE/text()はSQL文の結果に適用されるパス。返される要素の文字列(CDATA)コンテンツを生成します。

- <ctx:route><ctx:service> ... </ctx:service></ctx:route>は、動的ルーティング・シナリオのXQuery文に必須の要素。

- DISPATCH_MAPPINGの表定義を次に示します。

create table DISPATCH_MAPPING
(
customer_priority varchar2(256),
targetService varchar2(256),
soapPayload varchar2(1024)
);

例43-2に示すように、DISPATCH_MAPPING表に値が設定されます。

例43-2 DISPATCH_MAPPING表

INSERT INTO DISPATCH_MAPPING (customer_priority, targetService, soapPayload)
VALUES ('0001', 'system/UCGetURI4DynamicRouting_proxy1', '<something/>');
INSERT INTO DISPATCH_MAPPING (customer_priority, targetService, soapPayload)
VALUES ('0002', 'system/UCGetURI4DynamicRouting_proxy2', '<something/>');

注意:
このシナリオでは、表の3列目(soapPayload)は使用しません。

例3のfn-bea:execute-sqlの実行

プロキシ・サービスが例43-3のリクエスト・メッセージ(リクエスト・メッセージの<customer_pri>の値は0001)を受信した結果として、 例43-1のXQueryが実行された場合、動的ルーティング・シナリオで返されるURIは次のようになります。

system/UCGetURI4DynamicRouting_proxy1

(例43-2も参照してください。)

例43-3 リクエスト・メッセージの$bodyの例

<m:Request xmlns:m="http://www.bea.com/alsb/example">
<m:customer_pri>0001</m:customer_pri>
</m:Request>

43.2.5.2 例2: データベースからのXMLTypeデータの取得

サポート対象のデータベースについてXQueryエンジンが生成またはサポートするデータ型マッピングの詳細は、付録H「XQuery-SQLマッピング参照」を参照してください。SQLのXMLType列タイプはサポートされていません。ただし、XMLTypeオブジェクトの getStringVal()メソッドを使用してXMLType列のデータにアクセスし、文字列値に変換できます。

次のシナリオでは、Oracle DatabaseのXMLType列からデータを選択する際に使用できる手順について説明します。

1. プロキシ・サービスのメッセージ・フローで割当てアクションを使用して、次のXQueryの結果を変数($result)に割り当てます。

例43-4 データベースからのXMLTypeデータの取得

fn-bea:execute-sql(
'ds.myJDBCDataSource',
'Rec',
'SELECT a.purchase_order.getStringVal() purchase_order from datatypes a'
)

説明:

- ds.myJDBCDataSourceはデータ・ソースのJNDI名。

- Recは$rowElemName。したがって、Recは結果の要素シーケンスの各要素に指定されたQNameです。

- select a.purchase_order.getStringVal() ...は、文字列値に変換するために、XMLTypeオブジェクトのgetStringVal()メソッドを使用するSQL文。

- datatypesは、XMLの値の読込み元である表(この場合、datatypes表には1つの行が含まれています)。

注意:
dataty.pes表の表定義を次に示します。

create table datatypes
(
purchase_order xmltype
);

2. 次の置換アクションを使用して、$bodyのノードのコンテンツを(前の手順で$resultに割り当てた)fn-bea:execute-sql()問合せの結果に置き換えます。

Replace [ node contents ] of [ undefined XPath ] in [ body ] with
[ $result/purchase_order/text() ]

次のサンプル・コードは、置換後の$bodyを示します。

注意:
datatypes表には、(発注書データを含む)行が1つ含まれています。この行には、例43-5に示すXMLが含まれています。

例43-5 XMLコンテンツをfn-bea:execute-sql()の結果に置き換えた後の$body

<soap-env:Body>
<openuri:orders xmlns:openuri="http://openuri.com/">
<openuri:order>
<openuri:customerID>123</openuri:customerID>
<openuri:orderID>123A</openuri:orderID>
</openuri:order>
<openuri:order>
<openuri:customerID>345</openuri:customerID>
<openuri:orderID>345B</openuri:orderID>
</openuri:order>
<openuri:order>
<openuri:customerID>789</openuri:customerID>
<openuri:orderID>789C</openuri:orderID>
</openuri:order>
</openuri:orders>
</soap-env:Body>

43.2.6 fn-bea:serialize()

XMLドキュメントをXML要素としてではなく文字列として表す必要がある場合は、fn-bea:serialize()関数を使用します。たとえば、EJBインタフェースを介してXMLドキュメントを交換する場合、EJBメソッドは引数を文字列として受け取ります。関数には次の署名が含まれます。

fn-bea:serialize($input as item()) as xs:string

43.3 カスタムXPath関数の作成と使用

インラインXQuery式およびXQueryリソースの両方で、独自のカスタムXPath関数を作成および使用できます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のカスタムXPath関数の作成と使用に関する項を参照してください。

第III部

オペレーション・ガイド

この部では、Oracle Service Busの操作タスクの実行に関する情報および手順について説明します。次の章が含まれます。

- 第44章「オペレーション・ガイドについて」

- 第45章「Oracle Service Busのロール」

- 第46章「実行時のOracle Service Busのモニター」

- 第47章「レポート」

- 第48章「ビジネス・サービスのエンドポイントURIの管理」

- 第49章「実行トレース」

- 第50章「スロットル」

- 第51章「スマート検索を使用した操作設定の管理」

- 第52章「ユーザー・プリファレンス」

44 オペレーション・ガイドについて

ここでは、サービスのモニター、レポート、エンドポイントURI管理、スマート検索の使用、トレースおよびスロットルなど、Oracle Service Busで実行できる操作関連の機能について説明します。

ここでは次の読者を対象としています。

- 運用スペシャリスト: Oracle Service Busにおけるサービス、サーバー、およびアラートのモニターを担当します。

- 設計者:エンタープライズ・システムのセキュリティ・アーキテクチャの設計を担当します。

このガイドを理解する最善の方法は、第III部「ユーザー・ガイド」で説明する、Oracle Service Busのリソース、プロキシ・サービスおよびビジネス・サービスについて熟知することです。

Oracle Service Busのアーキテクチャの詳細は、『Oracle Fusion Middleware Oracle Service Busコンセプトおよびアーキテクチャ』に記載されています。

45 Oracle Service Busのロール

この章では、Oracle Service Busのデフォルトのセキュリティ・ロールについて説明し、それらがOracle WebLogic Serverのデフォルト・ロールとどのように対応するかについて説明します。

Oracle Service Busは様々なロールをサポートしています。ユーザーが実行できるタスクは、割り当てられているロールによって決まります。ユーザーにロールを割り当てることによってアクセスを制限すると、Oracle Service Bus管理コンソールのリソースとサービスを保護できます。

この章の内容は次のとおりです。

- 45.1項「Oracle Service Busのデフォルトのロール」

- 45.2項「WLSのロールとOracle Service Busのロールの関係」

- 45.3項「Oracle Service Busのロールの作成方法」

また、ロールの権限に応じて、特定のロールで使用できるユーザー・インタフェースを制限することもできます。

45.1 Oracle Service Busのデフォルトのロール

Oracle Service Busにあらかじめ定義されているデフォルトのロールは、IntegrationAdmin、IntegrationDeployer、IntegrationMonitor、およびIntegrationOperatorです。次の項では、Oracle Service Busで使用できる様々なロールおよびその機能について説明します。

45.1.1 IntegrationAdmin

IntegrationAdminロールは、管理セキュリティ・ロールです。ユーザーは、IntegrationAdminとしてOracle Service Bus管理コンソールにアクセスできます。このロールに割り当てられたユーザーは、Oracle Service Busのすべてのリソースとサービスにアクセスできます。このロールは、Oracle Service Bus管理コンソールで管理者権限を必要とするユーザーに付与されます。

Oracle Service Busでは、ユーザーの作成時または再構成時にIntegrationAdmin親グループを割り当てることで、IntegrationAdminロールを割り当てることができます。Oracle Service Busでユーザーを作成する方法の詳細は、25.3項「ユーザーの追加」を参照してください。

このロールが割り当てられたユーザーは、Oracle Service Bus管理コンソールで次のタスクを実行できます。

- セッションを作成またはコミットします。

- リソースやプロジェクトを作成、編集、または削除します。

- Oracle Service Busで使用可能なユーザーとグループを表示します。

- ビジネス・サービスとプロキシ・サービスのモニター、レポート、およびトレースの表示と構成を行います。

- リソースのインポートまたはエクスポートを行います。

- UDDIレジストリの表示と構成を行います。

- レジストリからリソースのパブリッシュとインポートを行います。

45.1.2 IntegrationDeployer

IntegrationDeployerロールは、サービスをデプロイするユーザーに割り当てます。IntegrationDeployerロールを使用してOracle Service Bus管理コンソールにアクセスすると、リソースとサービスを作成してデプロイできます。また、このロールを使用して、Oracle Service Busの既存のリソースとサービスにアクセスできます。

Oracle Service Busでユーザーを作成または再構成すると、IntegrationDeployers親グループを割り当てることで、IntegrationDeployerロールが付与されます。Oracle Service Busでユーザーを作成する方法の詳細は、25.3項「ユーザーの追加」を参照してください。

このロールが割り当てられたユーザーは、IntegrationAdminロールのユーザーが実行できるタスクをすべて実行できます。IntegrationAdminロールのユーザーによって実行されるタスクの詳細は、45.1.1項「IntegrationAdmin」を参照してください。

45.1.3 IntegrationMonitor

IntegrationMonitorロールは、Oracle Service Bus管理コンソールでリソースとサービスをモニターするユーザーに付与されます。このロールが割り当てられたユーザーは、サービス・レベル・アグリーメント(SLA)の違反、およびメッセージ・フローのパイプラインからのアラートをモニターすることもできます。

Oracle Service Bus管理コンソールでユーザーを作成または再構成すると、IntegrationMonitors親グループを割り当てることで、IntegrationMonitorロールがユーザーに割り当てられます。Oracle Service Bus管理コンソールでユーザーを作成する方法の詳細は、25.3項「ユーザーの追加」を参照してください。

このロールが割り当てられたユーザーは、次のタスクを実行できます。

- SLAアラートとパイプラインのアラートのダッシュボードを表示します 。

- スマート検索を使用して、ビジネス・サービス、プロキシ・サービス、アラート宛先、およびSLAアラート・ルールを表示します。

- 既存のユーザーとグループの詳細を表示します。

- リソースの詳細を表示します。

45.1.4 IntegrationOperator

IntegrationOperatorロールは、Oracle Service Bus管理コンソールで日常業務を行うユーザーに付与されます。IntegrationOperatorsを使用すると、Oracle Service Bus管理コンソールのリソースに対して日常業務を実行できます。このロールを使用して、特定のモニター・タスクやセッション管理を行うこともできます。

Oracle Service Bus管理コンソールでユーザーを作成または再構成すると、IntegrationOperators親グループを割り当てることで、IntegrationOperatorロールが付与されます。Oracle Service Bus管理コンソールでユーザーを作成する方法の詳細は、25.3項「ユーザーの追加」を参照してください。

このロールが割り当てられたユーザーは、次のタスクを実行できます。

- すべてのリソースの構成詳細を表示します。

- ビジネス・サービスとプロキシ・サービスのモニター、トレース、ロギング、およびレポートの表示と構成を行います。

- ダッシュボード設定の編集と更新を行います。

- アラート・ルールの追加、更新、および削除を行います。

- アラート宛先の追加、表示、削除、および編集を行います。

- ビジネス・サービスとプロキシ・サービスに対するSLAアラートの表示とパージを行います。

- プロキシ・サービスに対するパイプライン・アラートの表示とパージを行います。

- スマート検索を使用して、ビジネス・サービス、プロキシ・サービス、アラート宛先、およびSLAアラート・ルールの操作設定の表示と編集を行います。

- グローバル設定を使用して、モニター、パイプライン・アラート、SLAアラート、レポート、およびロギングをグローバル・レベルで有効または無効にします。

- ドメインに関連付けられたすべてのサーバーのステータスを表示します。

- メッセージ・レポートの表示とパージを行います。

- ドメインに構成されているUDDIレジストリを表示します。

- ビジネス・サービスとプロキシ・サービスの自動パブリッシュのステータスと自動インポートのステータスを表示します。

- ユーザーとグループのセキュリティ構成を表示します。

これらの各ロールで実行できるタスクの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の管理セキュリティの構成に関する項を参照してください。

45.2 WLSのロールとOracle Service Busのロールの関係

Oracle Service Bus管理コンソールのロールは、対応するOracle WebLogic Server管理コンソールのロールに関連付けられています。表45-1は、Oracle Service Bus管理コンソールで使用できる様々なロールと、対応するOracle WebLogic Server管理コンソールのロールを示しています。

表45-1 WLSのロールとOracle Service Busのロールの関係

Oracle Service Busのロール

WLSのロール

IntegrationAdmin

Administrator

IntegrationDeployer

Deployer

IntegrationMonitor

Monitor

IntegrationOperator

Operator

Oracle WebLogic ServerのAdministratorロールに属するユーザーは、Oracle Service Bus管理コンソールのIntegrationAdminグループに自動的に含められます。ただし、その逆は行われません。

注意:
ユーザーを複数のロールに関連付けることもできます。たとえば、Oracle Service Bus管理コンソールのIntegrationAdminロールに関連付けられているユーザーは、Oracle WebLogic Server管理コンソールにアクセスするためにOracle Service BusのAdministratorロールを持つ必要があります。

45.3 Oracle Service Busのロールの作成方法

Oracle WebLogic Server管理コンソールのAdministratorロールを持つユーザーは、Oracle Service Busで新しいロールを作成できます。管理者は、「グローバル・ロール」ページで新しいロールを作成し、「グローバル・ロール条件」ページで条件を編集することによってその新しいロールをカスタマイズできます。ロールの作成とカスタマイズの詳細は、25.11項「ロールの追加」を参照してください。

46 実行時のOracle Service Busのモニター

この章では、統計、アラート、操作設定およびOSB管理コンソールのダッシュボードを含むOracle Service Bus(OSB)モニター・フレームワークについて説明します。

Oracle Service Busでは、システム処理に必要な実行時情報をモニターおよび収集できます。Oracle Service Busで集約された実行時統計はダッシュボードに表示できます。ダッシュボードでは、システムのヘルス状態をモニターし、サービスでアラートが生成された場合に通知を受けることができます。この情報を使用すると、時間をかけずに簡単に、発生した問題を特定し、診断できます。

この項では、次のトピックについて説明します。

- 46.1項「サービスのモニターとは」

- 46.2項「集約間隔」

- 46.3項「サービスの名前変更または移動の結果」

- 46.4項「Oracle Service Busのサービスに使用できる統計」

- 46.5項「サービスの統計情報へのアクセス」

- 46.6項「サービスのモニターにおけるアラートのロール」

- 46.7項「サービスの操作設定」

- 46.8項「Oracle Service BusのSLAアラート機能」

- 46.9項「Oracle Service Busダッシュボード」

46.1 サービスのモニターとは

実行時にOracle Service Busをモニターすると、特定のサービスで正常に処理されたメッセージと処理に失敗したメッセージの数を把握できます。

Oracle Service Busのモニター・フレームワークは、正常に処理されたメッセージまたは処理に失敗したメッセージの数、サービスが属するプロジェクト、メッセージ処理の平均実行時間、およびサービスに関連するアラートの数に関する情報へのアクセスを提供します。Oracle Service Bus管理コンソールを使用することにより、現在の集約間隔のモニター統計を表示でき、また、このサービスの統計を最後にリセットした時点、またはすべてのサービスの統計を最後にリセットした時点以降の期間のモニター統計を表示できます。パブリックAPIを使用することにより、最後のリセット以降の統計だけにアクセスすることもできます。

46.1.1 Oracle Service Busのモニター・フレームワークについて

Oracle Service Busのモニターとは、操作リソース、サーバー、サービス・レベル合意(SLA)などをモニターすることです。図46-1は、Oracle Service Busのモニター・フレームワークのアーキテクチャを示します。

図46-1 Oracle Service Busのモニター・フレームワーク

Oracle Service Busのモニター・アーキテクチャは、次のコンポーネントで構成されます。

- コレクタ - クラスタ内の管理対象サーバーがそれぞれコレクタをホストします。コレクタは、操作リソースの統計を一定の時間間隔で収集します。これは、RMIオブジェクト内で管理されます。また、集約間隔の時間が経過するまで、収集した統計のサンプル履歴も保持します。
Oracle Service Busランタイムは、コレクタを1分ごとに呼び出します。システム定義のチェックポイント間隔ごとに、コレクタは回復の目的で現在の統計のスナップショットを永続ストアに格納し、情報を未処理形式で集約機能に送信します。これは、未処理形式が高速収集および小フットプリント用に最適化されているためです。

注意:
操作リソースは、モニター・サブシステムにより統計情報を収集できる単位として定義されます。操作リソースには、プロキシ・サービス、ビジネス・サービス、Web Services Definition Language (WSDL)オペレーションなどのサービス・レベル・リソース、パイプラインのフロー・コンポーネント、エンドポイントURIなどがあります。

- 集約機能 - 集約機能は、1つの管理対象サーバーのみに存在します。この機能が存在するサーバーは、構成ウィザードを使用してドメインを生成する際に任意に選択されます。それは、クラスタ内のすべての管理対象サーバーを対象に、すべての管理対象サーバーから収集された統計をすべて集約します。
Oracle Service Busランタイムは、コレクタがデータを収集して集約機能に送信できるように、毎分25秒経過するごとに集約機能を呼び出します。システム定義のチェックポイント間隔ごとに、クラスタ内の各管理対象サーバーは統計のスナップショットを集約機能に送信します。集約機能のデータ構造は、データの集約および取得用に最適化されています。

- 取得機能 - 取得機能は、メモリーに格納された統計を取得します。この機能は、集約機能を含む管理対象サーバーのみに存在します。

- アラート・マネージャ - アラート・マネージャは、集約統計に基づいてアラートを起動します。この機能は、集約機能を含む管理対象サーバーのみに存在します。

コレクタは、更新された統計をOracle Service Busランタイムから収集して、集約機能に送信します。集約機能は、集約間隔の期間中、統計を集約します。集約統計は、Alert Managerにプッシュされます。Alert Managerは、この統計に基づいてアラートをトリガーします。また、集約統計は格納され、取得機能によって取得できます。次の手順は、Oracle Service Busランタイムでサービスをモニターする際に実行します。

クラスタでは、管理対象サーバーで収集されたすべての統計が集約機能にプッシュされます。クラスタ全体の統計には、「サービス・ヘルス」タブからアクセスできます。詳細は、46.5.3項「クラスタの統計にアクセスする方法」を参照してください。また、APIを使用して統計にアクセスすることもできます。詳細は、46.5.2項「JMXモニタリングAPIを使用して統計情報にアクセスする方法」を参照してください。

アラートは、集約機能をホストしている管理対象サーバーからプルされ、Oracle Service Bus管理コンソールに表示されます。

46.2 集約間隔

Oracle Service Busでは、モニター・サブシステムは、集約間隔中のメッセージ数などの統計を収集します。集約間隔とは、統計データが収集され、Oracle Service Bus管理コンソールに表示されるまでの時間です。集約間隔に基づいていない統計には意味がありません。適切に定義された集約間隔中に収集される統計以外に、累積統計を収集することもできます。

46.2.1 モニター・データの更新間隔

集約間隔とは、常に分、時間、または日単位の時間間隔を表す移動時間枠です。集約間隔は、無限レベル(精度)ではなく、サンプル間隔と呼ばれる一定の時間間隔で移動します。これにより、集約間隔の円滑な移動と正確な統計の生成が可能になります。

図46-2 集約間隔とサンプル間隔の説明

図46-2は、集約間隔の説明です。たとえば、集約間隔A2が10分に設定されているときに、集約間隔A1を5分に設定するとします。この場合、Oracle Service Busランタイムでは、集約間隔A1を使用するサービスの統計が1分ごと(S1)に収集されます。統計は、集約間隔の最後に集約されます。

同様に、集約間隔A2の統計は5分ごと(S2)に収集されます。間隔S1およびS2は、サンプル間隔と呼ばれます。サンプル間隔の詳細は、46.2.2項「集約間隔におけるサンプル間隔」を参照してください。

46.2.2 集約間隔におけるサンプル間隔

Oracle Service Busランタイムでは、統計は、各集約間隔において一定の間隔で計算されます。このような一定のサブ間隔は、サンプル間隔と呼ばれます。サンプル間隔の期間は、集約間隔によって異なります。表46-1は、様々な集約間隔に対するサンプル間隔の長さを示します。

表46-1 サンプル間隔

集約間隔

サンプル間隔

1、2、3、4、および5分

1分

10、15、20、25、および30分

5分

40、50、および60分

10分

90および120分

30分

3、4、5、および6時間

1時間

8、10、および12時間

2時間

16、20、および24時間

4時間

2、3、4、5、6、および7日

1日

46.2.3 モニター・データの集約間隔を設定する方法

Oracle Service Busの集約間隔には、次の特性があります。

- 1つの集約間隔中のサービスについてのみ統計を追跡できます。

- 集約間隔には任意の値を設定できません。リストに示された値を1つ選択する必要があります。

- 集約間隔は、次のものに対して設定できます。

- サービス - サービスの集約間隔は、「プロキシ・サービスの表示」ページまたは「ビジネス・サービスの表示」ページの「操作」タブで設定する必要があります。サービスの集約間隔の設定方法の詳細は、26.10項「サービスの集約間隔の設定」を参照してください。

- アラート・ルール - アラート・ルールの集約間隔は、「アラート・ルールの詳細を表示」ページの「条件」を編集することによって設定する必要があります。アラート・ルールの条件の編集方法の詳細は、26.23.2項「アラート・ルールの条件の定義」を参照してください。

指定できる集約間隔は7日以下に制限されます。

46.2.4 サービスの集約間隔の変更結果

サービスの集約間隔を変更すると、現在の集約間隔におけるサービスの統計がリセットされます。ただし、集約間隔を変更しても、サービスのエンドポイントURIのステータスに影響はありません。また、集約間隔を変更しても、サービスの集計カウントのメトリックはリセットされません。

46.3 サービスの名前変更または移動の結果

Oracle Service Bus内でサービスの名前変更や移動を行うと、Oracle Service Bus管理コンソールで収集したすべてのモニター統計が失われます。現在の集約間隔と累積のメトリックはすべてリセットされ、サービスは最初からモニターされます。サービスのエンドポイントURIがオフラインとしてマークされている場合、そのサービスに対して名前変更または移動を行うと、URIは再びオンラインとしてマークされ、URIのステータスはオンラインとして表示されます。

46.4 Oracle Service Busのサービスに使用できる統計

Oracle Service Busのサービスをモニターして、すべてのサービスの統計を収集できます。Oracle Service Busでのシステムのモニターでは、次の種類の統計がサポートされます。

- カウンタ - 受信メッセージの数やフェイルオーバーの数など、Oracle Service Busランタイムのイベントの数を単純に追跡します。整数値を使用するスカラーです。

- 間隔 - 適切に定義された2つのイベント間の経過時間を追跡します。Oracle Service Busにおけるイベントの総数、平均数、最小数、および最大数を追跡します。整数値および非整数値を使用します。

- ステータスの種類 - ステータス統計でステータスを追跡します。これにより、オブジェクトの初期ステータスと現在のステータスを追跡できます。

様々な種類の統計の詳細は、付録F「Oracle Service Busにおける統計のモニター」を参照してください。APIを使用して統計にアクセスする方法の詳細は、46.5.2項「JMXモニタリングAPIを使用して統計情報にアクセスする方法」を参照してください。

46.5 サービスの統計情報へのアクセス

サービスの統計情報には、Oracle Service Bus管理コンソールを使用してアクセスするか、JMXモニタリングAPIを使用して直接アクセスできます。この項では、Oracle Service Bus管理コンソールおよびJMXモニタリングAPIを使用して情報にアクセスする方法について説明します。JMXモニタリングAPIを使用して統計情報にアクセスする方法の詳細は、付録D「JMXモニタリングAPI」を参照してください。

46.5.1 Oracle Service Bus管理コンソールからサービスの統計にアクセスする方法

スタンドアロン・サーバーまたはクラスタのOracle Service Bus管理コンソールから、サービスの統計にアクセスできます。この項では、スタンドアロン・サーバーの統計にアクセスする方法について説明します。クラスタのサービスの統計にアクセスする方法については、46.5.3項「クラスタの統計にアクセスする方法」を参照してください。

現在の集約間隔または最後のリセット以降の期間におけるサービスの統計情報にアクセスできます。現在の集約間隔および最後のリセット以降の統計情報は、ダッシュボードの「サービス・ヘルス」タブに示されます。

詳細は、46.9.1項「現在の集約間隔に対するサービスの統計にアクセスする方法」および46.9.2項「サービスの集計カウント統計にアクセスする方法」を参照してください。

46.5.2 JMXモニタリングAPIを使用して統計情報にアクセスする方法

JMX (Java Management Extensions)モニタリングAPIを使用して、プログラムから直接統計情報にアクセスすることもできます。JMXモニタリングAPIを使用することにより、集計カウント統計のみにアクセスできます。JMXモニタリングAPIは、バルク操作のための効率的な下位サポートを提供します。JMXモニタリングAPIの使用方法の詳細は、付録D「JMXモニタリングAPI」を参照してください。

46.5.3 クラスタの統計にアクセスする方法

クラスタ環境では、個々の管理対象サーバー・レベルおよびクラスタ・レベルで統計を使用できます。クラスタまたは個々の管理対象サーバーの統計を表示するには、「サービス・ヘルス」タブで「クラスタ」を選択するか、「サーバー」リストから管理対象サーバーの名前を選択します。

クラスタ内の特定のサービスに関する詳細な統計を取得するには、「サービス・ヘルス」タブから、そのサービスの「サービスのモニターの詳細」ページにアクセスします。「サービスのモニターの詳細」ページでは、「サーバー」リストを「クラスタ」に設定することにより、クラスタ全体の統計にアクセスできます。これを個々の管理対象サーバーの値に設定すると、その特定のサーバーに関する統計を表示できます。

現在の集約間隔におけるクラスタ統計を表示するには、「統計の表示」を「現在の集約間隔」に設定します。クラスタの集計カウント統計を表示するには、「最後のリセット以降」を選択します。

46.5.4 統計のリセット方法

ビジネス・サービスとプロキシ・サービスの統計は、ダッシュボードの「サービス・ヘルス」タブまたはサービスの「サービスのモニターの詳細」ページからリセットできます。次の表は、それぞれの場合の統計のリセット方法を示します。

統計のリセット元

説明

「サービス・ヘルス」タブ

「サービス・ヘルス」タブをクリックして「サービス・ヘルス」ページに移動します。「統計のリセット」アイコンをクリックしてサービスの統計をリセットします。「すべての統計をリセット」リンクをクリックして、モニターが有効になっているすべてのサービスの統計をリセットします。
注意: 「統計のリセット」アイコンは、「統計の表示」を「最後のリセット以降」に設定している場合のみ使用できます。

統計のリセット方法の詳細は、26.7項「サービスの統計のリセット」を参照してください。

「サービスのモニターの詳細」ページ

「アラート履歴」表または「サービス・ヘルス」ページで、サービスの名前をクリックして「サービスのモニターの詳細」ページに移動します。「サービスのモニターの詳細」ページの「統計の表示」フィールドで、「最後のリセット以降」を選択します。「統計のリセット」をクリックして、任意のサービスの統計をリセットします。

46.5.4.1 統計のリセットの結果

Oracle Service Bus管理コンソールでサービスの統計をリセットすると、最後のリセット以降にサービスに対して収集された統計がすべて失われます。このアクションは、元に戻せません。エンドポイントURIのステータスは、統計をリセットしてもリセットされません。

46.6 サービスのモニターにおけるアラートのロール

SLAアラートは、Oracle Service Busで発生し、サービス・レベル合意(SLA)の違反の可能性を示します。アラートは次の用途に使用できます。

- WS-Securityエラーをモニターし、電子メール通知を生成します。

- 特定のパイプラインを通過するメッセージ数をモニターします。

- サード・パーティ製品によるサービス・レベル・アグリーメントの違反を検出します。

- 応答していないエンドポイントを検出します。

パイプライン・アラートは、プロキシ・サービスのメッセージ・フローで発生させることができます。メッセージ・フローのアラートは、次の用途に使用できます。

- メッセージ・フローのエラーを検出します。

- ビジネス・オカレンスを通知します。

46.6.1 アラートの重大度の割当て

SLAアラートのアラート・ルール、またはプロキシ・サービスのメッセージ・フローのアラート・アクションにアラートの重大度を構成できます。アラートの重大度レベルはユーザーが構成でき、絶対的な意味を持ちません。次のいずれかの重大度のレベルを使用して、アラートを構成できます。

- 通常

- 警告

- 軽度

- 重度

- クリティカル

- 致命的

アラートが発生すると、アラート宛先が通知されます。アラート宛先の詳細は、Section 46.6.7項「アラート宛先とは」を参照してください。

46.6.2 SLAアラートとは

SLAアラートは、サービス・レベル・アグリーメント(SLA)の違反に対するレスポンスを自動化したものです。これらのアラートはOracle Service Busダッシュボードに表示されます。サービスがサービス・レベル・アグリーメントまたは事前定義された条件に違反した場合に生成されます。

SLAアラートを発生させるには、サービス・レベルとグローバル・レベルの両方でSLAアラートを有効にする必要があります。サービスの操作設定の構成方法の詳細は、46.7.1項「サービスの操作設定の構成方法」を参照してください。「アラート履歴」パネルには、システムにおける違反またはイベントの発生に関する情報を表示する、カスタマイズ可能な表があります。

ビジネスおよびパフォーマンスの要件に従い、許容できないサービス・パフォーマンスを指定するアラート・ルールを定義する必要があります。アラート・ルールを構成するときに、アラート・ルールごとにそのルールの集約間隔を指定できます。この集約間隔は、サービスに設定された集約間隔の影響を受けません。

集約間隔の詳細は、46.2項「集約間隔」を参照してください。アラート・ルールにより、構成されたアラート宛先に通知を送信できます。アラート・ルールの定義については、26.23項「アラート・ルールの作成と編集」を参照してください。

46.6.2.1 SLAアラートの使用例

サービス・レベル合意を検証するには、次の使用例を考慮してください。

特定のプロキシ・サービスで、レスポンス時間の低下が原因でSLAアラートが生成されているとします。この問題を調査するには、Oracle Service Bus管理コンソールにログインし、このプロキシ・サービスの詳しい統計を確認する必要があります。このレベルで、パイプラインにおけるサード・パーティのWebサービス呼出しステージに非常に時間がかかっており、これが実際のボトル・ネックになっていることを特定できます。

これらのアラートをSLAのネゴシエーションの基盤として使用できます。サード・パーティのWebサービス・プロバイダとのSLAの再ネゴシエーションに成功したら、このWebサービス・プロバイダが新しいアグリーメント条件に準拠しているかどうかを追跡するアラート・メトリックを構成する必要があります。

46.6.3 パイプライン・アラートとは

メッセージ・フローのレポート・カテゴリで使用できるアラート・アクションを定義するたびに、メッセージ・フローでパイプライン・アラートを生成できます。

XQueryエディタなどのパイプライン・エディタで使用できる条件構文やif-then-else構文を使用して、パイプライン・アラートをトリガーする条件も定義できます。アラートを送信するアラート宛先リソースを選択します。

これにより、パイプラインを含むアラート本文とコンテキスト変数を完全に制御できるようになります。また、メッセージの一部を抽出することもできます。ステージでのアラート・アクションの構成方法の詳細は、21.25項「アラート・アクションの追加」を参照してください。アラート・アクションを実行すると、適切なアラート宛先にアラートが通知されます。

Oracle Service Bus管理コンソールの「ダッシュボード」ページに、サービスで生成されたすべてのパイプライン・アラートをまとめて表示できます。

46.6.3.1 パイプライン・アラートの使用例

次のようなパイプライン・アラートの使用例を考えてみます。

メッセージ・フローに特殊なビジネス条件が見つかった場合に通知を受け取る必要があるとします。このような定義済条件が見つかった場合にアラートを発生させるように、メッセージ・フローのアラート・アクションを構成できます。電子メール・アラート宛先を構成して、電子メールによるアラート通知を受け取ることもできます。また、ペイロード形式の詳細情報を電子メール受信者に送信することもできます。

たとえば、注文を購入注文Webサイトにルーティングするプロキシ・サービスでは、金額が$1000万を超える注文がルーティングされた場合に通知を受け取る必要があります。その場合は、この条件でパイプラインの適切な場所にアラート・アクションを構成し、電子メール・アラート宛先と電子メール情報を構成し、それをアラート・アクションの宛先として使用します。注文の詳細情報をペイロード形式で含めることもできます。

また、パイプライン・アラートを使用してメッセージ・フローのエラーを検出することもできます。たとえば、入力ドキュメントを検証するプロキシ・サービスでは、クライアントに連絡して問題を修正できるように、検証が失敗した場合に通知を受け取る必要があります。

その場合は、プロキシ・サービスのメッセージ・フローに対するエラー・ハンドラ内にアラート・アクションを構成します。このアクションでは、ペイロードとして送信するために、実際のエラー・メッセージをfault変数に、その他の詳細情報をSOAPヘッダーに含めることができます。アラート・アクション内でアラート宛先リソースを使用することにより、追加のアラート宛先を構成することもできます。

46.6.4 SLAアラートを表示または削除する方法

Oracle Service Bus管理コンソールのSLAアラートの「拡張アラート履歴」ページには、ドメインで生成されたすべてのSLAアラートに関する情報が表示されます。トリガーされたすべてのアラートを表示したり、表から特定のアラートを検索できます。「拡張SLAアラート履歴」ページに表示されるデータの詳細は、26.3項「アラートの検索」を参照してください。

「拡張アラート履歴」ページまたはアラート詳細の表示ページからアラートを削除できます。拡張アラート履歴フィルタペインを使用すると、検索結果をフィルタできます。検索結果をフィルタする方法の詳細は、46.6.6.1項「SLAアラートの検索結果をフィルタする方法」を参照してください。

アラートの円グラフまたは棒グラフを表示するには、ページの「棒グラフで表示」または「円グラフで表示」をクリックします。「SLAのアラート履歴のパージ」をクリックしてSLAアラートをすべて削除します。発生日時に基づいてアラートをパージすることもできます。

46.6.5 パイプライン・アラートを表示または削除する方法

パイプライン・アラートの「拡張アラート履歴」ページには、ドメインで生成されたすべてのパイプライン・アラートに関する情報が表示されます。トリガーされたすべてのアラートを表示したり、表から特定のアラートを検索できます。「拡張パイプライン・アラート履歴」ページに表示されるデータの詳細は、26.3項「アラートの検索」を参照してください。

拡張パイプライン・アラートページまたはアラート詳細の表示ページからアラートを削除できます。検索結果をフィルタする方法の詳細は、46.6.6.2項「パイプライン・アラートの検索結果をフィルタする方法」を参照してください。アラートの円グラフまたは棒グラフを表示するには、ページの「棒グラフの表示」または「円グラフの表示」リンクをクリックします。「パイプラインのアラート履歴のパージ」をクリックしてパイプライン・アラートをすべて削除します。発生日時に基づいてアラートをパージすることもできます。

46.6.6 特定のアラートの検索結果をフィルタする方法

特定のアラートの検索結果をフィルタするには、拡張アラート履歴を使用します。次の項では、拡張アラート履歴フィルタを使用してSLAアラートとパイプライン・アラートを検索する方法について説明します。

46.6.6.1 SLAアラートの検索結果をフィルタする方法

SLAアラートの検索結果をフィルタするには、拡張アラート履歴フィルタペインを使用します。表46-2は、SLAアラートのフィルタに使用できる様々な条件を示します。

表46-2 SLAアラートの検索条件

検索条件

説明

日付範囲

任意の時間間隔で生成されたパイプライン・アラートを検索する場合に使用します。時間間隔は、次の方法のいずれかで設定できます。

- すべて

- タイム・スタンプの間隔をMM/DD/YY HH:Min:SS AM/PMの形式で指定します

- 日-時間-分の形式の任意の時間間隔中に生成されたアラート

アラート重大度

重大度のレベルを指定します。検索結果には、指定した重大度以上のレベルのすべてのアラートが含まれます。

サービス

特定のサービスを検索する場合に使用します。

サービス・タイプ

特定のサービスを検索すると、自動的に更新されます。

アラート名

アラート名で検索する場合に使用します。

46.6.6.2 パイプライン・アラートの検索結果をフィルタする方法

パイプライン・アラートの検索結果をフィルタするには、拡張アラート履歴フィルタペインを使用します。表46-3は、パイプライン・アラートのフィルタに使用できる様々な条件を示します。

表46-3 パイプライン・アラートの検索条件

検索条件

説明

日付範囲

任意の時間間隔で生成されたパイプライン・アラートを検索する場合に使用します。時間間隔は、次の方法のいずれかで設定できます。

- すべて

- タイム・スタンプの間隔をMM/DD/YY HH:Min:SS AM/PMの形式で指定します

- 日-時間-分の形式の任意の時間間隔中に生成されたアラート

アラート重大度

重大度のレベルを指定します。検索結果には、指定した重大度以上のレベルのすべてのアラートが含まれます。

サービス

特定のサービスを検索する場合に使用します。

サービス・タイプ

特定のサービスを検索すると、自動的に更新されます。

アラート・サマリー

アラート概要で検索する場合に使用します。

46.6.7 アラート宛先とは

アラート宛先は、アラートが送信されるリソースです。アラート・ルールでは、アラートを処理するために、事前定義されたアラート宛先を選択する必要があります。アラート宛先には、アラートをSNMPトラップに送信する、レポートのために収集する、ローカル・サーバーのアラート・ログに記録する、および電子メール受信者やJMS宛先に送信するかどうかを構成する柔軟性があります。

アラートのロギングが有効な場合、Oracle Service Bus管理コンソールには、SLA違反のために生成されたアラート、またはパイプラインに構成されているアラート・アクションの結果としてのアラートが表示されます。「ダッシュボード」ページには、Oracle Service Busの全体的な状態が表示されます。サーバー・ヘルス、サービス・ヘルス、およびアラートで構成されるシステムの状態の概要が表示されます。

ダッシュボードの情報を解釈する方法については、46.9項「Oracle Service Busダッシュボード」を参照してください。

46.6.7.1 電子メール

電子メールをアラート宛先として指定すると、Oracle Service Bus管理コンソールでアラートが発生したときにメッセージを受け取ることができます。このアラート宛先を構成するには、SMTPサーバー・グローバル・リソースを使用するか、Oracle WebLogic ServerのJavaMailセッションを使用する必要があります。デフォルトSMTPサーバー・リソースの構成の詳細は、31.8項「デフォルトSMTPサーバーの構成」を参照してください。JavaMailセッションの構成方法の詳細は、Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・オンライン・ヘルプのの「JavaMailへのアクセスの構成」を参照してください。

SMTPサーバー・グローバル・リソースはSMTPサーバーのアドレス、ポート番号、および認証資格証明(必要な場合)を取り込みます。この認証資格証明はサービス・アカウントとして格納されるのではなく、インラインで格納されます。アラート・マネージャは、パイプライン・アラートとSLAアラートの両方が発生すると、電子メール・アラート宛先を使用してアウトバウンド電子メール・メッセージを送信します。アラートが電子メールで配信されるときに、アラートの詳細で構成されるメタデータが、構成されたペイロードの詳細の前に置かれます。

「電子メール受信者」フィールドに受信者の電子メールIDを指定できます。電子メールのアラート宛先の構成の詳細は、6.3.1項「電子メール受信者の追加」を参照してください。

46.6.7.2 SNMPトラップ

簡易ネットワーク管理プロトコル(SNMP)トラップにより、サード・パーティ製ソフトウェアをOracle Service Busでのサービス・レベル合意のモニターに結びつけることができます。SNMPを使用してアラートの通知を有効にすることで、Webサービス管理(WSM)ツールおよびESM (Enterprise Service Management)ツールは、アラート通知をモニターしてSLA違反とパイプライン・アラートをモニターできます。

SNMPは、リソースの管理に関する情報をネットワーク上で交換できるようにするアプリケーション層プロトコルです。これにより、リソースをモニターし、必要に応じて、リソースから取得したデータに基づいて処理を行うことができます。

Oracle Service Busでは、SNMP version 1とSNMP version 2の両方がサポートされています。SNMPは、次のコンポーネントで構成されます。

- 管理対象リソース

- 管理情報ベース(MIB)

- SNMPエージェント

- SNMPマネージャ

- ネットワーク管理システム(NMS)

詳細は、付録E「SNMPコンポーネント」を参照してください。

46.6.7.3 レポート

レポート宛先を使用すると、Oracle Service Busに付属するレポートAPIを使用して開発できるカスタム・レポート・プロバイダに対して、パイプライン・アラートまたはSLAアラートの通知を送信できます。これにより、カスタムJavaコードを使用して、サード・パーティがアラートを受信および処理できます。

46.6.7.4 アラートのロギング

各アラート宛先では、アラート宛先に送信されるアラートを記録するかどうかを構成できます。記録されたアラートは、ローカルのアラート・ログに送信されます。各Oracle Service Busサーバーには、それ自体のアラート・ログがあります。クラスタ内で、管理サーバーは、すべての管理対象サーバーからアラート・ログを収集し、Oracle Service Bus管理コンソールのアラートを集約します。

46.6.7.5 JMS

Java Messaging Service (JMS)は、パイプライン・アラートおよびSLAアラートのもう1つの宛先です。アラートのJMS宛先にはJNDI URLを構成する必要があります。アラート・ルールを構成してJMS宛先にメッセージをポストする場合、JMS接続ファクトリおよびキューまたはトピックを作成し、Oracle WebLogic Server管理コンソールの該当するJMSサーバーにそれらをターゲット指定する必要があります。

この方法については、『Oracle Fusion Middleware Oracle WebLogic Server JMSの構成と管理』の「JMSシステム・リソースの構成の方法」にあるJMS接続ファクトリの構成およびドメインの相互運用性を実現するためのJMSリソースの命名規則を参照してください。JMSアラート宛先を定義するときは、宛先キューまたは宛先トピックを使用できます。メッセージのタイプは、バイトまたはテキストのいずれかです。JMSアラート宛先の構成方法の詳細は、6.3.2項「JMS宛先の追加」を参照してください。

46.7 サービスの操作設定

操作設定により、Oracle Service Bus管理コンソールでサービスの状態を制御できるようになります。表46-4は、Oracle Service Bus管理コンソールに用意されているサービスの操作設定を示します。

表46-4 管理コンソールに用意されているサービスの操作設定

操作設定

使用方法

サービス作成時のデフォルト値

状態

サービスを有効または無効にする場合に使用します。

有効

モニター

特定のレベル以上でサービスのモニターを有効にする場合に使用します。プロキシ・サービスのサービスのモニターを無効にする場合にも使用します。

無効

集約間隔

サービスの集約間隔を設定する場合に使用します。

10分

SLAアラート

特定の重大度以上のレベルでサービスのSLAアラートを有効にする場合に使用します。サービスのSLAアラートを無効にする場合にも使用します。

有効

パイプライン・アラート

特定の重大度以上のレベルでプロキシ・サービスのパイプライン・アラートを有効にする場合に使用します。プロキシ・サービスのパイプライン・アラートを無効にする場合にも使用します。

「通常」レベル以上で有効

レポート

プロキシ・サービスのメッセージ・レポートを有効または無効する場合に使用します。

「通常」レベル以上で有効

ログ

特定の重大度以上のレベルでロギングを有効にする場合に使用します。プロキシ・サービスのロギングを無効にする場合にも使用します。

プロキシ・サービスのログ・アクションで、ログ・アクションの重大度がプロキシ・サービスの操作設定におけるログの重大度と一致する必要があります。

注意: ログ・ファイルまたは標準出力(サーバー・コンソール)にログ・データを表示するには、Oracle WebLogic Serverのロギングを次の重大度に設定する必要があります。

- ログの最低の重大度: 情報

- ログ・ファイル: 情報

- 標準出力: 情報

ログの重大度の設定の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverログ・ファイルの構成とログ・メッセージのフィルタ処理』のログの重大度の使用に関する説明を参照してください。

「デバッグ」レベル以上で有効

実行トレース

プロキシ・サービスの実行トレースを有効または無効にする場合に使用します。

注意: ログ・ファイルまたは標準出力(サーバー・コンソール)にトレースを表示するには、Oracle WebLogic Serverのロギングを次の重大度に設定する必要があります。

- ログの最低の重大度: 情報

- ログ・ファイル: 情報

- 標準出力: 情報

ログの重大度の設定の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverログ・ファイルの構成とログ・メッセージのフィルタ処理』のログの重大度の使用に関する説明を参照してください。

無効

メッセージ・トレース

特定の詳細レベル以上でメッセージ・トレースを有効または無効にする場合に使用します。ペイロード制限(キロ・バイト単位)および デフォルトのエンコーディングも設定できます。

注意: 実行トレースの注意を参照してください。

無効

オフラインのエンドポイントURI

応答していないビジネス・サービスのエンドポイントを有効または無効にする場合に使用します。オフラインのエンドポイントURIを試行するまでの時間間隔を指定する場合にも使用します。ビジネス・サービスについてのみ、オフラインのURIを有効または無効にできます。

無効

スロットルの状態

ビジネス・サービスのスロットルを有効または無効にする場合に使用します。

無効

最大同時実行性

ビジネス・サービスで同時に処理できるメッセージ数を制限する場合に使用します。

0

スロットル・キュー

スロットル・キュー内のメッセージの最大数を制限する場合に使用します。

0

メッセージの有効期限

メッセージをスロットル・キュー内に置くことができる最大時間間隔(ミリ秒単位)。

0

結果キャッシュ状態

ビジネス・サービスの結果キャッシュを有効または無効にする場合に使用します。

有効

結果キャッシュは、デフォルトでグローバルに有効化されます。

サービス・レベルの操作設定は、グローバル設定によってオーバーライドされます。操作設定をグローバルに構成する方法の詳細は、46.7.2項「グローバル・レベルの操作設定の構成方法」を参照してください。

46.7.1 サービスの操作設定の構成方法

個々のサービスの操作設定は、「プロキシ・サービスの表示」ページ(図46-3を参照)または「ビジネス・サービスの表示」ページ(図46-4を参照)で「操作設定」ビューから有効または無効にできます。詳細は、19.1項「ビジネス・サービスの作成と構成」および20.1項「プロキシ・サービスの作成と構成」を参照してください。

サービス状態、モニター、SLAアラート、パイプライン・アラートなどの操作設定は、パブリックAPIを使用して有効または無効にできます。詳細は、Oracle Fusion Middleware Oracle Service Bus Java APIリファレンスを参照してください。

図46-3 プロキシ・サービスの操作設定の表示

図46-4 ビジネス・サービスの操作設定の表示

次の操作設定は、プロキシ・サービスとビジネス・サービスに使用できます。

- 状態

- 集約間隔

- モニター

- SLAアラート

- パイプライン・アラート

- メッセージ・レポート

- トレース

- パイプライン・ロギング

- URIオフライン間隔

- スロットル設定

ビジネス・サービスの各操作設定の使用法の詳細は、26.9項「ビジネス・サービスの操作設定の構成」を参照してください。プロキシ・サービスの各操作設定の使用法の詳細は、26.8項「プロキシ・サービスの操作設定の構成」を参照してください。

46.7.2 グローバル・レベルの操作設定の構成方法

「グローバル設定」ページには「操作」モジュールからアクセスできます。「グローバル設定」ページ(図46-5を参照)を使用すると、サービスの操作設定を構成できます。表46-5は、グローバル・レベルの操作設定の使用法を示します。

表46-5 グローバル・レベルの操作設定の使用法

操作設定

使用方法

モニター

ドメイン内のすべてのサービスのモニターを有効にする場合に使用します。ドメイン内のすべてのサービスのモニターを有効または無効にするには、「モニターの有効化」に対応するチェック・ボックスをクリックします。

SLAアラート

ドメイン内のすべてのサービスのSLAアラートを有効にする場合に使用します。ドメイン内のすべてのサービスのモニターを有効または無効にするには、「SLAアラートの有効化」に対応するチェック・ボックスをクリックします。

パイプライン・アラート

ドメイン内のプロキシ・サービスのパイプライン・アラートを有効にする場合に使用します。ドメイン内のすべてのサービスのモニターを有効または無効にするには、「パイプライン・アラートの有効化」に対応するチェック・ボックスをクリックします。

メッセージ・レポート

ドメイン内のプロキシ・サービスのメッセージ・レポートを有効にする場合に使用します。ドメイン内のすべてのサービスのモニターを有効または無効にするには、「レポートの有効化」に対応するチェック・ボックスをクリックします。

ロギング

ドメイン内のプロキシ・サービスのロギングを有効にする場合に使用します。ドメイン内のすべてのサービスのモニターを有効または無効にするには、「ロギングの有効化」に対応するチェック・ボックスをクリックします。

結果キャッシュ

ドメイン内のビジネス・サービスの結果キャッシュを有効または無効にする場合に使用します。結果キャッシュを使用するようにビジネス・サービスを構成できても、動作する結果キャッシュのグローバル・オプションを有効にする必要があります。結果キャッシュをグローバルに無効にした場合、結果キャッシュで有効にしたすべてのビジネス・サービスのキャッシュされた結果はフラッシュされます。

図46-5 「グローバル設定」ページ

詳細は、27.2項「グローバル設定の有効化」を参照してください。

注意:
「モニターの有効化」オプションを使用すると、個々にモニターを有効にしたすべてのサービスのモニターを有効または無効にできます。特定のサービスのモニターを有効にしていない場合、システムがそのサービスの統計の収集を開始する前に、「モニターの管理」ページでモニターを有効にし、集約間隔を設定しておく必要があります。
グローバル・レベルの設定とサービス・レベルの設定を有効または無効にすると、これらの設定を効率的に有効または無効にできます。グローバル・レベルの操作設定は、サービス・レベルの操作設定に優先します。

46.7.3 Oracle Service Bus構成のインポート時の操作設定の更新

構成jarから構成をインポートすることによってサービスが上書きされると、このサービスの操作設定も上書きされる可能性があります。インポート時に操作設定を保持するには、サービスのインポート時の操作設定の保持フラグをtrueに設定する必要があります。詳細は、46.8.4項「Oracle Service Bus構成のインポート時のアラート・ルールの処理」を参照してください。

46.7.4 Oracle Service Bus構成のインポート時のグローバル設定の更新

Oracle Service Bus構成をインポートする場合、インポートする構成jarにインポート元ドメインのグローバル設定が含まれると、ドメイン・レベルの設定が上書きされる可能性があります。これを防ぐには、サービスのインポート時の操作設定の保持フラグをtrueに設定します。

46.7.5 APIを使用したOracle Service Bus構成のインポート時に操作設定を保持する方法

APIを使用したOracle Service Bus構成のインポート時に操作設定を保持できます。詳細は、Oracle Fusion Middleware Oracle Service Bus Java APIリファレンスのALSBConfigurationMBeanドキュメントを参照してください。インポート時に操作設定を保持するには、例46-1に示すようにMBeanを変更します。

例46-1 APIを使用したOracle Service Bus構成のインポート時の操作設定の保持

/**
// Imports a configuration jar file, applies customization, activates it and exports the resources again
// @throws Exception
/
static private void simpleImportExport(String importFileName, String passphrase) throws Exception {
SessionManagementMBean sm = ... // obtain the mbean to create a session;
// obtain the raw bytes that make up the configuration jar file
File importFile = new File(importFileName);
byte[] bytes = readBytes(importFile);
// create a session
String sessionName = "session." + System.currentTimeMillis();
sm.createSession(sessionName);
// obtain the ALSBConfigurationMBean that operates on the
// session that has just been created
ALSBConfigurationMBean alsbSession = getConfigMBean(sessionName);
// import configuration into the session. First we upload the
// jar file, which will stage it temporarily.
alsbSession.uploadJarFile(bytes);
// then get the default import plan and modify the plan if required
ALSBJarInfo jarInfo = getImportJarInf();
ALSBImportPlan importPlan = jarInfo.getDefaultImportPlan();
// preserve operational values
importPlan. setPreserveExistingOperationalValues(true);
// Modify the plan if required and pass it to importUploaeded method
ImportResult result = alsbSession.importUploaded(importPlan);
// Pass null to importUploaded method to mean the default import plan.
//ImportResult result = alsbSession.importUploaded(null);
// print out status
if (result.getImported().size() > 0) {
System.out.println("The following resources have been successfully imported.");
for (Ref ref : result.getImported()) {
System.out.println("\t" + ref);
}
}
if (result.getFailed().size() > 0) {
System.out.println("The following resources have failed to be imported.");
for (Map.Entry e : result.getFailed().entrySet()) {
Ref ref = e.getKey();
// Diagnostics object contains validation errors
// that caused the failure to import this resource
Diagnostics d = e.getValue();
System.out.println("\t" + ref + ". reason: " + d);
}
// discard the changes to the session and exit
System.out.println("Discarding the session.");
sm.discardSession(sessionName);
System.exit(1);
}
// peform the customization to assign/replace environment values and
// to modify the references.
...
// activate the session
sm.activateSession(sessionName, "description");
// export information from the core data
ALSBConfigurationMBean alsbcore = getConfigMBean(null);
//export the information at project level, pass only a collection of project refs to this method
byte[] contentsProj = alsbcore.exportProjects(Collections.singleton(Ref.DEFAULT_PROJECT_REF),null);
// the byte contents can be saved as jar file
}

46.8 Oracle Service BusのSLAアラート機能

Oracle Service Busでは、発生するアラートに基づいて条件を定義する必要があります。この条件は、SLAアラート・ルール内で構成します。アラート・ルールでは、アラートの重大度とアラート宛先も構成します。

46.8.1 SLAアラート・ルールの構成方法

SLAアラートはSLA違反に対するレスポンスを自動化したもので、ダッシュボードに表示されます。ビジネスおよびパフォーマンスの要件に従い、許容できないサービス・パフォーマンスを指定するアラート・ルールを定義する必要があります。アラート・ルールを構成するときに、集約間隔を指定する必要があります。アラートの集約間隔は、サービスに設定された集約間隔の影響を受けません。集約間隔の詳細は、46.2項「集約間隔」を参照してください。

アラート・ルールを作成するには、次の手順を実行します。

- 全般的な構成 - 名前、説明、概要、期間、重大度、頻度、有効になっているアラート・ルールの状態などの全般的な特性を定義します。

- 条件の定義 - アラート・ルールをトリガーする1つまたは複数の条件を定義します。また、このページでは条件の集約間隔も定義する必要があります。

注意:
サービスのモニターを有効にしていない場合でも、アラート・ルールを作成できます。

アラート・ルールの作成の詳細は、26.23項「アラート・ルールの作成および編集」を参照してください。

モニターが有効になっているサービスでは、アラート・ルールは個々の間隔で評価されます。アラート・ルールを作成すると、それは、まず集約間隔の最後に評価され、その後は各サンプル間隔の最後に評価されます。たとえば、集約間隔が5分である場合、それは作成してから5分後に評価され、その後は1分ごとに評価されます(5分に対するサンプル間隔は1分であるため)。

ルールがfalseと評価された場合は、アラートは生成されません。ルールがtrueと評価された場合は、アラートの生成はアラート間隔の頻度によって制御されます。頻度が毎回である場合は、アラート・ルールがtrueと評価されるたびにアラートが生成されます。頻度が1回通知である場合は、前回の評価でアラートが生成されなかったときのみアラートが生成されます。つまり、アラートはアラート・ルールが最初にtrueと評価されたときに生成され、条件がリセットされ、再びTrueと評価されるまで、通知は生成されません。

46.8.2 既存のアラート・ルールをルックアップまたは編集する方法

「アラート・ルールの詳細を表示」ページには、図46-6に示すように、特定のアラート・ルールに関する詳細情報が表示されます。このページにアラート・ルールの詳細を表示できます。このページでアラート・ルールの構成を編集できます。アラート・ルールの編集方法の詳細は、26.23項「アラート・ルールの作成および編集」を参照してください。

図46-6 「アラート・ルールの詳細の表示」ページ

46.8.3 アラート・ルールの名前変更の方法

アラート・ルールの名前は、「ビジネス・サービスの表示」ページまたは「プロキシ・サービスの表示」ページの「SLAアラート・ルール」タブから変更できます。アラート・ルールの名前を変更するには、「アラート・ルールの名前変更」アイコンをクリックします。「アラート・ルールの名前変更」ウィンドウの「新しいアラート・ルール名」フィールドにアラート・ルールの新しい名前を入力します。「名前変更」をクリックします。「更新」をクリックし、セッションをアクティブ化して完了します。詳細は、26.21項「アラート・ルールの表示」を参照してください。これで、名前を変更したアラートの「名前変更」アイコンが無効になりました。

46.8.3.1 アラート・ルールの名前変更の結果

トリガーされたアラートは、「アラート履歴」ページに一覧表示されます。「アラート・ルールの詳細を表示」アクション・アイコンをクリックすると、「アラート・ルール」ページが表示されます。しかし、アラート・ルールの名前を変更すると、名前を変更する前に発生したアラートについては、「アラート履歴」ページから「アラート・ルールの詳細を表示」アクションをクリックしてアラート・ルールにアクセスできなくなります。

「アラート履歴」ページからは、アラート・ルールの名前を変更する前と後に発生したアラートの「アラート詳細」ページにアクセスできます。「アラート詳細」ページでは、アラート・ルールの名前を変更する前に発生したアラートのアラート名はグレー表示されます。名前を変更すると、名前が変更されたアラートの「アラート詳細」アイコンは無効になります。

同様の制限は、「アラート詳細」ページの「アラート名」リンクをクリックして「アラート・ルール」ページへのアクセスを試行する場合にも存在します。後で名前変更したアラート・ルールによって生成されたアラート名は、古い名前を参照します。古いアラート名は表示されますが、アラート・ルールの名前が変更されたことを示すためにグレー表示されます。

アラート・ルールの名前を変更する場合、ルールが基づいている条件は保持されます。アラート・ルールの集約間隔も保持されます。アラートは、アラート・ルールの名前変更後の最初の集約間隔の最後に発生します。たとえば、集約間隔が5分のアラート・ルールa1を考えてみます。2分間の実行後にアラート・ルールの名前をa2に変更すると、名前a2での次のアラートは、名前変更の3分後に発生します。

46.8.4 Oracle Service Bus構成のインポート時のアラート・ルールの処理

Oracle Service Bus構成のインポート時に、アラート・ルール構成を保持できます。Oracle Service Bus構成のインポート時には、操作設定が保持されます。アラート・ルールを使用するサービスがインポートするjarには存在するが、インポート先のドメインには存在しない場合、そのサービスは、アラート・ルールと共にそのままインポートされます。

ただし、同じサービスがインポート先のドメインにも存在する場合、インポート動作は、インポート操作時の操作設定の保持の状態によって制御されます。操作設定の保持方法の詳細は、46.7.3項「Oracle Service Bus構成のインポート時の操作設定の更新」を参照してください。

46.9 Oracle Service Busダッシュボード

Oracle Service Busダッシュボードには、サービス・ヘルス、サーバー・ヘルス、およびOracle Service Busランタイム内でトリガーされたすべてのアラートの詳細が表示されます。この表示の動的な更新は、「ユーザー・プリファレンス」ページの「ダッシュボード更新間隔」設定で制御します。この設定のデフォルト・オプションは、「更新なし」です。これらのアラートは、SLA違反の結果またはパイプライン・アラートです。

サービス・レベル合意(SLA)は、Oracle Service Bus内のビジネス・サービスやプロキシ・サービスで予期される正確なサービス・レベルを定義します。パイプライン・アラートは、メッセージ・パイプラインを通過するメッセージの数を記録するなど、特定のビジネス・イベントの発生の追跡や(システムのヘルスではなく)エラーの報告のために、ビジネス目的のメッセージ・フローに定義されます。

表の各行には、重大度、タイム・スタンプ、関連サービスなど、構成した情報が表示されます。「アラート名」リンクをクリックすると、SLAアラートに関する詳細を表示する「アラート詳細」ページが表示されます。これは、SLAアラートの原因を分析する際に役立ちます。「アラート概要」リンクをクリックすると、パイプライン・アラートに関する詳細を表示する「アラート詳細」ページが表示されます。これは、SLAアラートの原因を分析する際に役立ちます。

ダッシュボードから、サービスの平均実行時間、アラートの発生日時、サーバーの実行時間など、システム固有の詳細な情報を容易に取得できます。

次の項は、Oracle Service Busダッシュボードに表示される情報を理解するうえで役立ちます。

図46-7 SLAアラートのOracle Service Busダッシュボード

46.9.1 現在の集約間隔に対するサービスの統計にアクセスする方法

「サービス・ヘルス」タブをクリックして、「サービス・ヘルス」ページにアクセスします。「サービス・ヘルス」ページが表示されます。

これは、各サービスで収集された統計データの動的ビューです。このビューは、「統計の表示」フィールドで「現在の集約間隔」を選択すると表示されます。このビューに表示される集約間隔によって、表示される統計が決まります。たとえば、特定のサービスの集約間隔が20分である場合、そのサービスの行には最後の20分間に収集されたデータが表示されます。

このページから、すべてのサービスを表示したり、特定の条件に基づいてサービスを検索できます。このページの「現在の集約間隔」ビューに表示される統計の詳細は、26.11項「サービスのメトリックの表示」を参照してください。

「サービスのモニターの詳細」ページには、特定のサービスに関する詳細情報の2つのビューが表示されます。図46-8は、現在の集約間隔に対するビジネス・サービスの「サービスのモニターの詳細」ページを示します。図46-9は、プロキシ・サービスの「サービスのモニターの詳細」ページを示します。

このページを表示するには、SLAアラートまたはパイプライン・アラートの「最も多くのアラートを発生するサービス」セクション、「アラート履歴」表、または「拡張アラート履歴」表でサービスの名前をクリックします。「サービス・ヘルス」タブに表示されたサービスの名前は、「サービスのモニターの詳細」ページへのリンクでもあります。

図46-8 ビジネス・サービスの「サービスのモニターの詳細」ページ - 現在の集約間隔

図46-9 プロキシ・サービスの「サービスのモニターの詳細」ページ - 現在の集約間隔

これは、各サービスで収集された統計データの動的ビューです。このビューは、「統計の表示」フィールドで「現在の集約間隔」を選択すると表示されます。このビューに表示される集約間隔によって、表示される統計が決まります。たとえば、特定のサービスの集約間隔が20分である場合、このページには、直前20分間に収集されたそのサービスのデータが表示されます。

ビジネス・サービスで使用できる様々なタブの詳細は、46.9.2.1項「サービスのメトリック」、46.9.2.2項「操作」および46.9.2.5項「エンドポイントURI」を参照してください。プロキシ・サービスで使用できる様々なタブの詳細は、46.9.2.1項「サービスのメトリック」、46.9.2.3項「パイプラインのメトリック」、46.9.2.4項「アクションのメトリック」および46.9.2.2項「操作」を参照してください。

このページの「現在の集約間隔」ビューに表示される統計の詳細は、26.11項「サービスのメトリックの表示」を参照してください。

46.9.2 サービスの集計カウント統計にアクセスする方法

サービスの集計カウント統計は、最後のリセット以降の統計です。

図46-10 「サービス・ヘルス」タブ - 最後のリセット以降

このビューは、サービス・ヘルスのメトリックの集計カウントです。このビューは、「統計の表示」フィールドで「最後のリセット以降」を選択すると表示されます。各行に表示される統計は、個々のサービスの統計を最後にリセットした時点、またはすべてのサービスの統計を最後にリセットした時点以降の統計です。

選択したサービスまたはすべてのサービスについて統計をリセットすることもできます。このページの「最後のリセット以降」ビューに表示される統計の詳細は、26.11項「サービスのメトリックの表示」を参照してください。

図46-11 ビジネス・サービスの「サービスのモニターの詳細」ページ - 最後のリセット以降

図46-12 プロキシ・サービスの「サービスのモニターの詳細」ページ - 最後のリセット以降

このビューは、サービス・モニターのメトリックの集計カウントです。このビューは、「統計の表示」フィールドで「最後のリセット以降」を選択すると表示されます。各行に表示される統計は、個々のサービスの統計を最後にリセットした時点、またはすべてのサービスの統計を最後にリセットした時点以降の統計です。

このページから、すべてのサービスを表示したり、特定の条件に基づいてサービスを検索できます。このサービスの統計をリセットすることもできます。このページの「最後のリセット以降」ビューに表示される統計の詳細は、26.11項「サービスのメトリックの表示」を参照してください。

「サービスのモニターの詳細」ページの各ビューには、次のタブがあります 。

46.9.2.1 サービスのメトリック

「サービスのメトリック」(図46-13を参照)ビューには、プロキシ・サービスまたはビジネス・サービスのメトリックが表示されます。

図46-13 ビジネス・サービスの「サービスのモニターの詳細」ページ - 「サービスのメトリック」タブ

「サービスのメトリック」タブには、次の種類のメトリックが表示されます。

- 「全般」 - 現在の集約間隔におけるアラートのステータスおよびサービスのサービス・レベル統計を素早く確認できます。最後のリセット以降の時間間隔でサービス・レベル統計を表示する場合、最後のリセット以降のすべてのメトリックが表示されます。このビューに表示されるメトリックの詳細は、26.11項「サービスのメトリックの表示」を参照してください。

- 「スロットル」 - ビジネス・サービスのスロットル統計を確認できます。最小スロットル時間と最大スロットル時間をミリ秒単位で表示することもできます。スロットル統計の詳細は、26.11「サービスのメトリックの表示」を参照してください。

46.9.2.2 操作

操作のメトリックは、操作を定義しているWSDLベースのサービスについて表示されます。「操作」タブ(図46-14を参照)には、WSDLベースのサービスに定義した操作の統計が表示されます。このタブに表示される統計の詳細は、26.12項「WSDLベースのサービスの操作のメトリックの表示」を参照してください。

図46-14 「サービスのモニターの詳細」ページ - 「操作」ビュー

46.9.2.3 パイプラインのメトリック

このビュー(図46-15を参照)には、サービスのパイプラインの様々なコンポーネントに関する情報が表示されます。「パイプラインのメトリック」タブは、プロキシ・サービスの場合にのみ表示されます。このタブに表示される統計の詳細は、26.13項「パイプラインのメトリックの表示」を参照してください。

図46-15 「サービスのモニターの詳細」ページ - プロキシ・サービスの「パイプラインのメトリック」ビュー

46.9.2.4 アクションのメトリック

このビュー(図46-16を参照)には、サービスのパイプラインのアクションに関する情報がノードやアクションの階層として表示されます。たとえば、図46-16は、ルート・ノード(Route to Loan Processing Service)にネストされたルーティング表アクションを示します。

同様に、ルーティング表アクションの様々なブランチにネストされたアクションも表示されます。表にはブランチを表すエントリ(この例では「ケース」や「デフォルト・ケース」というラベルの付いた列)も含まれます。

図46-16 「サービスのモニターの詳細」ページ - プロキシ・サービスの「アクションのメトリック」ビュー

「アクションのメトリック」タブは、プロキシ・サービスの場合にのみ表示されます。このタブに表示される統計の詳細は、26.14項「アクションのメトリックの表示」を参照してください。

46.9.2.5 エンドポイントURI

ビジネス・サービスの「サービスのモニター」ページにある「エンドポイントURI」タブには、ビジネス・サービスおよびそのステータス用に構成された様々なエンドポイントURIの統計が表示されます。このビューに表示される統計の詳細は、26.15項「ビジネス・サービスのエンドポイントURIのメトリックの表示」を参照してください。

図46-17 「サービスのモニターの詳細」ページ - ビジネス・サービスのエンドポイントURI

46.9.3 ダッシュボードでのSLAアラートの表示

SLAアラートの詳細は、ダッシュボードの「SLAアラート」タブに表示されます。表46-6は、SLAアラートのダッシュボードの説明です。

表46-6 SLAアラートのOracle Service Busダッシュボード

セクション

説明

SLAアラート

円グラフには、「ダッシュボード設定」ページのアラート履歴で設定した期間で、SLAアラートの分布が重大度に応じて表示されます。アラートの重大度レベルはユーザーが構成でき、絶対的な意味を持ちません。アラートの重大度の詳細は、46.6.1項「アラートの重大度の割当て」を参照してください。

選択したレベルの重大度およびアラート履歴期間に対するアラートの「拡張SLAアラート履歴」ページを表示するには、円グラフ内の特定の領域をクリックします。

最も多くのアラートを発生するサービス

このセクションには、現在の集約間隔において最も多くのSLAアラートを発生するサービスがすべて表示されます。

アラート履歴

このセクションには、アラート履歴期間中に生成されたすべてのSLAアラートの詳細情報が表示されます。詳細は、46.9.4.1項「パイプライン・アラートのアラート履歴の表示」を参照してください。

46.9.3.1 SLAアラートのアラート履歴の表示

「SLAアラート」表の「アラート履歴」(図46-7を参照)には、「ユーザー・プリファレンス」ページで設定したアラート履歴の期間に発生したすべてのSLAアラートが表示されます。「アラート履歴」表の詳細は、26.1項「SLAアラートの表示」を参照してください。

アラートの完全なリストを表示するには、「拡張アラート履歴」をクリックします。「拡張アラート履歴」の詳細は、46.6.4項「SLAアラートを表示または削除する方法」を参照してください。

46.9.4 ダッシュボードでのパイプライン・アラートの表示

パイプライン・アラートは、ダッシュボードの「パイプライン・アラート」タブに表示されます(図46-18を参照)。表46-7は、パイプライン・アラートのダッシュボードの説明です。

図46-18 パイプライン・アラートのOracle Service Busダッシュボード

表46-7 パイプライン・アラートのダッシュボード

セクション

説明

パイプライン・アラート

円グラフには、「ダッシュボード設定」ページのアラート履歴で設定した期間で、パイプライン・アラートの分布が重大度に応じて表示されます。アラートの重大度レベルはユーザーが構成でき、絶対的な意味を持ちません。アラートの重大度の詳細は、46.6.1項「アラートの重大度の割当て」を参照してください。

選択したレベルの重大度およびアラート履歴期間に対するアラートの「拡張パイプライン・アラート履歴」ページを表示するには、円グラフ内の特定の領域をクリックします。

最も多くのアラートを発生するサービス

このセクションには、現在の集約間隔において最も多くのパイプライン・アラートを発生するサービスがすべて表示されます。

アラート履歴

このセクションには、アラート履歴期間中に生成されたすべてのパイプライン・アラートの詳細情報が表示されます。詳細は、46.9.4.1項「パイプライン・アラートのアラート履歴の表示」を参照してください。

46.9.4.1 パイプライン・アラートのアラート履歴の表示

「パイプライン・アラート」表の「アラート履歴」(図46-7を参照)には、「ユーザー・プリファレンス」ページで設定したアラート履歴の期間に発生したすべてのパイプライン・アラートが表示されます。「アラート履歴」表の詳細は、26.2項「パイプライン・アラートの表示」を参照してください。

アラートの完全なリストを表示するには、「拡張アラート履歴」をクリックします。「拡張アラート履歴」の詳細は、46.6.5項「パイプライン・アラートを表示または削除する方法」を参照してください。

46.9.5 ダッシュボードでのサーバー・ヘルスの表示

サーバー概要は、ダッシュボードの「サーバー・ヘルス」タブに表示されます。

図46-19 サーバー・ヘルス

46.9.5.1 ログ概要の表示

「サーバー・ヘルス」タブの「ログ概要」セクションには、ドメインに関連付けられているサーバーの概要ログが表示されます。ドメイン・ログ・ファイルは、ドメイン全体のステータスを確認するための中心となるファイルです。各サーバー・インスタンスでは、メッセージのサブセットをドメイン全体のログ・ファイルに転送します。

デフォルトでは、重大度が注意以上のメッセージのみが転送されます。転送されるメッセージの集合を変更できます。詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverログ・ファイルの構成とログ・メッセージのフィルタ処理』の「WebLogicロギング・サービスについて」を参照してください。

パイプラインにロギング・アクションを構成した場合、ログは管理サーバー・ログに転送されます。ロギング・メッセージは、Oracle Service Bus管理コンソールの「サーバー・ヘルス」タブに表示されます。

クラスタでは、ログ・アクション・メッセージは管理対象サーバーに転送されるため、デフォルトでは、ロギング・メッセージはOracle Service Bus管理コンソールには表示されません。Oracle Service Bus管理コンソールに管理対象サーバーのログを表示するには、これらのメッセージをドメイン・ログに転送するようOracle WebLogic Serverを構成する必要があります。この方法については、Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・オンライン・ヘルプの「ログ・フィルタの作成」を参照してください。

システムで現在発生しているメッセージの数を調べるには、「サーバー・サマリー」パネルの「ログ・サマリーの表示」リンクをクリックします。図46-19に示すように、重大度別に分類されたメッセージ数を示す表が表示されます。

ログ概要は、Oracle WebLogic Serverコンソールで管理者権限を持っている場合にのみ表示できます。

表46-8は、ログ概要のステータス・メッセージを示します。

表46-8 ログ概要のメッセージ

メッセージ

説明

緊急

サーバーが使用不可状態にあることを示します。深刻なシステム障害を示します。

アラート

特定のサービスが使用不可状態にあるものの、システムの他の部分は引続き稼働していることを示します。自動回復できないので、管理者が直ちに問題を解決する必要があります。

クリティカル

システム・エラーまたはサービス・エラーが発生したことを示します。システムは回復できますが、サービスが一時的に停止するか、永続的に停止するおそれがあります。

エラー

ユーザー・エラーが発生したことを示します。システムまたはアプリケーションでは、サービスの中断なしにエラーを処理できます。サービスの限定的な低下が発生することがあります。

警告

問題のある処理または構成が行われたことを示します。しかし、通常の処理は影響を受けません。

注意

「情報」メッセージよりも重要度が高い情報メッセージです。

情報

通常の処理を報告する、低レベルの情報メッセージです。

デバッグ

記録されたデバッグ・メッセージの数を示します。

この表示は、WebLogic診断サービスによって定義されるように、実行中のサーバーのヘルス状態に基づいています。WebLogic診断サービスの詳細は、『Oracle Fusion Middleware Oracle WebLogic Server診断フレームワークの構成と使用』を参照してください。

アラート・メッセージの特定のステータスのドメイン・ログを表示するには、アラート・メッセージのステータスに対応する数字をクリックします。Oracle Service Bus管理コンソールに表示されたドメイン・ログ・ファイルの一例を示します。

図46-20 ドメイン・ログ・ファイル・エントリ

ドメイン・ログ・ファイルの詳細は、26.18項「ドメイン・ログ・ファイルの表示」を参照してください。詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverログ・ファイルの構成とログ・メッセージのフィルタ処理』の「WebLogicロギング・サービスについて」にある「メッセージの属性」を参照してください。ページにある1つのログ・ファイルの詳細を表示するには、該当するログを選択し、「表示」をクリックします。「ドメイン・ログ・ファイル・エントリ」表をカスタマイズして、次の情報を表示することもできます。

- マシン

- サーバー

- スレッド

- ユーザーID

- トランザクションID

- コンテキストID

- タイムスタンプ

これらの情報の詳細は、26.20項「ドメイン・ログ・ファイルの詳細の表示」を参照してください。「ドメイン・ログ・ファイル・エントリ」表のカスタマイズ方法の詳細は、26.19項「ドメイン・ログ・ファイル・エントリの表示のカスタマイズ」を参照してください。

46.9.5.2 サーバー概要の表示

サーバー概要は、ダッシュボードの「サーバー・ヘルス」タブに表示されます。単一ノードのドメインでは、「サーバー・サマリー」に管理サーバーの概要が表示されます。クラスタ・ドメインでは、クラスタ内のすべてのサーバーのヘルス情報が表示されます(クラスタ環境の場合)。サーバー概要の詳細は、26.16項「サーバー情報の表示」を参照してください。

46.9.5.3 サーバーの詳細の表示

このページにアクセスするには、サーバー・サマリーの下の名前をクリックするか、「サーバー・サマリー」ページのサーバー名をクリックします。

このページによって、サーバー・モニターの詳細を表示できます。

このページに表示される情報は、Oracle Service Bus管理コンソールのサーバーの設定ページの「モニター」タブのサブセットです。表46-9は、表示される情報を示します。

表46-9 サーバー情報

情報

説明

全般

サーバーに関する全般的な実行時情報が表示されます。「詳細」をクリックすると、Oracle WebLogic Serverのバージョンやオペレーティング・システム名など、さらに詳しい情報が表示されます。

チャネル

各チャネルに関するモニター情報が表示されます。

パフォーマンス

サーバーのパフォーマンスに関する情報が表示されます。

スレッド

サーバーのアクティブ実行キューの現在の実行時特性と統計が表示されます。

タイマー

サーバーで使用されているタイマーに関する情報が表示されます。

負荷

サーバーに構成されているワーク・マネージャ、制約、およびポリシーの統計が表示されます。

セキュリティ

サーバーに構成されているワーク・マネージャ、制約、およびポリシーの統計。

JMS

サーバーに関するJMS情報をモニターできます。

JTA

サーバーのあらゆるタイプのリソースに関するすべてのトランザクション情報の概要が表示されます。

47 レポート

この章では、デフォルトのJMSレポート・プロバイダおよびOSB管理コンソールの「レポート」モジュールを含むOracle Service Bus(OSB)レポート・フレームワークについて説明します。

Oracle Service Busは、メッセージ・データとアラートを1つまたは複数のレポート・プロバイダに配信します。メッセージ・データは、メッセージの本文およびメッセージに関連付けられた他の変数(header変数やinbound変数など)から取り込むことができます。アラート・データには、プロキシ・サービスをモニターするために構成できるサービス・レベル・アグリーメント(SLA)違反に関する情報が含まれます。レポート・プロバイダに配信されるメッセージまたはアラート・データは、メッセージのトラッキングや規定の監査などの機能に使用できます。

Oracle Service Busには、メッセージ・レポート用のJMSレポート・プロバイダが含まれます。Oracle Service Bus管理コンソールの「レポート」モジュールには、このレポート・プロバイダから取り込まれた情報が表示されます。Oracle Service Busのインストールで提供されるJMSレポート・プロバイダを使用しない場合は、そのレポート・プロバイダを割当て解除し、レポート・サービス・プロバイダ・インタフェース(SPI)を使用して独自のレポート・プロバイダを作成できます。メッセージ用の独自のレポート・プロバイダを構成した場合、Oracle Service Bus管理コンソールに情報は表示されません。したがって、独自のユーザー・インタフェースを作成する必要があります。SLAデータを取り込むには、アラート用のレポート・プロバイダを作成する必要があります。

この章の内容は次のとおりです。

- 47.1項「Oracle Service Busのレポート・フレームワークについて」

- 47.2項「JMSレポート・プロバイダについて」

- 47.3項「JMSレポート・プロバイダ・ストア用データベースの構成方法」

- 47.4項「メッセージ・レポートを有効にする方法」

- 47.5項「レポート・プロバイダを停止する方法」

- 47.6項「JMSレポート・プロバイダを割当て解除する方法」

- 47.7項「Oracle Service Bus管理コンソールの「レポート」モジュールの使用」

47.1 Oracle Service Busのレポート・フレームワークについて

Oracle Service Busには、メッセージまたはアラート用に1つまたは複数のレポート・プロバイダを作成できる拡張可能なフレームワークが用意されています。

メッセージ・レポートを有効にするには、最初にプロキシ・サービスのメッセージ・フローにレポート・アクションを作成する必要があります。レポート・アクションを使用すると、各メッセージから情報を抽出して、それをOracle Service Busレポート・データ・ストリームに書き込むことができます。アラート・レポートのレポート・アクションを構成する必要はありません。アラート・データは常にレポート・データ・ストリームで使用可能です。詳細は、47.4項「メッセージ・レポートを有効にする方法」を参照してください。

独自のレポート・プロバイダの作成に必要な情報は、Oracle Fusion Middleware Oracle Service Bus Java APIリファレンスのcom.bea.wli.reportingにあります。Java APIリファレンスには、パッケージ化する方法、配置場所、デプロイの方法、デプロイメント順序など、レポート・プロバイダの実装に必要なものに関する情報が記載されています。レポート・スキーマ(MessageReporting.xsd)の場所は、OSB_ORACLE_HOME/lib/sb-schemas.jarです。

図47-1は、レポート・フレームワークを示しています。

図47-1 レポート・フレームワーク

図47-1に示すように、レポート・メッセージとアラートの両方がレポート・データ・ストリームにエクスポートされます。レポート・ステージでは、レポート・アクションによって情報が各メッセージから抽出され、MessageReporting.xsdに準拠するメタデータとともにレポート・データ・ストリームに書き込まれます。

同様に、SLAマネージャは、レポート・データ・マネージャAPIを使用して、AlertReporting.xsdに準拠するメタデータとともにアラート・レポート・ストリームに書き込みます。アラートのレポート・プロバイダまたは独自のメッセージ・レポート・プロバイダを開発するには、ReportingDataHandlerインタフェースを実装し、ReportingDataManagerクラスを使用する必要があります 。

ReportingDataHandlerインタフェースは、レポートまたはアラート・データ・ストリームを取得し、処理します。このストリームは、リレーショナル・データベース、ファイル、JMSキューなどで処理したり格納したりできます。使用するストリームに応じて、データ・ストリームを処理する適切なhandleメソッドを実装する必要があります。

- メッセージ・レポート・ストリーム - Oracle Service Busランタイムのレポート・アクションで次の2つのhandleメソッドを使用して、メッセージ・レポート・ストリームに書き込みます。

handle(com.bea.xml.XmlObject metadata, String s)
handle(com.bea.xml.XmlObject metadata, com.bea.xml.XmlObject data)

- アラート・レポート・ストリーム - アラート・マネージャで次のhandleメソッドを使用して、アラート・レポート・ストリームに書き込みます。

handle(com.bea.xml.XmlObject metadata, String data)

ReportingDataManagerは、レポート・プロバイダのレジストリを保持するローカル・サーバー・オブジェクトです。レポート・プロバイダは、ReportingDataHandlerインタフェースを実装します。ReportingDataManagerには、次の機能を実行するための操作が用意されています。

- レポート・データ・ハンドラの追加と削除

- 各種handle操作を使用したレポート・データ・ストリームのエクスポート

47.2 JMSレポート・プロバイダについて

JMSレポート・プロバイダは、プロキシ・サービスのメッセージ・フローでのレポート・アクションを使用して各メッセージからレポート情報を取り込むプラガブルなアーキテクチャを備えています。デフォルトのJMSレポート・プロバイダは、Oracle Service Busドメインの作成時に自動的に構成されます。クラスタ内のすべてのメッセージは集約され、データベース固有の形式でJMSレポート・プロバイダ・データ・ストアに格納されます。このプロバイダは、JMSレポート・プロバイダ・データ・ストアの情報を表示します。

注意:
デフォルトのOracle Service Bus JMSレポート・プロバイダを使用しない場合は、47.6項「JMSレポート・プロバイダを割当て解除する方法」に示すように、レポート・プロバイダおよびドメイン内の対応するデータ・ソースを割当て解除する必要があります。

JMSレポート・プロバイダは、プロデューサとコンシューマで構成されています。これらはスケーラビリティを向上させるために切り離されています。図47-2に示すように、プロデューサはJMSプロデューサであり、MDB(メッセージドリブンBean)がJMSコンシューマとして機能します。

図47-2 JMSレポート・プロバイダ

レポート・ステージには、レポート情報を収集し、ReportingDataManagerの各種のhandle操作を通じてレポート・ストリームをJMSレポート・プロバイダにディスパッチするレポート・アクションが含まれています。JMSReportingDataHandlerは、レポート・プロバイダのJMSプロデューサです。JMSReportingDataHandlerはレポート・ストリームを取得し、情報をJMSキューに記録します。MDBは、JMSレポート・キューをリスンします。メッセージは非同期に処理され、データはJMSレポート・プロバイダ・データ・ストアに格納されます。

JMSレポート・プロバイダはレポート・アクションによって生成されたレポートを処理しますが、SLAやパイプライン・アラートのため生成されたレポートは無視されます。カスタム・レポート・プロバイダに書き込むとき、その動作に制限されません。ビジネス要件に応じて、レポート・フレームワークによってカスタム・レポート・プロバイダに配信されたレポート・データのすべてまたはサブセットを処理することができます。

47.2.1 グローバル・トランザクションでのレポート・アクション

JMSレポート・プロバイダは、デフォルトのキュー接続ファクトリを使用しますが、これによってグローバル・トランザクションのコンテキストでプロキシ・サービス・パイプラインがレポート・アクションを実行できるようになります。jmsResourcesモジュールで定義される接続ファクトリは、wli.reporting.jmsprovider.ConnectionFactoryと呼ばれます。

グローバル・トランザクションのコンテキストでレポート・アクションを実行しない場合は、Oracle WebLogic Serverコンソールで接続ファクトリを変更しますが、これを行うには、「サービス」→「メッセージング」→「JMSモジュール」→「jmsResources」を選択して、「トランザクション」タブを選択し、「XA接続ファクトリの有効化」オプションを選択解除します。

この接続ファクトリを使用してレポート・アクションを処理する場合に、プロキシ・サービス・パイプラインが使用するロジックは次のとおりです。

- グローバル・トランザクションが存在し、かつ、接続ファクトリがXA対応(デフォルト)である場合、レポートはそのグローバル・トランザクションのコンテキスト内で生成されます。

- グローバル・トランザクションが存在し、かつ、接続ファクトリがXA対応でない場合、トランザクションが一時停止され、レポートはローカル・トランザクション内で生成されます。

- グローバル・トランザクションが存在しない場合、レポートはローカル・トランザクション内で生成されます。

47.3 JMSレポート・プロバイダ・ストア用データベースの構成方法

Oracle Service Busでは、JMSレポート・プロバイダ・データ・ストア用のデータベースが必要です。Oracle WebLogic ServerとともにインストールされるApache Derbyデータベースは開発のみを目的としており、本番環境用ではありません。

本番環境では、サポートされているデータベースの1つを使用する必要があります。サポートされているデータベースに関する最新情報については、次の場所にあるOracle Fusion Middlewareのサポートされるシステム構成の、サポート対象のデータベースとドライバを参照してください:

http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html

注意:
デフォルトのOracle Service Bus JMSレポート・プロバイダを使用せず、そのためデータベースを構成しない場合は、47.6項「JMSレポート・プロバイダを割当て解除する方法」に示すように、レポート・プロバイダおよびドメイン内の対応するデータ・ソースを割当て解除する必要があります。

47.3.1 トランザクションのレポート・データ・ソースの構成

JMSレポート・プロバイダのデータ・ソースが、次のいずれかの方法でトランザクションをサポートしていることを確認します。構成が不適切であると、例外が発生する場合があります。

- サポートされたXAドライバを使用するように、データ・ソースを構成します。

- データ・ソースに非XAドライバを使用する場合、データ・ソースの構成で次のオプションを選択してください。

- グローバル・トランザクションのサポート

- ロギング・ラスト・リソース
ロギング・ラスト・リソース(LLR)の詳細は、『Oracle Fusion Middleware Oracle WebLogic Server JDBCデータ・ソースの構成と管理』のロギング・ラスト・リソース・トランザクション・オプションに関する項を参照してください。

47.3.2 開発環境におけるデータベースの構成方法

Oracle Service Busドメインを作成する場合、構成ウィザードではデータベース表が自動的に作成されません。開発環境では、デフォルトのJMSレポート・プロバイダは、指定されたデータベースの表が存在するかどうかを実行時にチェックします。表が存在しない場合、レポート・プロバイダによって表が作成されます。表が存在する場合は、その表が使用されます。

JMSレポート・プロバイダで使用するデータベースは、次のいずれかの方法で指定できます。

- Oracle Service BusドメインでレポートSQLスクリプトを実行します。スクリプトの格納場所は、OSB_ORACLE_HOME/dbscriptsです。

- 構成ウィザードでのドメインの作成時に、レポート・プロバイダのJDBC設定をカスタマイズします。詳細は、『Oracle Fusion Middleware Oracle Service Busインストレーション・ガイド』のOracle Service Busのインストールと構成に関する項を参照してください。Oracle WebLogic ServerでのデフォルトのデータベースであるApache Derbyを開発環境で使用している場合、構成ウィザードでデータベースを指定する必要がありません。

47.3.3 本番用のデータベースの構成方法

本番用のデータベースの構成の詳細は、『Oracle Fusion Middleware Oracle Service Busデプロイメント・ガイド』の次の章を参照してください。

- 「単一サーバー・デプロイメントの構成」

- 「クラスタ・デプロイメントの構成」

47.4 メッセージ・レポートを有効にする方法

Oracle Service Busのインストールで提供されるJMSレポート・プロバイダ、またはユーザー独自のレポート・プロバイダからレポート・メッセージを受信するには、まずプロキシ・サービスのメッセージ・フローにレポート・アクションを作成する必要があります。レポート・アクションを使用すると、各メッセージから情報を抽出して、それをOracle Service Busレポート・データ・ストリームに書き込むことができます。レポート・アクションには、メッセージから抽出し、Oracle Service Busのレポート・データ・ストリームに追加する情報を指定する必要があります。

レポート・アクションを構成する場合は、キー値を使用してメッセージからキー識別子を抽出します。複数のキーを構成できます。情報は、メッセージの本文からのみでなく、header変数やinbound変数など、メッセージに関連付けられている他のあらゆる変数からも取り込むことができます。メッセージ変数の詳細は、第39章「メッセージ・コンテキスト」を参照してください。

任意のXML要素をキーとして使用できます。

<?xml version="1.0" encoding="utf-8"?>
<poIncoming>
<areacode>408</areacode>
<item-quantity>100</item-quantity>
<item-code>ABC</item-code>
<item-description>Medicine</item-description>
</poIncoming>

たとえば、図47-3に示すように、キーをitemcode、値を.//item-code(XPath式)、変数をメッセージ本文(body)と指定できます。

図47-3 キー名とキー値

デフォルトのJMSレポート・プロバイダを使用している場合は、キーおよび関連付けられている値が「メッセージのサマリー」表の「レポート・インデックス」列に表示されます。複数のキーを構成した場合は、図47-4に示すように、キーと値の各ペアがカンマで区切られて「レポート・インデックス」列に表示されます。

図47-4キーおよびそれに関連付けられている値の表示

レポート・アクションの作成または「メッセージの概要」ページの表示方法については、Oracle Service Bus管理コンソールの使い方の次の項を参照してください。

- 21.27項「レポート・アクションの追加」

- 28.1項「レポート・メッセージの表示」

47.5 レポート・プロバイダを停止する方法

Oracle Service Busドメインでサーバーの実行中にレポート・プロバイダを停止する場合は、次の手順に従います。

1. Oracle WebLogic Server管理コンソールを起動します。

2. WebLogic Server管理コンソールにログインした後、「ドメイン構造」で「デプロイメント」をクリックします。「デプロイメントのサマリー」ページが表示されます。

3. 「デプロイメント」表で、停止するレポート・プロバイダの横にあるチェックボックスを選択します。

4. 「停止」をクリックし、リストが表示されたら、適切なコマンドを選択します。

5. 「アプリケーション停止アシスタント」ページが表示されたら、「はい」をクリックします。「デプロイメント」表に、レポート・プロバイダの状態が「準備完了」になったことが示されます。

47.6 JMSレポート・プロバイダを割当て解除する方法

デフォルトのOracle Service Bus JMSレポート・プロバイダ(またはカスタム・レポート・プロバイダ)を使用しない場合は、ドメイン内で割当て解除する必要があります。

Oracle Service Busドメインを作成すると、構成ウィザードには、デフォルトで、JMSレポート・プロバイダがターゲットとしてデプロイメント・リストに含まれます。デフォルトのJMSレポート・プロバイダおよび関連付けられたデータ・ソースを割当て解除すると、サーバー起動時の無害なJMSレポート・エラーを回避できます。レポート・プロバイダはデータベースにデータを保持するOracle Service Busのモジュールのみです。

開発環境でレポート・プロバイダを無効にした場合、次のコマンドを使用してドメインを起動すると、Apache Derbyデータベースの起動を安全に抑制できます。

startWebLogic.cmd(.sh) noderby

この項では、レポート・プロバイダの割当て解除の様々なオプションを説明します。

注意:
レポート・プロバイダがなくても、レポート・アクションを定義できます。ただし、データの書込みは行われません。

47.6.1 ドメイン作成前にデフォルトのJMSレポート・プロバイダを割当て解除する方法

ドメインの作成前に、Oracle Fusion Middleware構成ウィザードでデフォルトのJMSレポート・プロバイダを割当て解除するには:

1. 構成ウィザードで、「デプロイメントとサービス」および「JMSファイル・ストア」のオプションの構成を選択します。

2. 後続の関連するウィザードのページで、JMSレポート・プロバイダ・アプリケーションおよびwlsbjmsrpDataSource JDBCシステム・リソースを選択解除します。

ウィザードによってドメインが作成されると、サーバーの起動時にどのリソースも割り当てられません。

47.6.2 JMSレポート・プロバイダを割当て解除する方法(サーバーが実行中の場合)

Oracle Service Busドメインの実行中にレポート・プロバイダを割当て解除するには、次を行います:

1. Oracle WebLogic Server管理コンソールを起動し、ログインします。

2. 左側のパネルの「ドメイン構造」で、「デプロイメント」をクリックします。「デプロイメントのサマリー」ページが表示されます。

3. 「デプロイメント」表で、割当て解除するレポート・プロバイダをクリックします。レポート・プロバイダの設定ページが表示されます。

4. 「ターゲット」タブをクリックします。

5. 適切なチェック・ボックスのチェックをはずします。

6. 「保存」をクリックします。設定が正常に更新されたことを示すメッセージが表示されます。

7. レポート・プロバイダを割当て解除した後で、レポート・プロバイダで使用されているデータ・ソースを次のように割当て解除します。

注意:
この手順は、レポート・プロバイダで独自のデータ・ソースを使用している場合のみ必須です。Oracle Service BusのインストールでデフォルトのJMSレポート・プロバイダを割当て解除するには、次の手順を実行する必要があります。

1. 左側のパネルの「ドメイン構造」で、「サービス」→「JDBC」→「データ・ソース」を選択します。

2. 「JDBCデータ・ソースの概要」ページで、割当て解除するデータ・ソースの名前をクリックします。データ・ソースの設定ページが表示されます。

3. 「ターゲット」タブをクリックします。

4. 適切なチェック・ボックスのチェックをはずします。

5. 「保存」をクリックします。設定が正常に更新されたことを示すメッセージが表示されます。

6. チェンジ・センターの「変更のアクティブ化」をクリックしてこれらの変更をアクティブ化します。

47.6.3 JMSレポート・プロバイダを割当て解除する方法(サーバーが実行されていない場合)

Oracle Service Busドメインが実行されていない場合は、WebLogic Scripting Tool(WLST)を使用して、Oracle Service BusドメインからJMSレポート・プロバイダを削除できます。WLSTの詳細は、『Oracle Fusion Middleware Oracle WebLogic Scripting Tool』を参照してください。

レポート・プロバイダを割当て解除するには、次の手順を実行します:

1. WLSTを使用するための環境をまだ設定していない場合は、『Oracle Fusion Middleware Oracle WebLogic Scripting Tool』の「WebLogic Scripting Toolの使用」の、WLSTを使用するための主な手順に関する項を参照してください。

2. WLST Offlineを起動します。

C:>java com.bea.plateng.domain.script.jython.WLST_offline

3. 構成ウィザードを使用して作成されたドメインを読み取るには、次のコマンドを実行します。

wls:/offline>readDomain("C:/oracle/user_projects/domains/base_domain")

4. レポート・プロバイダ・データ・ソースを割当て解除するには、次のコマンドを実行します。

wls:/offline/base_domain>unassign("JdbcSystemResource", "wlsbjmsrpDataSource", "Target", "AdminServer")

5. レポート・プロバイダ・アプリケーションを割当て解除するには、次のコマンドを実行します。

wls:/offline/base_domain>unassign("AppDeployment", "JMS Reporting Provider", "Target", "AdminServer")

6. ドメインを更新するには、次のコマンドを実行します。

wls:/offline/base_domain>updateDomain()

7. ドメインを閉じるには、次のコマンドを実行します。

wls:/offline/base_domain>closeDomain()

8. WLSTのコマンド・プロンプトを終了するには、次のコマンドを実行します。

wls:/offline>exit()

Oracle Service BusのJMSレポート・プロバイダを割当て解除すると、Oracle Service Bus管理コンソールの「レポート」モジュールにレポート・プロバイダがデプロイされていないことが示されます。

注意:
クラスタでは、JMSレポート・プロバイダはクラスタに割り当てられます。したがって、クラスタでメッセージを表示およびパージするには、少なくとも1つの管理対象サーバーを管理サーバーとともに実行するよう構成する必要があります。管理対象サーバーが実行されていない場合は、レポート・プロバイダが使用できないというメッセージがOracle Service Bus管理コンソールに表示されます。

47.7 Oracle Service Bus管理コンソールの「レポート」モジュールの使用

Oracle Service Bus管理コンソールの「レポート」モジュールには、JMSレポート・プロバイダ・データ・ストアによって収集された情報が表示されます。「レポート」モジュールの最初のページには、抽出された情報と、メッセージがデータベースに書き込まれた時刻やメッセージに関連付けられているサービスなどのその他の情報を含む「メッセージのサマリー」表が表示されます。データをフィルタおよびソートすることで、このページに表示される情報をカスタマイズできます。また、エラー情報など、特定のメッセージに関する詳細情報を表示することもできます。

「レポート」モジュールには、メッセージ・データの管理に役立つパージ機能が用意されています。レポート・データストアからすべてのメッセージをパージしたり、時間範囲に基づいてパージしたりできます。

JMSレポート・プロバイダ・データ・ストアにはデータベースが必要です。Oracle WebLogic Serverとともに、Apache Derbyデータベースの評価版がインストールされます。Derbyは開発環境には使用できますが、本番環境には使用できません。Oracle Service Busでは、他のベンダーのデータベースもサポートされています。JMSレポート・プロバイダ・データ・ストアのホストに使用しているデータベースに対して、標準的なデータベース管理手続きを行ってください。詳細は、47.3項「JMSレポート・プロバイダ・ストア用データベースの構成方法」を参照してください。

「レポート」モジュールの詳細は、第28章「レポート」を参照してください。

47.7.1 メッセージ・レポートの概要の表示

「操作」ナビゲーション・バーの「レポート」モジュールにある「メッセージ・レポート」をクリックすると、「メッセージの概要」ページが表示されます。このページには、データベース・タイム・スタンプでソートされたレポート・メッセージのリストを示す表があります。

図47-5 メッセージの概要

メッセージがフィルタされていない場合、「メッセージのサマリー」表には、データベース・タイム・スタンプに基づいて最大100個の最新メッセージが表示されます。メッセージをフィルタした場合は、最大1000個のメッセージが表示されます。

注意:
フィルタは自動的にリセットされません。フィルタは更新またはリセットするまで有効です。

表47-1は、「メッセージ・レポートのサマリー」に表示される情報を示します。

表47-1 メッセージ・レポートのサマリー

列名

説明

レポート・インデックス

メッセージ・コンテキスト変数またはメッセージ・ペイロードから抽出されたキーと値のペアが表示されます。詳細は、47.2項「JMSレポート・プロバイダについて」を参照してください。

DBタイムスタンプ

メッセージがデータベースに書き込まれた時刻を表示します。

インバウンド・サービス

メッセージに関連付けられているインバウンド・サービスを表示します。サービスの名前をクリックすると、「プロキシ・サービスの表示」ページに移動します。

エラー・コード

メッセージに関連付けられているエラー・コードを表示します(存在する場合)。エラー・コードの詳細は、第24章「プロキシ・サービス: エラー・ハンドラ」を参照してください。

特定のメッセージを検索するには、「メッセージのサマリー」表で「フィルタ」をクリックして、メッセージの表示をフィルタします。

指定した期間のレポート・メッセージをサービス名、エラー・コード、およびレポート・インデックスでフィルタできます。メッセージをフィルタした後、ページのタイトルは、フィルタされたメッセージのサマリーに変わります。「メッセージのサマリー」フィルタの使用については、28.1項「レポート・メッセージの表示」を参照してください。

レポート・メッセージに関する詳細情報を表示するには、「レポート・インデックス」列でメッセージの名前をクリックします。メッセージの詳細表示ページが表示されます。

47.7.2 メッセージの詳細の表示

「メッセージの詳細を表示」ページには、レポート・メッセージに関する詳細情報が表示されます。

表47-2から表47-7では、レポート・メッセージの詳細ページに表示される情報について説明します。

表47-2 全般的な構成のメッセージ情報

メッセージ情報

説明

メッセージID

このメッセージのユニークなID。

データベース・タイムスタンプ

メッセージがデータベースに書き込まれた時刻。

ロギングの時刻

メッセージがレポートされたときのサーバー・マシン上の日付と時刻。

サーバー名

このメッセージが生成されたサーバーの名前。

状態

このメッセージが生成されたパイプラインの状態。パイプラインは、次のいずれかの状態です。

- REQUEST: レポート・アクションがリクエスト・パイプラインで実行されたことを示します。

- RESPONSE: レポート・アクションがレスポンス・パイプラインで実行されたことを示します。

- ERROR: アクションがサービス・レベルのエラー・ハンドラで実行されていました。

ノード名

このメッセージが生成されたパイプライン・ノード。

パイプライン名

このメッセージが生成されたパイプライン。

ステージ名

このメッセージが生成されたステージ。

表47-3 インバウンド・サービスのメッセージ情報

メッセージ情報

説明

名前

このメッセージに関連付けられているインバウンド・プロキシ・サービス。インバウンド・プロキシ・サービスは、クライアント・アプリケーションとメッセージを交換します。この名前は、「プロキシ・サービスの表示」ページにリンクされています。このページの詳細は、20.5.1項「「プロキシ・サービスの表示 - 構成の詳細」ページ」を参照してください。

URI

プロキシ・サービスに関連付けられているURI。

操作

このメッセージに関連付けられているインバウンド操作。操作とは、サービスに関連付けられているメッセージ・フロー内のパイプラインまたはルート・ノードによって実行されるタスクです。

表47-4 アウトバウンド・サービスのメッセージ情報

メッセージ情報

説明

名前

このメッセージに関連付けられているアウトバウンド・ビジネス・サービス。アウトバウンド・ビジネス・サービスは、Oracle Service Busプロキシ・サービスとメッセージを交換します。リンクをクリックすると、「ビジネス・サービスの詳細を表示」ページに移動します。

このページの詳細は、19.5.1項「「ビジネス・サービスの表示 - 構成の詳細」ページ」を参照してください。

URI

アウトバウンド・ビジネス・サービスのエンド・ポイントのURI。

操作

アウトバウンド・サービスで呼び出される操作の名前。操作とは、サービスに関連付けられているメッセージ・フロー内のパイプラインまたはルート・ノードによって実行されるタスクです。

表47-5 レポート・インデックスのメッセージ情報

メッセージ情報

説明

レポート・テキスト索引

メッセージ・コンテキスト変数またはメッセージ・ペイロードから、レポート・アクションによって抽出されたキーと値のペアが表示されます。詳細は、47.2項「JMSレポート・プロバイダについて」を参照してください。

表47-6 フォルトのメッセージ情報

メッセージ情報

説明

エラー・コード

エラーに関連付けられているコード(存在する場合)。詳細は、第24章「プロキシ・サービス: エラー・ハンドラ」を参照してください。

理由

エラーが発生した理由(存在する場合)。

詳細

エラーに関連付けられているエラーの詳細。このような詳細情報(存在する場合)は通常、特定のエラーが発生した場所のスタック・トレースです。スタック・トレースは、データベースのサイズ制限に合わせて切り捨てられる場合があります。上限は2048文字です。

表47-7 レポート本文のメッセージ情報

メッセージ情報

説明

詳細

レポート本文を表示する新しいブラウザ・ウィンドウを開きます。レポート・アクションでXQuery式を使用して、レポート本文のテキストを取り込むことができます。詳細は、21.27項「レポート・アクションの追加」および23.1項「インラインXQueryおよびXPath式の作成と編集」を参照してください。

「詳細」では、レポート本文を表示するブラウザ・ウィンドウを開きます。レポート・アクションでXQuery式を使用して、レポート本文のテキストを取り込むことができます。

47.7.3 レポート・データ・ストアからメッセージをパージする方法

レポート・データストアからすべてのメッセージをパージしたり、時間範囲に基づいてパージすることができます。メッセージのパージは、Oracle Service Bus管理コンソールで行われる非同期プロセスです。この機能により、パージをバックグラウンドで行いながら、Oracle Service Bus管理コンソールの「メッセージの概要」ページを使用できます。

パージの完了に要する時間は、パージ・キューにあるメッセージの数によって異なります。パージ・プロセス中にレポート・メッセージを検索すると、メッセージの削除の速度が低下します。また、一部のデータのパージがまだ完了していない場合、「メッセージの概要」ページに不正なデータが表示されることがあります。

パージ・プロセスは非同期であり、バックグラウンドで行われるため、Oracle Service Bus管理コンソールには、パージを実行中であることを示すメッセージは表示されません。ただし、パージの実行中に別のユーザーがパージを開始しようとすると、次のメッセージが表示されます。

A Purge job is already running. Please try later.

48 ビジネス・サービスのエンドポイントURIの管理

この章では、再試行の構成、応答していないエンドポイントのオフラインへのマーキング、エンドポイントのメトリックの表示、エンドポイントのステータスに基づいたアラートのトリガーを含むOracle Service Busビジネス・サービスでのエンドポイントURIの管理方法について説明します。

エンドポイントURIとは、ビジネス・サービスがアクセスする外部サービスのURLです。Oracle Service Busでは、ビジネス・サービスのエンドポイントURIを1つ以上定義する必要があります。ビジネス・サービスに複数のエンドポイントURIを定義する場合、次のロード・バランシング・アルゴリズムのいずれかを定義する必要があります。

- ラウンド・ロビン

- ランダム

- ランダムな重みベース

- なし

ロード・バランシング・アルゴリズムは、ビジネス・サービスがエンドポイントURIへのアクセスを試行する方法を制御します。エンドポイントURIのステータスは、オンラインまたはオフラインです。詳細は、26.9項「ビジネス・サービスの操作設定の構成」を参照してください。

この章の内容は次のとおりです。

- 48.1項「再試行を実行するためのビジネス・サービスの構成方法」

- 48.2項「応答していないURIをオフラインとしてマークする方法」

- 48.3項「エンドポイントURIをモニターするためのメトリック」

- 48.4項「オフラインのURIをオンラインとしてマークする方法」

- 48.5項「エンドポイントURIのステータスに基づいてアラートを生成する方法」

48.1 再試行を実行するためのビジネス・サービスの構成方法

ビジネス・サービスの再試行オプションを定義できます。再試行オプションでは、ビジネス・サービスが最初の失敗後にエンドポイントURIへのアクセスを試行できる最大回数を指定します。たとえば、エンドポイントURI eu1、eu2およびeu3を使用した場合のビジネス・サービスBの動作を考えてみます。再試行回数は、それぞれ1、2および4に設定しています。

再試行回数 = 1の場合 - ビジネス・サービスBは、リクエストを処理できない場合や、エンドポイントURI eu1にアクセスできない場合、eu2を使用してリクエストを処理しようとします(再試行1)。再試行が失敗した場合には、エラーを返します。ビジネス・サービスは、3番目のエンドポイントURI eu3を試行しません。

再試行回数 = 2の場合 - ビジネス・サービスBは、リクエストを処理できない場合や、エンドポイントURI eu1にアクセスできない場合、eu2を使用してリクエストを処理しようとします(再試行1)。再試行が失敗した場合には、eu3を使用してリクエストを処理しようとします(再試行2)。再試行が失敗した場合には、エラーを返します。

再試行回数 = 4の場合 - ビジネス・サービスBは、リクエストを処理できない場合や、エンドポイントURI eu1にアクセスできない場合、eu2を使用してリクエストを処理しようとします(再試行1)。再試行が失敗した場合には、eu3を使用してリクエストを処理しようとします(再試行2)。次に、再試行の反復間隔に構成した間隔(秒)をおいて、eu1を試行します(再試行3)。これに失敗すると、eu2を再試行します(再試行4)。再試行が失敗した場合には、エラーを返します。

再試行回数を0に設定すると、ビジネス・サービスは、失敗後に再試行を実行しません。

注意:
ビジネス・サービスがエンドポイントを再試行する順序は、ロード・バランシング・アルゴリズムによって制御されます。

48.1.1 アプリケーション・エラー発生時の再試行を抑止する方法

通信エラーやアプリケーション・エラーが発生すると、ビジネス・サービスはリクエストの処理に失敗します。

通信エラーは、様々なネットワークの問題によって発生します。その場合、別のエンドポイントURIを使用してリクエストを再試行すると正常に処理できる可能性があります。アプリケーション・エラーは、リクエストの形式が正しくない場合やエラーが原因で発生します。すべてのエンドポイントは、このエラーを処理できません。その場合、使用したトランスポートに応じて、ビジネス・サービスの「トランスポート構成」ページにある「アプリケーション・エラーの再試行」を「いいえ」に設定することにより、アプリケーション・エラーの再試行動作を無効にできます。

48.2 応答していないURIをオフラインとしてマークする方法

通信エラーは、応答していないURIに対してビジネス・サービスがアクセスを試行するたびに発生します。ビジネス・サービスを構成することにより、応答していないURIをオフラインとしてマークできます。これにより、応答していないURIに対してビジネス・サービスがアクセスを繰返し試行することを防止し、通信エラーを回避します。

これを行うには、ビジネス・サービスの「オフラインのエンドポイントURI」操作設定を有効にする必要があります。次の項の説明に従うことにより、エンドポイントURIを一時的または永続的にオフラインとしてマークできます。

ビジネス・サービスが短い時間間隔で自動的に同じエンドポイントを再試行するようにするには、エンドポイントURIを一時的にオフラインとしてマークします。ユーザーが手動でリセットするまで、ビジネス・サービスがエンドポイントURIをオフラインとして処理するようにするには、エンドポイントURIを永続的にオフラインとしてマークします。

48.2.1 エンドポイントURIを一時的にオフラインとしてマークする方法

指定した時間間隔でビジネス・サービスが自動的に同じエンドポイントを再試行するようにするには、エンドポイントURIを一時的にオフラインとしてマークします。

エンドポイントURIを一時的にオフラインとしてマークするには、ビジネス・サービスの「オフラインのエンドポイントURI」操作設定にある「再試行間隔」の値を指定します。通信エラーが発生すると、エンドポイントURIのステータスは「オフライン」に変更されます。再試行間隔の期間が経過すると、そのビジネス・サービスは新しいリクエストを処理するために、このエンドポイントURIへのアクセスを試行します。この試行が正常に実行された場合、エンドポイントURIは、再びオンラインとしてマークされます。エンドポイントURIにアクセスできなかった場合、再試行間隔の期間、そのURIは再びオフラインとしてマークされ、このサイクルが繰り返されます。

この構成は、通信エラーが一時的であり、自動的に修復する場合に役立つ可能性があります。たとえば、一時的なオーバーロードの場合、通信エラーは発生しますが、エンドポイントは自動的に正常動作に復帰するため、手動で介入する必要はありません。

48.2.2 エンドポイントURIを永続的にオフラインとしてマークする方法

ユーザーが手動でリセットするまで、ビジネス・サービスがエンドポイントURIをオフラインとして処理するようにするには、エンドポイントURIを永続的にオフラインとしてマークします。

エンドポイントURIを永続的にオフラインとしてマークするには、ビジネス・サービスの「オフラインのエンドポイントURI」操作設定にある「再試行間隔」の値を、0時間0分0秒に指定します。通信エラーが発生すると、エンドポイントURIのステータスは「オフライン」に変更され、エンドポイントURIを再びオンラインとしてマークするまでオフラインに保持されます。

詳細は、26.9項「ビジネス・サービスの操作設定の構成」および第46章「実行時のOracle Service Busのモニター」を参照してください。

この構成は、手動介入によって解決する必要があるエンドポイントURIの問題に起因する通信エラーが発生した場合に役立ちます。

48.3 エンドポイントURIをモニターするためのメトリック

Oracle Service Bus管理コンソールまたはJMXモニタリングAPIを使用してメトリックをモニターできます。Oracle Service Bus管理コンソールの使用の詳細は、46.5.1項「Oracle Service Bus管理コンソールからサービス統計にアクセスする方法」を参照してください。JMXモニタリングAPIの使用方法については、付録D「JMXモニタリングAPI」を参照してください。

Oracle Service Bus管理コンソールでは、サービスの「サービスのモニターの詳細」ページにある「エンドポイントURI」タブでエンドポイントURIのメトリックを使用できます。回数、レスポンス時間、エンドポイントURIのステータスなどのメトリックがあります。

このビューに表示される統計の詳細は、26.15項「ビジネス・サービスのエンドポイントURIのメトリックの表示」を参照してください。

エンドポイントURIは、URIステータス統計とURIレベル統計を使用してモニターできます。次に、エンドポイントURIをモニターする際に予期される動作を示します。

- 統計は、ビジネス・サービスのモニターを有効にしている場合のみ取得できます。

- サービスの名前変更や移動を行うと、URIレベル統計がリセットされます。

- 集約間隔を変更すると、URIステータスを除くすべてのURIレベル統計がリセットされます。

- サービスの統計をリセット(またはすべての統計をリセット)すると、URIステータスを除くすべてのURIレベル統計がリセットされます。

- 新しいURIを既存のビジネス・サービスに追加すると、その新しいURIのメトリックが自動的に収集されます。

48.3.1 エンドポイントURIのステータス

Oracle Service Bus管理コンソールのステータス統計は、エンドポイントURIがオンラインであるか、オフラインであるかを示します。JMXモニターリングAPIを使用してエンドポイントURIのステータスを取得することもできます。表48-1は、考えられるエンドポイントURIの状態についての説明です。

表48-1 エンドポイントURIのステータス

ステータス

説明

オンライン

特定のサーバーのURIがオンラインであることを示します。クラスタでは、すべてのサーバーのURIがオンラインであることを示します。

オフライン

特定のサーバーのURIがオフラインであることを示します。クラスタでは、すべてのサーバーのURIがオフラインであることを示します。

部分的

クラスタ内の1つ以上のサーバーがそのURIについて問題を報告していることを示します。このメトリックは、クラスタだけに使用できます。

注意:
URIが複数のビジネス・サービスに関連付けられている場合、同じエンドポイントURIのステータスがビジネス・サービスごとに異なる可能性があります。

48.3.2 エンドポイントURIのパフォーマンス・メトリック

エンドポイントURIのパフォーマンス・メトリックでは、特定のエンドポイントで処理されたメッセージの数、失敗の数、およびそのレスポンス時間に関する情報が提供されます。次のメトリックは、エンドポイントURIのモニター用に使用できます。

- メッセージ数

- エラー数

- 平均レスポンス時間

- 最小レスポンス時間

- 最大レスポンス時間

これらの統計の詳細は、26.15項「ビジネス・サービスのエンドポイントURIのメトリックの表示」を参照してください。

次に、エンドポイントURIの統計の重要な特性を示します。

- 統計は、ビジネス・サービスのモニターを有効にしている場合のみ取得できます。

- サービスの名前変更や移動、または集約間隔の変更を行うと、URIレベル統計がリセットされます。

- 新しいURIを既存のビジネス・サービスに追加すると、その新しいURIのメトリックが自動的に収集されます。

48.4 オフラインのURIをオンラインとしてマークする方法

Oracle Service Bus管理コンソールを使用するか、パブリックAPIを使用することにより、オフラインのエンドポイントURIをオンラインとしてマークできます。

Oracle Service Bus管理コンソールでは、「サービスのモニターの詳細」ページから、オフラインのエンドポイントURIをオンラインとしてマークできます。「エンドポイントURI」タブの「アクション」列にある「クリックすると、このエンドポイントURIがオンラインとしてマークされます」アイコンをクリックします。詳細は、26.15項「ビジネス・サービスのエンドポイントURIのメトリックの表示」を参照してください。

次の場合には、すべてのエンドポイントURIがオンラインとしてマークされます。

- それらをビジネス・サービスに追加する

- サーバーを再起動する

- 無効になっているサービスを有効にする

- サービスの名前変更または移動する

- 構成した再試行間隔の期間が経過すると、ビジネス・サービスはuriに正常にアクセスできます。

APIを使用して、オフラインのエンドポイントURIをオンラインとしてマークすることもできます。この方法は、ビジネス・サービスのモニターを有効にしていないが、そのエンドポイントURIをオンラインとしてマークする必要がある場合に役立ちます。詳細は、Oracle Fusion Middleware Oracle Service Bus Java APIリファレンスの、com.bea.wli.monitoring.ServiceDomainMBeanに関する項を参照してください。

クラスタ・ドメインのエンドポイントURIをオンラインとしてマークすると、すべての管理対象サーバーのエンドポイントURIがオンラインとしてマークされます。

48.5 エンドポイントURIのステータスに基づいてアラートを生成する方法

エンドポイントURIにアクセスできない場合、アクセスを試行しているビジネス・サービスは通信エラーを受け取ります。

応答していないURIをオフラインとして取得するようにビジネス・サービスを構成する(48.2項「応答していないURIをオフラインとしてマークする方法」を参照)だけでなく、応答していないURIがシステムによって検出された場合にアラートを発生させることができます。これを行うには、エンドポイントURIのステータスに基づいたSLAアラート・ルールを構成します。

48.5.1 エンドポイントURIのステータスに基づいたアラート・ルールの構成方法

エンドポイントURIのステータスに基づいてビジネス・サービスのアラート・ルールを構成できます。26.23.1項「アラート・ルールの全般的な情報の構成」の説明に従ってタスクを完了します。

次に、図48-1に示すように、「アラート・ルール条件の構成」ページで次のタスクを完了します。

図48-1 「アラート・ルール条件の構成」ページ

1. 「アラート・ルール条件の構成」ページの「単純な式」セクションで、最初のリストの「ステータス」を選択します。
エンドポイントURIのステータスに基づくアラート・ルール条件は、次の内容で構成されます。

2. 状態移行句 - 状態移行句では、特定のエンドポイントURIまたはすべてのエンドポイントURIの状態がオンラインからオフライン(またはオフラインからオンライン)に変更されたときの通知がサポートされます。通知の作成対象のステータスを識別するには、次のオプションのいずれかを選択します。

- オフラインのすべてのURI

- オンラインのすべてのURI

- オフラインの特定のURI

- オンラインの特定のURI

たとえば、1つは「オフラインのすべてのURI = True」条件、もう1つは「オフラインの特定のURI = True」条件に基づいた2つのアラート・ルールが構成されているビジネス・サービスを考えてみます。「オフラインのすべてのURI = True」条件に基づいてアラートが生成されている場合、この状態が解決されるまでこのサービスに対するすべてのリクエストが失敗する可能性が高いため、これは重大な問題を示します。

しかし、「オフラインの特定のURI = True」に基づいてアラートが生成されている場合、これは、他のエンドポイントURIが応答するために以降のリクエストが失敗しない可能性があることを示します。

注意:
すべてのアラート・ルールは、単独で評価されます。同じビジネス・サービスに対して両方(特定またはすべてのURI)の句に基づくアラートを構成すると、最後のエンドポイントURIをオフラインとしてマークするときに両方のアラートが同時に生成される可能性があります。
ビジネス・サービスがURIを1つのみ持つ場合、「オフラインのすべてのURI = True」句と「オフラインの特定のURI = True」句は同じことを意味し、同じように動作します。

オフラインからオンラインへの移行に基づくアラート・ルール条件の評価は、再度オンライン状態としてマークされている特定またはすべてのエンドポイントURIを追跡する場合を除き、同じように動作します。

3. サーバー句 - サーバー句では、特定のサーバーまたはすべてのサーバーで状態の移行が発生したときのアラート・トリガーを指定できます。サーバー句は、複数の管理対象サーバーを持つクラスタ・ドメイン内でのみ意味を持ちます。式を作成するには、次のいずれかのオプションを選択します。

- すべてのサーバーで評価する

- 特定のサーバーで評価する

管理対象サーバーをホストしているコンピュータでは、ネットワークの問題に起因する通信エラーが発生する可能性があります。ビジネス・サービスは、このようなイベントについては、(アクセスしているリモート・エンドポイントが応答していても)エンドポイントURIが応答していないと解釈します。エンドポイントURIが応答していないために、通信エラーが発生する場合もあります。

最初のケースでは、URIは、(ネットワークの問題があるコンピュータ上の)1つのサーバーでのみオフラインとしてマークされ、クラスタ内のその他のサーバーではすべてオンラインとしてマークされます。「特定のサーバーで評価する」句に基づくアラート条件ではアラートが生成されますが、「すべてのサーバーで評価する」句に基づくアラート条件ではアラートは生成されません。

2番目のケースでは、URIは、すべての管理対象サーバーでオフラインとしてマークされます(各サーバーがそのエンドポイントへのアクセスを試行するたびに1つずつマークされます)。各管理対象サーバーがエンドポイントURIをオフラインとしてマークするたびに、「特定のサーバーで評価する」に基づくアラート・ルール条件が満たされ、アラートが生成されます。クラスタ・ドメイン内の最後のサーバーのエンドポイントURIをオフラインとしてマークすると、「すべてのサーバーで評価する」に基づくアラート・ルール条件も満たされ、このアラートも生成されます。

注意:
すべてのアラート・ルールは、単独で評価されます。同じビジネス・サービスに対して両方(特定またはすべてのサーバー)句に基づくアラートを構成すると、クラスタ内の最後のサーバーのエンドポイントURIをオフラインとしてマークするときに両方のアラートが同時に生成される可能性があります。
単一サーバー・ドメインでは、「特定のサーバーで評価する」句と「すべてのサーバーで評価する」句は同じことを意味し、同じように動作します。

システムのアラート・ルールを設計する際には、要件に従って句の組合せを1つ以上選択する必要があります。

条件のいずれか1つを「True」または「False」に設定する必要があります。これらの条件は、クラスタ内のすべてのサーバーまたは特定のサーバーに対して評価できます。

注意:
URIのステータスが頻繁に変更される場合にトリガーされたアラートを見逃さないように、URIのステータスに基づくアラート・ルールの集約間隔を1分に設定することをお薦めします。集約間隔の詳細は、46.2項「集約間隔」を参照してください。

49 実行トレース

この章では、Oracle Service Bus管理コンソールのサービスの実行トレースを有効化および使用する方法について説明します。

Oracle Service Busでは、サーバーを停止することなくメッセージをトレースできます。これは、開発環境でも本番環境でも役立つ機能です。管理者、エンジニア、およびシステム・エンジニアは、実行トレース機能を使用して、1つまたは複数のプロキシ・サービスのメッセージ・フローを診断したりトラブルシューティングすることができます。

たとえば、1つのプロキシ・サービスに障害が発生したときにどのステージに問題があるのかを調べるには、そのプロキシ・サービスの実行トレースを有効にします。トレースを有効にすると、ステージ名、パイプラインの名前、ルート・ノード名などの様々な詳細情報が、システムによってメッセージ・フローから抽出され、ログに記録されます。

ヘッダーとメッセージ本文を含むメッセージ・コンテキスト全体も出力されます。メッセージ・フローでフォルトが発生した場合は、エラー・コードや理由などの詳細もログに記録されます。実行トレースは、メッセージ・フローのステージ、パイプライン、およびノードを含む各コンポーネントの最初と最後に行われます。アクションは個別にはトレースされません。

49.1 実行トレースを有効または無効にする方法

Oracle Service Bus管理コンソールの「プロキシ・サービスの表示」ページから、実行トレースを有効にできます。

注意:
ログ・ファイルまたは標準出力(サーバー・コンソール)にトレースを表示するには、Oracle WebLogic Serverのロギングを次の重大度に設定する必要があります。

- ログの最低の重大度: 情報

- ログ・ファイル: 情報

- 標準出力: 情報

ログの重大度の設定の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverログ・ファイルの構成とログ・メッセージのフィルタ処理』のログの重大度の使用に関する説明を参照してください。

実行トレースを構成するには、次の手順を実行します。

1. 必要なプロキシ・サービスを選択します。プロキシ・サービスの検索方法の詳細は、27.1.2項「プロキシ サービスの検索」を参照してください。

2. 「操作設定」タブで、実行トレースの「有効」オプションを選択します。

注意:
すべてのプロキシ・サービスで実行トレースを有効にするには、「スマート検索」を使用して、すべてのプロキシ・サービスを検索します。すべてのプロキシ・サービスが表示された状態で、「Exe.Tracing」オプションを表の先頭で選択します。

3. 「更新」をクリックし、セッションをアクティブ化します。

プロキシ・サービスの実行トレース・ステータスは、「プロキシ・サービスの表示」ページ、「すべてのサービスのサマリー」表、および「プロキシ・サービスのサマリー」表の「操作設定」タブで確認できます。「すべてのサービスのサマリー」の詳細は、51.3項「すべてのサービスの操作設定の管理」を参照してください。「プロキシ・サービスのサマリー」の詳細は、51.4項「プロキシ・サービスの操作設定の管理」を参照してください。

49.2 トレース情報にアクセスする方法

トレース情報は、次に示すサーバー・ディレクトリのログに記録されます。

DOMAIN_HOME/domain/servers/server_name/logs/server_name.log

図49-1は、トレース・ログのサンプルです。

図49-1 トレース・ログの例

注意:
サーバー・ログの実行トレース・パターンはテスト・コンソールの実行トレースと同じになります。テスト・コンソールのトレースの詳細は、33.1.4項「プロキシ・サービスのトレース」を参照してください。

50 スロットル

この章では、Oracle Service Busのスロットを有効化および使用する方法について説明します。

スロットはビジネス・サービスへのメッセージ・トラフィック量を制御し、通信量の多いビジネス・サービスにおけるメッセージのオーバーロードを回避することでパフォーマンスの向上と安定性を改善する際に役立ちます。

この章の内容は次のとおりです。

- 50.1項「スロットルを有効にする方法」

- 50.2項「スロットルの操作設定」

- 50.3項「スロットルに使用できるメトリック」

- 50.4項「スロットル・メトリックにアクセスする方法」

- 50.5項「アラートのスロットル・メトリックを使用する方法」

- 50.6項「複数のエンドポイントURIを使用するビジネス・サービスのスロットルの使用方法」

50.1 スロットルを有効にする方法

ビジネス・サービスのスロットルは、「ビジネス・サービスの表示」ページの「操作設定」タブから有効にする必要があります。このタブの「スロットル」で、「スロットルの状態」の「有効化」チェック・ボックスを選択します。ビジネス・サービスのスロットルを有効にする際には、「最大同時実行性」の値を指定する必要があります。ビジネス・サービスに対する「スロットル・キュー」および「メッセージの有効期限」を指定する必要もあります。詳細は、50.2項「スロットルの操作設定」および26.9項「ビジネス・サービスの操作設定の構成」を参照してください。

表50-1は、スロットルにおける重要な定義を示します。

表50-1 重要な定義

用語

定義

スロットル・キュー

ビジネス・サービスが最大同時実行性の値に達したときにメッセージが格納される優先キュー。優先度が高いメッセージから処理が実行されます。優先度が同じである場合は、先入れ先出し方式で処理されます。メッセージの優先度は、ルーティング・オプションを使用して割り当てることができます。

注意:

- メッセージの優先度は、優先度の整数が大きいほど高くなります。

- ビジネス・サービスに対して、1つのキーだけを構成できます。

スロットル・キューは、インメモリー・キューです。このキューに置かれているメッセージは、サーバー障害が発生した場合やサーバーを起動した場合に回復できません。

ビジネス・サービスの削除または名前変更を行うと、スロットル・キュー内のすべてのメッセージが破棄されます。

メッセージの優先度

スロットル・キューに置かれているメッセージの優先度。

期限切れのメッセージ

メッセージの有効期限の値を超える期間、スロットル・キューに置かれているメッセージ。メッセージの有効期限の詳細は、表50-2を参照してください。

50.2 スロットルの操作設定

表50-2は、スロットルの操作設定を示します。

表50-2 スロットルの操作設定

操作設定

使用目的

スロットルの状態

ビジネス・サービスのスロットルを有効または無効にします。

注意: 実行時にビジネス・サービスのスロットルを無効にすると、スロットル・キュー内のすべてのメッセージはスロットルを使用せずに処理されます。

最大同時実行性

ビジネス・サービスで同時に処理できるメッセージ数を制限します。この値は、正の整数でなければなりません。このしきい値に達すると、このビジネス・サービスに対するすべての着信メッセージは、ビジネス・サービスがさらにメッセージを受け取れる状態になるまで、スロットル・キューに置かれます。

この設定を変更すると、新しいメッセージとキュー内に既に存在するメッセージの両方に影響します。値を大きくすると、Oracle Service Busランタイムにより、キュー内のメッセージの処理後に、より多くのメッセージをビジネス・サービスに送信できるようになります。値を小さくすると、同時実行性の設定値が新しいしきい値を下回るまで、新しいメッセージはすべてスロットル・キューに置かれます(スロットル・キューを定義している場合)。スロットル・キューを定義していない場合、メッセージは破棄されます。

クラスタ環境では、ビジネス・サービスで同時に処理できるメッセージの数は、管理対象サーバー間で均等に分割されます。

注意: この操作設定は、ビジネス・サービスに対してスロットルを有効にしている場合にのみ設定できます。

スロットル・キュー(操作設定)

スロットル・キュー内のメッセージの数を制限します。スロットル・キューの長さは、正の整数でなければなりません。ビジネス・サービスに対する最大同時実行制約の値を超える着信メッセージは、すべてスロットル・キューに配置されます。キューが一杯になると、キュー内で最も優先度の低いメッセージは、より高い優先度を持つ新しい着信メッセージの発生時に削除されます。

この長さを0に設定した場合、ビジネス・サービスにスロットル・キューがないことを示します。

この設定に対するすべての変更は、動的に実装されます。この設定の値を小さくすると、新しい長さを超えるメッセージはすべて破棄されます。

注意: この操作設定は、ビジネス・サービスに対してスロットルを有効にしている場合にのみ設定できます。

クラスタ環境では、この設定値は、管理対象サーバー間で均等に分割されます。

メッセージの有効期限

ビジネス・サービスのスロットル・キューに置かれたメッセージの最大保持時間(ミリ秒単位)を制限します。この値は、正の整数でなければなりません。この時間が経過すると、メッセージはキューから削除されます。このようなメッセージは、期限切れのメッセージと呼ばれます。

サービスに対するメッセージの有効期限を0に設定すると、このサービスのスロットル・キュー内のメッセージは期限切れになりません。

この設定の値を大きくすると、新しいメッセージとキュー内に既に存在するメッセージの有効期限が延長されます。この設定の値を小さくすると、新しい値を超えたすべてのメッセージは即時に破棄されます。

注意: この操作設定は、ビジネス・サービスに対してスロットルを有効にしている場合にのみ設定できます。

50.3 スロットルに使用できるメトリック

表50-3は、スロットルに使用できるメトリックを示します。

表50-3 スロットルのメトリック

メトリック

説明

最大スロットル時間

スロットル・キュー内のすべてのメッセージの最大保持時間(ミリ秒単位)。ビジネス・サービスのこの値が0よりも大きい場合、メッセージはそのビジネス・サービスのキューに置かれます。

最小スロットル時間

スロットル・キュー内のすべてのメッセージの最小保持時間(ミリ秒単位)。この値が0に等しい場合、一部のメッセージはスロットル・キューに置かれません。

平均スロットル時間

スロットル・キュー内のすべてのメッセージの平均保持時間(ミリ秒単位)。

スロットルのメトリックの詳細は、50.4項「スロットル・メトリックにアクセスする方法」を参照してください。

50.4 スロットル・メトリックにアクセスする方法

スロットルのメトリックには、Oracle Service Bus管理コンソールの「サービスのモニターの詳細」ページにある「サービス」タブからアクセスできます。現在の集約間隔および最後のリセット以降の間隔に対するメトリックを取得できます。詳細は、46.5.1項「Oracle Service Bus管理コンソールからサービスの統計にアクセスする方法」を参照してください。

JMXモニタリングAPIを使用してメトリックにアクセスすることもできます。詳細は、46.9.3項「ダッシュボードでのSLAアラートの表示」を参照してください。

50.5 アラートのスロットル・メトリックを使用する方法

SLAアラート・ルールは、スロットルのメトリックに基づいて定義できます。つまり、平均スロットル時間に基づいてアラート・ルールを定義できます。詳細は、26.23項「アラート・ルールの作成と編集」を参照してください。

50.6 複数のエンドポイントURIを使用するビジネス・サービスのスロットルの使用方法

このトピックでは、複数のエンドポイントURIを使用するビジネス・サービスのスロットルを使用する方法について説明します。

Oracle Service Busでは、ビジネス・サービスを複数のエンドポイントURIに関連付けることができます。エンドポイントURIの詳細は、第48章「ビジネス・サービスのエンドポイントURIの管理」を参照してください。ビジネス・サービスを複数のURIに関連付ける際には、個々のURIではなく、そのビジネス・サービスの最大同時実行性を構成する必要があります。各URIの最大同時実行性は、全体の最大同時実行性とロード・バランシングの重みにより、次の数式に基づいて内部的に設定されます。

URI-specific max_concurrency = [User configured max_concurrency] X [weight]

たとえば、3つのエンドポイントURI eu1、eu2およびeu3を使用するビジネス・サービスBを考えてみます。ロード・バランシング・アルゴリズムは、ランダムな重みベースであると定義されます。URIの重みは、それぞれ1、2および3です。ビジネス・サービスの最大同時実行性を10と定義したと仮定すると、URI固有の最大同時実行性は、10、20および30です。また、ビジネス・サービスBの有効最大同時実行性は60です。重みが3の最終エンドポイントURIがオフライン状態である場合、このビジネス・サービスの有効最大同時実行性は30です。

注意:
ロード・バランシングがラウンド・ロビンまたはランダムに設定されている場合のURIの重みは1です。また、ロード・バランシングがなしに設定されている場合、プライマリURIの重みは1で、バックアップURIの重みは0です。プライマリURIがオフライン状態になると、バックアップURIの重みは1になります。
スロットルは、ルーティング・オプションでエンドポイントURIがオーバーライドされているメッセージには適用されません。また、セッション固定が有効になっている場合は、メッセージにもスロットルが使用されません。

50.6.1 スロットル使用時に再試行されたメッセージの処理

サービスに対してフェイルオーバーが有効である場合、再試行されたメッセージにはスロットルは適用されません。メッセージは、スロットルの操作設定にかかわらず、その次のURIに送信されます。

スロットル・キューが一杯になっているため、またはサービスが最大同時実行性の値に達しているために、期限切れになったり破棄されたメッセージは再試行されません。

51 スマート検索を使用した操作設定の管理

この章では、Oracle Service Busのスマート検索の使用方法について説明します。スマート検索では、プロキシ・サービス、ビジネス・サービス、サービス・レベル合意(SLA)の違反に対するアラート・ルール、アラート宛先などのリソースの検索と管理を行うことができます。

スマート検索を使用すると、Oracle Service Busのロールに関係なく、さまざまな条件に基づいてリソースを検索できます。Oracle Service Busの各ロールで実行できるタスクの詳細は、第45章「Oracle Service Busのロール」を参照してください。

また、検索の結果を使用して、サービス・レベルの操作設定を変更できます。操作設定を実際に有効または無効にするには、グローバル・レベルおよびサービス・レベルの両方で設定を有効または無効にする必要があります。詳細は、46.7.1項「サービスの操作設定の構成方法」を参照してください。

スマート検索は、「操作」ナビゲータ・バーの「構成」モジュールからアクセスできます(図51-1を参照)。

図51-1 スマート検索へのアクセス

Oracle Service Busでは、基本検索と詳細検索という2つのレベルのスマート検索を使用できます。基本検索では、基本条件であるタイプ、名前、およびパスを使用して検索できます。詳細検索では、追加のフィルタを使用して、各種の検索をカスタマイズできます。次の項で説明します。

- 51.1項「基本検索の使用」

- 51.2項「詳細検索の使用」

- 51.4項「プロキシ・サービスの操作設定の管理」

- 51.5項「ビジネス・サービスの操作設定の管理」

- 51.6項「分割-結合の操作設定の管理」

- 51.7項「アラート宛先の操作設定の管理」

- 51.8項「SLAアラート・ルールの操作設定の管理」

51.1 基本検索の使用

基本検索では、リソース・タイプ、リソース名などの基本条件を使用してリソースを検索できます。表51-1は、検索機能で使用できる基本条件を示します。

表51-1 基本検索の条件

条件

使用方法

種類

この検索条件は必須です。「タイプ」フィールドを使用して、リソースのタイプを指定します。このフィールドには、次のオプションがあります。

- 「すべてのサービス」: プロキシ・サービスとビジネス・サービスの両方を検索するときに選択します。

- 「プロキシ・サービス」: プロキシ・サービスのみを検索するときに選択します。

- 「ビジネス・サービス」: ビジネス・サービスのみを検索するときに選択します。

- 「アラート宛先」: アラート宛先を検索するときに選択します。

- 「SLAアラート・ルール」 : SLAアラート・ルールを検索するときに選択します。

注意: 指定したタイプのリソースをすべて表示するには、「タイプ」フィールドでリソース・タイプを選択し、「すべて表示」をクリックします。

名前

オプション。検索するリソースの名前を入力します。

パス

オプション。「パス」フィールドに、リソースの場所(パス)を入力します。

これらの条件の1つまたは組合せを使用できます。

51.2 詳細検索の使用

追加条件で検索を構成する場合は、詳細検索を使用します。詳細検索フィルタを使用するには、「詳細検索フィルタを開く」アイコンをクリックします。次の項では、スマート検索機能の詳細検索フィルタを使用して操作設定を管理する方法について説明します。

51.3 すべてのサービスの操作設定の管理

スマート検索のフィルタを使用して、Oracle Service Bus管理コンソールでプロキシ・サービスやビジネス・サービスを検索できます。この項では、プロキシ・サービスとビジネス・サービスの検索、表示、および編集について説明します。

51.3.1 検索フィルタを使用したサービスの検索

表51-2は、詳細フィルタを使用したプロキシ・サービスとビジネス・サービスの検索のカスタマイズを示します。

表51-2 詳細フィルタを使用したプロキシ・サービスとビジネス・サービスの検索

フィルタ

使用方法

サービスの状態

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

サービスのモニター

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

サービスのSLAアラート

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

サービスのメッセージ・トレース

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

設定した条件を使用してすべてのサービスを検索する場合は「検索」をクリックし、すべてのサービスを表示する場合は「すべて表示」をクリックします。

51.3.2 操作設定の表示と編集

プロキシ・サービスやビジネス・サービスの検索結果は、「すべてのサービスのサマリー」表で確認できます。

この表を使用して、ビジネス・サービスやプロキシ・サービスのサービス、モニター、およびSLAアラート機能を有効または無効にします。また、この表を使用すると、プロキシ・サービスのメッセージ・トレース、パイプライン・アラート、メッセージ・レポート、実行トレース、およびパイプライン・ロギングを有効または無効にできます。有効または無効にするには、適切なフィールドのチェック・ボックスを選択し、「更新」をクリックします。

これらの設定による実行時の影響は、グローバル・レベルでの対応する設定にも依存します。グローバル設定の詳細は、46.7.2項「グローバル・レベルの操作設定の構成方法」を参照してください。この表を使用すると、1つ以上のサービスの情報を同時に更新できます。

すべてのサービスに対して次の情報が表示されます。

表51-3 すべてのサービスの概要について

プロパティ

説明

名前

サービスに割り当てられた名前。名前は、「プロキシ・サービスの表示」ページ(プロキシ・サービスの場合)または「ビジネス・サービスの表示」ページ(ビジネス・サービスの場合)にリンクされています。

パス

サービスに関連付けられたプロジェクト。サービスがプロジェクト・フォルダにある場合は、そのフォルダも表示されます。パスは次の形式で表示されます。

プロジェクト名/ルート・フォルダ/ . . ./親フォルダ

このパスは「プロジェクト・エクスプローラ」の対応するパスにリンクされています。

種類

親サービスのタイプ:プロキシ・サービスまたはビジネス・サービス。

状態

サービスの状態 - 有効または無効。

モニター

サービスのモニターのステータス。有効または無効、および有効なレベル:

- サービスのモニター

- パイプラインのモニター

- アクションのモニター

SLAアラート

SLAアラートのステータス。有効または無効、および有効なレベル:

- 通常(N)

- 警告(W)

- 軽度(Mn)

- 重度(Mj)

- 重大(C)

- 致命的(F)

Msg.トレース

メッセージ・トレースのステータス: 有効または無効。

パイプライン・アラート

プロキシ・サービス専用。

パイプライン・アラートのステータス: 有効または無効、および有効なレベル

- 通常(N)

- 警告(W)

- 軽度(Mn)

- 重度(Mj)

- 重大(C)

- 致命的(F)

レポート

プロキシ・サービス専用。

サービスのメッセージ・レポートのステータス: 有効または無効。

ログ

プロキシ・サービス専用。

ロギングのステータス: 有効または無効、および有効な重大度(デバッグ(D)、情報(I)、警告(W)、または エラー(E))。

Exe.トレース

プロキシ・サービスおよび分割-結合専用。

トレースのステータス: 有効または無効。

キャッシュ

ビジネス・サービス専用。結果キャッシュが有効か無効か。

アクション

プロキシ・サービスの場合: 「メッセージ・フローの表示」アイコンはプロキシ・サービスのパイプラインにリンクされています。

「リセット」をクリックすると、概要表の変更が破棄され、現在保存されている設定でページが更新されます。

注意:
ロールの権限に応じて操作設定を編集できます。ロールの詳細は、第45章「Oracle Service Busのロール」を参照してください。

51.4 プロキシ・サービスの操作設定の管理

スマート検索のフィルタを使用して、Oracle Service Bus管理コンソールでプロキシ・サービスを検索できます。この項では、プロキシ・サービスの検索、表示、および編集について説明します。

51.4.1 検索フィルタを使用したプロキシ・サービスの検索

表51-4は、詳細フィルタを使用したプロキシ・サービスの検索のカスタマイズを示します。

表51-4 詳細フィルタを使用したプロキシ・サービスの検索

フィルタ

使用方法

状態

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

モニター

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

SLAアラート

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

メッセージ・トレース

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

パイプライン・アラート

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

レポート

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

ログ

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

実行トレース

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

設定した条件を使用してすべてのプロキシ・サービスを検索する場合は「検索」をクリックし、すべてのサービスを表示する場合は「すべて表示」をクリックします。

51.4.2 操作設定の表示と編集

プロキシ・サービスの検索結果は、「プロキシ・サービスのサマリー」表で確認できます。

「プロキシ・サービスのサマリー」には、「状態」、「モニター」、「SLAアラート」、「メッセージ・トレース」、「パイプライン・アラート」、「レポート」、「ログ」、「実行トレース」、「パス」、「タイプ」、「名前」および「アクション」が表示されます。「プロキシ・サービスのサマリー」に表示されるフィールドの詳細は、51.3.2項「操作設定の表示と編集」を参照してください。

この表を使用して、プロキシ・サービス、モニター、SLAアラート、メッセージ・トレース、パイプライン・アラート、メッセージ・レポート、パイプライン・ロギング、および実行トレースを有効または無効にします。有効または無効にするには、適切なフィールドのチェック・ボックスをクリックし、「更新」をクリックします。これらの設定による実行時の影響は、グローバル・レベルでの対応する設定にも依存します。グローバル設定の詳細は、46.7.2項「グローバル・レベルの操作設定の構成方法」を参照してください。この表を使用すると、1つ以上のプロキシ・サービスの情報を同時に更新できます。

「リセット」をクリックすると、概要表の変更が破棄され、現在保存されている設定でページが更新されます。

注意:
ロールの権限に応じてパイプライン・メッセージ・フローを編集できます。ロールの詳細は、第45章「Oracle Service Busのロール」を参照してください。

51.5 ビジネス・サービスの操作設定の管理

スマート検索のフィルタを使用して、Oracle Service Bus管理コンソールでビジネス・サービスを検索できます。この項では、ビジネス・サービスの検索、表示、および編集について説明します。

51.5.1 検索フィルタを使用したビジネス・サービスの検索

表51-5は、ビジネス・サービスの検索をカスタマイズするために使用できるフィルタを示します。

表51-5 詳細フィルタを使用したビジネス・サービスの検索

フィルタ

使用方法

サービスの状態

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

モニター

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

SLAアラート

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

メッセージ・トレース

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

キャッシュ

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

設定した条件を使用してすべてのサービスを検索する場合は「検索」をクリックし、すべてのサービスを表示する場合は「すべて表示」をクリックします。

51.5.2 操作設定の表示と編集

ビジネス・サービスの検索結果は、「ビジネス・サービスのサマリー」表で確認できます。

「ビジネス・サービスのサマリー」には、「状態」、「モニター」、「SLAアラート」、「メッセージ・トレース」、「名前」、「パス」および「タイプ」が表示されます。「ビジネス・サービスのサマリー」に表示されるフィールドの詳細は、51.3.2項「操作設定の表示と編集」を参照してください。

この表を使用して、サービス、モニター、SLAアラート、およびメッセージ・トレースを有効または無効にします。有効または無効にするには、適切なフィールドのチェック・ボックスを選択し、「更新」をクリックします。これらの設定による実行時の影響は、グローバル・レベルでの対応する設定にも依存します。グローバル設定の詳細は、46.7.2項「グローバル・レベルの操作設定の構成方法」を参照してください。この表を使用すると、1つ以上のビジネス・サービスの情報を同時に更新できます。

「リセット」をクリックすると、概要表の変更が破棄され、現在保存されている設定でページが更新されます。

注意:
ロールの権限に応じてビジネス・サービスの操作設定を編集できます。ロールの詳細は、第45章「Oracle Service Busのロール」を参照してください。

51.6 分割-結合の操作設定の管理

スマート検索のフィルタを使用して、Oracle Service Bus管理コンソールで分割-結合を検索できます。この項では、分割-結合の検索、表示、および編集について説明します。

51.6.1 検索フィルタを使用した分割-結合の検索

表51-6は、分割-結合の検索をカスタマイズするために使用できるフィルタを示します。

表51-6 詳細フィルタを使用した分割-結合の検索

フィルタ

使用方法

ログ

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

実行トレース

「有効」または「無効」を選択します。このフィルタを無視する場合は、「すべて」を選択します。

設定した条件を使用してすべてのサービスを検索する場合は「検索」をクリックし、すべてのサービスを表示する場合は「すべて表示」をクリックします。

51.6.2 操作設定の表示と編集

分割-結合の検索結果は、「分割-結合のサマリー」表で確認できます。

「分割-結合のサマリー」には、「名前」、「パス」、「タイプ」、「ログ」および「実行トレース」が表示されます。この表を使用して、分割-結合構成の詳細を表示し、操作設定を変更し、ログおよび実行トレースを有効または無効にします。有効または無効にするには、適切なフィールドのチェック・ボックスを選択し、「更新」をクリックします。これらの設定による実行時の影響は、グローバル・レベルでの対応する設定にも依存します。グローバル設定の詳細は、46.7.2項「グローバル・レベルの操作設定の構成方法」を参照してください。この表を使用すると、1つ以上の分割-結合の情報を同時に更新できます。

「リセット」をクリックすると、概要表の変更が破棄され、現在保存されている設定でページが更新されます。

注意:
ロールの権限に応じて分割-結合の操作設定を編集できます。ロールの詳細は、第45章「Oracle Service Busのロール」を参照してください。

51.7 アラート宛先の操作設定の管理

スマート検索の詳細フィルタを使用して、Oracle Service Bus管理コンソールでアラート宛先を検索できます。スマート検索では、アラート宛先の表示と削除を行うことができます。

51.7.1 検索フィルタを使用したアラート宛先の検索

表51-7は、アラート宛先の検索をカスタマイズするために使用できるフィルタを示します。

表51-7 詳細フィルタを使用したアラート宛先の検索

フィルタ

使用方法

ターゲット

次のいずれかのオプションを選択できます。

- SNMPトラップ

- レポート

- 電子メール

- JMS

1つ以上のターゲットが選択されているアラート宛先のみが表示されます。デフォルトでは、ターゲット・フィルタは適用されません。

検索パターン

ここに指定した文字列で、アラート宛先のすべての「説明」フィールドと電子メールおよびJMS宛先の特定の詳細フィールドが検索されます。該当する文字列がアラート宛先のいずれかのフィールドに存在すれば、検索条件に一致するアラート宛先が表示されます。

設定した条件を使用してすべてのアラート宛先を検索する場合は「検索」をクリックし、すべてのアラート宛先を表示する場合は「すべて表示」をクリックします。アラート宛先の詳細は、46.6.7項「アラート宛先とは」を参照してください。

51.7.2 アラート宛先の表示と削除

アラート宛先の検索結果は、「アラート宛先のサマリー」表で確認できます。

表51-8は、「アラート宛先のサマリー」表に表示される情報を示します。

表51-8 アラート宛先の概要

列名

説明

名前

検索条件を満たすアラート宛先の名前が表示されます。

パス

Oracle Service Busドメインのリソースの場所が表示されます。

オプション

アラート宛先で実行できるアクションが表示されます。このフィールドからアラート宛先を削除できます。

この表を使用すると、1つ以上のアラート宛先を同時に削除できます。アラート宛先を削除するには、アラート宛先と関連付けられたチェック・ボックスをクリックし、「削除」をクリックします。

注意:
アラート宛先を作成するには、パスをクリックして対応するプロジェクト・フォルダを表示します。「リソースの作成」で「アラート宛先」を選択して、新しいアラート宛先を作成します。
アラート宛先の詳細を再構成または表示するには、アラート宛先をクリックして「アラート宛先の構成」ページに移動します。

51.8 SLAアラート・ルールの操作設定の管理

スマート検索の追加フィルタを使用して、Oracle Service Bus管理コンソールでSLAアラート・ルールを検索できます。この項では、スマート検索を使用したアラート・ルールの検索、表示、および構成について説明します。

51.8.1 検索フィルタを使用したSLAアラート・ルールの検索

表51-9は、SLAアラート・ルールの検索をカスタマイズするために使用できるフィルタを示します。

表51-9 詳細フィルタを使用したSLAアラート・ルールの検索

フィルタ

使用方法

親サービス

SLAアラート・ルールに関連付けられたプロキシ・サービスまたはビジネス・サービスに基づいてSLAアラート・ルールを検索できます。基本検索で指定したパスをオーバーライドする場合にこのフィルタを使用します。

サービス・タイプ

親サービス条件の種類を指定できます。親サービスは、次のいずれかから選択できます。

- 「すべてのサービス」: 親サービスはプロキシ・サービスまたはビジネス・サービスです。

- プロキシ・サービス

- ビジネス・サービス

注意: 「サービス・タイプ」の値を指定すると、「親サービス」はリセットされます。

ルール状態

SLAアラート・ルールの状態に基づいて検索をカスタマイズできます。SLAアラート・ルールは、次のどちらかの状態です。

- 「有効」: 有効なSLAアラート・ルールすべてを検索する場合に使用します。

- 「無効」: 無効なSLAアラート・ルールすべてを検索する場合に使用します。

このフィルタを無視する場合は、「すべて」を選択します。

重大度

SLAアラートの重大度に基づいて検索をカスタマイズできます。これを実行するには、「重大度」フィールドで重大度のレベルを設定します。

設定した条件を使用してすべてのサービスを検索する場合は「検索」をクリックし、すべてのサービスを表示する場合は「すべて表示」をクリックします。

注意:
「またはそれ以上」チェック・ボックスを選択すると、検索は指定した一定の値以上の重大度に制限されます。重大度を制限の少ない順に並べると、「通常」、「警告」、「軽度」、「重度」、「クリティカル」、「致命的」となります。たとえば、重大度が「重要」、「重大」、および「致命的」であるアラート・ルールを検索するには、重大度を「重要」に設定し、「またはそれ以上」に関連付けられたチェック・ボックスをクリックします。

51.8.2 SLAアラート・ルールの表示と構成

SLAアラート・ルールの検索結果は、「SLAアラート・ルール」表で確認できます。この表を使用すると、1つ以上のアラート・ルールの情報を同時に更新できます。アラート・ルールを有効または無効にするには、関連付けられたチェック・ボックスを選択し、「更新」をクリックします。

「リセット」をクリックすると、概要表の変更が破棄され、現在保存されている設定でページが更新されます。

表51-10「SLAアラート・ルールのサマリー」表に表示される情報を示します。

表51-10 「SLAアラート・サマリー」表

プロパティ

説明

名前

アラート・ルールの名前。名前をクリックすると、「アラート・ルールの詳細を表示」ページに移動します。詳細は、46.8.2項「既存のアラート・ルールをルックアップまたは編集する方法」を参照してください。

SLAの状態

アラート・ルールのステータス: 有効または無効。

説明

このフィールドはデフォルトで非表示。

アラート・ルールの説明。

サービス名

親サービスの名前。この名前は「操作設定」ページにリンクされています。

パス

アラート・ルールの親サービスに関連付けられているプロジェクト。アラート・ルールの親サービスがプロジェクト・フォルダに存在する場合は、そのフォルダも表示されます。パスは次の形式で表示されます。

プロジェクト名/ルート・フォルダ/ . . ./親フォルダ

このパスは「プロジェクト・エクスプローラ」の対応するパスにリンクされています。

重大度

アラートの重大度は「通常」、「警告」、「軽度」、「重要」、「重大」、または「致命的」のいずれか。

集約間隔

集約間隔(時間および分)。

有効期限

このアラート・ルールが無効になる日付。

処理の停止

「はい」または「いいえ」を表示します。

このフィールドはデフォルトで非表示。

頻度

このアラートの頻度:

- 毎回

- 1回通知

注意:
ロールの権限に応じてアラート・ルールを有効または無効にできます。ロールの詳細は、第45章「Oracle Service Busのロール」を参照してください。アラート・ルールの有効化および無効化の詳細は、46.7.1項「サービスの操作設定の構成方法」を参照してください。

52 ユーザー・プリファレンス

この章では、Oracle Service Bus管理コンソールのホーム・ページおよびその他の設定をカスタマイズする方法について説明します。

ホーム・ページとは、Oracle Service Bus管理コンソールにログインしたときに最初にアクセスするページです。ホーム・ページのプリファレンスを設定するには、「操作」ナビゲータ・バーの「構成」モジュールにある「ユーザー・プリファレンス」をクリックします。ユーザー・プリファレンスは、異なるセッション間で保持されます。

表52-1は、「ユーザー・プリファレンス」ページから設定できるプリファレンスを示します。

表52-1 ユーザー・プリファレンス

ユーザー・プリファレンス

説明

ホーム・ページ

ホーム・ページは、次のいずれかのオプションを使用して設定できます。

- 「操作」: このオプションは、次のいずれかのページをホーム・ページとして設定する場合に選択します。
ダッシュボード

スマート検索

グローバル設定

ユーザー・プリファレンス

メッセージ・レポート

ホーム・ページ

- 「リソース・ブラウザ」: このオプションは、次のいずれかのページをホーム・ページとして設定する場合に選択します。
プロキシ・サービス

ビジネス・サービス

分割-結合

WSDL

XMLスキーマ

WS-Policy

JCAバインド

XQuery

XSLT

MFL

サービス・アカウント

サービス・キー・プロバイダ

Jar

アラート宛先

ホーム・ページ

「プロジェクト・エクスプローラ」: このオプションは、プロジェクトのリストをOracle Service Bus管理コンソールに表示する場合に選択します。

ホーム・ページ

「セキュリティ構成」: このオプションは、次のいずれかのページをホーム・ページとして設定する場合に選択します。

ユーザー

グループ

ロール

ホーム・ページ

「システムの管理」: このオプションは、次のいずれかのページをホーム・ページとして設定する場合に選択します。

リソースのインポート

リソースのエクスポート

UDDIレジストリ

UDDIからインポート

自動インポート・ステータス

UDDIにパブリッシュ

自動パブリッシュ・ステータス

JNDIプロバイダ

SMTPサーバー

プロキシ・サーバー

検索置換

カスタマイズ・ファイルの作成

カスタマイズ・ファイルの実行

注意: これらのオプションに設定できるページおよびこれらのオプションのデフォルト設定は、ユーザーに割り当てられているロールによって異なります。

検索フィルタの表示

「はい」を選択すると、Oracle Service Bus管理コンソールのすべての検索フィルタが表示されます。デフォルト設定は、「いいえ」です。

ステージ・コメントの表示

ステージ・アノテーションを表示するかどうかを設定します。デフォルト設定は、「いいえ」です。

リソース・メタデータの表示

リソース・メタデータを表示するかどうかを設定します。デフォルト設定は、「はい」です。

ダッシュボード更新間隔

ダッシュボードの更新間隔を設定します。「リフレッシュなし」、または1、2、3、4、5、10、20、30、60分のいずれかに設定できます。デフォルト値は、「リフレッシュなし」です。ダッシュボードの更新間隔の詳細は、 46.2.1項「モニター・データの更新間隔」を参照してください。

アラート履歴期間

アラート履歴期間は、30分または1、2、3、6時間のいずれかに設定できます。デフォルト値は、30分です。アラート履歴の詳細は、46.9.3.1項「SLAアラートのアラート履歴の表示」および46.9.4.1項「パイプライン・アラートのアラート履歴の表示」を参照してください。

第IV部

付録

この部では、その他の管理情報およびリファレンス資料について説明します。次の章が含まれます。

- 付録A「エラー・コード」

- 付録B「Oracle Service Busでのデバッグ」

- 付録C「Oracle Service Bus API」

- 付録D「JMXモニタリングAPI」

- 付録E「SNMPコンポーネント」

- 付録F「Oracle Service Busにおける統計のモニター」

- 付録G「Oracle Service Busシステムの監査」

- 付録H「XQuery-SQLマッピング参照」

- 付録I「WSRPとの相互運用性」

A エラー・コード

この章では、プロキシ・サービスの実行時に発生する可能性があるOracle Service Busエラーについて説明します。これらのエラーに関連付けられたエラー・コードは、faultコンテキスト変数の要素内に表示されます。次のXQuery文を使用して値にアクセスできます。

$fault/ctx:errorCode/text()

エラーが発生すると、エラー固有の詳細がfault要素内に示されます。

表A-1から表A-5は、Oracle Service Busのエラー・コードを示しています。エラー・スキーマの例は、A.1項「エラー詳細スキーマ」を参照してください。

表A-1 Oracle Service Busのエラー・コード - トランスポート・ランタイム・エラー(BEA-380000からBEA-380099)

エラー・コード

エラー・メッセージ

BEA-380000

一般トランスポート・エラー

XMLの詳細: エラー・レスポンスを受信しました(パブリッシュ・アクションで発生した場合)

表A-2 Oracle Service Busのエラー・コード - メッセージ・フロー・ランタイム・エラー(382000から382499)

エラー・コード

エラー・メッセージ

BEA-382000

一般ランタイム・エラー

BEA-382030

バインディング・レイヤーからの一般的な解析エラー(XMLサービスへのメッセージがXMLではない、など)

BEA-382031

WS-I準拠エラー

BEA-382032

メッセージはsoap:Envelopeにする必要があります

XMLの詳細: 非SOAPまたは無効なエンベロープを受信しました

BEA-382033

soap:Envelopeにはsoap:Bodyが含まれている必要があります

BEA-382040

値をコンテキスト変数"{0}"に割り当てられませんでした。値は{1}のインスタンスでなければなりません。

BEA-382041

値をコンテキスト変数"{0}"に割り当てられませんでした。値は読取り専用です。

BEA-382042

値をコンテキスト変数"{0}"に割り当てられませんでした。 {1}

BEA-382043

コンテキスト変数"{0}"の値を更新できませんでした: {1}

BEA-382045

コンテキスト変数"{0}"の値を初期化できませんでした: {1}

BEA-382046

コンテキスト変数"{0}"の値をXMLにマーシャリングできませんでした: {1}

BEA-382100

インバウンド・リクエストの処理中の一般バインディング・エラー

BEA-382101

インバウンド・レスポンスの準備中の一般バインディング・エラー

BEA-382102

アウトバウンド・リクエストの準備中の一般バインディング・エラー

BEA-382103

アウトバウンド・レスポンスの処理中の一般バインディング・エラー

BEA-382104

サービス{0}のリクエスト・メタデータを準備できませんでした

BEA-382105

サービス{0}のレスポンス・メタデータを準備できませんでした

BEA-382150

リクエストをサービス{0}にディスパッチできませんでした

BEA-382151

不明なサービスにディスパッチできません: {0}

表A-3 Oracle Service Busのエラー・コード - アクション・エラー(382500から382999)

エラー・コード

エラー・メッセージ

BEA-382500

ALSBConfigurationMBean サービス・コールアウト・アクションでSOAPフォルト・レスポンスを受信しました。

XMLの詳細: SOAPフォルト・レスポンスを受信しました

BEA-382501

Oracle Service Busサービス・コールアウト・アクションで認識できないレスポンスを受信しました。XMLの詳細: 認識できないレスポンスを受信しました

BEA-382502

Oracle Service Busサービス・コールアウトでサーバーからエラー・レスポンスを受信しました。XMLの詳細: 不明なエラー・レスポンスを受信しました

BEA-382505

Oracle Service Bus検証アクションで検証に失敗しました。

XMLの詳細: 検証に失敗しました

BEA-382510

Oracle Service Bus割当てアクションで変数"{0}"の更新に失敗しました: {1}

BEA-382511

Oracle Service Bus削除アクションで変数"{0}"の更新に失敗しました: {1}

BEA-382512

Oracle Service Bus挿入アクションで変数"{0}"の更新に失敗しました: {1}

BEA-382513

Oracle Service Bus置換アクションで変数"{0}"の更新に失敗しました: {1}

BEA-382514

Oracle Service Bus名前変更アクションで変数"{0}"の更新に失敗しました: {1}

BEA-382515

Javaメソッド"{0}"のコールアウトで例外が発生しました: {1}

BEA-382516

Javaメソッド"{0}"のコールアウトで式を評価できませんでした。引数索引: {1}、例外: {2}

BEA-382517

Javaコールアウトの結果を変数に割り当てることができませんでした。メソッド: {0}、変数: {1}、例外: {2}

BEA-382518

Javaメソッド"{0}"の呼出し中にセキュリティ例外が発生しました。サービス・アカウント: {1}。 {2}

BEA-382600

Oracle Service Busパブリッシュ・アクションがエラー・レスポンスを受信しました: {0}

表A-4 Oracle Service Busのエラー・コード - セキュリティ・エラー(386000から386999)

エラー・コード

エラー・メッセージ

BEA-386000

一般セキュリティ・エラー。次のような原因が考えられます。

- カスタム・トークンまたはカスタム・ユーザー名/パスワードによる認証が構成されていますが、すでにWS-Securityで認証されています。

BEA-386100

認証に失敗しました。次のような原因が考えられます。

- XPathが本文またはヘッダーに作用するよう構成されていますが、そのようなメッセージ部が存在しません(バインディング・レイヤーがnullを返しました)。

- XPath式の評価時にXPathエンジンが例外をスローしました。

- ユーザー名のXPathまたはパスワードのXPathの結果がTEXT型またはATTR型以外のノードになっています。

- XPathが複数のノードを返しています。

- ユーザー名とパスワードは取得されましたが、認証に失敗しました。

- カスタム・トークンは取得されましたが、IDアサーションに失敗しました(CSS IDアサーション・サービスがLoginExceptionなどの例外をスローしました)。

BEA-386101

認証トークンがありません。次のような原因が考えられます。

- ユーザー名のXPathまたはパスワードのXPathが空の結果または空の文字列を返しています。

- カスタム・トークンのXPathが空の結果、null属性値、またはnullテキスト値を返しています。

BEA-386102

メッセージ・レベルの認可が拒否されました。次のような原因が考えられます。

- メッセージ・レベルのアクセス制御ポリシーがプロキシ・サービスへのアクセスを拒否しています。

BEA-386103

プロキシ・サービスの操作選択アルゴリズムがリクエストからの操作名を認識できないか、無効な操作(WSDLに存在しない操作またはnull)を返しています。次のような原因が考えられます。

- 操作の計算中にエラーが発生した。

- 操作選択アルゴリズムがnullを返しています。

- 操作選択アルゴリズムがWSDLで宣言されていない操作を返しています。

BEA-386200

一般Webサービス・セキュリティ・エラー

BEA-386201

webサービス・セキュリティ・エラーが発生しました「<error-code from WSS fault>」「<fault-string from WSS-fault>」 XMLの詳細: WS-Securityフォルトが発生した

BEA-386400

一般アウトバウンドWebサービス・セキュリティ・エラー

BEA-386401

アウトバウンド・メッセージをSOAPに変換できませんでした

BEA-386402

アウトバウンド操作名を取得できませんでした

BEA-386420

セキュリティ・ヘッダーを生成中にWebサービス・セキュリティ・エラーが発生しました

BEA-386440

セキュリティ・ヘッダーを処理中にWebサービス・セキュリティ・エラーが発生しました

BEA-386460

Webサービス・セキュリティ・ポリシー検証エラー

表A-5 Oracle Service Busのエラー・コード - UDDIエラー(394500から394999)

エラー・コード

エラー・メッセージ

BEA-394500

リソースのインポート中にエラーが発生しました

BEA-394501

UDDIレジストリでのビジネス・エンティティの問合せ中にエラーが発生しました

BEA-394502

UDDIサービスの初期化中にエラーが発生しました

BEA-394503

照会ポートの初期化中にエラーが発生しました

BEA-394504

このサービスのパブリッシュ中にエラーが発生しました

BEA-394505

UDDIレジストリへの接続に失敗しました

BEA-394506

UDDIレジストリでのビジネス・サービスの問合せ中にエラーが発生しました

BEA-394507

レジストリ名に使用できない文字が含まれています

BEA-394508

パブリッシュURLにUDDIレジストリ構成がありません

BEA-394509

構成されたサービス・アカウントが無効です

BEA-394510

サービスのインポート中にリソースをインポートできませんでした

BEA-394511

サービスのインポート中、サービス定義の作成で検証例外が発生しました

BEA-394512

リソースのインポート中に一般エラーが発生しました

BEA-394513

リソースのインポート中に内部エラーが発生しました

BEA-394514

サービスのインポート中、FTPエンドポイント構成を作成できませんでした

BEA-394515

サービスのインポート中、電子メール・エンドポイント構成を作成できませんでした

BEA-394516

サービスのインポート中、アクセス・ポイントURLに構文エラーが検出されました

BEA-394517

サービスのインポート中、インスタンス・パラメータの解析でエラーが発生しました

BEA-394518

サービスのインポート中、ファイル・エンドポイント構成を作成できませんでした

A.1 エラー詳細スキーマ

次のスキーマ定義は、表A-1のエラー・コードに伴うXMLスニペットです。これらのXMLスニペットは、<ctx:details>要素の下のfaultコンテキスト変数内に表示されます。これらのスキーマは、すべてが単一のネームスペースに由来するものではありません。また、通常、特定のエラー・コードは特定のXMLスニペットを示しますが、複数のエラー・コードにより使用されるXMLスニペットもあります。

<xs:schema targetNamespace="http://www.oracle.com/wli/sb/stages/transform/config"
xmlns:tns="http://www.oracle.com/wli/sb/stages/transform/config"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ref="http://www.oracle.com/wli/sb/reference"
xmlns:sdk="http://www.oracle.com/wli/sb/stages/config"
elementFormDefault="qualified"
attributeFormDefault="unqualified">

SOAPフォルト・レスポンスを受信した

<xs:element name="ReceivedFaultDetail" type="tns:ReceivedFaultDetail"/>
<xs:complexType name="ReceivedFaultDetail">
<xs:sequence>
<xs:element name="faultcode" type="xs:QName"/>
<xs:element name="faultstring" type="xs:string"/>
<xs:element name="detail" minOccurs="0" >
<xs:complexType mixed="true" >
<xs:sequence>
<xs:any namespace="##any" minOccurs="0"
maxOccurs="unbounded" processContents="lax" />
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax" />
</xs:complexType>
</xs:element>

<!-- HTTP-specific status/response code -->
<xs:element name="http-response-code" type="xs:int" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

認識できないレスポンスを受信した

<xs:element name="UnrecognizedResponseDetail"
type="tns:UnrecognizedResponseDetail"/>
<xs:complexType name="UnrecognizedResponseDetail">
<xs:sequence>
<xs:element name="detail" minOccurs="0" type="xs:string" />

<!-- HTTP-specific status/response code -->
<xs:element name="http-response-code" type="xs:int" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

不明なエラー・レスポンスを受信した

<xs:element name="ErrorResponseDetail" type="tns:ErrorResponseDetail"/>
<xs:complexType name="ErrorResponseDetail">
<xs:sequence>
<xs:element name="detail" minOccurs="0" type="xs:string" />

<!-- HTTP-specific status/response code -->
<xs:element name="http-response-code" type="xs:int" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

検証に失敗した

<xs:complexType name="ValidationFailureDetail">
<xs:sequence minOccurs = "0" maxOccurs="unbounded">
<xs:element name="message" type="xs:string"/>
<xs:element name="xmlLocation" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
<schema targetNamespace="http://www.oracle.com/wli/sb/errors"
xmlns:err="http://www.oracle.com/wli/sb/errors"
xmlns:tc="http://www.oracle.com/wli/sb/transports"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">

非SOAPまたは無効なエンベロープを受信した

<element name="InvalidEnvelope">
<complexType>
<sequence>
<element name="localpart" type="NCName"/>
<element name="namespace" type="anyURI" minOccurs="0"/>
</sequence>
</complexType>
</element>

WS-Securityフォルトが発生した

<element name="WebServiceSecurityFault">
<complexType>
<sequence>
<element name="faultcode" type="QName"/>
<element name="faultstring" type="string"/>
<element name="detail" minOccurs="0">
<complexType mixed="true">
<sequence>
<any namespace="##any" minOccurs="0"
maxOccurs="unbounded" processContents="lax"/>
</sequence>
<anyAttribute namespace="##any" processContents="lax"/>
</complexType>
</element>
</sequence>
</complexType>
</element>

エラー・レスポンスを受信した

<element name="ErrorResponseDetail" type="err:ErrorResponseDetail"/>
<complexType name="ErrorResponseDetail">
<sequence>
<!-- Response metadata -->
<element name="response-metadata" type="tc:ResponseMetaDataXML"
minOccurs="0" />
</sequence>
</complexType>
</schema>

B Oracle Service Busでのデバッグ

この章ではOracle Service Busの各種モジュールのデバッグを有効にする方法について説明します。

この章の内容は次のとおりです。

- B.1項「Oracle Service Busのデバッグ」

- B.2項「Eclipseでのプロキシ・サービスおよび分割-結合のデバッグ」

B.1 Oracle Service Busでのデバッグ

デバッグを有効または無効にするには、Oracle Service Busドメインのルート・ディレクトリにある次のデバッグXMLファイル内の対応するエントリを変更します。

- alsbdebug.xml - Oracle Service Bus関連のデバッグ・フラグが含まれます。

- configfwkdebug.xml - 構成関連のデバッグ・フラグが含まれます。

これらのXMLファイルがルート・ディレクトリにない場合、または削除されている場合は、サーバーの起動時に内容を含まないファイルが再度作成されます。例B-1は、すべてのモジュールのデバッグを無効にした(すべてのエントリをfalseに設定した)alsbdebug.xmlファイルの内容の例を示しています。

例B-1 alsbdebug.xmlファイル

<java:sb-debug-logger xmlns:java="java:com.bea.wli.debug">
<java:alsb-stages-transform-runtime-debug>true</java:alsb-stages-transform-runtime-debug>
<java:alsb-alert-manager-debug>false</java:alsb-alert-manager-debug>
<java:alsb-credential-debug>false</java:alsb-credential-debug>
<java:alsb-jms-reporting-provider-debug>false</java:alsb-jms-reporting-provider-debug>
<java:alsb-management-credential-debug>false</java:alsb-management-credential-debug>
<java:alsb-management-dashboard-debug>false</java:alsb-management-dashboard-debug>
<java:alsb-management-debug>false</java:alsb-management-debug>
<java:alsb-management-user-mgt-debug>false</java:alsb-management-user-mgt-debug>
<java:alsb-module-debug>true</java:alsb-module-debug>
<java:alsb-monitoring-aggregator-debug>false</java:alsb-monitoring-aggregator-debug>
<java:alsb-monitoring-debug>false</java:alsb-monitoring-debug>
<java:alsb-pipeline-debug>true</java:alsb-pipeline-debug>
<java:alsb-security-wss-debug>true</java:alsb-security-wss-debug>
<java:alsb-service-account-manager-debug>false</java:alsb-service-account-manager-debug>
<java:alsb-service-provider-manager-debug>false</java:alsb-service-provider-manager-debug>
<java:alsb-service-repository-debug>false</java:alsb-service-repository-debug>
<java:alsb-service-security-manager-debug>false</java:alsb-service-security-manager-debug>
<java:alsb-service-validation-debug>false</java:alsb-service-validation-debug>
<java:alsb-test-console-debug>false</java:alsb-test-console-debug>
<java:alsb-transports-debug>true</java:alsb-transports-debug>
<java:alsb-uddi-debug>true</java:alsb-uddi-debug>
<java:alsb-wsdl-repository-debug>false</java:alsb-wsdl-repository-debug>
<java:alsb-wspolicy-repository-debug>true</java:alsb-wspolicy-repository-debug>
<java:alsb-security-encryption-debug>false</java:alsb-security-encryption-debug>
<java:alsb-security-module-debug>false</java:alsb-security-module-debug>
<java:alsb-sources-debug>false</java:alsb-sources-debug>
<java:alsb-proxy-server-manager-debug>true</java:alsb-proxy-server-manager-debug>
<java:alsb-custom-resource-debug>false</java:alsb-custom-resource-debug>
<java:alsb-mqconnection-debug>false</java:alsb-mqconnection-debug>
<java:alsb-throttling-debug>true</java:alsb-throttling-debug>
<java:alsb-flow-resource-debug>false</java:alsb-flow-resource-debug>
<java:alsb-flow-transport-debug>false</java:alsb-flow-transport-debug>
<java:alsb-flow-deployment-debug>false</java:alsb-flow-deployment-debug>
<java:alsb-soa-codec-debug>true</java:alsb-soa-codec-debug>
<java:alsb-message-tracing-debug>true</java:alsb-message-tracing-debug>
<java:alsb-result-caching-debug>true</java:alsb-result-caching-debug>
<java:alsb-console-debug>false</java:alsb-console-debug>
<java:alsb-bpel-debug>false</java:alsb-bpel-debug> <!-- Split-Join processing details -->
<java:alsb-jca-framework-adapter-debug>true</java:alsb-jca-framework-adapter-debug>
</java:sb-debug-logger>

例B-2は、configfwkdebug.xmlファイルの内容の例を示しています。

例B-2 configfwkdebug.xmlファイル

<java:config-fwk-debug-logger xmlns:java="java:com.bea.wli.config.debug">
<n1:Name xmlns:n1="java:weblogic.diagnostics.debug">configfwkdebug</n1:Name>
<java:config-fwk-debug>false</java:config-fwk-debug>
<java:config-fwk-transaction-debug>false</java:config-fwk-transaction-debug>
<java:config-fwk-deployment-debug>false</java:config-fwk-deployment-debug>
<java:config-fwk-component-debug>false</java:config-fwk-component-debug>
<java:config-fwk-security-debug>false</java:config-fwk-security-debug>
</java:config-fwk-debug-logger>

デバッグは、通常のOracle Service Busの操作では無効にしておく必要がありますが、開発中のソリューションを初めてテストするときには一定のデバッグ・フラグをオンにしておくと便利です。たとえば、アラートの開発中にアラート・エンジンの動作を確認する場合、アラートのデバッグ・フラグを有効にすることができます。

使用可能なOracle Service Busデバッグ・フラグの一部を、表B-1に示します。

表B-1 Oracle Service Busデバッグ・フラグ

デバッグ・フラグ

アクション

alsb-stages-transform-runtime-debug

トランスフォーメーション関連のアクションに関する情報を提供します。

alsb-alert-manager-debug

アラートの評価を出力します。

alsb-jms-reporting-provider-debug

すぐに使用可能なJMSベースのレポート・プロバイダに関する情報を提供します。

alsb-management-debug

コンソールでのユーザーとグループの管理に関する情報を提供します。

alsb-monitoring-debug

統計システムに関する情報を提供します。

alsb-pipeline-debug

パイプライン内で生成されるエラーに関する情報を提供します。

alsb-service-repository-debug

サービス関連の様々な構成操作に関する情報を提供します。

alsb-service-security-manager-debug

アクセス制御に関する情報を提供します。

alsb-transports-debug

トランスポート・ヘッダーなど、トランスポート関連のデバッグ情報を提供します。この情報は、メッセージ単位で出力されます。

注意: JCAトランスポート、フレームワークおよびアダプタでは、alsb-jca-framework-adapter-debugを使用します。

alsb-jca-framework-adapter-debug

JCAトランスポート、フレームワークおよびアダプタのデバッグ情報を提供します。

alsb-wsdl-repository-debug

WSDL関連の構成操作に関する情報を提供します。

alsb-wspolicy-repository-debug

WSポリシーに関する情報を提供します。

alsb-custom-resource-debug

カスタム・リソースに関する情報を提供します。

alsb-mqconnection-debug

MQ接続リソースに関する情報を提供します。

alsb-throttling-debug

スロットル機能に関する情報を提供します。

alsb-result-caching-debug

ビジネス・サービスの結果キャッシュに関する情報を提供します。

表B-2は、構成フレームワークの使用可能なデバッグ・フラグを示します。

表B-2 構成フレームワークのデバッグ・フラグ

デバッグ・フラグ

アクション

config-fwk-debug

Oracle Service Busの構成に関する一般的な情報を取得します。

config-fwk-transaction-debug

メモリー内のデータ構造とファイルの変更に関する低レベルのデバッグ情報を提供します。このデバッグ・フラグにより、サーバーの起動時の回復ログも生成されます。

config-fwk-deployment-debug

セッションの作成、アクティブ化、およびクラスタ内の構成の配布に関するデバッグ情報を提供します。

config-fwk-component-debug

作成、更新、削除、およびインポートの各操作に関する低レベルのデバッグ情報を提供します。

config-fwk-security-debug

インポートおよびエクスポート時の暗号化と復号化に関するデバッグ情報を提供します。

その他のすべてのデバッグ・フラグは、名前から内容がわかります。

すべてのフラグのデバッグ情報は、サーバー・ログ(DOMAIN_DIRECTORY/servers/servername/logs/servername.log.)に記録されます。

B.2 Eclipseでのプロキシ・サービスおよび分割-結合のデバッグ

『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle Service Busデバッガの使用に関する項を参照してください。

C Oracle Service Bus API

この章では、リソースの更新とカスタマイズ、管理、モニターおよびデプロイメントためのOracle Service Bus APIについて説明します。

Oracle Service Busでは、リソースのカスタマイズ、モニター・データへの外部アクセス、およびデプロイメントを可能にするAPIを公開しています。

- C.1項「リソースの更新とカスタマイズ」

- C.2項「管理およびモニター」

- C.3項「デプロイメント」

Oracle Service Bus APIのJavadocは、Oracle Fusion Middleware Oracle Service Bus Java APIリファレンスに提供されています。

C.1 リソースの更新とカスタマイズ

プログラムのインタフェースを使用して、サービス定義、WSDL、スキーマ、XQueryなどの設計時リソースをカスタマイズできるように多数のAPIが公開されています。サポートAPIにより、リソース、フォルダ、およびプロジェクトの移動、名前変更、クローン作成、削除に加え、リソースが含まれているZIPファイルをロードすることもできます。一般的な使用例として、プロトタイプとなるプロキシ・サービスから複数のコピーを作成し、各コピーをプログラムによって変更することが挙げられます。

デプロイメント時に様々なカスタマイズ・オプションを適用できます。たとえば、環境変数を使用すると、別の環境に移行する際に設定を保持したり調整することができます。

次のAPIを使用できます。

- ProxyServiceConfigurationMBean - プロキシ・サービスのSLAアラートおよびパイプライン・アラートの有効化および無効化

- BusinessServiceConfigurationMBean

- SLAアラートの有効化および無効化

- UDDIレジストリからインポートされたビジネス・サービスの同期化

- UDDIレジストリからのビジネス・サービスのデタッチ

- ALSBConfigurationMBeanインタフェース - 次のように、Oracle Service Busドメインのリソースを管理するためのAPI

- Queryリソース、エクスポート・リソース、およびインポート・リソース

- 検証エラーの取得

- 環境変数の取得と設定

- リソース内の参照の新しい参照への変更

- リソースの移動、名前変更、クローン作成、および削除

- Customizationクラス

- 環境値の検索と置換

- 環境変数の割当て

- リソース内の参照の別の参照へのマップ

C.2 管理およびモニター

Oracle Service BusのJMXモニタリングAPIは、モニター・データへの外部アクセスを提供します。実装には、Java Management Extensions (JMX)テクノロジが使用されています。ドメイン内のOracle Service Busリソースは、JMXの管理対象Bean (MBean)を使用して管理機能を公開します。MBeanは、JMX仕様に従って開発されたJavaの具象クラスです。

詳細は、付録D「JMXモニタリングAPI」を参照してください。

C.3 デプロイメント

Oracle Service Bus MBeansをJavaプログラムおよびWLSTスクリプトで使用すると、開発環境からテスト環境、ステージング環境を経て、最終的に本番環境に至るまで、Oracle Service Bus構成のプロモーションを自動化できます。

デプロイメント時に様々なカスタマイズ・オプションを適用できます。たとえば、環境変数の拡張リストを使用すると、別の環境に移行する際に設定を保持したり調整することができます。

詳細は、『Oracle Fusion Middleware Oracle Service Busデプロイメント・ガイド』のデプロイメントAPIの使用に関する項を参照してください。

D JMXモニタリングAPI

この章では、OSBモニター・データへの外部アクセスを提供するOracle Service BusのJMX(Java Management Extensions)モニタリングAPIについて説明します。

JMXモニタリングAPIの主な目的は、一括操作をサポートする、効率的な低レベルのAPIを提供することです。JMXをトランスポートとして使用することでこれを行います。このAPIは、JMXベースのツールと互換性のある高レベルのAPIではありません。ただし、クライアント・ソフトウェアを開発する場合は、JMXベースのツールをサポートする高レベルのJMX APIを開発することもできます。

D.1 説明

JMXモニタリングAPIは、トランスポートとしてのみJMXを利用します。任意のモニター対象サービスとそのコンポーネントのモニター・データ(統計情報)を取得するために必要なすべての操作を提供する公開MBeanを公開します。また、MBeanによって提供される操作を実行するために必要な、一連の公開POJOオブジェクトも公開します。サード・パーティ製クライアント・ソフトウェアが、Oracle Service Busのモニター・システムに格納されている統計情報の階層構造の詳細を認識する必要はありません。

これらのAPIを使用することで、モニター/管理システムをOracle Service Busと統合し、次の操作を行うことができます。

- モニターが有効になっているサービスの特定。

- 特定のサービス、またはそのコンポーネント、もしくは両方の詳細な統計情報の取得。

- 最後のリセット以降に蓄積された統計のリセット。

D.2 概念

公開JMX APIは、モニター対象サービスをチェックし、それらからデータを取得する操作を含むServiceDomainMBeanの単一のインスタンスによってモデル化されます。POJOの公開セットは、ServiceDomainMbeanとともに統計のモニター用の完全なAPIを提供する、追加のオブジェクトとメソッドを提供します。

次の項では、POJOおよびMBeanについて簡単に説明します。Java APIリファレンスには、詳細な説明が記載されています。また、リソースについてレポートされる統計の詳細な説明も記載されています。

この章の最後にある重要な注意事項を必ずお読みください。

D.2.1 公開POJOオブジェクト

次のPOJOオブジェクトは、このAPIの一部として公開されています。

- D.2.1.1項「ResourceType」

- D.2.1.2項「ServiceResourceStatistic」

- D.2.1.3項「ResourceStatistic」

- D.2.1.4項「StatisticValue」

- D.2.1.5項「StatisticType」

D.2.1.1 ResourceType

このオブジェクトは、サービスのモニターに対して有効な、すべてのタイプのリソースを示します。enum定数には、タイプSERVICE、FLOW_COMPONENT、URIおよびWEBSERVICE_OPERATIONを示す4種類があります。

Oracle Fusion Middleware Oracle Service Bus Java APIリファレンスのcom.bea.wli.monitoring.ResourceTypeに関する項を参照してください。

D.2.1.2 ServiceResourceStatistic

このオブジェクトは、すべてのビジネス・サービスおよびプロキシ・サービスのリソース・タイプとそれらに関連付けられている統計を示します。すべてのリソースまたは指定されたリソースの統計を取得するメソッドがあります。

Oracle Fusion Middleware Oracle Service Bus Java APIリファレンスのcom.bea.wli.monitoring.ServiceResourceStatisticに関する項を参照してください。

D.2.1.3 ResourceStatistic

このオブジェクトは、統計の収集がサポートされるリソースを示します。リソースの名前、タイプ、および統計を取得するメソッドがあります。

Oracle Fusion Middleware Oracle Service Bus Java APIリファレンスのcom.bea.wli.monitoring.ResourceStatisticに関する項を参照してください。

D.2.1.4 StatisticValue

このオブジェクトは、リソースの統計値を示します。現在モニター・システムは、統計値の次のタイプをサポートしています。両方ともネストされたクラスです。

- CountStatistic

- IntervalStatistic

- StatusStatistic

StatisticValueは抽象クラスであるため、数および時間間隔の統計値を示す具体的なオブジェクトをそれから生成できます。これには、getName()メソッドおよびgetType()メソッドが含まれます。

Oracle Fusion Middleware Oracle Service Bus Java APIリファレンスのcom.bea.wli.monitoring.StatisticValueに関する項を参照してください。

D.2.1.5 StatisticType

このオブジェクトは、統計の事前定義されたタイプを示します。STATUS、COUNTおよびINTERVALという3つのenumタイプがあります。

Oracle Fusion Middleware Oracle Service Bus Java APIリファレンスのcom.bea.wli.monitoring.StatisticValueに関する項を参照してください。

D.2.2 ServiceDomainMBean

これは、公開JMX APIの一部として公開されている唯一のMBeanです。モニター対象サービスを検索したり、統計を取得およびリセットしたりするメソッドを提供します。

Oracle Fusion Middleware Oracle Service Bus Java APIリファレンスのcom.bea.wli.monitoring.ServiceDomainMBeanに関する項を参照してください。

D.2.3 統計の詳細

次の項では、各リソース・タイプについてレポートされる統計の詳細について説明します。

D.2.3.1 リソース・タイプの統計の詳細 - SERVICE

サービスは、Oracle Service Bus内で構成されているインバウンド・エンドポイントまたはアウトバウンド・エンドポイントです。関連付けられているWSDL、セキュリティ設定などがある場合があります。

次の統計が、このリソース・タイプについてレポートされます。

表D-1 SERVICE統計

統計名

種類

message-count

件数

error-count

件数

failover-count

件数

wss-error

件数

response-time

間隔

validation-errors

件数

failure-rate

件数

success-rate

件数

sla-severity-warning

件数

sla-severity-major

件数

sla-severity-minor

件数

sla-severity-normal

件数

sla-severity-fatal

件数

sla-severity-critical

件数

sla-severity-all

件数

pipeline-severity-warning

件数

pipeline-severity-major

件数

pipeline-severity-minor

件数

pipeline-severity-normal

件数

pipeline-severity-fatal

件数

pipeline-severity-critical

件数

pipeline-severity-all

件数

throttling-time

間隔

uri-offline-count

件数

hit-count

件数

統計sla-severity-warning、sla-severity-major、sla-severity-minor、sla-severity-normal、sla-severity-fatal、sla-severity-criticalおよびsla-severity-allは、プロキシ・サービスおよびビジネス・サービスの両方について収集されます。

統計pipeline-severity-warning、pipeline-severity-major、pipeline-severity-minor、pipeline-severity-normal、pipeline-severity-fatal、pipeline-severity-criticalおよびpipeline-severity-allは、プロキシ・サービスのみについて収集されます。

注意:
統計「wss-error」は、Webサービスのセキュリティ違反数を示します。ビジネス・サービスおよびプロキシ・サービスの両方に適用されます。
統計「検証エラー数」は、プロキシ・サービスのみに適用され、ビジネス・サービスについては返されません。

統計「failover-count」は、ビジネス・サービスのみに適用され、プロキシ・サービスについては返されません。

ServiceDomainMBeanを使用して、クラスタ・ドメインから管理対象サーバーの統計を取得する場合、プロキシ・サービスについての統計には、sla-severity-normal、sla-severity-minor、sla-severity-major、sla-severity-warning、sla-severity-critical、sla-severity-fatal、sla-severity-allは含まれません。

D.2.3.2 リソース・タイプの統計の詳細 - FLOW_COMPONENT

統計は、プロキシ・サービスのフロー定義に示される次の2つのタイプのコンポーネントについて収集されます。

- パイプライン・ペア・ノード

- ルート・ノード

パイプラインは、現在のメッセージに対して順次実行されるステージで構成される、一方向の処理の流れです。ステージは、トランスフォーメーション、ロギング、およびパブリッシュなどのアクティビティの実行に使用されます。

パイプラインには、リクエスト、レスポンス、およびエラーの3つのカテゴリがあります。

パイプライン・ペア・ノードは、1つのリクエスト・パイプラインと1つのレスポンス・パイプラインを1つの最上位要素に結び付けたものです。

ルーティング・ノードは、一連のルートで構成されます。ルートは、ターゲット・サービスを特定し、そのサービスへメッセージをパッケージ化し、送信する方法を決定する追加の構成オプションを含みます。ルーティング・ノードは、リクエスト処理の一部として選択されている1つのルートになります。

次の統計が、このリソース・タイプについてレポートされます。

表D-2 FLOW_COMPONENT統計

統計名

種類

elapse-time

間隔

message-count

件数

error-count

件数

注意:
パイプラインおよびルート・ノードの統計は、フロー・コンポーネントの統計として返されます。enum値ResourceType.FLOW_COMPONENTは、パイプラインおよびルート・ノードの両方を示します。そのため、クライアントは、返されたフロー・コンポーネントがパイプラインであるかルート・ノードであるかを確認することはできません。ただし、フロー・コンポーネントの名前が、タイプを示唆する場合があります。

D.2.3.3 リソース・タイプの統計の詳細 - WEBSERVICE_OPERATION

このリソース・タイプは、WSDL操作に関連する統計情報を提供します。統計は、それぞれの定義された操作についてレポートされます。

次の統計がレポートされます。

表D-3 WEBSERVICE_OPERATION統計

統計名

種類

elapse-time

間隔

message-count

件数

error-count

件数

D.2.3.4 リソース・タイプの統計の詳細 - URI

このリソース・タイプは、ビジネス・サービスのエンドポイントURIに関連する統計情報を提供します。統計は、それぞれの定義されたエンドポイントURIについてレポートされます。次の統計がレポートされます。

表D-4 エンドポイントURIの統計

統計名

種類

message-count

件数

error-count

件数

response-time

間隔

status

ステータス

D.2.4 注意事項

次の点に注意します。

- クライアント・プログラムは、定期的に変更を確認しないかぎり、モニターが有効になっている新しく追加されたサービス、またはモニターが有効に変更されたサービスを認識しません。

- リセット・オプションは頻繁に実行しません。リセットの実行には15分を超える間隔を空けることをお薦めします。

- プロキシ・サービスまたはビジネス・サービスの実行中に統計がリセットされた場合は、次のTransactionConflictExceptionが発生する可能性があります。これが最も発生しやすいのは、統計がシステム起動時にリセットされた場合です。

<BEA-382016> <Failed to instantiate router for service...>

- 複数のスレッドまたはプロセスを同時に実行している場合は、このAPIの使用は推奨されません。1つのスレッドまたはプロセスで実行されたリセットを、それ以外のスレッドまたはプロセスが認識できないためです。この注意事項は、Oracle Service Bus管理コンソールのモニターのダッシュボードから実行されたリセットにも当てはまります(このリセットを、このAPIが認識できないためです)。

D.2.5 パフォーマンス

パフォーマンスは、Oracle Service Bus管理コンソールのモニターのダッシュボードで計測されるパフォーマンスよりも高いか、または同等です。

D.3 APIの使用方法の例

この項のサンプル・プログラムは、JMXモニタリングAPIの使用方法について説明しています。

次の手順は、モニターが有効になっているプロキシ・サービスについて、統計を取得する方法について説明しています。

1. MBeanサーバーからServiceDomainMBeanを取得します。

2. ServiceDomainMBeanのgetMonitoredProxyServiceRefs操作を使用して、モニターされるプロキシ・サービスの参照を取得します。

3. 取得した参照から必要なプロキシ・サービスの参照を識別します。

4. 必要なプロキシ・サービスのServiceDomainMBeanのgetProxyServiceStatistics操作を使用して、ServiceResourceStatisticsを取得します。

5. ServiceResourceStatisticの操作を使用して、すべてのResourceStatisticオブジェクトを取得します。

6. 取得したResourceStatisticオブジェクトごとに、getStatistics操作を使用して、StatisticValueオブジェクトを取得し、統計情報を出力します。

7. 必要に応じてプロセスを繰り返します。

D.3.1 サンプル・プログラム

次のサンプル・プログラムでは、次のことを行う方法について説明します。

1. モニターが有効になっているサービスをタイプに応じて検索します。

2. リソース・タイプ・フィルタを設定します。

3. 1つまたは複数のサービスの統計をタイプに応じて取得します。

4. ServiceResourceStatisticsオブジェクトから統計を抽出します。

5. 取得した統計を適切な形式で保存します。

6. 1つまたは複数のサービスの統計をリセットします。

このプログラムを実行するには、次のJARファイルをクラス・パスに含めます。

- weblogic.jar

- sb-kernel-api.jar

- com.bea.common.configfwk_version.jar

- com.bea.core.management.core_version.jar

- com.bea.core.management.jmx_version.jar

お使いの環境に合せて、次のコードに含まれるSERVER_NAME、HOSTNAME、PORT、USERNAMEまたはPASSWORDのデフォルト値をリセットする必要がある場合があります。

注意:
ビジネス・サービスのエンド・ポイントごとのステータス統計を取得する必要がある場合は、クラスタ環境でSERVER_NAME属性を設定してください。単一のノードで実行している場合は、このプロパティを設定しない場合でもステータス統計が返されます。

パフォーマンス上の理由から、大量のサービスの統計を頻繁に抽出したりリセットしたりしないでください。D.2.4項「注意事項」を参照してください。サンプル・プログラムは、例D-1を参照してください。

例D-1 モニターが有効になっているプロキシ・サービスについての統計を取得するサンプル・プログラム

package tests.monitoring;

import com.bea.wli.config.Ref;
import com.bea.wli.monitoring.*;
import weblogic.management.jmx.MBeanServerInvocationHandler;

import javax.management.MBeanServerConnection;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
import javax.naming.Context;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.net.MalformedURLException;
import java.util.*;
import java.text.SimpleDateFormat;

/**
* This class provides sample code showing how to use
* ServiceDomainMBean.
* It shows how to:
* 1. Find business and proxy services enabled for monitoring.
* 2. Get statistics for one or more business and proxy services.
* 3. Perform reset operation on one or more business and proxy services.
* 4. Handle exceptions.
* It uses a timer to retrieve statistics, save them in a file, and
* perform resets in a recursive manner.
*/

public class ServiceStatisticsRetriever {
private ServiceDomainMBean serviceDomainMbean = null;
private String serverName = null;

/**
* Retrieve statistics for all business services being monitored in the
* domain and reset statistics for the same.
* @throws Exception
*/

void getAndResetStatsForAllMonitoredBizServices() throws Exception {
Ref[] serviceRefs =
serviceDomainMbean.getMonitoredBusinessServiceRefs();

// Create a bitwise map for desired resource types.
int typeFlag = 0;
typeFlag = typeFlag | ResourceType.SERVICE.value();
typeFlag = typeFlag | ResourceType.WEBSERVICE_OPERATION.value();
typeFlag = typeFlag | ResourceType.URI.value();

HashMap<Ref, ServiceResourceStatistic> resourcesMap = null;
HashMap<Ref, ServiceResourceStatistic> resourcesMapOnSingle
Server = null;
// Get cluster-level statistics.
try {
// Get statistics.
System.out.println("Now trying to get statistics for -" +
serviceRefs.length + " business services...");
resourcesMap =
serviceDomainMbean.getBusinessServiceStatistics
(serviceRefs, typeFlag, serverName);
// Reset statistics.
long resetRequestTime =
serviceDomainMbean.resetStatistics (serviceRefs);

// Save retrieved statistics.
String fileName = "BizStatistics_" +
new SimpleDateFormat("yyyy_MM_dd_HH_mm").
format(new Date(System. currentTimeMillis()))
+ ".txt";
saveStatisticsToFile(resourcesMap, resetRequestTime,
fileName);
}
catch (IllegalArgumentException iae) {
System.out.println("===============================\n");
System.out.println("Encountered IllegalArgumentException...
Details:");
System.out.println(iae.getMessage());
System.out.println("Check if proxy ref was passed OR
flowComp " +
"resource was passed OR bitmap is invalid..." +
"\nIf so correct it and try again!!!");
System.out.println("==================================\n");
throw iae;
}
catch (DomainMonitoringDisabledException dmde) {
/** Statistics not available as monitoring is turned off at
domain level.
*/
System.out.println("==================================\n");
System.out.println("Statistics not available as
monitoring " +
"is turned off at domain level.");
System.out.println("==============================\n");
throw dmde;
}
catch (MonitoringException me) {
// Internal problem... May be aggregation server is
crashed...
System.out.println("================================\n");
System.out.println("ERROR: Statistics is not available...
" +
"Check if aggregation server is crashed...");
System.out.println("=================================\n");
throw me;
}
}
/**
* Retrieve statistics for all proxy services being monitored in the
* domain and reset statistics for the same.
* @throws Exception
*/
void getAndResetStatsForAllMonitoredProxyServices() throws Exception {
Ref[] serviceRefs =
serviceDomainMbean.getMonitoredProxyServiceRefs();
// Create a bitwise map for desired resource types.
int typeFlag = 0;
typeFlag = typeFlag | ResourceType.SERVICE.value();
typeFlag = typeFlag | ResourceType.FLOW_COMPONENT.value();
typeFlag = typeFlag | ResourceType.WEBSERVICE_OPERATION.value();

HashMap<Ref, ServiceResourceStatistic> resourcesMap = null;

// Get cluster-level statistics.
try {
// Get statistics.
System.out.println("Now trying to get statistics for -" +
serviceRefs.length + " proxy services...");
resourcesMap = serviceDomainMbean.getProxyServiceStatistics
(serviceRefs,typeFlag, null);

// Reset statistics.
long resetRequestTime =
serviceDomainMbean.resetStatistics(serviceRefs);

// Save retrieved statistics.
String fileName = "ProxyStatistics_" +
new SimpleDateFormat("yyyy_MM_dd_HH_mm").
format(new Date(System.currentTimeMillis())) +
".txt";
saveStatisticsToFile(resourcesMap, resetRequestTime,
fileName);
}
catch (IllegalArgumentException iae) {
System.out.println("===================================\n");
System.out.println("Encountered IllegalArgumentException...
Details:");
System.out.println(iae.getMessage());
System.out.println("Check if business ref was passed OR bitmap
is " + "invalid...\nIf so correct it and try again!!!");
System.out.println("===================================\n");
throw iae;
}

catch (DomainMonitoringDisabledException dmde) {
/** Statistics not available as monitoring is turned off at the
* domain level.
*/
System.out.println("===================================\n");
System.out.println("Statistics not available as monitoring
" +
"is turned off at domain level.");
System.out.println("===================================\n");
throw dmde;
}
catch (MonitoringException me) {
// Internal problem ... May be aggregation server is
crashed ...
System.out.println("===================================\n");
System.out.println("ERROR: Statistics is not available... " +
"Check if aggregation server is crashed...");
System.out.println("===================================\n");
throw me;
}
}

/**
* Saves statistics of all services from the specified map.
* @param statsMap Map containing statistics for one or more services
* of the same type; i.e., business or proxy.
* @param resetReqTime Reset request time. This information will be
* written at the end of the file, provided it is not zero.
* @param fileName Statistics will be saved in a file with this name.
* @throws Exception
*/
private void saveStatisticsToFile(
HashMap<Ref, ServiceResourceStatistic> statsMap,
long resetReqTime, String fileName) throws Exception {
if (statsMap == null) {
System.out.println("\nService statistics map is null...
Nothing to save.\n");
}
if (statsMap.size() == 0) {
System.out.println("\nService statistics map is empty...
Nothing to save.\n");
}
FileWriter out = new FileWriter(new File(fileName));

out.write("*********************************************\n");
out.write("This file contains statistics for " + statsMap.size()
+ " services.\n");
out.write("***********************************************\n");

Set<Map.Entry<Ref, ServiceResourceStatistic>> set =
statsMap.entrySet();

System.out.println(new StringBuffer().append("\nWriting stats to
the file - ").append(fileName).append("\n").toString());

// Print statistical information of each service
for (Map.Entry<Ref, ServiceResourceStatistic> mapEntry : set) {
out.write(new StringBuffer().
append("\n\n======= Pirnting statistics for service ").
append(mapEntry.getKey().getFullName()).
append("=======\n").toString());

ServiceResourceStatistic serviceStats = mapEntry.getValue();
out.write(new StringBuffer().
append("Statistic collection time is - ").
append(new Date(serviceStats.getCollectionTimestamp
())).
append("\n").toString());

ResourceStatistic[] resStatsArray = null;
try {
resStatsArray = serviceStats.getAllResourceStatistics
();
}
catch (MonitoringNotEnabledException mnee) {
// Statistics not available
out.write("WARNING: Monitoring is not enabled for  " +
"this service... Do someting...");
out.write("=====================================\n");
continue;
}

catch (InvalidServiceRefException isre) {
// Invalid service
out.write("ERROR: Invlaid Ref. May be this service is
" +
"deleted. Do something...");
out.write("======================================\n");
continue;
}

catch (MonitoringException me) {
// Statistics not available
out.write("ERROR: Failed to get statistics for this
service... " + "Details: " + me.getMessage());
me.printStackTrace();
out.write("======================================\n");
continue;
}
for (ResourceStatistic resStats : resStatsArray) {
// Print resource information
out.write("\nResource name: " + resStats.getName());
out.write("\tResource type: " +
resStats.getResourceType().toString());

// Now get and print statistics for this resource
StatisticValue[] statValues = resStats.getStatistics();
for (StatisticValue value : statValues) {
out.write("\n\t\tStatistic Name - " +
value.getName ());
out.write("\n\t\tStatistic Type - " +
value.getType().toString());

// Determine statistics type
if ( value.getType() == StatisticType.INTERVAL ) {
StatisticValue.IntervalStatistic is =
(StatisticValue.IntervalStatistic)value;

// Print interval statistics values
out.write("\n\t\t\t\tCount Value
- " + is.getCount());
out.write("\n\t\t\t\tMin Value - " +
is.getMin());
out.write("\n\t\t\t\tMax Value - " +
is.getMax());
out.write("\n\t\t\t\tSum Value - " +
is.getSum());
out.write("\n\t\t\t\tAve Value - " +
is.getAverage());
}
else if ( value.getType() == StatisticType.
COUNT ) {
StatisticValue.CountStatistic cs =
(StatisticValue.CountStatistic)
value;

// Print count statistics value
out.write("\n\t\t\t\tCount Value - " +
cs.getCount());
}
else if ( value.getType() == StatisticType.STATUS
){
StatisticValue.StatusStatistic ss =
(StatisticValue.StatusStatistic)value;
// Print count statistics value
out.write("\n\t\t\t\t Initial Status - " +
ss.getInitialStatus());
out.write("\n\t\t\t\t Current Status - " +
ss.getCurrentStatus());

}
}
}
out.write("\n=========================================\n");
}
if (resetReqTime > 0) {
// Save reset request time.
out.write("\n*****************************************\n");
out.write("Statistics for all these services are RESET.\n");
out.write("RESET request time is " +
new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").
format(new Date(resetReqTime)));
out.write("\n****************************************\n");
}

// Flush and close file.
out.flush();
out.close();
}

/**
* Init method.
*
* @param props Properties required for initialization.
* @throws Exception
*/
private void init(HashMap props) throws Exception {
Properties properties = new Properties();
properties.putAll(props);
getServiceDomainMBean(properties.getProperty("HOSTNAME"),
Integer.parseInt(properties.getProperty("PORT", "7001")),
properties.getProperty("USERNAME"),
properties.getProperty("PASSWORD"));
serverName = properties.getProperty("SERVER_NAME");
}

/**
* Gets an instance of ServiceDomainMBean from the weblogic server.
*
* @param host
* @param port
* @param username
* @param password
* @throws Exception
*/
private void getServiceDomainMBean(String host, int port, String
username, String password) throws Exception {
InvocationHandler handler =
new ServiceDomainMBeanInvocationHandler(host, port,
username,password);
Object proxy = Proxy.newProxyInstance(
ServiceDomainMBean.class.getClassLoader(),
new Class[]{ServiceDomainMBean.class}, handler);
serviceDomainMbean = (ServiceDomainMBean) proxy;
}

/**
* Invocation handler class for ServiceDomainMBean class.
*/
public static class ServiceDomainMBeanInvocationHandler
implements InvocationHandler {
private String jndiURL =
"weblogic.management.mbeanservers.domainruntime";
private String mbeanName = ServiceDomainMBean.NAME;
private String type = ServiceDomainMBean.TYPE;

private String protocol = "t3";
private String hostname = "localhost";
private int port = 7001;
private String jndiRoot = "/jndi/";

private String username = "weblogic";
private String password = "weblogic";

private JMXConnector conn = null;
private Object actualMBean = null;

public ServiceDomainMBeanInvocationHandler(String hostName, int
port, String userName, String password) {
this.hostname = hostName;
this.port = port;
this.username = userName;
this.password = password;
}

/**
* Gets JMX connection
* @return JMX connection
* @throws IOException
* @throws MalformedURLException
*/
public JMXConnector initConnection()
throws IOException, MalformedURLException {
JMXServiceURL serviceURL = new JMXServiceURL(protocol,
hostname, port, jndiRoot + jndiURL);
Hashtable<String, String> h = new Hashtable<String,
String>();

if (username != null)
h.put(Context.SECURITY_PRINCIPAL, username);
if (password != null)
h.put(Context.SECURITY_CREDENTIALS, password);

h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,
"weblogic.management.remote");
return JMXConnectorFactory.connect(serviceURL, h);
}

/**
* Invokes specified method with specified params on specified
* object.
* @param proxy
* @param method
* @param args
* @return
* @throws Throwable
*/
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
try {
if (conn == null) {
conn = initConnection();
}
if (actualMBean == null) {
actualMBean =
findServiceDomain(conn.getMBeanServer
Connection(),mbeanName, type, null);
}
Object returnValue = method.invoke(actualMBean, args);

return returnValue;
}
catch (Exception e) {
throw e;
}
}
/**
* Finds the specified MBean object
*
* @param connection - A connection to the MBeanServer.
* @param mbeanName - The name of the MBean instance.
* @param mbeanType - The type of the MBean.
* @param parent - The name of the parent Service. Can be NULL.
* @return Object - The MBean or null if the MBean was not found.
*/

public Object findServiceDomain(MBeanServerConnection connection,
String mbeanName,
String mbeanType,
String parent) {
ServiceDomainMBean serviceDomainbean = null;
try {
ObjectName on =
new ObjectName(ServiceDomainMBean.OBJECT_NAME);
serviceDomainbean = (ServiceDomainMBean)
MBeanServerInvocationHandler.
newProxyInstance(connection, on);
}
catch (MalformedObjectNameException e) {
e.printStackTrace();
return null;
}
return serviceDomainbean;
}
}
/**
* Timer task to keep retrieving and resetting service statistics.
*/
static class GetAndResetStatisticsTask extends TimerTask {
private ServiceStatisticsRetriever collector;

public GetAndResetStatisticsTask(ServiceStatisticsRetriever col
){collector = col;
}

public void run() {
System.out.println("\n**********************************");
System.out.println("Retrieving statistics for all monitored
" + "business services.");

try {
collector.getAndResetStatsForAllMonitoredBizServices();
System.out.println("Successfully retrieved and reset
statistics for " +
"all monitored \n business services at " +
new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").
format(new Date(System.currentTimeMillis())));
} catch (Exception e) {
System.out.println("Failed to retrieve and reset
statistics for all " + "monitored business
service...");
e.printStackTrace();
}
System.out.println("**********************************\n");

System.out.println("\n**********************************");
System.out.println("Retrieving statistics for all
monitored proxy services.");
try {
collector.getAndResetStatsForAllMonitoredProxy
Services();
System.out.println("Successfully retrieved and reset
statistics " +
"for all monitored \nproxy services at " +
new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").
format(new Date(System.currentTimeMillis())));
} catch (Exception e) {
System.out.println("Failed to retrieve and reset
statistics " + "for all monitored proxy service
...");
e.printStackTrace();
}
System.out.println("*********************************\n");
}
}

/**
* The main method to start the timer task to extract, save, and reset
* statistics for all monitored business and proxy services. It uses
* the following system properties.
* 1. hostname - Hostname of admin server
* 2. port - Listening port of admin server
* 3. username - Login username
* 4. password - Login password
* 5. period - Frequency in hours. This will be used by the timer
* to determine the time gap between two executions.
*
* @param args Not used.
*/
public static void main(String[] args) {
try {
Properties p = System.getProperties();

HashMap map = new HashMap();

map.put("HOSTNAME", p.getProperty("hostname","localhost"));
map.put("PORT", p.getProperty("port", "7001"));
map.put("USERNAME", p.getProperty("username", "weblogic"));
map.put("PASSWORD", p.getProperty("password", "weblogic"));
//set a server name if you want to get the uri status
statistics
in a cluster
map.put("SERVER_NAME", p.getProperty("server_name","AdminServer"));

ServiceStatisticsRetriever collector =
new ServiceStatisticsRetriever();
String periodStr = p.getProperty("period", "1");
int periodInHour = Integer.parseInt(periodStr);
long periodInMilliSec = periodInHour * 60 * 60 * 1000;

collector.init(map);

// Start timer.
Timer timer = new Timer();
timer.scheduleAtFixedRate(
new GetAndResetStatisticsTask(collector),
0, periodInMilliSec);
}
catch (Exception e) {
e.printStackTrace();
}
}
}

E SNMPコンポーネント

この章では、Oracle Service BusのSNMP(Simple Network Management Protocol)リソースの作成および使用のガイドラインについて説明します。

SNMPは、リソースの管理に関する情報をネットワーク上で交換できるようにするアプリケーション層プロトコルです。SNMPでは、リソースを監視したり、必要に応じてリソースから取得したデータに基づいてなんらかのアクションとることができます。

SNMPの詳細は、『Oracle Fusion Middleware Oracle WebLogic Server SNMP管理ガイド』を参照してください。

E.1 SNMPエージェントの作成および使用

この項では、Oracle Service Busによって生成されたSNMPメッセージをトラップするためにSNMPエージェントを既存のOracle WebLogicドメインに作成してターゲットとして設定する場合のガイドラインを示します。

SNMPエージェントを作成してターゲットとして設定する手順については、Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・オンライン・ヘルプの次のトピックを参照してください。

- SNMPエージェントの作成

- SNMPエージェントのターゲットとしての設定

- トラップ宛先の作成

E.1.1 Oracle Service Bus用のSNMPエージェントを作成してターゲットとして設定する場合のガイドライン

ドメイン・スコープまたはサーバー・スコープのSNMPエージェントを作成できます。個々のサーバーではなくドメインへのターゲットとして設定されているドメイン・スコープ・エージェントは下位互換用で、非推奨です。サーバー・スコープ・エージェントを作成することをお薦めします。

Oracle Service Bus用にSNMPサーバー・スコープ・エージェントを作成してターゲットとして設定する場合は、次のガイドラインを使用します。

エージェントのターゲットとしての設定

SNMPエージェントをOracle Service Busへのターゲットとして設定する場合は、Oracle Service Bus管理サーバーのみへのターゲットとして設定します。管理サーバーへのターゲットとして設定されたエージェントのみがOracle Service Busからアラートを受信します。管理対象サーバーへのターゲットとして設定されたエージェントはSNMPメッセージを受信しません。

トラップ宛先の作成

次の設定を入力します。

- Name: alsbDestination-0

- コミュニティ: weblogic

- 「ホスト」と「ポート」: SNMPマネージャがリスニングするホストとポートを指す値(localhostと163など)を設定します。

トラップのリスニングを開始するには

1. コマンド・ウィンドウで、ディレクトリをWL_ORACLE_HOME/server/binに移動し、次のコマンドを実行します。

setWLSEnv.cmd(.sh)

2. 次のJavaコマンドを実行し、トラップをリスニングしてサーバー・コンソールに出力する(トラップのリスニング・ポートに163を使用)、Oracle WebLogic Server SNMPコマンド・ライン・ユーティリティを起動します。

java weblogic.diagnostics.snmp.cmdline.Manager SnmpTrapMonitor -p 163

それ以降、Oracle Service Bus内で生成されたトラップは、トラップをリスニングしている実行中のコマンド・ライン・ユーティリティにアクセスする必要があります。

注意:
Solarisの場合、ポート番号0から1023は、ルート・ログイン用に予約されています。この手順で使用したようにポート161および163を使用すると、ルート・ログインを使用して、サーバーおよびコマンド・ライン・ユーティリティを起動する必要があります。この問題を回避し、ルート・ログインを使用しないようにするには、SNMPエージェントとSNMPマネージャのコマンドの両方に、1023より大きいポート番号を指定します。

F Oracle Service Busにおける統計のモニター

この章では、Oracle Service Busが取り込むサービス統計について説明します。

Oracle Service Busでは、ビジネス・サービスやプロキシ・サービスのモニター時に様々な種類の統計を収集できます。統計の名前は、収集対象のサービスのコンポーネントに「.」で連結されます。

表F-1は、Oracle Service Busで使用できる様々な統計を示します。

表F-1 Oracle Service Busにおける様々な統計

名前

関連付けられているサービスの種類

種類

Transport.error-count

ビジネス・サービスとプロキシ・サービス

件数

Transport.message-count

ビジネス・サービスとプロキシ・サービス

件数

Transport.response-time

ビジネス・サービスとプロキシ・サービス

間隔

Transport.failover-count

ビジネス・サービス

件数

Security.WebService Security.wss-error

ビジネス・サービスとプロキシ・サービス

件数

Alert.sla-all

ビジネス・サービスとプロキシ・サービス

件数

Alert.sla-normal

ビジネス・サービスとプロキシ・サービス

件数

Alert.sla-warning

ビジネス・サービスとプロキシ・サービス

件数

Alert.sla-minor

ビジネス・サービスとプロキシ・サービス

件数

Alert.sla-major

ビジネス・サービスとプロキシ・サービス

件数

Alert.sla-critical

ビジネス・サービスとプロキシ・サービス

件数

Alert.sla-fatal

ビジネス・サービスとプロキシ・サービス

件数

Alert.pipeline-all

プロキシ・サービス

件数

Alert.pipeline-warning

プロキシ・サービス

件数

Alert.pipeline-minor

プロキシ・サービス

件数

Alert.pipeline-major

プロキシ・サービス

件数

Alert.pipeline-critical

プロキシ・サービス

件数

Alert.pipeline-fatal

プロキシ・サービス

件数

Router.error-count

プロキシ・サービス

件数

Router.message-count

プロキシ・サービス

件数

Router.validation-errors

プロキシ・サービス

件数

Router.Pipeline.pipeline_name.error-count

プロキシ・サービス

件数

Router.Pipeline.pipeline_name.message-count

プロキシ・サービス

件数

Router.Pipeline.pipeline_name.elapsed-time

プロキシ・サービス

件数

Router.Route Node.route_node_name.error-count

プロキシ・サービス

件数

Router.Route Node.route_node_name.message-count

プロキシ・サービス

件数

Router.Operation Node.route_node_name.elapsed-time

プロキシ・サービス

件数

Router.Operation.operation_name.error-count

プロキシ・サービス

件数

Router.Operation Node.operation_name.message-count

プロキシ・サービス

件数

Router.Operation.operation_name.elapsed-time

プロキシ・サービス

件数

Transport.url.url_name.status

ビジネス・サービス

ステータス

Transport.url.url_name.error-count

ビジネス・サービス

件数

Transport.url.url_name.message-count

ビジネス・サービス

件数

Transport.url.url_name.response-time

ビジネス・サービス

間隔

Transport.uri-offline_count-status

ビジネス・サービス

ステータス

Transport.throttling-time

ビジネス・サービス

間隔

Transport.cache-hit-count

ビジネス・サービス

件数

統計の詳細は、付録D「JMXモニタリングAPI」を参照してください。

注意:
統計の名前のみが「Oracle Service Bus管理コンソール」に表示されます。
統計Router.error-count、Router.message-countおよびRouter.elapsed-timeは表示されません。かわりに、Transport.error-count、Transport.message-countおよびTransport.elapsed-timeが表示されます。

管理コンソールには、成功率と失敗率も表示されます。成功率は、メッセージの総数に対する成功したメッセージの割合(%)を表します。失敗率は、メッセージの総数に対する失敗したメッセージの割合(%)を表します。

JMXモニタリングAPIを使用して、クラスタの種類のステータスの統計を取得することはできません。

G Oracle Service Busシステムの監査

この章では、Oracle Service Bus環境の監査に関する一般的なガイドラインについて説明します。

Oracle Service Busシステムでは、サービスをモニターするだけでなく、システムを監査して、システムに対する構成の変更履歴を確認し、実行時にOracle Service Busパイプラインを通過するメッセージのステータスを記録し、パイプライン内のメッセージのセキュリティ違反を記録できます。

G.1 構成の変更の監査

Oracle Service Bus管理コンソールで構成の変更を実行すると、追跡記録が作成され、構成の変更の記録が保持されます。以前のオブジェクトのイメージのみが保持されます。管理コンソールを介してセッション中に変更された構成の変更の履歴とリソースのリストを表示したり、これらにアクセスしたりできます。ただし、構成のすべての情報にアクセスするには、セッションをアクティブ化する必要があります。

G.2 メッセージ・フローの監査証跡の作成

実行中にメッセージ・フローのパイプライン全体を監査するのは時間がかかります。ただし、レポート・アクションを使用すると、実行中のメッセージ・フローのパイプラインの監査を選択して実行できます。メッセージ・フローのパイプラインの必要なポイントにレポート・アクションを挿入し、必要な情報を抽出します。抽出された情報は、データベースに格納するか、監査レポートを作成するためにレポート・ストリームに送信することができます。

G.3 セキュリティ違反の監査

メッセージがプロキシ・サービスに送信され、トランスポート・レベルの認証またはWebサービスのセキュリティの違反があった場合、Oracle WebLogic Serverは監査証跡を生成します。この監査証跡を生成するには、Oracle WebLogic Serverを構成する必要があります。これにより、メッセージ・フローのパイプラインで発生するすべてのセキュリティ違反を監査できます。また、ユーザーを認証するたびに監査証跡が生成されます。セキュリティ監査の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle WebLogic Securityフレームワークの構成の主な手順に関する項を参照してください。

H XQuery-SQLマッピング参照

この章では、ネイティブ・データ型のサポート、およびOracle XQueryエンジンが生成する、またはサポートするXQueryマッピングについて説明します。

この章の内容は次のとおりです。

- コアRDBMSデータ型マッピング

- H.1項「IBM DB2/NT 8」

- H.2項「Microsoft SQL Server」

- H.3項「Oracle8i, 8.1.x」

- H.4項「Oracle 9i、Oracle Database 10g」

- H.5項「Sybase 12.5.2(およびそれ以上)」

- H.6項「ベース(汎用)RDBMSデータ型マッピング」

Oracle Service Bus XQueryでのこれらのマッピングの使用については、37.9項「XQueryを使用したデータベースへのアクセス」を参照してください。

Oracle Service BusでサポートされているデータベースおよびJDBCドライバの詳細は、次の場所にあるOracle Fusion Middlewareのサポートされるシステム構成を参照してください:

http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html

H.1 IBM DB2/NT 8

この項では、IBM DB2/NT 8についてXQueryエンジンが生成する、またはサポートするデータ型マッピングについて示します。

表H-1 IBM DB2データ型マッピング

DB2データ型

XQuery型

BIGINT

xs:long

BLOB

xs:hexBinary

CHAR

xs:string

CHAR() FOR BIT DATA

xs:hexBinary

CLOB脚注 1

xs:string

DATE

xs:date

DOUBLE

xs:double

DECIMAL(p,s)脚注 2  (NUMERIC)

xs:decimal (if s > 0), xs:integer (if s = 0)

INTEGER

xs:int

LONG VARCHAR^1

xs:string

LONG VARCHAR FOR BIT DATA

xs:hexBinary

REAL

xs:float

SMALLINT

xs:short

TIME脚注 3

xs:time脚注 4

TIMESTAMP脚注 5

xs:dateTime脚注 4

VARCHAR

xs:string脚注 4

VARCHAR() FOR BIT DATA

xs:hexBinary

脚注 1 プロジェクト・リストでのみプッシュ・ダウンされます。

脚注 2 ここで、pは精度(小数点以下および以上の両方を含めた総桁数)で、sは位取り(小数点次の桁数)を表します。

脚注 3 精度は1秒単位です。

脚注 4 TIMEおよびTIMESTAMPの制限のため、値はローカル・タイム・ゾーンに変換されます(タイム・ゾーン情報は削除されます)。

脚注 5 精度はミリ秒に制限されています。

H.2 Microsoft SQL Server

この項では、Microsoft SQL ServerについてXQueryエンジンが生成する、またはサポートするデータ型マッピングについて示します。

表H-2 SQL Server 2000データ型マッピング

SQLデータ型

XQuery型

BIGINT

xs:long

BINARY

xs:hexBinary

BIT

xs:boolean

CHAR

xs:string

DATETIME脚注 1

xs:dateTime脚注 2

DECIMAL(p,s)脚注 3  (NUMERIC)

xs:decimal (if s > 0), xs:integer (if s = 0)

FLOAT

xs:double

IMAGE

xs:hexBinary

INTEGER

xs:int

MONEY

xs:decimal

NCHAR

xs:string

NTEXT脚注 4

xs:string

NVARCHAR

xs:string

REAL

xs:float

SMALLDATETIME脚注 5

xs:dateTime

SMALLINT

xs:short

SMALLMONEY

xs:decimal

SQL_VARIANT

xs:string

TEXT^4

xs:string

TIMESTAMP

xs:hexBinary

TINYINT

xs:short

VARBINARY

xs:hexBinary

VARCHAR

xs:string

UNIQUIDENTIFIER

xs:string

脚注 1 小数点以下3桁までの秒精度(ミリ秒)。タイム・ゾーン情報はありません。

脚注 2 DATETIMEの制限のため、値はローカル・タイム・ゾーンに変換され(タイム・ゾーン情報は削除)、小数点次の秒はミリ秒まで切り捨てられます。

脚注 3 ここで、pは精度(小数点以下および以上の両方を含めた総桁数)で、sは位取り(小数点次の桁数)を表します。

脚注 4 プロジェクト・リストでのみプッシュ・ダウンされます。

脚注 5 精度は1分単位です。

H.3 Oracle8i, 8.1.x

この項では、Oracle 8.1.x (Oracle 8i)についてXQueryエンジンが生成する、またはサポートするデータ型について示します。

表H-3 Oracle 8.1.xデータ型マッピング

Oracle 8データ型

XQuery型

BFILE

サポートされません

BLOB

xs:hexBinary

CHAR

xs:string

CLOB脚注 1

xs:string

DATE脚注 2

xs:dateTime

FLOAT

xs:double

LONG^1

xs:string

LONG RAW

xs:hexBinary

NCHAR

xs:string

NCLOB^1

xs:string

NUMBER

xs:double

NUMBER(p,s)脚注 3

xs:decimal (if s > 0), xs:integer (if s <=0)

NVARCHAR2

xs:string

RAW

xs:hexBinary

ROWID

xs:string

UROWID

xs:string

脚注 1 プロジェクト・リストでのみプッシュ・ダウンされます。

脚注 2 小数点次の秒はサポートしません。

脚注 3 ここで、pは精度(小数点以下および以上の両方を含めた総桁数)で、sは位取り(小数点次の桁数)を表します。

H.4 Oracle 9i、Oracle Database 10g

この項では、Oracle 9iおよびOracle Database 10gについてXQueryエンジンが生成する、またはサポートするデータ型およびその他のマッピングについて説明します。Oracleでは空の文字列はNULLとして処理されます。この文字列は、XQueryセマンティクスから逸脱しており、プッシュ・ダウンされた式に対し予期しない結果が導き出される可能性があります。

表H-4 Oracle 9i、Oracle Database 10gデータ型マッピング

Oracleデータ型

XQuery型

BFILE

サポートされません

BLOB

xs:hexBinary

CHAR

xs:string

CLOB脚注 1

xs:string

DATE

xs:dateTime脚注 2

FLOAT

xs:double

INTERVAL DAY TO SECOND

xdt:dayTimeDuration

INTERVAL YEAR TO MONTH

xdt:yearMonthDuration

LONG^1

xs:string

LONG RAW

xs:hexBinary

NCHAR

xs:string

NCLOB^1

xs:string

NUMBER

xs:double

NUMBER(p,s)

xs:decimal (if s > 0), xs:integer (if s <=0)

NVARCHAR2

xs:string

RAW

xs:hexBinary

ROWID

xs:string

TIMESTAMP

xs:dateTime脚注 3

TIMESTAMP WITH LOCAL TIMEZONE

xs:dateTime

TIMESTAMP WITH TIMEZONE

xs:dateTime

VARCHAR2

xs:string

UROWID

xs:string

脚注 1 プロジェクト・リストでのみプッシュ・ダウンされます。

脚注 2 SDOがxs:dateTime値をOracle DATE型で保存する場合、それはローカル・タイム・ゾーンに変換され、DATEの制限のため、小数点次の秒は切り捨てられます。

脚注 3 タイム・ゾーン情報があるかどうかに応じて、XQueryエンジンはXQuery xs:dateTimeをTIMESTAMPまたはTIMESTAMP WITH TIMEZONEデータ型のいずれかにマップします。SDOを使用してxs:dateTimeを保存する場合、SQLの型定義に応じて、秒の小数点次の桁が欠落することがあります。

H.5 Sybase 12.5.2(およびそれ以上)

この項では、Sybase 12.5.2 (またはそれ以上)についてXQueryエンジンが生成する、またはサポートするデータ型について示します。

注意:
SybaseはXQueryセマンティクスから逸脱しており(XQueryセマンティクスでは空の文字列は無視されます)、空の文字列はシングル・スペースの文字列として処理されます。

表H-5 Sybase 12.5.2データ型マッピング

Sybaseデータ型

XQuery型

BINARY

xs:hexBinary

BIT

xs:boolean

CHAR

xs:string

DATE

xs:date

DATETIME脚注 1

xs:dateTime脚注 2

DECIMAL(p,s)脚注 3  (NUMERIC)

xs:decimal (if s > 0), xs:integer (if s == 0)

DOUBLE PRECISION

xs:double

FLOAT

xs:double

IMAGE

xs:hexBinary

INT (INTEGER)

xs:int

MONEY

xs:decimal

NCHAR

xs:string

NVARCHAR

xs:string

REAL

xs:float

SMALLDATETIME脚注 4

xs:dateTime

SMALLINT

xs:short

SMALLMONEY

xs:decimal

SYSNAME

xs:string

TEXT脚注 5

xs:string

TIME

xs:time

TINYINT

xs:short

VARBINARY

xs:hexBinary

VARCHAR

xs:string

脚注 1 小数点以下3桁までの秒(ミリ秒)をサポートします。タイム・ゾーン情報はありません。

脚注 2 SDOがxs:dateTime値をOracle DATE型で保存する場合、それはローカル・タイム・ゾーンに変換され、DATEの制限のため、小数点次の秒は切り捨てられます。

脚注 3 ここで、pは精度(小数点以下および以上の両方を含めた総桁数)で、sは位取り(小数点次の桁数)を表します。

脚注 4 精度は1分単位です。

脚注 5 テキストを返す式は、プロジェクト・リストでのみプッシュ・ダウンされます。

H.6 ベース(汎用)RDBMSデータ型マッピング

SQLをXQueryデータ型にマッピングする際、XQueryエンジンでは最初にJDBCタイプ・コードを確認します。タイプ・コードがXQuery型に対応している場合、XQueryエンジンでは一致するネイティブ・タイプ名を使用します。一致するタイプ・コードやタイプ名がない場合、列は無視されます。表H-6にこのマッピングを示します。

表H-6 RDBMSデータ型マッピング

JDBCデータ型

タイプ・コード

XQueryデータ型

BIGINT

-5

xs:long

BINARY

-2

xs:string

BIT

-7

xs:boolean

BLOB

2004

xs:hexBinary

BOOLEAN

16

xs:boolean

CHAR

1

xs:string

CLOB脚注 1

2005

xs:string

DATE

91

xs:date脚注 2

DECIMAL (p,s)脚注 3

3

xs:decimal (if s > 0), xs:integer (if s =0)

DOUBLE

8

xs:double

FLOAT

6

xs:double

INTEGER

4

xs:int

LONGVARBINARY

-4

xs:hexBinary

LONGVARCHAR^1

-1

xs:string

NUMERIC (p,s)脚注 3

2

xs:decimal (if s > 0), xs:integer (if s =0)

REAL

7

xs:float

SMALLINT

5

xs:short

TIME脚注 4

92

xs:time^4

TIMESTAMP^4

93

xs:dateTime脚注 2

TINYINT

-6

xs:short

VARBINARY

-3

xs:hexBinary

VARCHAR

12

xs:string

その他のベンダー固有のJDBCタイプ・コード

1111

Oracle Service Busは、ネイティブ・データ型名を使用して適切なXQueryデータ型にマップします。

脚注 1 プロジェクト・リストでのみプッシュ・ダウンされます。

脚注 2 DATEの制限のため、値はローカル・タイム・ゾーンに変換されます(タイム・ゾーン情報は削除されます)。

脚注 3 ここで、pは精度(小数点以下および以上の両方を含めた総桁数)で、sは位取り(小数点次の桁数)を表します。

脚注 4 xs:timeをTIMEに変換する場合、基盤のRDBMSの精度により、TIMEデータ型の精度および小数点以下切捨ての度合い(該当する場合)が決定します。

I WSRPとの相互運用性

この章では、Oracle Service BusによりWSRPを使用するアプリケーションでサービス・レベル・アグリーメント(SLA)をモニターするしくみについて説明します。

Web Services for Remote Portlets (WSRP)は、マークアップ・フラグメントをリモート・システムで生成してローカルのポータル・アプリケーションで表示するメカニズムとして使用されます。

この章の内容は次のとおりです。

- I.1項「WSRPのプロデューサとコンシューマ」

- I.2項「WSRPのアーキテクチャ」

- I.3項「WSRP設計の概念」

I.1 WSRPのプロデューサとコンシューマ

WSRPでは次の2つのコンポーネントが不可欠です。

- WSRPプロデューサ(このドキュメントではプロデューサと表記)は、SOAP over HTTP仕様を使用して標準ベースのWebサービスを実装するリモート・アプリケーションです。プロデューサは、WebLogic Portalまたはサード・パーティによるWSRP実装を使用して作成できます。

- WSRPコンシューマ(このドキュメントではコンシューマと表記)は、ポータル・アプリケーションです。通常、コンシューマ・アプリケーションは、ポータル設計時にプロデューサのWSDLを参照し、コンシューマはプロデューサに直接アクセスします。

I.2 WSRPのアーキテクチャ

この項では、WSRPのアーキテクチャについて説明し、Oracle Service Busを追加してこのアーキテクチャを拡張する方法を示します。

図I-1は、プロデューサ・アプリケーションとコンシューマ・アプリケーション間のWSRP SOAPリクエストおよびレスポンス・フローを示します。

図I-1 プロデューサ・アプリケーションとコンシューマ・アプリケーション間の基本のリクエスト/レスポンス・フロー

I.2.1 Oracle Service Busを使用した拡張アーキテクチャ

図I-2は、Oracle Service Busを使用してプロデューサとコンシューマを仲介することにより、サービス・レベル・アグリーメント(SLA)モニター機能を提供する方法を示します。Oracle Service Busは、この方法で使用できます。

図I-2 Oracle Service Busによって拡張されたWSRPのリクエスト/レスポンス・フロー

WSRP SOAPリクエスト/レスポンス・フローは次の順序で行われます。

1. インバウンド・リクエスト: コンシューマがOracle Service Busでプロキシ・サービスを呼び出します。

2. アウトバウンド・リクエスト: プロキシ・サービスがリクエスト(SOAP本体とトランスポート・ヘッダーを含むメッセージ)をプロデューサにルーティングします。

3. アウトバウンド・レスポンス: プロデューサがレスポンスをOracle Service Busに送信します。

4. インバウンド・レスポンス: プロキシ・サービスがレスポンスをコンシューマに送信します。レスポンスとは、SOAP本体とトランスポート・ヘッダーを含むメッセージです。

この項の後の部分では、プロキシ・サービスを介してWSRPサービスのリクエストを送信するようにOracle Service Busを構成する方法について説明します。プロデューサで提供されるサービスや、Oracle Service Busの構成のために使用する必要があるWSRPのその他の属性について説明します。また、プロデューサを詳しくモニターする方法についても説明します。最後に、WSRPでのロード・バランシングおよびフェイルオーバーについても説明します。

I.3 WSRP設計の概念

この項では、次のWSRP設計の概念について説明します。

- I.3.1項「WSRP WSDL」

- I.3.2項「WSRPメッセージ」

I.3.1 WSRP WSDL

表I-0は、WSDLで提供されるサービスの種類を示します。WSDLは、「プロデューサ」と表記しています。

表I-1 プロデューサ・サービス

サービス

説明

サービス記述

必須サービス。プロデューサがコンシューマに使用できるようにする、プロデューサとポートレットについて記述されます。

マークアップ

必須サービス。リモート・ポートレットとのユーザーの対話を管理し、ポートレットのレンダリングに使用されるHTMLマークアップを返します。

登録

オプション・サービス。複雑なプロデューサでは必須です。これを使用してコンシューマがプロデューサに自己登録できます。

管理

オプション・サービス。複雑なプロデューサでポートレットのカスタマイズとポートレットのプリファレンスを管理するために提供されます。

マークアップ拡張機能

Oracle WebLogic Portalプロデューサでマークアップ・サービスのかわりに提供されます。マークアップ拡張機能では、HTMLマークアップ・コンテンツの送信でマルチ・パートMIMEメッセージを使用すると、メッセージ処理の効率が上がります。

各プロデューサは、少なくとも2つのサービス(サービス記述とマークアップなど)を実装します。単純なプロデューサは、この2つのサービスだけを提供します。複雑なプロデューサは、この他に2つのサービス(登録と管理など)を提供します。また、WebLogic Portalプロデューサは、標準のマークアップ・サービスのかわりに使用できる拡張機能サービス(マークアップ拡張機能など)も実装します。

これらのサービスは、標準のWSDL形式で記述されます。プロデューサは、WSDL取得用に1つのURLを提供します。WSDLには、そのプロデューサが提供するすべてのサービスが記述されています。各サービスのエンド・ポイントによって、コンシューマがプロデューサとの通信にトランスポート・レベルのセキュリティ(HTTPs)を使用する必要があるかどうかが指定されます。

I.3.2 WSRPメッセージ

WSRPは、プロデューサとコンシューマの間で交換されるすべてのメッセージでSOAP over HTTPを使用します。SOAP本体で標準メッセージ形式を使用するだけでなく、WSRPでは、コンシューマは、少なくとも、SOAPActionヘッダー、Cookieヘッダー、および通常のHTTPヘッダー(Content-Typeなど)を設定する必要があります。プロデューサは、セッションCookieとアプリケーション固有のCookieを、レスポンスのHTTPトランスポート・ヘッダーで返します。コンシューマは、後続のリクエスト・メッセージでそのセッションCookieを返す必要があります。

I.4 WSRP対応Oracle Service Busの構成

Oracle Service Bus管理コンソールはOracle Service Busの構成に使用されます。Oracle WebLogic Portalを使用したWSRP対応ポータルの作成の詳細は、Oracle Fusion Middleware Oracle WebLogic Portalフェデレーテッド・ポータル・ガイドを参照してください。

WSRP対応Oracle Service Busの構成には、次のタスクが含まれます。

- コンシューマが特定のプロデューサに対応するWSDLを取得するために呼び出すことができるサービスの実装

- コンシューマのリクエストをプロデューサに渡し、レスポンスをコンシューマに返す詳細の実装

この章では、次のタスクについて説明します。

- I.4.1項「プロデューサのWSDLの取得」

- I.4.2項「コンシューマとプロデューサの間でのメッセージのルーティング」

- I.4.3項「WSRPアプリケーションのモニター」

- I.4.4項「ロード・バランシングとフェイルオーバー」

I.4.1 プロデューサのWSDLの取得

通常、コンシューマは、プロデューサに直接アクセスしてWSDLを取得します。しかし、Oracle Service Busをプロキシ・サービスとして使用している場合、プロデューサへのすべてのアクセスはOracle Service Busを介して行われます。このため、コンシューマ用のプロキシ・サービスを実装します。このプロキシ・サービスは、プロデューサの実際のURLを呼び出してプロデューサWSDLを取得します。次のようにプロキシ・サービスは結果を変換します。

- プロデューサのエンドポイントのアドレスを、Service BusのIPアドレスとポートを参照するように再作成する

- エンドポイントURIを変更し、必要なモニター・レベルを反映したOracle Service Busプロキシ・サービスを参照する(I.4.3項「WSRPアプリケーションのモニター」を参照してください)。

- エンドポイントのプロトコルとポートを変更し、コンシューマとOracle Service Busプロキシ・サービスの間でトランスポート・セキュリティを使用するかどうかを反映する

開発者がプロデューサを作成するときに、プロデューサでSSLが必要("secure=true")かどうかを指定できます。また、Oracle Service Bus管理者は、Oracle Service Bus構成を使用して、コンシューマに対するセキュリティ要件を変更できます。たとえば、プロデューサがSSLを要求しない場合は、Oracle Service Bus管理者は、次のようにしてコンシューマにSSLの使用を要求することができます。

- WSDLを変更してHTTP(s)を指定する

- プロキシ・サービスをWSRP対応にし、HTTP(s)を使用するように構成する

このように構成すると、Oracle Service Busは、コンシューマからの安全なメッセージとプロデューサが使用する安全でないメッセージを自動的に橋渡しします。

I.4.2 コンシューマとプロデューサの間でのメッセージのルーティング

コンシューマは、WSDLのコピーを取得した後、WSDLの定義を使用してサービス・リクエストを作成し、Oracle Service Busを介してプロデューサに送信します。WSRPのリクエスト/レスポンス・プロセスの手順は次のとおりです。

1. コンシューマが、プロデューサ・サービスに対応するOracle Service Busプロキシ・サービスにメッセージを送信します。

2. プロキシ・サービスは、メッセージを(そのままの状態で)実際のプロデューサ・サービスにルーティングする単純なメッセージ・フローを実行します。

3. プロデューサはレスポンスを作成し、Oracle Service Busを介してコンシューマに送信します。

4. コンシューマは、プロデューサからのレスポンスを(そのままの状態で)受信します。

WSRP Webサービスはポートレットを公開します。それらのポートレットはHTTPのCookieとセッションに依存する場合があります。そのため、HTTPトランスポート・ヘッダー(SOAPActionやCookieなど)を伝播するには、Oracle Service Busを構成する必要があります。ただし、プロキシ・サービスとビジネス・サービスが同じトランスポートを使用するとはかぎらないため、デフォルトでは、Oracle Service Busは、プロキシ・サービスからビジネス・サービスにトランスポート・ヘッダーを渡しません。そのため、リクエスト・ヘッダーを着信リクエストから発信リクエストにコピーするように、メッセージ・フローを構成する必要があります。同様に、ビジネス・サービスのレスポンス・ヘッダーも、プロキシ・サービスからコンシューマへのレスポンスにコピーする必要があります。

すべてのトランスポート・ヘッダーをプロキシ・サービスとビジネス・サービスの間でコピーできますが、エラーを避けるために、コピーするトランスポート・ヘッダーを選択してください。Set-CookieヘッダーとCookieヘッダーをコピーする必要があります。最終メッセージは、いくつかのヘッダー(Content-Lengthなど)を保持する必要があります。これは、Oracle Service Busは最終送信メッセージをアセンブルするエンティティであるためです。たとえば、メッセージ・フローでContent-Lengthヘッダーをプロキシ・サービスからビジネス・サービスにコピーすると、処理中にメッセージの長さが変化したためにエラーになることがあります。そのため、Oracle Service Busはヘッダーを保持する必要があります。

I.4.3 WSRPアプリケーションのモニター

WSRPアプリケーションをモニターすることによって、プロデューサの個々のサービスと処理の使用状況を追跡します。WSRPサービスのメッセージ・フローのオーバーヘッドは非常に少なく、プロキシ・サービスとプロデューサ間のマッピング、およびビジネス・サービスとプロデューサ間のマッピングは容易に構成できます。そのため、SLA要件を満たすには、プロキシ・サービスをモニターするだけで十分です。

WSRPアプリケーションのモニターの詳細は、第46章「実行時のOracle Service Busのモニター」を参照してください。

I.4.4 ロード・バランシングとフェイルオーバー

Oracle Service Busでは、ビジネス・サービスに、同じWebサービスを提供する複数のエンドポイントを定義できます。複数のエンドポイントを定義すると、Oracle Service Busでは、エンドポイント間でリクエストのロード・バランスを自動的に調整できます。また、1つのエンドポイントがアクセスできなくなると、リクエストを自動的にフェイルオーバーすることもできます。

I.4.4.1 セッション固定性を持たないWSRPの制限

ポートレットは、アプリケーションにユーザー・インタフェースを提供する手段です。そのため、通常、ポートレットには、セッション・データが関連付けられています。セッション・データを保持するために、ポートレットへのリクエストは、元のリクエストを処理したものと同じサーバー(またはクラスタ)に送信される必要があります。この要件により、ビジネス・プロセスがHTTPセッション固定性用の構成されていないかぎり、Oracle Service Busを介したロード・バランシングは不適切になります。ビジネス・サービスの複数のエンドポイントは、通常、異なるサーバーまたはクラスタをターゲットとします。構成されたセッション固定性がなければ、セッションを保存する方法はありません。これは、別々のクラスタにある複数のサーバー間で通信が行われないからです。そのため、WSRPビジネス・サービスに複数のエンドポイントを定義しており、セッション固定性を有効にしていない場合は、ロード・バランシングのアルゴリズムをnoneに設定する必要があります。

特定の環境では、複数のエンドポイントを使用して冗長性を確保し、エンドポイントの1つが使用できなくなった場合に備えることができます。2つ目のエンドポイントでWSRPサービスを利用できます。ただし、最初のエンドポイントが使用できなくなった時点のセッション・データは、他のエンドポイントでは使用できません。

このフェイルオーバー構成は、単純なプロデューサでのみ使用できるオプションです(I.3.1項「WSRP WSDL」を参照)。複雑なプロデューサでは使用できません。複雑なプロデューサでは、サービス・リクエストを送信する前に、コンシューマでプロデューサに登録する必要があります。プロデューサは登録ハンドルを返します。コンシューマは、そのプロデューサへの各リクエストにこのハンドルを含める必要があります。ビジネス・サービスに複数のエンドポイントが定義されている場合、各エンドポイントに個別の登録ハンドルが必要です。

ただし、Oracle Service Busは、リクエストとリクエストの間はステートレスであるため、特定のエンドポイントに送信するための正しいハンドルのマッピングは保持されません。実際、登録リクエストは1つのエンドポイントに送信されるので、コンシューマは1つのプロデューサにのみ登録されます。このプロデューサを使用できない場合、Oracle Service Busはサービス・リクエストをそのビジネス・サービスに定義されている別のエンドポイントへルーティングします。この新しいプロデューサにはコンシューマが登録されていないため、リクエストはInvalidRegistrationエラーで失敗します。

登録ハンドルの管理では、この状態データを保持するために、Oracle Service Bus以外のアプリケーションが必要になります。そのため、この登録要件により、複雑なプロデューサに複数のエンドポイントを定義できません。単純なプロデューサは、登録サービスをサポートしないため、ビジネス・サービスに複数のエンドポイントを定義するフェイルオーバー構成が可能です。

I.4.4.2 HTTPセッション固定性を持つWSRPの使用法

複数のエンドポイントを持つHTTPビジネス・サービスでのロード・バランシングの場合、セッション固定性を使用するようにサービスを構成できます(セッション・アフィニティとも呼ばれます)。固定セッションを使用するときには、そのセッションで最初のリクエストを処理したサーバーによってすべてのメッセージが処理されます。セッション固定性はサーバーを再起動する必要なく、実行時に構成できます。

そのセッションで最初のリクエストが送信されると、それはロード・バランシング・アルゴリズムに基づいて最初のURIエンドポイントに送られます。セッションIDは最初のリクエストを処理するURIエンドポイントと結び付けられ、URI表のセッションはそのURIインデックスにマップされます。同じセッション内の後続のリクエストは、ロード・バランシング・アルゴリズムに基づき選択されたはずのURIエンドポイントのかわりに、そのURIエンドポイントに送られます。

セッション固定性はビジネス・サービスの構成に応じて次のように動作します。

- メッセージは、ビジネス・プロセスの再試行構成に基づき、同じURIエンドポイントで再試行されます。最大再試行回数に達するとURIエンドポイントはオフラインとマークされ、Service Busは例外をスローします。

- ビジネス・サービスのURIエンドポイントがメッセージ・フローから動的に構成される場合、セッション固定性が有効になっていてもセッションは固定されません。

- URIエンドポイントがオフラインの場合、セッション固定性はそれ以上維持されません。

- サービスのURI表がセッションの途中で変更され、インデックスがURI表から外れると、TransportExceptionがエラー・コードTransportManager.TRANSPORT_STATUS_APPLICATION_ERRORとともにスローされます。

セッション固定性を持つようにビジネス・プロセスを構成するときには、リクエスト用のCookieヘッダーをインバウンドからアウトバウンドに、およびレスポンス用のCookieヘッダーをアウトバウンドからインバウンドに必ず転送してください。

I.5 WSRP相互運用の例

この項では、WSRP 2.0相互運用の例について説明します。

この項では、次のトピックを取り上げます。

- I.5.1項「例の前提条件」

- I.5.2項「例のプロジェクトとフォルダ」

- I.5.3項「モニターの例」

I.5.1 例の前提条件

WSRP相互運用の例では、次のコンポーネントと構成を想定しています。

- WebLogic Platform 10.3

- WebLogic Portal 10.3

- Oracle Service Bus 10gR3

- platform:7001で構成されたサンプル・プラットフォーム・ドメイン

- alsb:7001で構成されたOracle Service Busドメイン

- サンプル・ポータル・アプリケーション・コンシューマ

- サンプル・プロデューサ

I.5.2 例のプロジェクトとフォルダ

サンプルの構造は、2つのプロジェクトに分割されます。共通リソースを含むプロジェクト、およびサンプル・プロデューサのリソースを含むプロジェクトです。

表I-2 WSRP相互運用の例のプロジェクト

フォルダ

説明

wsrp

プロデューサ固有ではない共通のリソースを含みます。

operationExample

最も高レベルのモニターをサポートする詳細な例。フォルダには、プロデューサ固有のリソースが含まれます。I.5.3項「モニターの例」を参照してください。

I.5.3 モニターの例

モニター構成の例(operationExample folder内)では、プロデューサのすべてのサービスと操作をモニターするように、Oracle Service Busを構成します。

モニター構成では、使用するビジネス・サービスとプロキシ・サービスが、WSRP標準で定義されているWSDLに基づいています。この項では、次のトピックについて説明します。

- I.5.3.1項「ステップ1: WSDLリソースの定義」

- I.5.3.2項「ステップ2: ビジネス・サービスの作成」

- I.5.3.3項「ステップ3: プロキシ・サービスの作成」

- I.5.3.4項「別の方法によるプロキシ・サービスの作成」

- I.5.3.5項「ステップ4: プロデューサからのWSDLの取得

- I.5.3.6項「ステップ5: 構成の確認」

I.5.3.1 ステップ1: WSDLリソースの定義

すべてのWSRP WSDL定義ファイルと、その定義が依存しているXMLスキーマ・ファイルをインポートします。ファイルはすべて、この例に対応するサンプル・コードの一部として用意されています。標準リソースの場所は表I-3のとおりです。

表I-3 WSDLリソース定義

リソース名

種類

場所

xml-2.0

XMLスキーマ

http://platform:7001/producer/producer/wsrp-2.0/markup?WSDL/xml.xsd

wsrp-2.0-types

XMLスキーマ

http://platform:7001/producer/producer/wsrp-2.0/markup?WSDL/wsrp-2.0-types.xsd

wsrp-2.0-interfaces

WSDL

http://platform:7001/producer/producer/wsrp-2.0/markup?WSDL/wsrp-2.0-interfaces.wsdl

wsrp-2.0-bindings

WSDL

http://platform:7001/producer/producer/wsrp-2.0/markup?WSDL/wsrp-2.0-bindings.wsdl

wsrp-2.0-wsdl

WSDL

http://platform:7001/producer/producer/wsrp-2.0/markup?WSDL

BEA Portalで生成されたプロデューサは、追加ポートを定義して標準WSDLを拡張し、MIME添付を使用してメッセージを送信できるようにします。プロデューサのWSDLが拡張リソースを参照する場合は、拡張リソースの定義が必要です。この例では、オプションのタスクで、プロデューサで使用されるWSDLのリソースを作成します。これらのWSDLリソースとXMLスキーマ・リソースを作成した後、各リソースの参照を編集して他のリソースとの依存関係を解決します。

I.5.3.2 ステップ2: ビジネス・サービスの作成

このモニターの例では、プロデューサが実装するポート・タイプごとにWSDLバインディングを使用します。1つのビジネス・サービスには1つのWSDLポートまたはバインディングしか関連付けられないため、ビジネス・サービスごとに個別のビジネス・サービス・リソースを作成する必要があります。単純なプロデューサでは、必須のマークアップとサービス記述のインタフェースしか実装されませんが、複雑なプロデューサでは、管理と登録のインタフェースも実装されます。これらのサービスの作成方法は同じです。ただし、表I-4に示すように、サービス名とサービスのタイプが異なります。

表I-4 ビジネス・サービスの構成

サービス名

サービス・タイプ

base

WSDL port: operationExample-2.0/wsrp-2.0-wsdl, port="WSRPBaseService"

desc

WSDL port: operationExample-2.0/wsrp-2.0-wsdl, port=" WSRPServiceDescriptionService"

mgmt

WSDL port: operationExample-2.0/wsrp-2.0-wsdl, port=" WSRPPortletManagementService

reg

WSDL port: operationExample-2.0/wsrp-2.0-wsdl, port=" WSRPRegistrationService"

サービスごとに要求される属性は、表I-5に示すとおりです。

表I-5 ビジネス・サービスのサービス属性

名前

値

コメント

プロトコル

HTTP

プロデューサがsecure= trueとして作成されている場合はHTTP(s)。

ロード・バランシング・アルゴリズム

なし

noneを指定する必要があります。そうしないと、複数のエンド・ポイントを定義した場合にリクエストのセッション・データが失われます。

エンドポイントURI

サービス記述:

http://host*:port+/producer/producer/wsrp-2.0/serviceDescription

マークアップ:

http://host*:port+/producer/producer/wsrp-2.0.0/markup

登録:

http://host*:port+/producer/producer/wsrp-2.0/registration

ポートレット管理:

http://host*:port+/producer/producer/wsrp-2.0/portletManagement

複数のエンドポイントは、WSRPプロデューサに定義する必要があります。

I.5.3.3 ステップ3: プロキシ・サービスの作成

このモニターの例では、次のようにプロキシ・サービスを構成しています。

- ビジネス・サービスがWSDLベースであるため、プロキシ・サービスも同じWSDLをベースにしている必要があります。

- ビジネス・サービスごとに1つのプロキシ・サービスを作成するが、各プロキシ・サービスのURIは異なる必要があります。

- 呼び出される操作を構成で指定する必要があります。

プロキシ・サービスを作成するには:

1. ベースになるWSRPサービスにプロキシ・サービスを作成します。
前の例と同様に、既存のoperationExample/baseビジネス・サービスをモデルとして使用し、プロキシ・サービスを作成します。このモデルによって、ビジネス・サービスと同じWSDLバインディングをベースとするプロキシ・サービスが作成され、ビジネス・サービスへの条件なしのルート・アクションを含むメッセージ・フローが作成されます。エンドポイントURIについては、ポート・タイプの略語をプロデューサ名に付ける(たとえば、/operationExampleBase)など、任意に使用できます。

2. メッセージ・フローを編集し、コンシューマとプロデューサ間でリクエスト・トランスポート・ヘッダーとレスポンス・トランスポート・ヘッダーをコピーするのに必要な、同じトランスフォーメーションを追加します。
WSRPは、正常に機能するために、トランスポート・ヘッダーで渡されるデータに依存します。特に、プロデューサは、レスポンス・ヘッダーで、コンシューマがそれ以降のリクエストに指定すると想定するセッションCookieをコンシューマに返します。同様に、プロデューサは、コンシューマがSOAPActionリクエスト・ヘッダーにリクエスト操作を指定することを想定します。

デフォルトでは、Oracle Service Busは、トランスポート・ヘッダーをインバウンド・リクエストからアウトバウンド・リクエストに、またはアウトバウンド・レスポンスからインバウンド・レスポンスにコピーしません。メッセージ・フローで、必要なヘッダーをビジネス・サービスに伝播し、ビジネス・サービスから必要なヘッダーを伝播する必要があります。

注意:
トランスポートからすべてのヘッダーを取得するには、Oracle Service Busプロキシの「トランスポート構成」ページにある「すべてのヘッダーを取得」フィールドで、「はい」を選択します。詳細は、20.2.3項「「トランスポート構成」ページ」を参照してください。
メッセージ・フローのルート・ノードで、リクエスト・アクションとレスポンス・アクションにトランスポート・ヘッダーを追加し、「パイプラインを介してすべてのヘッダーを渡す」オプションを有効にします。詳細は、21.7項「トランスポート・ヘッダー・アクションの追加」を参照してください。Content-LengthがコピーされていないことがOracle Service Busによって自動的に確認されます。

3. 図I-3に示すように、Oracle Service Bus管理コンソールを使用してビジネス・サービスへのルーティングを構成するとき、ルート・ノードを編集して低レベルXQuery処理を避けるには、「インバウンド操作のアウトバウンドでの使用」チェック・ボックスを選択する方法もあります。

図I-3 インバウンドからアウトバウンドへ処理を渡す

このトランスフォーメーションで、ビジネス・サービスの操作がプロキシ・サービスに指定されていたのと同じ値に動的に設定されます。これにより、Oracle Service Busを使用してサービスのすべての操作をカウントしてモニターできるようになります。

I.5.3.4 別の方法によるプロキシ・サービスの作成

これ以外のビジネス・サービス用のプロキシ・サービスは、同じ手順を繰り返して作成できます。ただし、すべてのトランスフォーメーションを手動で再作成せずに済む簡単な方法もあります。

たとえば、サービス記述サービス用のプロキシ・サービスを作成するには、次の手順を実行します。

1. 作成したoperationExample/baseプロキシ・サービスをモデルとして新しいプロキシ・サービスを作成します。この例に従い、エンドポイントURIには/operationExampleDescを使用します。

2. 「サマリー」ページで、全般的な構成の「編集」リンクをクリックします。WSDLバインディングがBaseポートを使用して作成されています。このバインディングがWSRPServiceDescriptionServiceポートを参照するように変更します。

3. メッセージ・フローを編集します。ルート・アクションがbaseビジネス・サービスを参照しています。descサービスへのルート・アクションを変更します。

注意:
トランスポート・ヘッダー・アクションを使用して、低レベルXQuery操作を最小化し、プロキシ・サービスの構成を簡略化します。詳細については、21.7項「トランスポート・ヘッダー・アクションの追加」を参照してください。

サービスごとのプロキシ・サービス構成は、表I-6に示すとおりです。

表I-6 プロキシ・サービスの構成

サービス名

サービス・タイプ

proxyBase

WSDL port: operationExample-2.0/wsrp-2.0-wsdl, port="WSRPBaseService"

proxyDesc

WSDL port: operationExample-2.0/wsrp-2.0-wsdl, port=" WSRPServiceDescriptionService"

proxyMgmt

WSDL port: operationExample-2.0/wsrp-2.0-wsdl, port=" WSRPPortletManagementService"

proxyReg

WSDL port: operationExample-2.0/wsrp-2.0-wsdl, port=" WSRPRegistrationService"

プロキシ・サービスごとに要求される属性は、表I-7に示すとおりです。

表I-7 要求される属性

名前

プロトコル

プロトコル

HTTP

すべてのヘッダーを取得

はい

エンドポイントURI

WebLogic Platform 10.0/9.2でのURL :

- proxyBase: /operationExampleBase-2.0

- proxyDesc: /operationExampleDesc-2.0

- proxyReg: /operationExampleReg-2.0

- proxyMgmt: /operationExampleMgmt-2.0

I.5.3.5 ステップ4: プロデューサからのWSDLの取得

プロデューサからWSRP 2.0固有のWSDLを取得し、実際のプロデューサのエンドポイントを隠すように変換するサービスを作成します。この例では、各プロデューサのプロキシのURIが異なります。また、この項では、プロデューサのWSDLを取得するためにリソースを作成する方法について説明します。

I.5.3.5.1 ステップ1: WSRP 2.0固有のWSDLを取得するためのビジネス・サービスの作成

プロデューサからWSDLを取得するためにビジネス・サービスを作成します。このリソースはプロデューサ固有であるため、operationExampleプロジェクト内に作成する必要があります。表I-8は、ビジネス・サービスのプロパティを示します。

表I-8 ビジネス・サービスの構成プロパティ

名前

値

コメント

サービス名

wsdlSvc 2.0

任意の名前を付けることができます。

サービス・タイプ

任意のXMLサービス

コンシューマは通常、HTTP GETリクエストを使用してプロデューサからWSDLを取得します。GETをサポートするのはXMLサービスのみです。

プロトコル

HTTP

HTTP

ロード・バランシング・アルゴリズム

なし

優先なし。

エンドポイントURI

http://platform:7001/producer/producer/wsrp-2.0/markup?WSDL

複数のエンドポイントを指定してWSDLを取得できますが、それによる追加の用途や利点はありません。

HTTPリクエスト・メソッド

GET

I.5.3.5.2 ステップ2: URLを構成するためのXQuery式の作成

プロデューサのWSDLにあるすべてのエンドポイント・アドレスを、Oracle Service Busサーバーのアドレスとプロキシ・サービスのURIの値を表すように変換する必要があります。プロデューサの各WSDLにはポートが4つ以上定義されている可能性があるため、XQuery式を作成してエンドポイント位置の構成を簡略化する必要があります。XQuery式は次の3つの文字列変数を入力として受け取り、連結してSOAPアドレス要素を形成します。

- Oracle Service BusサーバーのベースURL

- プロデューサを示す名前

- プロデューサのポートを区別するための拡張子

表I-9に、wsrpプロジェクトでの問合せの定義を示します。

表I-9 wsrpプロジェクトでのXQuery定義

名前

値

リソース名

wsrp/addr

XQuery

declare variable $baseURL external;
declare variable $name external;
declare variable $svc external;
declare namespace soap="http://schemas.xmlsoap.org/wsdl/soap/";
<soap:address location="{concat($baseURL, $name, $svc)}"/>

I.5.3.5.3 ステップ3: 操作のないプロキシ・サービスの作成

何も実行しないサービスを作成します。このサービスを作成するには、wsrpプロジェクト・フォルダにリソース名nullSvcとして新しいプロキシ・サービスを定義します。このサービスではすべてデフォルトを受け入れます。このプロキシ・サービスを構成すると、1つのエコー・ノードを含むサービスのメッセージ・フローが作成されます。

I.5.3.5.4 ステップ4: WSRP 2.0固有のWSDLを取得するための共通プロキシ・サービスの作成

プロデューサからWSDLを取得するためにコンシューマが使用するプロキシ・サービスを作成します。このプロキシ・サービスは、このサンプルで作成されるすべてのプロデューサ構成に対応します。この項の例は提案に過ぎません。実装固有の要件に基づいた別の方法が必要になります。このプロキシ・サービスは、1つのプロデューサに固有のものでないため、wsrpプロジェクト・フォルダ内に作成する必要があります。

- この手順で使用する方法では、管理者が各プロデューサに名前を割り当てる必要があります。この名前は、WSDL取得用URLの一部になります。

- プロキシ・サービスのメッセージ・フローがURLから名前を抽出し、その名前を使用してそのプロデューサ固有のビジネス・サービスを検索し、WSDLを取得します。その後、WSDLを変換してOracle Service Busへのエンドポイントを再作成します。

- プロキシ・サービスのエンドポイントURIは、/getWSDLとして構成され、コンシューマがWSDLを取得するために使用するURLは次のようになります。

http://alsb:7001/getWSDL/<producerName>

<producerName>は、管理者がプロデューサに割り当てた名前です。この例では、プロデューサはoperationExampleです。

表I-10は、プロキシ・サービスgetWSDL2.0の構成のプロパティを示します。

表I-10 プロキシ・サービスの構成プロパティ

プロパティ名

値

サービス名

getWSDL2.0

任意の名前を付けることができます。

サービス・タイプ

任意のXMLサービス

プロトコル

HTTP

エンドポイントURI

/getWSDL2.0

このプロキシ・サービスのメッセージ・フローは、1つのパイプライン・ペアと1つのルート・ノードで構成されます。パイプライン・ペアのリクエスト側は1つのステージで構成され、そのジョブは、プロデューサ名をURLから抽出してコンテキスト変数に割り当てることです。アクションは次のとおりです。

Assign $inbound/ctx:transport/ctx:request/http:relative-URI to variable producerName

メッセージ・フローのレスポンス側は、すべてのトランスフォーメーションを実行するステージです。置換アクションを実行してWSDLを変換する前に、次のようにOracle Service BusサーバーのベースURLをコンテキスト変数に割り当てて、トランスフォーメーションのたびに指定しなくてもよいようにします。

Assign "http://alsb:7001/" to variable nonSecureBaseURL

レスポンス・パイプラインのステージを編集して、指定のエンドポイントURIを前に作成したプロキシに一致させるトランスフォーメーションを実行するように、各置換アクションを変更します。この例で作成したプロキシの名前は、プロデューサ名にサービスのタイプの略称を付けたものです。前に作成したaddr XQueryリソースは、拡張子引数を受け入れ、URIの位置を構成します。表I-11のように、引数を適切な値に変更してください。

表I-11 URIの位置を構成する拡張子の設定

@binding

addrのサービス引数

WSRP_v2_Markup_Binding_SOAP

"Base"

WSRP_v2_ServiceDescription_Binding_SOAP

"Desc"

WSRP_v2_PortletManagement_Binding_SOAP

"Mgmt"

WSRP_v2_Registration_Binding_SOAP

"Reg"

WLP_WSRP_v2_Markup_Ext_Binding_SOAP

"Ext"

表num_xref、I.2項の「プロデューサ・アプリケーションとコンシューマ・アプリケーション間の基本のリクエスト/レスポンス・フロー」にあるサービス引数のマッピングと同様に、name:を$producerNameにマッピングし、BaseURLを$nonSecureBaseURLにマッピングする必要があります。

5つの置換アクションは、次のコード・リストのように定義されます。nameの値は、表のバインディング名で置換されます。

Replace ./*[local-name()="definitions"]/*[local-name()="service"]/*[local-name()="port"][ends-with(attribute::binding,"name")]/*[local-name()="address"
Replace entire node
name
WSRP_v2_Markup_Binding_SOAP
WSRP_v2_ServiceDescription_Binding_SOAP
WSRP_v2_PortletManagement_Binding_SOAP
WSRP_v2_Registration_Binding_SOAP

最初の置換アクションに、表I-12のユーザー・ネームスペース定義を追加する必要があります。

表I-12 置換アクションのユーザー・ネームスペース定義

接頭辞

ネームスペース

wsdl

http://schemas.xmlsoap.org/wsdl/

soap

http://schemas.xmlsoap.org/wsdl/soap/

このメッセージ・フローのルート・ノードは、$producerNameに基づいてケースを選択するルーティング表で構成されます。認識されている各プロデューサにケースを追加し、名前が一致すると、ケースがそれぞれ適切なビジネス・サービスにルーティングされてWSDLを取得するようにします。この例では次のディレクティブを使用します。

= "operationExample" Route to wsdlSvc

1. 不明なプロデューサ名が指定されたケースを処理するには、次のように、操作のないサービスにルーティングする デフォルト・ケース を追加します。

Default Route to nullSvc

2. この例では、次のようなレスポンス・アクションをデフォルト・ケースに追加して、HTTP 404ステータス・コードを返します。

Insert <http:http-response-code>404</http:http-response-code> as last child of ./ctx:transport/ctx:response in variable inbound
Reply With Failure

3. ルート・ノードのルーティング表を編集して、ケースがシステムで認識されているプロデューサに対応するようにします。

I.5.3.5.5 ステップ5: Oracle Service BusのURLを使用するようにWSDLを変更するためのgetWSDL2.0プロキシ・サービスのメッセージ・フローの定義

getWSDL2.0プロキシ・サービスのメッセージ・フローは、1つのパイプライン・ペアと1つのルート・ノードで構成されます。このプロキシ・サービスのメッセージ・フローを定義するには、次の操作を行います。

1. パイプライン・ペアを作成します。

2. パイプライン・ペアのリクエスト側を編集します。
パイプライン・ペアのリクエスト側は1つのステージで構成され、そのジョブは、プロデューサ名をURLから抽出してコンテキスト変数に割り当てることです。これを行うには、割当てアクションを次のように追加します。

変数producerNameに$inbound/ctx:transport/ctx:request/http:relative-URIを割り当てる

3. パイプライン・ペアのレスポンス側を編集します。
メッセージ・フローのレスポンス側は、すべてのトランスフォーメーションを実行するステージです。

- トランスフォーメーションのたびにOracle Service BusサーバーのベースURLを指定しなくてもよいように、ベースURLをコンテキスト変数に割り当てる割当てアクションを次のように作成します。
変数nonSecureBaseURLにhttp://alsb:7001/を割り当てる

- 前の手順で作成した対応するプロキシ・サービスを指すように、レスポンスWSDLのURLを変更する置換アクションを作成します。置換アクションは、次の方法で追加します。

- 置換アクションを追加します。

- Xpathで、次を指定します。

./*[local-name()="definitions"]/*[local-name()="service"]/*[local-name()="port"][ends-with(attribute::binding,"WSRP_v2_Markup_Binding_SOAP")]/*[local-name()="address"][starts-with(attribute::location,"http:")]

- テキスト・ボックスで変数bodyを指定します。

- 式で、(WSRP 1.0構成の一部として前の手順で追加した)XQueryリソースaddrを選択し、svcをBase-2.0、baseURLを$nonSecureBaseURL、nameを$producerNameにそれぞれ設定します。

- 「ノード全体を置換」オプションを選択します。

- 次の表に示すように、残りの置換アクションを作成します。

XPathにおける属性バインディング

addr Xqueryのサービス引数

WSRP_v2_Markup_Binding_SOAP

"Base-2.0"

WSRP_v2_ServiceDescription_Binding_SOAP

"Desc-2.0"

WSRP_v2_PortletManagement_Binding_SOAP

"Mgmt-2.0"

WSRP_v2_Registration_Binding_SOAP

"Reg-2.0"

4. パイプライン・ペアにルート・ノードを追加します。このメッセージ・フローのルート・ノードは、$producerNameに基づいてケースを選択するルーティング表で構成されます。認識されている各プロデューサにケースを追加し、名前が一致すると、ケースがそれぞれ適切なビジネス・サービスにルーティングされてWSDLを取得するようにします。この例では次のディレクティブを使用します。

= "operationExample" Route to wsdlSvc-2.0

1. 不明なプロデューサ名が指定されたケースを処理するには、次のように、操作のないサービスにルーティングするデフォルト・ケースを追加します。

Default Route to nullSvc

2. この例では、次のようなレスポンス・アクションをデフォルト・ケースに追加して、HTTP 404ステータス・コードを返します。

3. <http:http-response-code>404</http:http-response-code>を、変数inboundの./ctx:transport/ctx:responseの最後の子として挿入します。

Reply With Failure

4. ルート・ノードのルーティング表を編集して、ケースがシステムで認識されているプロデューサに対応するようにします。

I.5.3.5.6 ステップ6: getWSDL2.0プロキシ・サービスを使用したWSRP 2.0 WSDLの取得を有効にするためのgetWSDLプロキシ・サービスのメッセージ・フローの変更

プロデューサを使用するために、コンシューマは自身のWSDLを使用してプロデューサを登録する必要があります。デフォルトでは、WSDLはWSRPバージョン1.0を使用します。コンシューマがWSRPバージョン2.0を使用するには、WSRPバージョン2.0を使用するプロデューサWSDLをコンシューマが使用できるようにする必要があります。一般に、デフォルトのプロデューサWSDL (WSRP 1.0を使用するWSDL)は、WSRPバージョン2.0を使用するWSDLへのリンクを含みます。このリンクにより、コンシューマはWSRPバージョン2.0のWSDLを使用できます。

getWSDLプロキシ・サービスは、WSRPバージョン1.0を使用するプロデューサのWSDLを提供します。このWSDLは、WSRPバージョン2.0を使用する同じプロデューサのWSDLのURLを含みます。これは、プロデューサのWSDLの直接URLです。直接URLを使用するかわりに、getWSDL2.0プロキシ・サービスを使用するOracle Service Busを介してWSDLにアクセスする必要があります。これは、次の方法で行います。

1. WSRP 2.0を使用するWSDLのURLを構成するXQueryリソースを作成します。
リソース名: import

Xquery:

declare variable $baseURL external;
declare variable $name external;
declare variable $svc external;
<import location="{concat($baseURL, $svc, $name )}" namespace="urn:oasis:names:tc:wsrp:v2:wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" />

2. getWSDLプロキシ・サービスのメッセージ・フローのレスポンス側に置換アクションを追加します。この置換アクションは、getWSDL2.0プロキシ・サービスのエンドポイントURIへのレスポンスでWSDLのURLを置き換えます。これは、次の方法で行います。

- 置換アクションを追加します。

- Xpathで、次を指定します。

./*[local-name()="definitions"]/*[local-name()="import"][ends-with(attribute::location,"/producer/wsrp-2.0/markup?WSDL")]

- テキスト・ボックスで、変数bodyを指定します。

- 式で、XQueryリソースimportを選択し、svcをgetWSDL2.0、baseURLを$nonSecureBaseURL、nameを$producerNameにそれぞれ設定します。

- 「ノード全体を置換」オプションを選択します。

I.5.3.6 ステップ5: 構成の確認

構成が完了したら、次のように確認します。

1. 通常のブラウザ・ウィンドウに次のURLを入力して、WSDLを取得します。
http://alsb:7001/getWSDL/operationExample

2. エンド・ポイントWSRPのすべてのエンド・ポイントURL (BEA拡張機能サービス以外)が、Oracle Service Busサーバーのプロキシ・サービスの値を正しく参照するように変更されていることを確認します。

3. このURLをプロデューサのWSDLのアドレスとして指定して、ポータル・コンシューマ・アプリケーションにリモート・ポートレットを作成します。
リモート・ポートレットを作成するには、EclipseまたはPortal Administration Toolを使用します。WSDL取得時に入力するURLが異なる点を除き、このポートレットを作成する手順は、Oracle Service Busが仲介しないポートレットの作成手順と同じです。

4. コンシューマ・ポータルが完成したら、アプリケーションを実行します。

5. 選択したOracle Service Busコンポーネントのモニターを有効にします。

6. Oracle Service Bus管理コンソールを使用して、プロデューサが処理するすべてのWSRPサービスおよび操作に関するメッセージ件数やパフォーマンス統計に移動します。

J Oracle Service Busの問題の診断

この付録ではService Busに関する問題の識別方法と、WebLogic診断 フレームワーク(WLDF)およびOracle Fusion Middleware診断フレームワーク(DFW)を使用して適切な修正を行う方法について説明しています。

この付録の内容は次のとおりです。

- J.1項「Service Busの診断について」

- J.2項「WebLogic診断フレームワークについて」

- J.3項「自動診断リポジトリについて」

- J.4項「サポートされるOracle Service Bus診断ダンプ」

- J.5項「RDAを使用した診断ダンプの生成」

J.1 Service Busの診断について

Service BusではOracleの診断フレームワーク(DFW)およびWebLogic診断フレームワーク(WLDF)を使用して、Oracle Service Busの問題を診断できます。WLDFでは、ユーザーが監視と通知を使用して診断シナリオをモニターできます。これに対し、DFWではService Bus固有の診断シナリオを、表示と分析用にフォーマットされたデータ・ダンプにユーザーが収集することができます。

WebLogicとSOAスイートにはいずれも、ユーザーの診断を助ける事前定義された複数の診断ダンプが用意されています。また、Service Busでは次の診断ダンプがサポートされています。

- 派生リソースのキャッシュ

- JMSリクエスト/レスポンス相関表

- MQリクエスト/レスポンス相関表

診断フレームワーク、監視および通知の詳細は、『Oracle Fusion Middleware管理者ガイド』の診断の問題に関する説明を参照してください。SOAスイートを使用した診断フレームワークの使用法の詳細(生成するダンプ、監視と通知の設定および事前定義診断ダンプを含む)は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のSOAコンポジット・アプリケーションを使用した問題の診断に関する説明を参照してください。

J.2 WebLogic診断フレームワークについて

WLDFはOracle WebLogic Serverに付属しており、サーバーのプロセス内で実行され標準的なサーバーのライフサイクルに参加する、一連のサービスを定義および実装するモニターおよび診断フレームワークです。WLDFでは、ユーザーが診断データを取得し、特定の状況が発生したときの監視と通知を設定します。監視と通知を使用して診断データを収集し、問題を特定します。このデータにより、ユーザーは障害が発生したときにその障害を切り分けることができます。

WLDFの詳細については、『Oracle Fusion Middleware Oracle WebLogic Serverのコンフィグレーションと診断フレームワークの使い方』を参照してください。

J.3 自動診断リポジトリについて

自動診断リポジトリ(ADR)は、トレースやダンプなどの診断データ用のファイル・ベースの階層型リポジトリです。Oracle Fusion Middlewareコンポーネントはすべてのインシデント・データをADRに保管し、各Oracle WebLogic Serverは診断データをADR内の各自のホーム・ディレクトリのサブディレクトリに保管します。ADRのの詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のSOAコンポジット・アプリケーションを使用した問題の診断に関する説明を参照してください。

J.4 サポートされるOracle Service Bus診断ダンプ

Oracle WebLogic ServerおよびOracle SOAスイートで使用できる診断ダンプに加え、Service Busでは表J-1の診断ダンプの作成がサポートされています。

表J-1 サポートされるOracle Service Bus診断ダンプ

ダンプ

説明

OSB.derived-caches

サーバー上でのすべてのService Bus派生リソースのキャッシュに関する統計のコレクション

OSB.jms-async-table

Service Bus JMSリクエスト/レスポンス相関表

OSB.mq-async-table

Service Bus MQリクエスト/レスポンス相関表

J.4.1 使用可能な診断ダンプのリスト

診断フレームワークは診断ダンプを出力し、記録します。WLSTのlistDumpsコマンドおよびdescribeDumpコマンドを使用して、サポートされているすべての診断ダンプに関する詳細をリストできます。

注意:
MW_HOME/oracle_common/common/binからWLSTを起動する必要があります。そうしない場合、ODF機能はありません。

サポートされるダンプをリストするには、次の手順を実行します。

1. SOAインフラストラクチャがインストールされいてるサーバーに接続します。

wls:/offline> connect('user_name', 'password',
't3://myhost:7001')
Connecting to t3://myhost:8001 with userid user_name ...
Successfully connected to managed Server 'soa_server1' that belongs to
domain 'soainfra'.

2. サポートされる診断フレームワークのダンプをリストします。

wls:/soainfra/serverConfig> listDumps()
odl.activeLogConfig
jvm.classhistogram
dms.ecidctx
wls.image
odl.logs
dms.metrics
odl.quicktrace
http.requests
jvm.threads

Use the command describeDump(name=<dumpName>) for help on a specific dump.

3. サポートされるOracle Service Busのダンプをリストします。

wls:/soainfra/serverConfig> listDumps(appName='OSB')
OSB.derived-caches
OSB.jms-async-table
OSB.mq-async-table

Use the command describeDump(name='<dumpName>') for help on a specific dump.

listDumpsおよびdescribeDumpの詳細については、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』の診断フレームワークのカスタムWLSTコマンドに関する説明を参照してください。

診断フレームワークのダンプの詳細は、『Oracle Fusion Middleware管理者ガイド』の問題の診断に関する説明を参照してください。

J.4.2 派生リソースのキャッシュ診断のダンプ(OSB.derived-caches)

表J-2は、Service Bus派生リソースのキャッシュ診断のダンプに関する詳細を示しています。取得される情報には、各キャッシュ・タイプの名前、各キャッシュの統計情報およびキャッシュされた各エントリの情報などがあります。

表J-2 JMS相関表診断ダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

OSB.derived-caches

なし

OSB実行時に管理される各派生リソースのキャッシュについて、次の情報が提供されます。

- 派生リソースのキャッシュ・タイプ

- 製品のバージョン

- 構成済キャッシュ・エントリの合計

- 使用中のキャッシュ・エントリ数

- サーバーが最後に起動されてからのキャッシュ・サーバーでのエントリの合計ヒット数

- サーバーが最後に開始されてから、キャッシュ済情報へのアクセス試行中の失敗数合計

- サーバーが最後に起動されてからのキャッシュのヒット率

各キャッシュ・エントリについて次の情報が提供されます。

- キャッシュされている参照

- 日時の作成

- キャッシュ・エントリの計算に費やされた時間これは、キャッシュ情報を作成するためにかかった時間です(ミリ秒単位)。

表J-3は、診断情報に含まれる各Service Busキャッシュのリストです。

表J-3 Oracle Service Bus派生リソースのキャッシュ

キャッシュ

説明

アーカイブClassLoader

依存性対応アーカイブ・クラス・ローダー。

アーカイブ・サマリー

アーカイブ・サマリー

CodecFactory

Codecファクトリ

EffectiveWSDL

ビジネス・サービスまたはプロキシ・サービスのWSDLリソース、あるいはサービスから派生した、EffectiveWSDLオブジェクト

Flow_Info

分割-結合オブジェクト

LightweightEffectiveWSDL

ビジネス・サービスまたはプロキシ・サービスのWSDLリソース、あるいはサービスから派生した、EffectiveWSDLオブジェクト

MflExecutor

MFLエグゼキュータ

RouterRuntime

プロキシ・サービスのコンパイル済ルーター・ランタイム

RuntimeEffectiveWSDL

ビジネス・サービスまたはプロキシ・サービスのWSDL、あるいはサービスから派生した、セッションの有効なeffectiveWSDLオブジェクト

RuntimeEffectiveWSPolicy

ビジネス・サービスまたはプロキシ・サービスのWSポリシー

SchemaTypeSystem

MFL、XSおよびWSDLドキュメントの型のシステム情報

ServiceAlertsStatisticInfo

ビジネス・サービスまたはプロキシ・サービスのサービス・アラート統計

ServiceInfo

ビジネス・サービスまたはプロキシ・サービス、あるいはWSDLドキュメントのコンパイル済サービス情報

Wsdl_Info

WSDL情報オブジェクト

WsPolicyMetadata

コンパイル済WSポリシーのメタデータ

XMLSchema_Info

XMLスキーマ・オブジェクトのXMLスキーマ情報

XqueryExecutors

XQueryエグゼキュータ

XsltExecutor

XSLTエグゼキュータ

alsb.transports.ejb.
bindingtype

EJBビジネス・サービスのEJBバインディング情報

alsb.transports.jejb.business.
bindingtype

JEJBビジネス・サービスのJEJBバインディング情報

alsb.transports.jejb.proxy.
bindingtype

JEJBプロキシ・サービスのJEJBバインディング情報

J.4.2.1 WLSTコマンド・ダンプの説明と実行

1. OSB.derived-cachesのダンプ情報を表示するには、次のWLSTコマンド・ライン構文を入力します。

wls:/soainfra/serverConfig> describeDump(name='OSB.derived-caches',appName='OSB')

次の情報が表示されます。

Name: OSB.derived-caches
Description: Dump of the caches used for OSB derived resources.
Mandatory Arguments:
Optional Arguments:

2. OSB.derived-cachesのダンプを実行するには、次のWLSTコマンド・ライン構文を入力します。

wls:/soainfra/serverConfig> executeDump(name='OSB.derived-caches', appName='OSB')

次のような情報が表示されます(わかりやすいように、このダンプの一部は切り捨てられています)。

<derivedCaches xmlns="http://www.bea.com/wli/config/xmltypes">
<version>11.1.1.7</version>
<derivedCache cacheType="RuntimeEffectiveWSDL">
<configuredEntries>2147483647</configuredEntries>
<cacheEntriesInUse>0</cacheEntriesInUse>
<totalHits>0</totalHits>
<totalMisses>0</totalMisses>
<hitRatio>0.0</hitRatio>
<cacheEntries/>
</derivedCache>
...
<derivedCache cacheType="ServiceAlertsStatisticInfo">
<configuredEntries>2147483647</configuredEntries>
<cacheEntriesInUse>9</cacheEntriesInUse>
<totalHits>0</totalHits>
<totalMisses>51</totalMisses>
<hitRatio>0.0</hitRatio>
<cacheEntries>
<cacheEntry>
<ref>services/bs_dq_uri4.BusinessService</ref>
<creationTime>2012-03-22T23:44:53.737-07:00</creationTime>
<computeTimeMSecs>0</computeTimeMSecs>
</cacheEntry>
<cacheEntry>
<ref>services/bs_dq_nopooling.BusinessService</ref>
<creationTime>2012-03-22T23:44:53.736-07:00</creationTime>
<computeTimeMSecs>0</computeTimeMSecs>
</cacheEntry>
<cacheEntry>
<ref>services/bs_dq_uri1.BusinessService</ref>
<creationTime>2012-03-22T23:44:53.738-07:00</creationTime>
<computeTimeMSecs>0</computeTimeMSecs>
</cacheEntry>
<cacheEntry>
<ref>services/proxy_dq_uri.ProxyService</ref>
<creationTime>2012-03-22T23:44:53.736-07:00</creationTime>
<computeTimeMSecs>0</computeTimeMSecs>
</cacheEntry>
<cacheEntry>
<ref>services/bs_dq_conn_pooling.BusinessService</ref>
<creationTime>2012-03-22T23:44:53.736-07:00</creationTime>
<computeTimeMSecs>0</computeTimeMSecs>
</cacheEntry>
<cacheEntry>
<ref>services/bs_dq_conn_nopooling.BusinessService</ref>
<creationTime>2012-03-22T23:44:53.737-07:00</creationTime>
<computeTimeMSecs>0</computeTimeMSecs>
</cacheEntry>
<cacheEntry>
<ref>services/bs_dq_uri2.BusinessService</ref>
<creationTime>2012-03-22T23:44:53.737-07:00</creationTime>
<computeTimeMSecs>0</computeTimeMSecs>
</cacheEntry>
<cacheEntry>
<ref>services/bs_dq_pooling.BusinessService</ref>
<creationTime>2012-03-22T23:44:53.736-07:00</creationTime>
<computeTimeMSecs>0</computeTimeMSecs>
</cacheEntry>
<cacheEntry>
<ref>services/bs_dq_uri3.BusinessService</ref>
<creationTime>2012-03-22T23:44:53.737-07:00</creationTime>
<computeTimeMSecs>0</computeTimeMSecs>
</cacheEntry>
</cacheEntries>
</derivedCache>
...
</derivedCaches>

J.4.3 JMS相関表診断ダンプ(OSB.jms-async-table)

表J-4は、Service Bus JMSリクエスト/レスポンス相関表診断ダンプの詳細を示しています。取得される情報には、各メッセージの相関ID、有効期限および宛先などがあります。

表J-4 JMS相関表診断ダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

OSB.jms-async-table

なし

Service Busのバージョンに加え、各サービスの参照では保留中の各メッセージについて次の情報が表示されます。

- 相関ID (実際の相関IDでもメッセージIDでも可能です)

- 有効期限の日時

- メッセージの宛先

J.4.3.1 WLSTコマンド・ダンプの説明と実行

1. OSB.jms-async-tableのダンプ情報を表示するには、次のWLSTコマンド・ライン構文を入力します。

wls:/soainfra/serverConfig> describeDump(name='OSB.jms-async-table',appName='OSB')

次の情報が表示されます。

Name: OSB.jms-async-table
Description: Dump of the OSB JMS Async Table of pending messages
Mandatory Arguments:
Optional Arguments:

2. OSB.jms-async-tableのダンプを実行するには、次のWLSTコマンド・ライン構文を入力します。

wls:/soainfra/serverConfig> executeDump(name='OSB.jms-async-table', appName='OSB')

次のような情報が表示されます。

<transportDiagnosticsContents xmlns="http://www.bea.com/wli/sb/transportdiags">
<version>11.1.1.7</version>
<transportDiagnostics transportType="jms">
<correlationTable>
<services>
<service>
<ref>default/testJmsResponseRollback_out</ref>
<message>
<correlationMsgId responsePattern="JMSCorrelationID">
ID:42454153155cc06b7f5ab312000001363d5bd59effff8d4
</correlationMsgId>
<expirationTime>2012-03-22T19:53:43.621-07:00</expirationTime>
<msgDestination>testJmsResponseRollback_outRequest</msgDestination>
</message>
</service>
</services>
</correlationTable>
</transportDiagnostics>
</transportDiagnosticsContents>

J.4.4 MQ相関表診断ダンプ(OSB.mq-async-table)

表J-5は、Service Bus MQリクエスト/レスポンス相関表診断ダンプの詳細を示しています。取得される情報には、各メッセージの相関ID、有効期限および宛先などがあります。

表J-5 MQ相関表診断ダンプ

ダンプ名

ダンプ・パラメータ/ダンプ・モード

取得される情報

OSB.mq-async-table

なし

Service Busのバージョンに加え、各サービスの参照では保留中の各メッセージについて次の情報が表示されます。

- 相関ID (実際の相関IDでもメッセージIDでも可能です)

- 有効期限の日時

- メッセージの宛先

J.4.4.1 WLSTコマンド・ダンプの説明と実行

1. OSB.mq-async-tableのダンプ情報を表示するには、次のWLSTコマンド・ライン構文を入力します。

wls:/soainfra/serverConfig> describeDump(name='OSB.mq-async-table',appName='OSB')

次の情報が表示されます。

Name: OSB.mq-async-table
Description: Dump of the OSB MQ Async Table of pending messages
Mandatory Arguments:
Optional Arguments:

2. OSB.mq-async-tableのダンプを実行するには、次のWLSTコマンド・ライン構文を入力します。

wls:/soainfra/serverConfig> executeDump(name='OSB.mq-async-table', appName='OSB')

次のような情報が表示されます。

<transportDiagnosticsContents xmlns="http://www.bea.com/wli/sb/transportdiags">
<version>11.1.1.7</version>
<transportDiagnostics transportType="mq">
<correlationTable>
<services>
<service>
<ref>services/mq_Biz_cached</ref>
<message>
<correlationMsgId responsePattern="MQCorrelationID">
000000000000000000000000000000000000000000000000
</correlationMsgId>
<expirationTime>2012-03-22T23:48:09.085-07:00</expirationTime>
<msgDestination>rc_req</msgDestination>
</message>
</service>
</services>
</correlationTable>
</transportDiagnostics>
</transportDiagnosticsContents>

J.5 RDAを使用した診断ダンプの生成

WSLTを使用したService Bus診断ダンプの生成に加え、Oracle Remote Diagnostic Agent (RDA)も使用できます。次の手順を実行する前に、RDAがシステムにインストールされていることを確認してください。

ヒント:
Service BusでのRDAの使用法の詳細は、OracleサポートのOracle Service Bus (OSB)でのRDAを使用した分析情報の収集方法に関する記事を参照してください。このドキュメントのIDは1352549.1です。

RDAを使用して診断ダンプを生成するには、次の手順を実行します。

1. コマンド・ラインから次のコマンドを実行します。
Windowsの場合

rda.cmd -vSCRP OSB

UNIXまたはLINUXの場合

rda.sh -vSCRP OSB

2. コマンド・ラインでプロンプトに従って情報を入力します。Oracle Service Bus情報の収集にRDAを使用するか聞かれたら、デフォルト(Y)を受け入れます。

注意:
RDAツールの実行とオプションの詳細は、ご使用のFusion Middlewareのホーム・ディレクトリ内のRDAディレクトリにあるREADMEファイルを参照してください。

3. Webブラウザに結果を表示できます。指定した出力ディレクトリからファイルにアクセスします。
このファイルの名前はprefix__start.htmです(prefixは、指定した接頭辞)。

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2015, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。