ヘッダーをスキップ
Oracle Fusion Middleware Oracle SOA Suite開発者ガイド
11g リリース1 (11.1.1.5.0)
B56238-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

50 Oracle BAMとSOAコンポジット・アプリケーションの統合

この章では、Oracle JDeveloperを使用して、SOAコンポジット・アプリケーションでOracle BAMアダプタを使用する方法について説明します。

項目は次のとおりです。

50.1 Oracle BAMとSOAコンポジット・アプリケーションの統合の概要

Oracle BAMアダプタは、Oracle BAMサーバーにデータとイベントを送信するためにJava EEクライアントから使用できるJava Connector Architecture(JCA)準拠のアダプタです。Oracle BAMアダプタでは、Oracle BAMデータ・オブジェクトに対する挿入、更新、アップサートおよび削除の各操作がサポートされています。

Oracle BAMアダプタは、これらの操作をRemote Method Invocation(RMI)コール(同じファームにデプロイされている場合)、直接Javaオブジェクト起動(同じコンテナにデプロイされている場合)、またはSimple Object Access Protocol(SOAP)(両者の間にファイアウォールがある場合)を介して実行できます。

Oracle BAMアダプタは、これらのいずれかの接続プールを提供するために、Oracle WebLogic Server管理コンソール内で構成されます。詳細は、第50.2項「Oracle BAMアダプタの構成」を参照してください。

構成によっては、SOAコンポジット・アプリケーションをOracle BAMに接続する必要があります。詳細は、第50.4項「Oracle BAMサーバーへの設計時接続の作成」を参照してください。

Oracle BAMアダプタをSOAコンポジット・アプリケーションの様々な機能とともに使用して、Oracle BAMサーバーにデータを送信できます。

BPELセンサーのJMSセンサー・アクションは、Oracle BAMにフィード・データを送信し、Oracle BAMアダプタを回避することもできます。詳細は、第50.8項「エンタープライズ・メッセージを使用したSOAアプリケーションとOracle BAMの統合」を参照してください。

SOAコンポジット・アプリケーション・レベルのJMSセンサー・アクションは、Oracle BAMにフィード・データを送信できます。詳細は、第47章「コンポジット・センサーの定義」を参照してください。

50.2 Oracle BAMアダプタの構成

Oracle BAMサーバーとのランタイム接続にOracle BAMアダプタを使用する場合は、Oracle BAMアダプタのJava Naming and Directory Interface(JNDI)接続プールを構成する必要があります。構成に関する詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle BAMアダプタの構成に関する項を参照してください。

Oracle BAMアダプタのプロパティで構成するJDNI名をメモしておき、Oracle JDeveloperのOracle BAMアダプタ・ウィザード、Monitor Express構成およびOracle BAMセンサー・アクションの構成で使用できるようにしてください。

SOAコンポジット・アプリケーションとOracle BAMサーバー間でRMI接続を使用している場合、つまり両者が別々のドメインにデプロイされている場合は、信頼できるドメインの構成をOracle WebLogic Server管理コンソールで実行する必要があります。詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle BAMアダプタの構成に関する項を参照してください。

50.3 Oracle BAM Monitor ExpressとBPELプロセスの併用

Oracle BAMが提供するMonitor Expressには、Oracle BAMデータ・オブジェクトのデプロイメントおよび移入を自動的に処理する、BPELプロセスの高度なインスツルメンテーションが用意されています。

図50-1 Oracle BAM Monitor Expressダッシュボード

図50-1の説明が続きます
「図50-1 Oracle BAM Monitor Expressダッシュボード」の説明

アクティビティ・モニターと監視オブジェクトを使用してBPELプロセス・メトリックが取得されます。BPELプロセス・メトリックは、Oracle BAMサーバーに送信され、分析およびグラフィック表示に使用されます。接続、設計およびデプロイメントの構成はすべて、Oracle JDeveloperで実行します。

Monitor Expressには、自動的にデプロイされたデータ・オブジェクトに基づいて構築できるソリューションをデモするためのサンプル・ダッシュボードが同梱されています。Oracle BAM Active StudioまたはADFアプリケーション内のOracle BAMデータ・コントロールを使用して、Monitor Expressによって生成されるデータ・オブジェクト上にカスタム・ ダッシュボードを構築することもできます。

Oracle JDeveloperでBPELデザイナの「監視」ビューを使用すると、BPELプロセスに関する次のタイプのモニターを作成できます。

SOAコンポジット・アプリケーションをデプロイすると、BPELプロセス・モニターに対応するOracle BAMデータ・オブジェクトが自動的に作成または更新されます。

この項のトピックは、次のとおりです。

関連ドキュメント

50.3.1 BPELデザイナの「監視」ビューへのアクセス方法

BPELデザイナの「監視」ビューにアクセスするには、BPELデザイナのツールバーにある「監視」を選択します。

bam_mon_menu.gifの説明が続きます
図bam_mon_menu.gifの説明

「監視」ビューの構造ペインに、「オブジェクトの監視」フォルダが表示されます。フォルダを開くと、「ビジネス・インジケータ」「間隔」および「カウンタ」の各フォルダが表示されます。

監視ビューの構造ペイン
図bam_mon_struct.gifの説明

50.3.2 アクティビティ・モニターの構成方法

個別のBPELアクティビティ、スコープおよびヒューマン・タスクを含め、BPELプロセスの開始時間と終了時間に関するデータを取得するには、アクティビティ・モニターを構成し、有効にします。

アクティビティ・モニターを構成する手順は、次のとおりです。

  1. BPELプロセスの「監視」ビューで、BPELデザイナ・ツールバーにある「アクティビティ監視の構成」をクリックします。

    bpel_mon_actconfig.gifの説明が続きます
    図bpel_mon_actconfig.gifの説明


    注意:

    グローバルな「監視の有効化」フラグは、ローカル設定をオーバーライドします。

  2. 「アクティビティ監視の構成」ダイアログで、「アクティビティ監視の有効化」を選択し、監視のレベルを構成する「モード」を選択します。

    bpel_mon_actdialog.gifの説明が続きます
    図bpel_mon_actdialog.gifの説明

    • 「すべてのアクティビティ」オプションを選択すると、個別のアクティビティ、スコープおよびヒューマン・タスクを含め、BPELプロセスの全アクティビティの開始時間と終了時間に関するデータが取得されます。アクティビティは、アクティビティに対するアクティブ化イベントが開始されると開始し、完了イベントが終了すると終了します。

    • 「スコープとヒューマン・タスクのみ」オプションを選択すると、BPELプロセスに定義されているすべてのスコープおよびヒューマン・タスクの開始時間と終了時間に関するデータが取得されます。スコープは、スコープ内の最初のアクティビティのアクティブ化イベントが開始されると開始し、スコープ内の最終アクティビティの完了イベントが終了すると終了します。ヒューマン・タスク・アクティビティは、ヒューマン・タスク・アクティビティに対するアクティブ化イベントが開始されると開始し、ヒューマン・タスク・アクティビティの完了イベントが終了すると終了します。

    • 「ヒューマン・タスクのみ」オプションを選択すると、BPELプロセスに定義されているすべてのヒューマン・タスク・アクティビティの開始時間と終了時間に関するデータが取得されます。

    • 「BPELプロセスのみ」オプションを選択すると、BPELプロセスの開始時間と終了時間に関するデータが取得されます。

    アクティビティ・モニターを無効にするには、「アクティビティ監視の有効化」チェック・ボックスの選択を解除します。

  3. 「OK」をクリックします。

    アクティビティ・モニターが有効な場合、データは実行時にOracle BAMデータ・オブジェクトに送信されます。オブジェクトを監視するためのOracle BAMデータ・オブジェクトに関する詳細は、第50.3.10項「Monitor Expressデータ・オブジェクトに関する注意事項」を参照してください。

50.3.3 BPELプロセス監視オブジェクトの作成方法

