![]() ![]() ![]() ![]() |
Oracle Service Bus を使用して、エンタープライズ環境でビジネス サービス間の適応性のあるメッセージ ルーティングを行うことができます。Oracle Service Bus を介してクライアントからのメッセージを適切なビジネス サービスにルーティングできます。Oracle Service Bus は、メッセージ処理ロジックでコンフィグレーションされたアクションに基づいて 1 つまたは複数の送り先にメッセージをルーティングします。これらのルーティング アクションは、Oracle Service Bus Console を使用してコンフィグレーションします。ルーティングは、システム間で多数の静的なポイントツーポイントの Web サービス接続を確立する効率的な方法です。
このチュートリアルを開始する前に、「Oracle Service Bus チュートリアルの準備」を完了する必要があります。
このチュートリアルの目的は、Oracle Service Bus Console のグラフィカル環境を使用してルーティング シナリオを作成およびテストすることです。以下のタスクがあります。
主要な金融会社が、Oracle Service Bus を使用して、要求された金利に基づいて融資申し込みを適切なビジネス サービスにルーティングします。5% 未満の金利を要求する申し込みは、管理者の承認が必要であり、その処理を行う適切なビジネス サービスにルーティングされます。それ以外の融資申し込みはすべて、適切なビジネス サービスにルーティングされて処理されます。
図 3-1 は、このシナリオをサポートする論理アーキテクチャをまとめたものです。Oracle Service Bus が企業においてクライアントとビジネス サービスの間のメッセージングを仲介する方法を示します。
融資申し込みをクライアントからプロキシ サービス LoanGateway1 に送信します。デフォルト プロキシ サービスには、融資申し込みドキュメントの要求金利の値をチェックする条件付きルーティング ステージがあります。金利が 5% 未満の場合、融資申し込みは ManagerLoanReview ビジネス サービスにルーティングされ、5% 以上の場合は NormalLoan ビジネス サービスにルーティングされます。対象ビジネス サービスから図 3-31 に示すような応答が返されます。
注意 : | 融資申し込みが NormalLoan ビジネス サービスによって処理される場合、生成される応答の MANAGER は NORMAL に置き換えられます。 |
次の表は、このチュートリアルの開発および実行に必要なリソースです。
このチュートリアルでは、Oracle Service Bus を使用し、金融会社の融資申し込みを、要求された金利に応じて対象 Web サービスにルーティングします。以下のタスクを実行することによって、プロキシ サービスと関連するリソースを Oracle Service Bus で設計およびコンフィグレーションし、この使用例のシナリオを実装します。
このチュートリアル用に作成したドメインで Oracle Service Bus が動作していること、および「チュートリアルのセットアップ」で説明されているタスクが完了していることを確認します。
Oracle Service Bus Console を使用して、Oracle Service Bus 環境でリソースおよびコンフィグレーションをモニタできます。システムのモニタは、セッションを開始しなくても実行できます。ただし、リソースを更新または削除してコンフィグレーション プロパティを変更するには、まず Oracle Service Bus Console でセッションを作成する必要があります。
コンソールの [Change Center] からセッションの作成と管理を行えます。現在のセッション中のシステム コンフィグレーションに対するすべての更新は、一時ファイルとして保存されます。これらの変更は、現在のセッションがアクティブ化されたときにのみ有効になります。図 3-2 は、Oracle Service Bus Console で利用できる [Change Center] ペインです。
セッションの作成とアクティブ化に加えて、[Change Center] では表 3-2 に示す機能も実行できます。
注意 : | [作成] をクリックしてから、コンソールでシステム コンフィグレーション設定を変更することをお勧めします。コンフィグレーションの変更はこまめに保存し、それらの変更についてコメントを入力してください。現在のセッションのコンフィグレーション変更を保存してアクティブ化するには、一連の変更を完了してから [アクティブ化] をクリックする必要があります。 |
Oracle Service Bus システム環境では、システム コンフィグレーション エンティティはユーザ定義のプロジェクトにグループ化されます。Oracle Service Bus Console の [プロジェクト エクスプローラ] ページには、[Projects] フォルダの下にデフォルトのプロジェクトおよびさまざまなユーザ定義のプロジェクトが表示されます。このページから、すべてのプロジェクトのコンフィグレーション タスクを実行できます。各プロジェクトは、コンソール上でプロジェクト フォルダ別に表されます。新しいプロジェクト フォルダを追加し、プロジェクト ツリーを移動できます。必要に応じてフォルダをクリックすることで、フォルダを折りたたんだり展開することができます。
Oracle Service Bus システム環境には、事前定義されたリソース タイプがあります。各リソース タイプは、プロジェクト フォルダ内のサブフォルダとして表されます。リソース タイプのフォルダ内に別のリソース タイプを作成し、コンフィグレーションできます。
この節では、セッションを開始し、[Projects] フォルダの下に MortgageBroker プロジェクトを作成するタスクについて説明します。このシナリオでは、MortgageBroker プロジェクトに 3 つのリソース フォルダを作成して、事前定義された次のリソース タイプをそれぞれ保持します。
ナビゲーション ペインに [プロジェクト エクスプローラ] が開き、コンソールにプロジェクト ページが表示されます。
MortgageBroker
」と入力します。
MortgageBroker プロジェクトが作成され、[プロジェクト エクスプローラ] の [Projects] の下に表示されます。
まず WSDL というプロジェクト フォルダを作成し、このフォルダに WSDL リソースを追加する必要があります。WSDL はビジネス サービスおよびプロキシ サービスを作成するための基礎となります。次に、このシナリオで使用するその他のフォルダを作成します。
WSDL フォルダが MortgageBroker プロジェクトのプロジェクト フォルダ リストに表示されます。
ProxyService
フォルダと BusinessService
フォルダを作成します。
Oracle Service Bus リソースをウィザードに従ってコンフィグレーションします。各ウィザードには、リソースに関する情報の入力をユーザに要求し、プロパティのコンフィグレーション オプションを表示する一連のページがあります。
WSDL は、クライアントとサービスとのパブリック コントラクト (インタフェース仕様) を定義し、サービスがプロキシ サービスまたはビジネス サービスのどちらであるかを示します。WSDL は Web サービスの正式な記述です。WSDL は Web サービスのインタフェースの内容、保存先、呼び出し方法の記述に使用されます。まず、WSDL リソースを作成します。これは、それ以降のサービス登録タスクが WSDL リソースに依存するためです。次に、WSDL を使用してビジネス サービスとプロキシ サービスを登録します。
[新しい WSDL リソースの作成] ページが表示されます。
BEA_HOME\osb_10.3\samples\servicebus\examples\src\examples\
webservices\jws_basic\normal\NormalLoanApprovalService.wsdl
これで、normalLoan WSDL リソースが WSDL フォルダに作成されました。セッションをアクティブ化します。セッションのアクティブ化の方法の詳細については、表 3-2 を参照してください。
ManagerApproval サービスに関連付けられた WSDL リソースを作成するには、「WSDL をインポートするには」の節の手順を完了します。ManagerApprovalService
WSDL リソースをインポートするには、次の表に示すコンフィグレーション パラメータを使用します。
この節では、プロキシ サービスを作成します。プロキシ サービスを使用して融資申し込みを適切なビジネス サービスにルーティングします。
[プロキシ サービスの作成 - 全般的なコンフィグレーション] ページが図 3-7 のように表示されます。
[WSDL の選択] ページが表示されます。プロキシ サービスは最初に作成した WSDL リソースに基づいているため、その WSDL リソースをここで参照する必要があります。
注意 : | このページで選択したプロトコルによって、次の手順で指定するエンドポイント URI の形式が決まります。ほとんどのサービスで使用されるため、想定されるデフォルトのプロトコルは http です。 |
注意 : | デフォルトのサービスは RPC Web サービスです。この結果、SOAP 本体にサービス操作の選択情報が含まれます。Java Web サービスの WSDL の操作は、Java Web サービスの public メソッドに相当します。クライアントで選択できる public メソッドが複数ある場合は、各 public メソッド タイプに WSDL の操作定義があります。SOAP ベースの RPC サービスの場合、SOAP 本体はクライアントで選択された操作 (メソッド) を示します。操作は、SOAP ヘッダで指定することもできますが、通常は SOAP 本体で指定します。 |
プロキシ サービスを登録する前に、コンフィグレーション設定を確認し、必要に応じて [編集] アイコンをクリックして変更できます。
LoanGateway1 プロキシ サービスが MortgageBroker プロジェクトの ProxyService フォルダの [リソース] ペインに表示されます。
図 3-11 の [操作設定] タブには、プロキシ サービスのモニタを有効にするオプションがあります。
Oracle Service Bus ダッシュボードの使用とサービスのモニタの詳細については、『Oracle Service Bus Console の使い方』と『Oracle Service Bus オペレーション ガイド』の「モニタ」を参照してください。
これで、Oracle Service Bus Console での LoanGateway1 プロキシ サービスのコンフィグレーションは完了しました。詳細については、表 3-2 を参照してください。
融資ルーティングのシナリオでは、要求金利が 5% 以上の融資申し込みは、標準融資処理サービスにルーティングされて審査を受けます。要求金利が 5% 未満の融資申し込みは管理者の承認が必要であるため、管理者承認サービスにルーティングされます。
[ビジネス サービスの作成 - 全般的なコンフィグレーション] ページが図 3-12 のように表示されます。
[ビジネス サービスの作成 - 転送コンフィグレーション] ページが図 3-13 のように表示されます。
複数のエンドポイントとロード バランシング アルゴリズムを指定した場合、1 つのエンドポイントが実行時に過負荷状態または使用できない状態であれば、エンドポイント URI のリスト上の次のサービスにメッセージを送信できます。この例はサービスが 1 つしか存在しないため、デフォルトの動作をそのまま使用するか、または [なし] を選択しても、実行時のプロキシ サービスの動作に影響しません。
<host:port> で指定されたホストとポートの値は、Oracle Service Bus サーバが動作するマシンとポートを表します。
注意 : | [既存の URI] リストの無効なエンドポイント URI を削除してください。 |
[ビジネス サービスの作成 - 概要] ページが表示されます。ここで、ビジネス サービスのすべての設定が適切に実装されているかどうかを確認できます。
NormalLoan ビジネス サービスのモニタを有効にするには、[リソース] ペインにある NormalLoan ビジネス サービスをクリックします。[ビジネス サービスの表示] ページが表示されます。このページの [操作設定] タブには、ビジネス サービスのモニタを有効にするオプションがあります。
Oracle Service Bus ダッシュボードの使用とサービスのモニタの詳細については、『Oracle Service Bus Console の使い方』の「モニタ」および Oracle Service Bus オペレーション ガイドの「実行時の Oracle Service Bus のモニタ」を参照してください。
Oracle Service Bus Console での NormalLoan ビジネス サービスのコンフィグレーションが完了しました。
要求金利が 5% 未満の融資申し込みのルーティング先ビジネス サービスの作成方法について説明します。
以下の表のコンフィグレーション パラメータを使用して、前述の「NormalLoan ビジネス サービスの作成」のタスクを実行します。
「環境の準備」から「ビジネス サービスの作成」までのタスクをすべて完了することで、このチュートリアルに必要なリソースである 2 つのビジネス サービス (NormalLoan と ManagerLoanReview)、1 つのプロキシ サービス (LoanGateway1)、および 2 つの WSDL (normalLoan と ManagerApprovalService) を作成しました。
プロキシ サービスに基本コンフィグレーションを設定したら、次のタスク (LoanGateway1 プロキシ サービスのコンフィグレーション) に進み、融資申し込みのルーティング動作を追加してプロキシ サービスのコンフィグレーションを完了できます。
Oracle Service Bus のメッセージ フローは、プロキシ サービスの実装を定義します。メッセージ フローには、パイプライン ペア (プロキシ サービス、またはサービスの処理用の要求パイプラインと応答パイプライン) と、ステージ、パイプライン、およびプロキシ サービスに対して定義できるエラー ハンドラ パイプラインをゼロ個以上入れることができます。パイプラインは、1 つまたは複数のステージを持つことができ、ステージはアクションを持ちます。
RouteNode1 がコンフィグレーションのページに追加されます (図 3-15 を参照)。
[ステージ コンフィグレーションの編集 : ルート ノード] ページが、図 3-16 に示すように表示されます。このページには、[アクションの追加] という 1 つのリンクがあります。
注意 : | ステージはパイプラインの要素であり、パイプラインに定義されたアクションのコンテナです。アクションとは、実行時にプロキシ サービスを流れるメッセージの処理を定義するパイプライン ステージの要素です。 |
[ステージ コンフィグレーションの編集] ページにルーティング テーブルのコンフィグレーション ページが表示されます。
着信メッセージの金利要素の値に基づいてビジネス サービスにメッセージをルーティングするように、ルーティング テーブルをコンフィグレーションする必要があります。XQuery 式エディタを使用して XQuery 式を作成することで、コンテンツ ベースのルーティングをコンフィグレーションできます。
$body/exam:processLoanApp/loanRequest/java:Rate
注意 : | ドラッグ アンド ドロップ機能を使用できるのは Internet Explorer (IE) ブラウザのみです。IE 以外のブラウザを使用している場合は、[変数の構造] ペインで [Rate] 要素を選択します。式が [プロパティ インスペクタ] パレットに表示されます。パレットの式をコピーし、XQuery 式のテキスト ボックスに貼り付けます。 |
これで、ルーティング テーブルにルーティング動作を決める式が含まれました。rate 要素の値が 5 未満の場合は、ルーティング テーブルのコンフィグレーションに従ってルーティングする必要があります。
これで、ManagerLoanReview ビジネス サービスへの融資申し込みのルーティング ケースが定義されました。融資申し込みの要求金利が 5% 以上の場合、そのメッセージは NormalLoan ビジネス サービスにルーティングされます。次の節では、このケース (デフォルト ケース) の説明のために、ルーティング テーブルに条件を追加する方法を示します。
この手順で、ルート ノード RouteNode1 のメッセージ フローのコンフィグレーションは完了です。
これらのタスクを完了すると、[ステージ コンフィグレーションの編集] ページが図 3-27 のように表示されます。
「LoanGateway1 プロキシ サービスのコンフィグレーション」によって、LoanGateway1 ルーティング テーブルの実行時メッセージ ルーティング動作のコンフィグレーションが完了します。融資申し込みで指定された金利が 5% 未満の場合、メッセージは ManagerLoanReview ビジネス サービスにルーティングされます。それ以外の場合は、NormalLoan ビジネス サービスにルーティングされます。
Oracle Service Bus でクライアントと対象ビジネス サービスを使用するためのコンフィグレーションを完了したら、コンフィグレーションをテストできます。このシナリオのプロキシ サービスである LoanGateway1 のルーティング動作は、融資申し込みメッセージの要求金利に基づいています。金利の値を変更すると、ルーティング動作は次のように変更されます。
<loanRequest xmlns:java="java:normal.client">
<!--Optional:-->
<java:Name>Smith</java:Name>
<!--Optional:-->
<java:SSN>1234567</java:SSN>
<!--Optional:-->
<java:Rate>4.1</java:Rate>
<!--Optional:-->
<java:Amount>9000000</java:Amount>
<!--Optional:-->
<java:NumOfYear>10</java:NumOfYear>
<!--Optional:-->
<java:Notes>管理者用融資申し込み確認サービス</java:Notes>
</loanRequest>
テスト コンソールの [呼び出しのトレース] セクションは、要求金利が 4.1 (5 未満) であるため、プロキシ サービス が ManagerLoanReview ビジネス サービスに要求をルーティングすることを示します。
<loanRequest xmlns:java="java:normal.client">
<!--Optional:-->
<java:Name>Smith</java:Name>
<!--Optional:-->
<java:SSN>1234567</java:SSN>
<!--Optional:-->
<java:Rate>5.3</java:Rate>
<!--Optional:-->
<java:Amount>9000000</java:Amount>
<!--Optional:-->
<java:NumOfYear>10</java:NumOfYear>
<!--Optional:-->
<java:Notes>管理者用融資</java:Notes>
</loanRequest>
その他のデフォルト設定をそのまま使用し、[実行] をクリックします。応答は、図 3-31 のようになります。
テスト コンソールの [呼び出しのトレース] セクションは、要求金利が 5.3 (5 を超える) であるため、プロキシ サービス が NormalLoan ビジネス サービスに要求をルーティングすることを示します。
「チュートリアル 1. 融資申し込みのルーティング」を完了したら、「チュートリアル 2. 融資申し込みの変換」に進んでください。
![]() ![]() ![]() |