Oracle JDeveloperでBPELデザイナの「監視」ビューを使用して、BPELプロセス監視オブジェクトを作成します。

BPELプロセス監視オブジェクトを作成する手順は、次のとおりです。

  1. 「監視」ビューを表示している状態で、BPELプロセス・ダイアグラムでアクティビティのコンテキスト・メニューを開き、「作成」を選択して、リストから監視オブジェクトのタイプを選択します。

    アクティビティのショートカット・メニュー
    図bam_mon_create_act.gifの説明

    または、BPELデザイナのウィンドウの左上にある「オブジェクトの監視」メニューを使用して、監視オブジェクトを作成します。

    bam_mon_create_menu.gifの説明が続きます
    図bam_mon_create_menu.gifの説明

    別の方法として、構造ペインで各「オブジェクトの監視」タイプのフォルダに対するコンテキスト・メニューを開いて、監視オブジェクトを作成することもできます。

    構造ペインから作成
    図bam_mon_create_struc.gifの説明

    BPELプロセスの構成可能な監視オブジェクトは、「カウンタ」、「間隔」および「ビジネス・インジケータ」の3つのタイプで使用できます。詳細は、次の各項を参照してください。

  2. 実行時にBPELプロセス監視オブジェクトを有効にするには、BPELデザイナの「監視」ビューの左上にある「監視の有効化」チェック・ボックスが選択されていることを確認します。

    図50-2 「監視の有効化」チェック・ボックス

    図50-2の説明が続きます
    「図50-2 「監視の有効化」チェック・ボックス」の説明

    BPELデザイナの「監視の有効化」オプションを選択している場合は、現在のSOAコンポジット・アプリケーションに含まれる全BPELプロセスのモニターとセンサーがすべて有効になります。監視オブジェクト・レベルの有効化フラグはすべて上書きされます。

    「監視の有効化」オプションを選択していない場合は、enableProcessSensorsというプロパティが値falsecomposite.xmlに追加されます。このプロパティによって、現在のSOAコンポジット・アプリケーションに含まれる全BPELプロセスのモニターとセンサーがすべて無効になります。

50.3.4 カウンタの構成方法

BPELプロセスが(BPELプロセス・ダイアグラムでアクティビティに添付されている)カウンタのスナップショットを渡すたびに、データがOracle BAMに送信されます。カウンタによって、BPELアクティビティの発生頻度が示され、時間データを含む新規レコードがOracle BAMデータ・オブジェクトに作成されます。

「カウンタ」ダイアログを使用して、カウンタ監視オブジェクトを構成します。

bam_mon_countconfig.gifの説明が続きます
図bam_mon_countconfig.gifの説明

「有効」チェック・ボックスによって、この特定の監視オブジェクトが有効または無効になります。有効にしない場合、カウンタはBPELプロセス時に評価されないため、Oracle BAMにデータは送信されません。

カウンタのスナップショットをBPELアクティビティに添付するには、「カウンタ」ダイアログで「追加」アイコンをクリックします。表示されるリストからアクティビティを選択します。

bam_mon_countact.gifの説明が続きます
図bam_mon_countact.gifの説明

次に、参照アイコンをクリックして、評価イベント(アクティビティ内のイベント)を選択します。

評価ポイントの選択
図bam_mon_evalbrowse.gifの説明

「評価イベント・チューザ」が開き、1つ以上の評価イベントを選択できます。

「イベント・チューザ」ダイアログ
図bam_mon_eventchooser.gifの説明

カウンタ・スナップショットの構成が完了すると、BPELプロセス・ダイアグラムのアクティビティの横に「N」アイコンとして表示されます。

bam_mon_counticon.gifの説明が続きます
図bam_mon_counticon.gifの説明

カウンタとそのスナップショットが構造ペインに表示されます。

bam_mon_countstruc.gifの説明が続きます
図bam_mon_countstruc.gifの説明

50.3.5 間隔の構成方法

間隔監視オブジェクトでは、BPELプロセス内のあるアクティビティが別のアクティビティに移行するまでに要した時間が取得されます。開始時間と終了時間が取得され、Oracle BAMデータ・オブジェクトに送信されます。

「間隔」ダイアログを使用して、間隔監視オブジェクトを構成します。

間隔構成ダイアログ
図bam_mon_intconfig.gifの説明

「有効」チェック・ボックスによって、この特定の監視オブジェクトが有効または無効になります。有効にしない場合、間隔はBPELプロセス時に評価されないため、Oracle BAMにデータは送信されません。

「開始アクティビティ」で間隔の開始を定義します。リストから開始アクティビティを選択し、「評価イベント」リストから1つ選択します。

「終了アクティビティ」で間隔の終了を定義します。リストから終了アクティビティを選択し、「評価イベント」リストから1つ選択します。

BPELプロセスにビジネス・インジケータを以前に定義している場合は、「関連インジケータ」を選択できます。関連インジケータを選択すると、選択したビジネス・インジケータに関する2つのスナップショットが自動的に提供されます。この結果、間隔の開始時と終了時にビジネス・インジケータ・メトリックが取得されます。


注意:

関連インジケータのスナップショットを間隔に組み込む場合は、「アクティブ化」評価イベントで、開始ポイントまたは終了ポイントとしてmainまたはreceiveInputアクティビティを使用しないことをお薦めします。これは、XPath式の変数がまだ移入されていない可能性があるためです。

タイプがreceiveのBPELアクティビティ(通常はreceiveInputという名前)では、プロセスは一致するメッセージの受信を待機できます。受信メッセージは、アクティビティの定義に指定された変数にコピーされます。コピー操作は、activate以前ではなく、activate評価イベントとcomplete評価イベントの間に行われます。したがって、タイプがreceiveのBPELアクティビティに監視オブジェクトのスナップショットを定義する場合は注意が必要であり、activate評価イベントを選択している場合は特に注意する必要があります。


間隔が構造ペインに表示されます。

bam_mon_intstruc.gifの説明が続きます
図bam_mon_intstruc.gifの説明

実行時に、間隔の開始時間と終了時間がデータ・オブジェクトの新規レコードとしてOracle BAMに送信されます。Oracle BAMデータ・オブジェクトの詳細は、第50.3.10項「Monitor Expressデータ・オブジェクトに関する注意事項」を参照してください。

空の間隔(開始アクティビティと終了アクティビティおよび評価イベントが同じである間隔)は有効であり、ビジネス・インジケータのスナップショットをラベル付けできます。間隔によって、単一のビジネス・インジケータに対する複数のスナップショットを一意に識別できます。「ビジネス・インジケータ」ダイアログでスナップショットを構成するかわりに、ビジネス・インジケータに対して作成する各スナップショットごとに空の間隔を作成して、各間隔でビジネス・インジケータのインジケータ参照を選択できます。

50.3.6 ビジネス・インジケータの構成方法

ビジネス・インジケータ監視オブジェクトでは、ビジネス・インジケータで指定されたイベントがBPELプロセスで発生したときに、ビジネス・インジケータのメトリックによって指定されたBPEL変数のスナップショットが取得されるか、または式が評価されます。

「ビジネス・インジケータ」ダイアログを使用して、ビジネス・インジケータ監視オブジェクトを構成します。

「ビジネス・インジケータ」ダイアログ
図bam_mon_biconfig.gifの説明

「有効」チェック・ボックスによって、この特定の監視オブジェクトが有効または無効になります。有効にしない場合、ビジネス・インジケータの構成済の式はBPELプロセス時に評価されないため、Oracle BAMにデータは送信されません。

「メトリック」は、ビジネス・インジケータで指定されたイベントがBPELプロセスで発生したときに、式または変数を評価するために定義します。

メトリックを構成するには、緑のプラス・アイコンをクリックします。メトリックには、名前、データ型およびXPath式があります。

メトリックの定義
図bam_mon_bimetric.gifの説明

「XPath」フィールドに式を直接入力するか、または「編集」をクリックして「メトリック」構成ダイアログを開き、「編集」をクリックして「式ビルダー」を使用します。

bam_mon_metric.gifの説明が続きます
図bam_mon_metric.gifの説明

「スナップショット」では、ビジネス・インジケータをBPELプロセス内のアクティビティと関連付けます。また、ビジネス・インジケータのメトリックを評価するポイントをBPELプロセスに通知します。スナップショットを作成するには、緑のプラス・アイコンをクリックします。

スナップショット・アクティビティの構成
図bam_mon_bisnapact.gifの説明


注意:

空の間隔監視オブジェクトを使用すると、特定のビジネス・インジケータのスナップショットを一意に識別できます。詳細は、第50.3.5項「間隔の構成方法」を参照してください。

「評価イベント」では、アクティビティのどのポイントでビジネス・インジケータのメトリックを評価するかを示します。表のスナップショットを選択し、「編集」をクリックして評価イベントを1つ以上選択します。BPELアクティビティ内でメトリックを評価する評価イベントを複数選択できます。


注意:

mainまたはreceiveInputアクティビティの「アクティブ化」評価イベント時のスナップショット構成はお薦めしません。これは、XPath式の変数がまだ移入されていない可能性があるためです。

構成を保存すると、BPELプロセス・ダイアグラムの関連アクティビティの右上に、「ビジネス・インジケータ」アイコンが表示されます。

bam_mon_bi_icon.gifの説明が続きます
図bam_mon_bi_icon.gifの説明

ビジネス・インジケータは、そのメトリックとスナップショットとともに構造ペインにも表示されます。

bam_mon_bistruc.gifの説明が続きます
図bam_mon_bistruc.gifの説明

実行時に、BPWLプロセスでビジネス・インジケータが発生すると、メトリックが評価され、結果がデータ・オブジェクトの新規レコードとしてOracle BAMに送信されます。Oracle BAMデータ・オブジェクトの詳細は、第50.3.10項「Monitor Expressデータ・オブジェクトに関する注意事項」を参照してください。

50.3.7 アクティビティへの既存の監視オブジェクトの追加方法

BPELデザイナの「監視」ビューで提供されるショートカット・メニューを使用して、以前に作成したカウンタおよびビジネス・インジケータをBPELプロセスのアクティビティに追加できます。追加すると、選択したカウンタまたはビジネス・インジケータに新規スナップショットが作成されます。

アクティビティにモニターを追加する手順は、次のとおりです。

  1. モニターを追加するアクティビティを右クリックし、「追加」を選択します。

    bam_mon_add.gifの説明が続きます
    図bam_mon_add.gifの説明

  2. 「カウンタ」または「ビジネス・インジケータ」を選択します。

  3. ダイアログで1つ以上の監視オブジェクトを選択し、「OK」をクリックします。[Shift]キーを押しながらクリックすると、複数の監視オブジェクトを選択できます。

    モニターの選択
    図bam_mon_select.gifの説明

  4. アクティビティ境界内にアイコンが表示されます。

    bam_mon_icon.gifの説明が続きます
    図bam_mon_icon.gifの説明

50.3.8 デプロイメント用のBPELプロセス・モニターの構成方法

現在のSOAコンポジット・アプリケーション内のBPELプロセスに監視オブジェクトが含まれている場合は、そのコンポジットのデプロイメント時に、monitor.configファイルに指定されているOracle BAMサーバー内の場所に、Oracle BAMデータ・オブジェクトが作成されます。


注意:

monitor.configファイルは必要に応じて作成されます。BPELプロセスにモニターが構成されていない場合、monitor.configファイルは存在しません。

monitor.configファイルは、最初の監視オブジェクトを作成したとき、Oracle JDeveloperの「アプリケーション・ナビゲータ」に自動的には表示されません。ユーザーは、プロジェクト内のすべてのファイルを保存(「すべて保存」を使用)した後、「アプリケーション・ナビゲータ」をリフレッシュする必要があります。


デプロイメントは累積されます。つまり、既存のデータ・オブジェクトは削除されず、監視オブジェクト構成で必要な場合に列がデータ・オブジェクトに追加されます。データ・オブジェクトの詳細は、第50.3.10項「Monitor Expressデータ・オブジェクトに関する注意事項」を参照してください。

デプロイメント・プロパティを構成する手順は、次のとおりです。

「アプリケーション・ナビゲータ」のプロジェクト・フォルダで、編集のためにmonitor.configファイルを開きます。

モニター構成ファイル
図bam_mon_config.gifの説明

monitor.configファイルでは、データ・オブジェクトを作成および移入するために、Oracle BAMサーバーとの接続に必要なデプロイメント・プロパティとランタイム・プロパティを定義します。


注意:

BPELProcess.monitorファイルは編集しないでください。これは内部ファイルであるため、手動で編集しないでください。これには、特定のBPELプロセス内の全BPELプロセス・モニターに関するメタデータが格納されます。

次の例に、デフォルトのmonitor.configファイルを示します。

<?xml version="1.0" encoding="UTF-8"?>
<MonitorConfig>
  <Connection>
    <BAM dataObjectsFolder="/Samples/Monitor Express/"
         adapterConnectionFactoryJNDI="eis/bam/rmi" batch="true"
         deploymentProtocol="http">
    </BAM>
  </Connection>
  <Deployment ignoreErrors="true"/>
</MonitorConfig> 

表50-1でプロパティについて説明します。

BPELプロジェクトごとに接続ブロックを1つのみ定義します。

表50-1 モニター構成のプロパティ

プロパティ デフォルト 説明

dataObjectsFolder

/Samples/Monitor Express/

SOAコンポジット・アプリケーションに対するすべてのBPELプロセスで構成されたモニターに関するデータ・オブジェクトの位置へのパス。ディレクトリが存在しない場合は、デプロイメント時に作成されます。パスは、Oracle BAMサーバーのルート・データ・オブジェクト・フォルダに対する相対パスです。

データ・オブジェクト・フォルダは、SOAコンポジット・アプリケーションごとに1つのみであることに注意してください。アプリケーションには多数のBPELプロセスを含めることができます。アプリケーション内のすべてのBPELプロセスに関連付けられたデータ・オブジェクトはすべて、この場所に作成されます。

adapterConnectionFactoryJNDI

eis/bam/rmi

Oracle WebLogic Server管理コンソールで構成されるOracle BAMアダプタ接続プール。Oracle BAMアダプタは、デプロイメントおよびランタイム前に構成する必要があります。

RMIプロトコルを使用する場合は、Oracle SOAサーバーとOracle BAMサーバーが別々のドメインにデプロイされている場合であるため、Oracle SOAサーバーとOracle BAMサーバーの両方のドメインに対して、信頼できるドメイン資格証明を構成する必要もあります。

詳細は、第50.2項「Oracle BAMアダプタの構成」および『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。

batch

true

Oracle BAMアダプタを使用したバッチ処理が有効であることを示します。バッチ処理構成プロパティの詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。

deploymentProtocol

http

有効な値はhttpのみです。

ignoreErrors

true

Oracle BAMサーバーに接続できないか、またはOracle BAMデータ・オブジェクトのデプロイメントに問題がある場合でも、このプロパティがtrueに設定されていると、コンポジットのデプロイメントは停止しません。falseに設定されていてOracle BAMサーバーが使用不可の場合、デプロイメントは失敗します。

このプロパティは、デプロイメント構成ウィザードの「BPELモニターのデプロイメント・エラーを無視します」チェック・ボックスに対応します。


50.3.9 Monitor Expressダッシュボードの使用に関する注意事項

Oracle BAMには、BPELプロセスの監視にすぐに使用できるサンプル・ダッシュボードが用意されています。

Monitor Expressダッシュボードとデータ・オブジェクトのサンプルを使用すると、Oracle JDeveloper内から比較的少ない手順で、SOAコンポジット・アプリケーション用にOracle BAMを有効にできます。すぐに使用できるダッシュボードには単一の統合ビューが用意されており、キー・パフォーマンス・インディケータ(KPI)をリアルタイムで追跡し、作業効率を高めることができます。Oracle JDeveloperのBPELモニター・インスツルメンテーションによって、監視のための高度なユーザー操作性が実現しています。

データ・オブジェクトは、Oracle BAMアーキテクトのSamples/Monitors/データ・オブジェクト・ディレクトリに格納され、サンプルのレポートは、Oracle BAMアクティブ・ビューアのShared Reports/Samples/Monitor Express/フォルダに格納されています。

サンプルがシステムにインストールされていない場合、インストール・スクリプトと指示は、SOA_ORACLE_HOME/bam/samples/bam/monitorexpressディレクトリにあります。

50.3.10 Monitor Expressデータ・オブジェクトに関する注意事項

Oracle BAMデータ・オブジェクトは、有効化されたBPELプロセス・モニターを含むSOAコンポジット・アプリケーションがデプロイされるときに自動的にデプロイされます。Samples/Monitor Express/ディレクトリに、事前にシードされているサンプル・データ・オブジェクトがあります。

これらのデータ・オブジェクトを使用して、Oracle BAMダッシュボードを構成できます。Oracle BAMアクティブ・スタジオでダッシュボードを作成する方法の詳細は、『Oracle Fusion Middleware Oracle Business Activity Monitoringユーザーズ・ガイド』を参照してください。

Oracle BAMアーキテクトを使用して、データ・オブジェクトに列と索引を追加できます。Oracle BAMアーキテクトで追加するカスタムの列と索引は、BPELプロセス・モニター構成の変更を含む改訂済SOAコンポジット・アプリケーションがデプロイされた場合でも保持されます。列と索引の追加方法の詳細は、第52章「Oracle BAMデータ・オブジェクトの定義および管理」を参照してください。

デプロイメント時に、構成された場所にデータ・オブジェクトがすでに存在している場合は、そのデータ・オブジェクトがそのまま使用されるか、またはBPELプロセス・モニターからのメッセージにあわせて適切な追加列で更新されます。

Oracle BAMデータ・オブジェクトは、使用中は変更できません。BPELプロセス監視データ・オブジェクトに対して開いているOracle BAMダッシュボードがあり、デプロイメント時にデータ・オブジェクトを変更する必要がある場合、データ・オブジェクトの更新は失敗します。


注意:

既存の監視データ・オブジェクトの列名は変更しないでください。

Oracle BAMアダプタの構成

BPELプロセス・モニターでは、Oracle BAMアダプタを使用して、メッセージをOracle BAMサーバーに伝達します。デプロイメント時に、Oracle BAMサーバーに接続できない場合、デプロイメントは失敗します。実行時にOracle BAMサーバーに接続できない場合、再試行動作はOracle BAMアダプタの構成によって決まります。詳細は、第50.2項「Oracle BAMアダプタの構成」および『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle BAMアダプタの構成に関する項を参照してください。

データ・オブジェクトおよびトラブルシューティング情報の詳細は、次の各項を参照してください。

50.3.10.1 COMPONENTデータ・オブジェクトの理解

COMPONENTデータ・オブジェクトは、メイン・ディメンション表です。BPELプロセス・インスタンスの実行に要した時間、およびBPELプロセス・インスタンスが少なくとも1回失敗したかどうかに関する情報が収集されます。

少なくとも1つの監視オブジェクトが構成されている場合、またはアクティビティ監視を有効にしている場合は、このデータ・オブジェクトに常にデータが移入されます。

表50-2 COMPONENTデータ・オブジェクトのフィールド

列名 説明

COMPOSITE_INSTANCE_ID

SCAコンポジット・インスタンスID番号。

COMPONENT_INSTANCE_ID

SCAコンポーネント・インスタンスID番号。BPELの場合は、BPELインスタンスID番号です。

DOMAIN_NAME

パーティション名。

COMPOSITE_NAME

SOAコンポジット・アプリケーションの名前。

COMPOSITE_REVISION

SOAコンポジット・アプリケーションのリビジョン番号。

COMPOSITE_LABEL

SOAコンポジット・アプリケーションの内部ラベル。

このラベルはデプロイするたびに作成され、リビジョンIDを上書きする場合でも作成されます。

COMPONENT_TYPE

コンポーネント・タイプ(たとえば、BPELプロセスの場合はBPEL)。

COMPONENT_NAME

コンポーネントの表示名(たとえば、BPELプロセス名)。

COMPONENT_START_TIME

コンポーネントの実行が開始した日時。

COMPONENT_END_TIME

コンポーネントの実行が終了した日時。

COMPONENT_FAULT_FLAG

コンポーネントで少なくとも1回フォルトが発生しているかどうかを示します。1=フォルトあり。0=フォルトなし。

FAULT_NAME

発生した最終フォルトの名前。

COMPONENT_RUNNING_FLAG

コンポーネントが現在実行中かどうかを示します。1=コンポーネント実行中。0=コンポーネントは実行中ではありません。

COMPONENT_RUNNING_TIME_IN_SEC

COMPONENT_START_TIMEおよびCOMPONENT_END_TIME間の計算された期間(秒)。

COMPONENT_RUNNING_TIME_IN_MIN

COMPONENT_START_TIMEおよびCOMPONENT_END_TIME間の計算された期間(分)。

COMPONENT_COMPLETED_NO_FAULT_FLAG

コンポーネントがフォルトなしで完了したかどうかを示します。1=フォルトなしで完了。0=未完了またはフォルトありで完了。

COMPONENT_INCOMPLETE_FLAG

コンポーネントが未完了であり、少なくとも1回フォルトは発生していることを示します。1=未完了で、少なくとも1回はフォルトが発生。0=それ以外。

ECID

単一のSOAリクエストによって実行される複数のBPELプロセス・インスタンスについて、データを集計するレポートを作成できます。


50.3.10.2 COUNTERデータ・オブジェクトの理解

COUNTERデータ・オブジェクトには、BPELプロセスで発生したすべてのカウンタ監視オブジェクトによって取得されたデータが含まれます。

表50-3 COUNTERデータ・オブジェクトのフィールド

列名 説明

COMPOSITE_INSTANCE_ID

SCAコンポジット・インスタンスID番号。

COMPONENT_INSTANCE_ID

SCAコンポーネント・インスタンスID番号。BPELの場合は、BPELインスタンスID番号です。

DOMAIN_NAME

COMPONENTデータ・オブジェクトのDOMAIN_NAMEフィールドの参照。

COMPOSITE_NAME

COMPONENTデータ・オブジェクトのCOMPOSITE_NAMEフィールドの参照。

COMPOSITE_REVISION

COMPONENTデータ・オブジェクトのCOMPOSITE_REVISIONフィールドの参照。

COMPOSITE_LABEL

COMPONENTデータ・オブジェクトのCOMPOSITE_LABELフィールドの参照。

COMPONENT_TYPE

COMPONENTデータ・オブジェクトのCOMPONENT_TYPEフィールドの参照。

COMPONENT_NAME

COMPONENTデータ・オブジェクトのCOMPONENT_NAMEフィールドの参照。

COMPONENT_START_TIME

COMPONENTデータ・オブジェクトのCOMPONENT_START_TIMEフィールドの参照。

COMPONENT_END_TIME

COMPONENTデータ・オブジェクトのCOMPONENT_END_TIMEフィールドの参照。

COMPONENT_FAULT_FLAG

COMPONENTデータ・オブジェクトのCOMPONENT_FAULT_FLAGフィールドの参照。

FAULT_NAME

COMPONENTデータ・オブジェクトのFAULT_NAMEフィールドの参照。

COUNTER_NAME

カウンタ監視オブジェクトの名前。

SUBCOMPONENT_ID

キー・フィールドとして使用される内部値。

SUBCOMPONENT_TYPE

カウンタ・データが取得されたサブコンポーネントのタイプ(たとえば、sequenceはBPEL sequenceアクティビティを示します)。ヒューマン・タスク・アクティビティにはhuman taskタイプが使用されます。

SUBCOMPONENT_NAME

カウンタ・データが取得されたサブコンポーネントの名前(たとえば、receiveInput)。BPELではアクティビティ名です。

EVALUATION_EVENT

データが取得される、BPELアクティビティのライフ・サイクル内のイベント(たとえば、アクティブ化)。

SNAPSHOT_TIME

カウンタ・データが取得された日時。


50.3.10.3 INTERVALデータ・オブジェクトの理解

INTERVALデータ・オブジェクトには、BPELプロセスで構成したすべての間隔監視オブジェクトとアクティビティ・モニターによって取得されたデータが含まれます。

表50-4 INTERVALデータ・オブジェクトのフィールド

列名 説明

COMPOSITE_INSTANCE_ID

SCAコンポジット・インスタンスID番号。

COMPONENT_INSTANCE_ID

SCAコンポーネント・インスタンスID番号。BPELの場合は、BPELインスタンスID番号です。

DOMAIN_NAME

COMPONENTデータ・オブジェクトのDOMAIN_NAMEフィールドの参照。

COMPOSITE_NAME

COMPONENTデータ・オブジェクトのCOMPOSITE_NAMEフィールドの参照。

COMPOSITE_REVISION

COMPONENTデータ・オブジェクトのCOMPOSITE_REVISIONフィールドの参照。

COMPOSITE_LABEL

COMPONENTデータ・オブジェクトのCOMPOSITE_LABELフィールドの参照。

COMPONENT_TYPE

COMPONENTデータ・オブジェクトのCOMPONENT_TYPEフィールドの参照。

COMPONENT_NAME

COMPONENTデータ・オブジェクトのCOMPONENT_NAMEフィールドの参照。

COMPONENT_START_TIME

COMPONENTデータ・オブジェクトのCOMPONENT_START_TIMEフィールドの参照。

COMPONENT_END_TIME

COMPONENTデータ・オブジェクトのCOMPONENT_END_TIMEフィールドの参照。

COMPONENT_FAULT_FLAG

COMPONENTデータ・オブジェクトのCOMPONENT_FAULT_FLAGフィールドの参照。

FAULT_NAME

COMPONENTデータ・オブジェクトのFAULT_NAMEフィールドの参照。

INTERVAL_NAME

間隔監視オブジェクトの名前、またはアクティビティ・モニターによる監視対象のアクティビティ、ヒューマン・タスクまたはスコープの名前が表示されます。

INTERVAL_TYPE

データが取得されたBPELプロセスのタイプを示します。

CUSTOMは、カスタムの開始時間と終了時間で構成された間隔監視オブジェクトを示します。間隔監視オブジェクトについては、50.3.5項「間隔の構成方法」を参照してください。

SUBCOMPONENTは、アクティビティ・モニターを示します。アクティビティ・モニターについては、第50.3.2項「アクティビティ・モニターの構成方法」を参照してください。

INTERVAL_START_TIME

間隔またはアクティビティ・モニターの開始アクティビティの発生時に記録された日時。

INTERVAL_END_TIME

間隔またはアクティビティ・モニターの終了アクティビティの発生時に記録された日時。

START_SUBCOMPONENT_ID

キー・フィールドとして使用される内部値。

START_SUBCOMPONENT_TYPE

間隔による監視対象のBPELプロセス・アクティビティのタイプ。ヒューマン・タスク・アクティビティにはhuman taskタイプが使用されます。

START_SUBCOMPONENT_NAME

間隔による監視対象のプロセス・アクティビティの表示名。

START_EVALUATION_EVENT

データが取得される、BPELアクティビティのライフ・サイクル内のイベント(たとえば、アクティブ化)。

END_SUBCOMPONENT_ID

キー・フィールドとして使用される内部値。

END_SUBCOMPONENT_TYPE

間隔による監視対象のBPELプロセス・アクティビティのタイプ。ヒューマン・タスク・アクティビティにはhuman taskタイプが使用されます。

END_SUBCOMPONENT_NAME

間隔による監視対象のプロセス・アクティビティの表示名。

END_EVALUATION_EVENT

データが取得される、BPELアクティビティのライフ・サイクル内のイベント(たとえば、アクティブ化)。

SUBCOMPONENT_CREATOR

将来使用する予定の列。

INTERVAL_RUNNING_FLAG

間隔またはアクティビティ・モニターの終了アクティビティが実行中かどうかを示します。1は、終了アクティビティが発生していないことを示します。0はそれ以外の場合を示します。

INTERVAL_RUNNING_TIME_IN_SEC

INTERVAL_START_TIMEおよびINTERVAL_END_TIME間の期間(秒)。

INTERVAL_RUNNING_TIME_IN_MIN

INTERVAL_START_TIMEおよびINTERVAL_END_TIME間の期間(分)。


50.3.10.4 ビジネス・インジケータ・データ・オブジェクトの理解

BPELプロセスに構成されているすべてのビジネス・インジケータ・メトリックによって取得されたデータが含まれるデータ・オブジェクトは、BI_Partition_Name_Composite_Name_BPELPROCESS_Nameという名前です。

ビジネス・インジケータ監視オブジェクトが含まれる、SOAコンポジット・アプリケーション内のBPELプロセスごとに別々のデータ・オブジェクトが作成されます。

ビジネス・インジケータが間隔監視オブジェクトによって参照される場合は、間隔に関連するデータの一部(INTERVAL_NAMEINTERVAL_START_FLAGおよびINTERVAL_END_FLAG)がビジネス・インジケータ・データ・オブジェクトに取得されます。


注意:

評価(スナップショット)時にいずれかのメトリックが失敗した場合、データはOracle BAMに送信されませんが、ビジネス・インジケータに構成されている残りのメトリックはスナップショット時に評価されます。失敗したビジネス・インジケータ・メトリックが別のスナップショット時に発生した場合、BPELエンジンはこのビジネス・インジケータ・メトリックの評価を試行します。

表50-5 ビジネス・インジケータ・データ・オブジェクトのフィールド

列名 説明

COMPOSITE_INSTANCE_ID

SCAコンポジット・インスタンスID番号。

COMPONENT_INSTANCE_ID

SCAコンポーネント・インスタンスID番号。BPELの場合は、BPELインスタンスID番号です。

DOMAIN_NAME

COMPONENTデータ・オブジェクトのDOMAIN_NAMEフィールドの参照。

COMPOSITE_NAME

COMPONENTデータ・オブジェクトのCOMPOSITE_NAMEフィールドの参照。

COMPOSITE_REVISION

COMPONENTデータ・オブジェクトのCOMPOSITE_REVISIONフィールドの参照。

COMPOSITE_LABEL

COMPONENTデータ・オブジェクトのCOMPOSITE_LABELフィールドの参照。

COMPONENT_TYPE

COMPONENTデータ・オブジェクトのCOMPONENT_TYPEフィールドの参照。

COMPONENT_NAME

COMPONENTデータ・オブジェクトのCOMPONENT_NAMEフィールドの参照。

COMPONENT_START_TIME

COMPONENTデータ・オブジェクトのCOMPONENT_START_TIMEフィールドの参照。

COMPONENT_END_TIME

COMPONENTデータ・オブジェクトのCOMPONENT_END_TIMEフィールドの参照。

COMPONENT_FAULT_FLAG

COMPONENTデータ・オブジェクトのCOMPONENT_FAULT_FLAGフィールドの参照。

FAULT_NAME

COMPONENTデータ・オブジェクトのFAULT_NAMEフィールドの参照。

BI_NAME

ビジネス・インジケータの名前。

SNAPSHOT_TIME

ビジネス・インジケータ・データの取得時に記録された日時。

SUBCOMPONENT_ID

キー・フィールドとして使用される内部値。

SUBCOMPONENT_TYPE

ビジネス・インジケータ・データが取得されたサブコンポーネントのタイプ(たとえば、invokeはBPEL invokeアクティビティを示します)。ヒューマン・タスク・アクティビティにはhuman taskタイプが使用されます。

SUBCOMPONENT_NAME

ビジネス・インジケータ・データが取得されたサブコンポーネントの名前(たとえば、callbackClient)。

EVALUATION_EVENT

データが取得される、BPELアクティビティのライフ・サイクル内のイベント(たとえば、アクティブ化)。

INTERVAL_NAME

ビジネス・インジケータのデータ取得が実行される、ビジネス・インジケータを組み込んだ間隔監視オブジェクトの名前。

データがアクティビティ・モニター内で取得された場合、このフィールドはNULLです。

INTERVAL_START_FLAG

データが間隔開始アクティビティで取得されたかどうかを示します。1=間隔開始アクティビティで取得された場合。NULL=それ以外の場合。

データがアクティビティ・モニター内で取得された場合、このフィールドはNULLです。

INTERVAL_END_FLAG

データが間隔終了アクティビティで取得されたかどうかを示します。1=間隔終了アクティビティで取得された場合。NULL=それ以外の場合。

データがアクティビティ・モニター内で取得された場合、このフィールドはNULLです。

LATEST

特定のコンポジット/コンポーネント・インスタンス(COMPOSITE_INSTANCE_IDおよびCOMPONENT_INSTANCE_IDに基づく)のビジネス・インジケータ・レコードの最新スナップショットを示します(値"Y")。

最新のレコードがのみが使用されるように、ビジネス・インジケータ・レコードをフィルタ処理するダッシュボードを作成できます(1つのビジネス・プロセスは同じプロセス内に複数のスナップショットを持つことができますが、LATESTは任意の時点での最新を示します)。

METRIC_NAME

NAMEメトリックで評価されたXPath式の結果が含まれます。

METRIC_NAMEフィールドは、メトリックで構成されたデータ型です。

これらの列名のNAMEの部分は、ビジネス・インジケータで構成されたメトリックの表示名です。

BPELプロセスで構成されたメトリックと同じ数のMETRIC_NAMEフィールドがあります。

メトリック名は、このデータ・オブジェクトで名前の競合が発生しないように、BPELプロセス内で一意である必要があります。


50.3.10.5 トラブルシューティング

この項では、Monitor Expressのトラブルシューティング情報について説明します。

50.3.10.5.1 Oracle BAMデータ・オブジェクト・サイズの管理

Oracle BAMサーバー・データ・オブジェクトでは、データ・オブジェクトが大きくなりすぎないように、アラート・ルールを使用して古いデータをパージできます。

アラートの一般情報は、第57章「Oracle BAMアラートの作成」、削除アクションの構成の詳細は、F.3.8項「データ・オブジェクトから行を削除」を参照してください。

50.3.10.5.2 ログの使用

Monitor Expressランタイムでは、oracle.soa.bpel.engine.sensorロガーを使用してメッセージが記録されます。詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のログ・ファイルの構成に関する項を参照してください。

50.4 Oracle BAMサーバーへの設計時接続の作成

Oracle JDeveloperでのアプリケーションの設計中に、使用可能なデータ・オブジェクトを参照し、トランスフォーメーションを作成するには、Oracle BAMサーバーへの接続を作成する必要があります。


注意:

Oracle BAMサーバー接続は、「アプリケーション・リソース」で直接作成するか、または「リソース・カタログ」から既存の接続をコピーする必要があります。

50.4.1 Oracle BAMサーバーへの接続の作成方法

Oracle BAMサーバーへの接続は、Oracle BAMサーバーで使用可能なデータ・オブジェクトを参照するために作成します。

Oracle BAMサーバーへの接続を作成する手順は、次のとおりです。

  1. Oracle JDeveloperの「ファイル」メイン・メニューから、「新規」を選択します。

    「新規ギャラリ」ダイアログ・ボックスが表示されます。

  2. 「一般」カテゴリから、「接続」を選択します。

  3. 「項目」リストから、「BAM接続」を選択し、「OK」をクリックします。

    BAM接続ウィザードが表示されます。

  4. 必ず、「アプリケーション・リソース」が選択されているようにしてください。

  5. 接続の名前を指定します。

  6. 「次へ」をクリックします。

  7. 表50-6に記載されているOracle BAMサーバー・ホストの接続情報を入力します。

    表50-6 Oracle BAMサーバー接続情報

    フィールド 説明

    BAM Webホスト

    Oracle BAMレポート・サーバーとWebアプリケーションがインストールされているホストの名前を入力します。ほとんどの場合、Oracle BAM Webアプリケーション・ホストとOracle BAMサーバー・ホストは同一です。

    BAMサーバー・ホスト

    Oracle BAMサーバーがインストールされているホストの名前を入力します。

    ユーザー名

    Oracle BAMサーバー・ユーザー名を入力します。

    パスワード

    ユーザー名のパスワードを入力します。

    HTTPポート

    ポート番号を入力するか、またはデフォルト値9001をそのまま使用します。これは、Oracle BAM Webアプリケーション・ホスト用のHTTPポートです。

    JNDIポート

    ポート番号を入力するか、またはデフォルト値9001をそのまま使用します。JNDIポートは、Oracle BAMサーバーの一部であるOracle BAMレポート・キャッシュ用です。

    HTTPSの使用

    設計時にOracle BAMサーバーへの接続にセキュアなHTTP(HTTPS)を使用する場合は、このチェック・ボックスを選択します。選択しない場合は、HTTPが使用されます。


  8. 「次へ」をクリックします。

  9. 「接続のテスト」をクリックして、接続をテストします。接続に成功した場合は、次のメッセージが表示されます。

    Testing HTTP connection ... success.
    Testing Data Object browsing ... success.
    Testing JNDI connection ... success.
     
    3 of 3 tests successful.
    
  10. 「終了」をクリックします。

50.5 SOAコンポジット・アプリケーションでのOracle BAMアダプタの使用

Oracle BAMアダプタは、SOAコンポジット・アプリケーションによるSOAコンポジット・アプリケーション外部のOracle BAMサーバーへのデータ送信を可能にする参照として使用されます。

50.5.1 SOAコンポジット・アプリケーションでのOracle BAMアダプタの使用方法

SOAコンポジット・アプリケーションによるSOAコンポジット・アプリケーション外部のOracle BAMサーバーへのデータ送信を可能にする、Oracle BAMアダプタ参照を追加できます。

Oracle BAMアダプタ参照を追加する手順は、次のとおりです。

  1. 「コンポーネント・パレット」で「SOA」を選択します。

  2. 「BAMアダプタ」を右側のスイムレーンにドラッグします。

    これにより、アダプタ構成ウィザードが起動されます。

  3. 「サービス名」ページで、「サービス名」「説明」(オプション)を入力します。

  4. 「データ・オブジェクト操作とキー」ページで、次の手順を実行します。

    1. 「BAMデータ・オブジェクト・チューザ」ダイアログ・ボックスを使用して、「データ・オブジェクト」を選択します。

      「参照」をクリックすると、データ・オブジェクト・チューザ・ダイアログ・ボックスが開き、使用可能なOracle BAMサーバー接続を「BAMデータ・オブジェクト・エクスプローラ」ツリーで参照できます。データ・オブジェクトを選択して「OK」をクリックします。

    2. リストから「操作」を選択します。

      「挿入」では、データ・オブジェクトに行が追加されます。

      「アップサート」では、データ・オブジェクトに行が存在する場合は、既存の行に新規データが挿入されます。行が存在しない場合は、新規行が作成されます。データ・オブジェクトの行をアップサートするには、「選択可能」列からキーを選択する必要があります。

      「削除」では、データ・オブジェクトから行が削除されます。データ・オブジェクトの行を削除するには、「選択可能」列からキーを選択する必要があります。

      「更新」では、データ・オブジェクト内の既存の行に新規データが挿入されます。データ・オブジェクトの行を更新するには、「選択可能」列からキーを選択する必要があります。

    3. SOAコンポジット・アプリケーションにおけるこの操作の適切な表示名を、「操作名」フィールドに指定します。

    4. 「有効バッチ」を選択するには、該当するチェック・ボックスを選択します。

      Oracle BPEL Process ManagerランタイムのOracle BAMアダプタによってメモリーにキャッシュされるデータは、Oracle BAMサーバーに定期的にフラッシュ(送信)されます。自動定義された下限値から上限値までの範囲内のデータ・オブジェクトがキャッシュ内にいくつか存在する場合は、Oracle BAMコンポーネントによって、バッチ・タイムアウト前にデータを送信するかどうかが決定されます。

      バッチ処理プロパティは、BAMCommonConfig.xml内で構成されます。詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。

  5. 「JNDI名」ページで、Oracle BAMサーバー接続の「JNDI名」を指定します。

    JNDI名は、Oracle WebLogic Server管理コンソール内で構成されます。詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle BAMアダプタの構成に関する項を参照してください。

  6. 「終了」をクリックします。

50.6 BPELプロセスでのOracle BAMアダプタの使用

プロセスの1つのステップとしてOracle BAMにデータを送信するには、Oracle BAMアダプタをBPELプロセスでパートナ・リンクとして使用します。

詳細は、第4.3項「パートナ・リンクの概要」を参照してください。

50.6.1 BPELプロセスでのOracle BAMアダプタの使用方法

Oracle BAMアダプタをBPELプロセスに追加すると、プロセスの1つのステップとしてOracle BAMにデータを送信できます。Oracle BAMアダプタは、パートナ・リンクとして使用され、BPELプロセスのアクティビティに接続されます。

Oracle BAMパートナ・リンクを追加する手順は、次のとおりです。

  1. Oracle JDeveloperのSOAコンポジット・エディタで、BPELプロセスのアイコンをダブルクリックして、そのプロセスをBPEL Process Designerで開きます。

  2. 「コンポーネント・パレット」で「BPELサービス」パネルを開きます。

  3. Oracle BAMアダプタをBPEL Process Designerの右側の「パートナ・リンク」スイムレーンにドラッグ・アンド・ドロップします。

  4. アダプタ構成ウィザードで、「サービス名」フィールドに表示名を入力し、「次へ」をクリックします。

    ウィザードが完了すると、「アプリケーション・ナビゲータ」に、BPELプロセスまたはOracle Mediatorメッセージ・フロー用のWeb Services Description Language(WSDL)ファイルがこの名前で表示されます。このファイルには、このウィザードで指定したアダプタ構成設定が含まれます。

  5. 「データ・オブジェクト操作とキー」ページで、次の手順を実行します。

    1. 「BAMデータ・オブジェクト・チューザ」ダイアログ・ボックスを使用して、「データ・オブジェクト」を選択します。

      「参照」をクリックすると、データ・オブジェクト・チューザ・ダイアログ・ボックスが開き、使用可能なOracle BAMサーバー接続を「BAMデータ・オブジェクト・エクスプローラ」ツリーで参照できます。データ・オブジェクトを選択して「OK」をクリックします。

    2. リストから「操作」を選択します。

      「挿入」では、データ・オブジェクトに行が追加されます。

      「アップサート」では、データ・オブジェクトに行が存在する場合は、既存の行に新規データが挿入されます。行が存在しない場合は、新規行が作成されます。

      「削除」では、データ・オブジェクトから行が削除されます。

      「更新」では、データ・オブジェクト内の既存の行に新規データが挿入されます。

    3. SOAコンポジット・アプリケーションにおけるこの操作の適切な表示名を、「操作名」フィールドに指定します。

    4. 「有効バッチ」を選択するには、該当するチェック・ボックスを選択します。

      Oracle BPEL Process ManagerランタイムのOracle BAMアダプタによってメモリーにキャッシュされるデータは、Oracle BAMサーバーに定期的にフラッシュ(送信)されます。自動定義された下限値から上限値までの範囲内のデータ・オブジェクトがキャッシュ内にいくつか存在する場合は、Oracle BAMコンポーネントによって、バッチ・タイムアウト前にデータを送信するかどうかが決定されます。

      バッチ処理プロパティは、BAMCommonConfig.xml内で構成されます。詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。

  6. 「JNDI名」ページで、Oracle BAMサーバー接続の「JNDI名」を指定します。

    JNDI名は、Oracle WebLogic Server管理コンソール内で構成されます。詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle BAMアダプタの構成に関する項を参照してください。

  7. 「終了」をクリックします。

  8. BPELプロセスにタイプ「メッセージ・タイプ」の新規プロセス変数を作成し、「タイプ・チューザ」ダイアログ・ボックスを参照して、Oracle BAMサーバー上の書込み先となるデータ・オブジェクトのWDSLを選択します。

    Oracle BPEL Process Managerの使用方法の詳細は、第4章「Oracle BPEL Process Managerの基本操作」を参照してください。

  9. BPELプロセスで、作成した新規変数にソース・データをマップするために使用できるアクティビティを追加します。

  10. BPELプロセスで、作成したOracle BAMアダプタ・パートナ・リンクにデータを送信するinvokeアクティビティを追加します。作成した変数を入力変数として追加します。

  11. プロジェクト・ファイルをすべて保存します。

50.7 Oracle BAMセンサー・アクションを使用したBPELセンサーの統合

Oracle BPEL Process Managerでセンサー・アクションを作成し、センサー・データをOracle BAMサーバーの既存のデータ・オブジェクトにパブリッシュできます。センサー・アクションを作成するときは、データの取得元のOracle BPEL Process Manager変数センサーまたはアクティビティ・センサー、およびセンサー・データをパブリッシュするOracle BAMサーバーのデータ・オブジェクトを選択できます。

Oracle BAMアダプタでは操作のバッチ処理がサポートされていますが、バッチ処理を使用した場合の動作は、バッチ処理を使用しない場合の動作と異なります。Oracle BAMアダプタがBPELセンサー・アクションに適用されるとき、Oracle BAMセンサー・アクションはBPELトランザクションの一部ではありません。バッチ処理が有効な場合、BPELはOracle BAMの操作が完了するのを待機しません。これは非同期コールです。

バッチ処理が無効な場合、BPELはOracle BAMの操作が完了するのを待機し、完了後にBPELプロセスを処理しますが、Oracle BAMで例外が発生した場合、ロールバックまたは停止は行われません。Oracle BAMセンサー・アクションは、BPELと同じセンサー・アクション・ロガーにメッセージを記録します。バッチ処理の動作に関する詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle BAMのバッチ処理プロパティの構成に関する項を参照してください。

これらの手順は、Oracle BAMがインストールおよび構成済であることを前提にしています。


注意:

コネクション・ファクトリの構成は、Oracle BAMセンサー・アクションの使用前に完了している必要があります。また、Oracle BAMアダプタでプレーン・テキストのユーザー名とパスワードではなく、資格証明を使用している場合、Oracle BAMアダプタ(BPELで使用するOracle BAMセンサー・アクションを含む)でOracle BAMサーバーに接続するには、資格証明も設定およびマップしている必要があります。詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle BAMアダプタの構成に関する項を参照してください。

50.7.1 センサーの作成方法

Oracle BAMセンサー・アクションを作成するには、最初にBPELプロセスにセンサーを作成する必要があります。Oracle BAMセンサー・アクションを作成する前に、センサーを作成する必要があります。

  • 変数センサー

    制限: 変数センサーの変数は、スタンドアロンXSDで定義する必要があります。この変数はWSDLファイル内でインラインで定義しないでください。変数にメッセージ・パートがある場合、そのメッセージ・パートは1つのみである必要があります。

  • センサー変数を1つのみ含むアクティビティ・センサー

    制限: センサー・データを単一のOracle BAMサーバーのデータ・オブジェクトにマップするため、アクティビティ・センサーに使用できる変数は1つのみです。変数センサーの制限もすべて適用されます。


注意:

これらのルールに従わないセンサーは、Oracle BAMセンサー・アクションの構成ダイアログ・ボックスからフィルタ処理されます。また、センサーが制限に従って作成された場合でも、変数が削除された場合(センサーが無効になります)、センサーはOracle BAMセンサー・アクションの構成ダイアログ・ボックスに表示されません。

センサーの作成方法の詳細は、第17.2項「Oracle JDeveloperでのセンサーとセンサー・アクションの構成」を参照してください。

50.7.2 Oracle BAMセンサー・アクションの作成方法

Oracle BAMセンサー・アクションを作成するときは、データの取得元のBPEL変数センサーまたはアクティビティ・センサーを選択し、センサー・データをパブリッシュするOracle BAMサーバーのデータ・オブジェクトを選択します。

Oracle BAMセンサー・アクションを作成する手順は、次のとおりです。

  1. Oracle JDeveloperのBPELプロセスに移動します。

  2. 右上にある「BPELデザイナ」メニューから「監視」を選択します。

    「BPELデザイナ」メニュー
    図bam_mon_menu.gifの説明

  3. 「構造」ウィンドウで、「センサー・アクション」を選択して右クリックします。

    構造ペイン
    図bam_sens_struct.gifの説明

    「構造」ウィンドウが開いていない場合は、「表示」「構造ウィンドウ」の順に選択して開きます。

  4. 「作成」「BAMセンサー・アクション」の順に選択します。

    「センサー・アクションの作成」ダイアログ・ボックスが表示されます。

    「センサー・アクションの作成」ダイアログ
    図bp_sensors_bam.gifの説明

  5. 表50-7に記載されている詳細を入力します。

    表50-7 「センサー・アクションの作成」ダイアログ・ボックスのフィールドと値

    フィールド 説明

    アクション名

    センサー・アクションに対する、識別可能な一意の名前を入力します。

    有効化

    センサー・アクションを有効にするには、このオプションを選択します。無効にすると、センサー・アクション・データはOracle BAMに送信されません。

    センサーは、Oracle Enterprise Manager Fusion Middleware Controlを使用して無効にすることもできます。

    センサー

    監視するBPELセンサーを選択します。これは、センサー・データをOracle BAMサーバーのデータ・オブジェクトにマッピングするために、第50.7.1項「センサーの作成方法」で作成したセンサーです。

    データ・オブジェクト

    「参照」アイコンをクリックして「BAMデータ・オブジェクト・チューザ」ダイアログ・ボックスを開き、センサー・データをパブリッシュするOracle BAMサーバーのデータ・オブジェクトを選択します。

    データ・オブジェクトを選択するには、Oracle BAMサーバーへの接続を作成しておく必要があります。そのためには、「BAMデータ・オブジェクト・チューザ」ダイアログ・ボックスの右上隅にあるアイコンをクリックします。

    操作

    Oracle BAMサーバー・データベースの行に対する操作として、「削除」「更新」「挿入」または「アップサート」を選択します。「アップサート」では、最初に行の存在を確認し、存在している場合は更新します。行が存在しない場合は、挿入されます。

    使用可能なキー/選択したキー

    「削除」「更新」または「アップサート」操作を選択した場合は、このセンサー・オブジェクトに一致する行を決定するためのキーとして使用する、Oracle BAMサーバー・データベースの列名も選択する必要があります。キーは1つの列の場合もあり、複数の列で構成されるコンポジット・キーの場合もあります。キーを選択して「>」ボタンをクリックします。すべてを選択するには、「>>」ボタンをクリックします。

    マップ・ファイル

    (「センサー」リストで選択した)センサー・データと(「データ・オブジェクト」リストで選択した)Oracle BAMサーバー・データ・オブジェクト間のマッピングを作成するファイル名を指定します。マッパー・ダイアログ・ボックスは、「マッピングの作成」アイコン(2番目のアイコン)または「マッピングの編集」アイコン(3番目のアイコン)をクリックして起動することもできます。

    フィルタ

    Oracle BAMに送信するセンサー・アクション・データをフィルタ処理するXPath式を入力します。実行時に、フィールドに入力されたXPath式が評価されます。センサー・アクションが起動するにはtrueが返される必要があります。

    フィルタ・ロジックはブール式で入力します。フィルタを使用すると、特定の範囲内のセンサー・データを監視できます。たとえば、融資金額が$100,000を超える融資申請を監視するとします。この場合は、次のような式を入力できます。

    boolean(/s:actionData/s:payload/s:variableData/s:data/autoloan:loanAmount > 100000)
    

    例については、図17-9「フィルタ付きのセンサー・アクションの作成」を参照してください。

    BAMコネクション・ファクトリJNDI

    Oracle BAMサーバーのコネクション・ファクトリのJNDI名を指定します。

    JNDI名は、Oracle WebLogic Server管理コンソール内で構成されます。詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle BAMアダプタの構成に関する項を参照してください。

    有効バッチ

    Oracle BPEL Process ManagerランタイムのOracle BAMコンポーネントによって累積されるデータは、Oracle BAMサーバーに定期的にフラッシュ(送信)されます。自動定義された下限値から上限値までの範囲内のデータ・オブジェクトがキュー内にいくつか存在する場合は、Oracle BAMコンポーネントによって、バッチ・タイムアウト前にデータを送信するかどうかが決定されます。

    バッチ処理が有効な場合、パフォーマンスは大幅に向上しますが、トランザクション保証はありません。BPELプロセスは、データがOracle BAMサーバーに到達するのを待機せずに実行を続行します。

    バッチ処理が無効な場合、BPELプロセスは、Oracle BAMサーバーがレコード操作の完了を確認するまで待機します。ただし、エラーが発生した場合、Oracle BAMサーバーからの例外はログに記録され、BPELプロセスは処理を続行します。BPELでは、Oracle BAMで例外が発生した場合、操作のロールバックまたは停止は行われません。

    バッチ処理の動作に関する詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle BAMのバッチ処理プロパティの構成に関する項を参照してください。



    警告:

    Oracle BPEL Serverを再起動すると、バッチ処理中のメッセージはすべて失われます。すべてのメッセージのバッチ処理が完了してからOracle BPEL Serverを再起動するようにしてください。



    注意:

    「センサー・アクションの作成」ダイアログ・ボックスで、「マッピングの作成」「マッピングの編集」または「OK」ボタンをクリックした後は、BPELファイルを明示的に保存する必要があります。

  6. 「OK」をクリックして「センサー・アクションの作成」ダイアログ・ボックスを閉じます。

    センサー・アクションXMLスキーマをOracle BAMデータ・オブジェクト・スキーマにマップするXSLTを完了する必要があります。

50.8 エンタープライズ・メッセージ・リソースを使用したSOAアプリケーションとOracle BAMの統合

BPEL JMSセンサー・アクションを使用すると、Oracle BAMエンタープライズ・メッセージ・ソースを使用して、SOAコンポジット・アプリケーションからOracle BAMにJMSトピックまたはキューを介してデータを送信できます。

また、SOAコンポジットまたはBPELレベルで汎用JMSアダプタを使用することもでき、エンタープライズ・メッセージ・ソースによってそのデータをOracle BAMに読み込むことができます。

BPEL JMSセンサー・アクションからペイロードを変換するには、XSLを使用する必要があります。XSLの使用など、Oracle BAMエンタープライズ・メッセージ・ソースで高度なXML処理オプションを使用すると、XML内の属性またはノードにアクセスできます。

詳細は、次のドキュメントを参照してください。