Java CAPS ビジネスプロセスの構成

Java CAPS ビジネスプロセスの構成

ここに示すトピックでは、Java CAPS ビジネスプロセス (BP) を構成するためのタスク、概念的な情報、および参照情報へのリンクを提供します。ご質問またはご不明な点がありましたら、Java CAPS の Web サイト http://goldstar.stc.com/support を参照してください。

Sun Business Process Manager (BPM) には、簡単なドラッグ&ドロップの手順を使用して、BP を表すモデルを設計したり構成したりする場合に役立つグラフィカルなエディタが用意されています。次のトピックでは、BP を構成するために必要な背景情報と手順について説明します。

ビジネスプロセスのプロパティーと要素のプロパティーの概要

ビジネスプロセスは 2 つのレベルでプロパティーを定義できます。ビジネスプロセスのプロパティーによって、ビジネスプロセス全体の設定が定義されます。モデリング要素のプロパティーによって、ビジネスプロセス内の特定の要素の設定が定義されます。ビジネスプロセスとモデリング要素の両方の特定のプロパティーは、ビジネスプロセスを作成すると自動的に定義されます。

ビジネスプロセスのプロパティー

ビジネスプロセスには、ビジネスプロセスモデルのコンポーネントや属性を設定できる一連のプロパティーがあります。これらのプロパティーを使用すると、ビジネスプロセス属性をすばやく作成したり削除したりできます。BPM は、この情報を使用して、適切なビジネスプロセス属性や、ビジネスルールデザイナで使用する入力および出力構造を自動的に作成します。「ビジネスプロセスのプロパティー」ウィンドウから、次の種類のプロパティーを編集できます。

モデリング要素のプロパティー

ビジネスプロセス内のほとんどのモデリング要素には、その要素のプロパティーシートから変更できる一連のプロパティーがあります。アクティビティーのパートナーの指定、トランザクションサポートの定義、相関セットのアクティビティーへのバインド、例外の定義、アラートおよびログメッセージの作成、ポートタイプおよびパートナーの指定などを行うことができます。これらのプロパティーシートは、「ビジネスプロセスデザイナ」ツールバーにある「プロパティーシートの表示」ツールを介してアクセスされ、プロパティーは「ビジネスプロセスデザイナ」内のビジネスプロセスの右に表示されます。

ビジネスのプロパティーの設定

特性やコンポーネントの多くは、ビジネスプロセスを構築すると自動的に定義されます。すべてのモデリング要素を配置したら、ビジネスプロセスのプロパティーを表示して、正しく設定されていることを確認してください。

ビジネスプロセスの設定を変更するには、次のいずれかの機能を実行します。

一般プロパティーの設定

「全般」ページは、ビジネスプロセスのプロパティーの編集を開始したときに表示される最初のページです。ビジネスプロセス名の変更、ターゲット名前空間の編集、持続性の状態の選択などを行うことができます。

Procedureビジネスプロセスの一般プロパティーを設定するには

  1. プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。

    「ビジネスプロセスのプロパティー」ウィンドウの「全般」ページが表示されます。

  2. プロパティーの値を入力または選択します。

  3. 「了解」をクリックして変更を保存し、「ビジネスプロセスのプロパティー」ダイアログボックスを終了するか、または別のタブを選択してほかのプロパティーを変更します。

    プロパティー 

    説明 

    ビジネスプロセス名

    ビジネスプロセスの名前。 

    ターゲット名前空間

    ビジネスプロセスの URL。 

    レポート機能の持続性

    ビジネスプロセスの持続性が有効になっているかどうかのインジケータ。複合属性のみを含み、単純属性を含んでいないビジネスプロセスには、レポート機能の持続性を設定できないことに注意してください。

    緩やかな状態

    ビジネスプロセスの実行中にコピーまたは書き込みアクティビティーによって例外がスローされた場合、これらのアクティビティーをスキップするかどうかのインジケータ。このプロパティーは特に、Java CAPS 5.0.3 以前、またはサードパーティーベンダーのビジネスプロセスからインポートされたプロジェクトに適用されます。これらのプロジェクトには、更新されたオプションノード割り当てが含まれていないため、プロセスインスタンスを停止する例外をスローします。指定できる値は次のとおりです。 

    • true - 属性を追加します


       sbynruntime:processLenient="true"
       to the BPEL process tag. This in turn
       causes any copy or write activity that
       throws an exception to be skipped. A 
       false is returned as an evaluation of
       the condition that threw the exception,
       overriding the settings you might have
       set for the switch block with the decision
       gate mapper.
    • false - 属性は追加されません。これがデフォルトのプロパティーです。このプロパティーを設定しない場合は、個々のコピーまたは書き込みアクティビティー上の緩やかなフラグがすべて同じ効果を持ちます。

    ビジネスプロセス全体で XA を有効にする

    アクティビティーレベルではなく、ビジネスプロセス全体のトランザクション機能を有効にします。アクティビティーレベルのトランザクション機能は、アクティビティーのプロパティーシートで有効にすることができます。 

    テーマ

    ビジネスプロセスのテーマ。このテーマによって、キャンバス上で使用されるアイコンを含む、ビジネスプロセスの外観が決定されます。デフォルトのテーマは、BPMNです。別の外観にするには、「カスタム 1」を選択します。

    最大並行インスタンス数

    BPM エンジンで一度に処理できる各ビジネスプロセスのインスタンスの最大数を指定します。エンジンが追加の要求を受信すると、それらの要求は待機状態に置かれます。処理されているいずれかのインスタンスが完了するとすぐに、待機中の要求の 1 つが処理のために取得されます。

    このプロパティーの値が大きいほどメモリーに対する要件が高くなりますが、メモリーに対する要件はビジネスプロセスのタイプにも影響されます。2 つのビジネスプロセスでこのプロパティーの値が同じであると仮定すると、定義されている変数の数が多い方のビジネスプロセスがより多くのメモリーを必要とします。推奨される範囲は 40 から 1000 までです。 

ビジネスプロセス属性の設定

ビジネスプロセス属性 (コンテナとも呼ばれる) は、ビジネスプロセスによって使用されるデータ値です。これらの属性を使用すると、ビジネスプロセス内のアクティビティー間でデータを共有したり、これらのアクティビティーを実装するコンポーネントとの間でデータを移動したりすることができます。たとえば、ビジネスプロセス属性には、顧客の名前、住所、受注量、アイテムの説明などの情報を格納できます。OTD やコラボレーションなどの複雑な構造がプロジェクトエクスプローラに自動的に表現され、ユーザーのビジネスプロセスで使用できるようになります。

ビジネスプロセス属性は、ビジネスプロセスと外部ソースの間で値を渡すために使用されます。また、ビジネスプロセス属性を特定のアクティビティーに割り当てることもできます。たとえば、顧客の名前が元のソースから受注プロセスに渡されます。この顧客の名前は、ビジネスプロセス内の複数のアクティビティーで使用される可能性があり、ビジネスプロセスの出力に含まれます。

BPM は、複雑な構造のすべてまたは一部を渡すことができます。さらには、複数のビジネスプロセス属性からの複合入力を 1 つのコンポーネントまたは Web サービスに組み立てることもできます。

新しいビジネスプロセス属性の作成

ビジネスプロセスの属性は、そのプロセスにコンポーネントを追加すると自動的に作成されます。ビジネスプロセスで使用する追加の属性を作成できます。

Procedure新しいビジネスプロセス属性を作成するには

  1. プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。

  2. 「ビジネスプロセス属性」タブをクリックします。

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

    「新規ビジネスプロセス属性」ダイアログボックスが表示されます。

  4. 各フィールドに情報を入力します。

  5. 「追加」をクリックします。

  6. 「閉じる」をクリックして「ビジネスプロセスのプロパティー」ダイアログボックスに戻ります。

    フィールド 

    説明 

    名前

    属性の名前。 

    名前空間

    属性の名前空間 (使用可能な名前空間のリストから値を選択)。 

    タイプ

    追加する属性のタイプ (使用可能なタイプのリストから値を選択)。 

ビジネスプロセス属性の編集

ビジネスプロセス属性を追加するか、またはビジネスプロセス属性が自動的に追加されたあとは、その属性を変更することができます。属性の名前のみを変更する場合は、残りのビジネスプロセスがその変更を反映して更新されるように指定できます。

Procedureビジネスプロセス属性を編集するには

  1. プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。

  2. 「ビジネスプロセス属性」タブをクリックします。

  3. 既存の属性を選択し、「編集」をクリックします。

  4. 各フィールド内の情報を変更します。

  5. フィールド値の変更を完了したら、「了解」をクリックします。

  6. 属性名を変更した場合は、「リファクタリングの確認」ダイアログが表示されます。次のいずれかの操作を行います。

  7. 名前の変更をビジネスプロセス全体にわたって更新するには、「はい、リファクタリングを実行します。」をクリックします。

  8. 属性の名前のみを変更するには、「いいえ、名前のみを変更します。」をクリックします。


    注 –

    このメッセージが今後表示されないようにするには、「今後、この警告を表示しない。」を選択します。前述の手順で選択したオプションが常に、デフォルトオプションになります。


  9. 「プロパティー」ウィンドウで、「了解」をクリックします。

ビジネスプロセス属性の削除

ビジネスプロセス属性を追加するか、またはビジネスプロセス属性が自動的に追加されたあとは、その属性を削除することができます。使用されているビジネスプロセス属性を削除することはできません。使用されていない属性によって検証の警告が発生する場合がありますが、通常、それによりビジネスプロセスの実行が停止されることはありません。

Procedureビジネスプロセス属性を削除するには

  1. プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。

  2. 「ビジネスプロセス属性」タブをクリックします。

  3. 既存の属性をクリックし、「削除」をクリックします。

  4. 次のいずれかの操作を行います。

    • 「了解」をクリックして変更を保存し、「ビジネスプロセスのプロパティー」ダイアログボックスを終了します。

    • 属性を誤って削除した場合は、「取消し」をクリックします。

パートナーの設定

パートナーとは、接続マップ内でビジネスプロセスにリンクされた外部システムの抽象化された ID のことです。複数のアクティビティーが同じ外部システムを使用できます。つまり、複数のアクティビティーが同じパートナーを持つことができます。デフォルトでは、モデルの開発を高速化および自動化するために BPM によってこの ID が割り当てられます。

Web サービス、JMS メッセージ、またはコネクタ (例 : eWays) などの複数のコンポーネントを呼び出す場合は、これらのコンポーネントの一意のパートナー名を作成する必要があります。その後、接続マップを作成するときに、複数のコンポーネントに対してパートナーが 1 つだけ存在するのではなく、各コンポーネントに対して一意のパートナーが存在します。これにより、これらのコンポーネントを正常に配備プロファイルで関連付け、プロジェクトを配備できるようになります。

サブプロセスとして使用されるビジネスプロセスを作成する場合は、パートナーを作成し、それを受信または受信と返信のペアに関連付ける必要があります。

新しいパートナーの作成

一部のパートナーは自動的に作成されますが、必要に応じて、ビジネスプロセスで使用するための新しいパートナーを追加できます。パートナーは、ビジネスプロセス内のアクティビティーに関連付けられます。パートナーを作成したら、「パートナーのアクティビティーへの関連付け」の説明に従って、そのパートナーをアクティビティーに関連付けます。

Procedureパートナーを作成するには

  1. プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。

  2. 「パートナー」タブをクリックします。

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

    パートナーがパートナーリストに追加されます。

  4. パートナーの名前を変更するには、パートナー名をダブルクリックします。

  5. 「了解」をクリックします。

パートナーの編集

ビジネスプロセスパートナーを追加するか、またはビジネスプロセスパートナーが自動的に追加されたあとは、そのパートナー名を変更することができます。パートナーの名前を変更する場合は、残りのビジネスプロセスがその変更を反映して更新されるように指定できます。

Procedureパートナーを編集するには

  1. プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。

  2. 「パートナー」タブをクリックします。

  3. 変更するパートナーの名前をダブルクリックし、新しい名前を入力して、Enter キーを押します。

  4. 「了解」をクリックします。

    「リファクタリングの確認」ダイアログが表示されます。

  5. 次のいずれかの操作を行います。

    • 名前の変更をビジネスプロセス全体にわたって更新するには、「はい、リファクタリングを実行します。」をクリックします。

    • パートナーの名前のみを変更するには、「いいえ、名前のみを変更します。」をクリックします。


      注 –

      このメッセージが今後表示されないようにするには、「今後、この警告を表示しない。」を選択します。前述の手順で選択したオプションが常に、デフォルトオプションになります。


パートナーの削除

ビジネスプロセス内の定義済みのパートナーを使用していない場合は、そのパートナーを削除することができます。使用されていないパートナーを保持していると検証の警告が表示される場合がありますが、通常、それによりビジネスプロセスの実行が妨げられることはありません。使用されていないパートナーのみを削除できます。

Procedureパートナーを削除するには

  1. プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。

  2. 「パートナー」タブをクリックします。

  3. 削除するパートナー名をクリックします。

  4. 「削除」をクリックします。

    パートナーがパートナーリストから削除されます。

パートナーのアクティビティーへの関連付け

パートナーを作成すると、アクティビティーのプロパティーシートを使用して、そのパートナーをビジネスプロセス内のアクティビティーに関連付けることができます。サブプロセス内の受信および返信アクティビティーに対しては、パートナーを作成および選択する必要があります。

Procedureパートナーをアクティビティーに関連付けるには

  1. ビジネスプロセスデザイナで、ビジネスプロセス内のアクティビティーを選択します。

  2. 「ビジネスプロセスデザイナ」ツールバーで、「プロパティーシートの表示」をクリックします。

    そのアクティビティーのプロパティーシートが表示されます。

  3. 「パートナー」フィールドをクリックし、ドロップダウンリストからパートナーを選択します。

  4. 「プロパティーシートの非表示」をクリックします。

メッセージの相関の定義

BPM には、既存のビジネスプロセスインスタンスを、ビジネスプロセスに着信するメッセージと照合するための方法が用意されています。相関キーとは、着信メッセージと BPM エンジンの両方に含まれている個々のデータ値のことです。着信メッセージに設定済みの相関キーに一致する値が含まれている場合、その値に関連付けられた一意のビジネスプロセスインスタンスは、処理を続行してビジネスプロセスの次のステップに進みます。メッセージの相関を定義するために、次のタスクを実行できます。

メッセージの相関の使用例については、「メッセージの相関によるリンクと順序付け」を参照してください。

相関キーの作成

相関キーは、購買発注番号などのビジネスプロセスで定義できる値であり、特定のビジネスプロセスインスタンスに関する情報を関連付けて配信するための方法を提供します。コンポーネント間の非同期メッセージ交換の場合は、インスタンス ID の相関を実装する必要があります。非同期メッセージ交換を使用する場合の例として、ビジネスプロセスの中間で受信アクティビティーを作成する場合があります。

Procedure相関キーを作成するには

  1. プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。

  2. 「相関」タブをクリックします。

  3. 「相関キー」セクションで、「作成」をクリックします。

    「新規相関キー」ダイアログボックスが表示されます。

  4. 「名前」フィールドに、相関キーの名前またはエイリアスを入力します。

  5. 「ツリーから選択」フィールドで、このエイリアスに追加するメッセージタイプをリストから選択します。ビジネスプロセス内のステップのための一意の識別子を構成する 1 つ以上の相関キーを選択します。

  6. 「追加」をクリックして、新しいエイリアスを「選択したエイリアスリスト」に保存します。


    注 –

    「タイプ」フィールドの値は自動的に入力されます。


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

相関キーの編集

相関キーを作成するか、または相関キーが自動的に作成されたあとは、メッセージタイプを追加または削除することによってそのキーを変更することができます。

Procedure相関キーを編集するには

  1. プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。

  2. 「相関」タブをクリックします。

  3. 「相関キー」セクションで、変更するキーをクリックし、「編集」をクリックします。

  4. 次のいずれかの操作を行います。

    • 「ツリーから選択」フィールドで、このエイリアスに追加するメッセージタイプをリストから選択し、「追加」をクリックします。

    • 「選択したエイリアスリスト」で、削除するメッセージタイプを選択し、「消去」をクリックします。

  5. 「了解」をクリックします。

相関キーの削除

相関キーを作成するか、または相関キーが自動的に作成されたあとは、すでに使用されなくなったキーを削除することができます。一部の相関キーは削除できません。

Procedure相関キーを削除するには

  1. プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。

  2. 「相関」タブをクリックします。

  3. 「相関キー」セクションで、削除するキーを選択し、「削除」をクリックします。

  4. 「了解」をクリックします。

相関セットの追加

相関セットとは、プロパティー (相関キー) のグループのことであり、そのグループ内のすべてのメッセージで共有されます。相関セットでは、メッセージやビジネスプロセスインスタンスとの会話が照合されます。たとえば、購入と支払いに関するすべての情報が関連付けられるように、トランザクションに購買発注番号と請求書番号を割り当てることができます。


注 –

相関セットに名前を付ける場合は、一意の名前を使用してください。相関セット名が重複していると、監視および復旧データベースのインデックス作成で問題が発生します。一意性を保証するために、相関セット名にビジネスプロセス名を含めることを考慮してください。


Procedure相関セットを追加するには

  1. 「相関」タブをクリックします。

  2. 「相関セット」セクションで、「作成」をクリックします。

    「新規相関セット」ダイアログボックスが表示されます。

  3. 「名前」フィールドで、新しい相関セットの名前を入力します。

  4. 「リストから選択」ボックスで、相関セットに追加する相関キーを選択します。複数のキーを選択するには、Ctrl キーを使用します。

  5. 右矢印ボタンをクリックして、選択項目を相関セットに移動します。

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

相関セットの編集

相関セットを作成するか、または相関セットが自動的に作成されたあとは、相関キーを追加または削除することによってその相関セットを変更することができます。

Procedure相関セットを編集するには

  1. プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。

  2. 「相関」タブをクリックします。

  3. 「相関セット」セクションで、変更する相関セットをクリックし、「編集」をクリックします。

    「相関セットの編集」ダイアログボックスが表示されます。

  4. 次のいずれかの操作を行います。

    • 「リストから選択」で、追加するキーを選択し、「追加」をクリックします。

    • 「相関セット用に選択したキー」リストで、削除するキーを選択し、「消去」をクリックします。

  5. 「了解」をクリックします。

相関セットの削除

相関セットを作成するか、または相関セットが自動的に作成されたあとは、すでに使用されなくなったセットを削除することができます。一部の相関セットは削除できません。

Procedure相関セットを削除するには

  1. プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。

  2. 「相関」タブをクリックします。

  3. 「相関セット」セクションで、削除するセットを選択し、「削除」をクリックします。

  4. 「了解」をクリックします。

相関セットの受信アクティビティーへのバインド

ビジネスプロセス内で 1 つ以上の相関セットを使用する場合は、これらのセットを受信アクティビティーにバインドし、さらに使用する前にこれらのセットを初期化する必要があります。これにより、使用される前に相関セットがメモリー内に作成されることが保証されます。

アクティビティー内のセットを初期化することを選択した場合は、両方のビジネスプロセス属性を使用することを選択するか、または使用するビジネスプロセス属性を指定する必要があります。

Procedure相関セットをアクティビティーにバインドするには

  1. ビジネスプロセスデザイナで、アクティビティーを選択します。

  2. 「ビジネスプロセスデザイナ」ツールバーで、「プロパティーシートの表示」をクリックします。

  3. 「相関の使用」フィールドをクリックし、省略記号 (...) をクリックします。

    「相関の使用」ダイアログボックスが表示されます。

  4. 「追加」をクリックします。

    「相関セットの割り当て」ダイアログボックスが表示されます。

  5. 「リストから選択」パネルで、アクティビティーにバインドする相関セットの名前を選択し、「追加」をクリックします。

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

  7. 「相関の使用」ダイアログボックスで、「了解」をクリックします。

メッセージの相関によるリンクと順序付け

リンクと順序付け

一連のメッセージに対して条件を課したり、メッセージのグループをまとめて処理したり、特定のタイプのすべてのメッセージを受信確認の有無に従って決定を行ったりすることができます。BPM のリンクと順序付けの機能を使用することにより、メッセージを別々のコンテナにソートし、個々のメッセージではなくメッセージのコンテナに対してビジネスルールを実行することができます。コンテナのリンク識別子 (相関 ID) によって、コンテナが区別され、識別されたメッセージがそのコンテナにリンクされます。

BPM は、メッセージを取得すると、受信したメッセージとビジネスプロセスインスタンスの相関を取ります。BPM によって相関の一致が検出された場合は、メッセージが、そのビジネスプロセスのコンテナに格納されます。それ以外の場合は、新しいビジネスプロセスインスタンスがインスタンス化されます。

たとえば、ビジネスプロセスが、継続ポインタによって分割された HL7 メッセージを処理するとします。このビジネスプロセスには、この状態を検出し、HL7 メッセージが完全に組み立て直されるまでそのメッセージの処理を遅延させるロジックが含まれています。このコンテナは、同じ継続ポインタのすべての HL7 メッセージが受信されると、「完全」とみなされます。

相関の例

この例では、ビジネスプロセスが、学生に以降の学習を許可するために 3 つのコース成績を受信することを予期しています。これらのコースは、数学、英語、およびコンピューター科学です。各メッセージには、コース成績、コースタイプ、およびメッセージの所属先を示す相関 ID が含まれています。

相関 ID である 101 を含む新しいメッセージが着信します。最初に、新しく到着したメッセージに関して一致が存在するかどうかを確認するために、BPM はこのメッセージの相関を取ります。これは最初のメッセージであるため、一致は検出されず、新しいインスタンスが作成されます。2 番目のメッセージには相関 ID である 101 が含まれています。BPM がこのメッセージの相関を取り、一致が検出されるため、このメッセージは最初のメッセージと同じビジネスインスタンスに転送されます。3 番目のメッセージには相関 ID である 102 が含まれています。相関の一致が存在しないため、このメッセージは新しいビジネスインスタンスに転送されます。この処理が、各コースタイプの成績が受信されるまで続きます。

このプロセスは、カウントまたは有効期限に基づいて設定された条件に応じて続行されます。メッセージの相関に関するビジネスプロセスのサンプルを次に示します。メインのビジネスプロセスは、File eWay を使用して DTD ベースのメッセージを読み取り、このメッセージをアンマーシャルしたあと、サブプロセスを呼び出してこのアンマーシャルされたメッセージを渡します。

このサブプロセスは、イベントベースの決定と while ループ内のタイマーイベントを使用して、アンマーシャルされたメッセージを受信します。while ループは、指定されたカウントに達するか、または期限切れになるまで続行されます。メッセージが受信されると、それらのメッセージは、要件が満たされるまでコンテナに格納されます。

タイマーイベントによって有効期限が設定されます。期限切れになった場合は、ループ条件が false に設定されてループが終了します。メッセージが受信された場合は、メッセージカウンタが増分され、メッセージの最大数が受信された場合は、ループが終了します。処理が完了すると、日付がファイルに書き込まれます。

WSDL ファイルの表示

WSDL (Web Services Description Language) は、ビジネスサービスを記述するために使用される XML ベースの言語です。WSDL では、個人やほかの企業がこれらのサービスに電子的にアクセスするための方法が提供されます。WSDL ファイルは、Web サービスを呼び出して操作するために使用されます。インターネット上の Web サービスに使用したり、リモートのアプリケーションおよびデータベースへのアクセスや呼び出しに使用したりできます。

WSDL ページでは、ビジネスプロセスで使用される定義済みのビジネスプロセス属性を表す、ロードされているすべての WSDL ファイルのリストが提供されます。トラブルシューティングのために、WSDL ページでは、すべての未解決のターゲット名前空間のリストのほか、ロードされているすべての WSDL ファイルへの表示アクセスも提供されます。

ProcedureWSDL ファイルを表示するには

  1. プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。

  2. 「WSDL」タブをクリックします。

  3. リストから WSDL ファイルを選択し、「表示」をクリックします。

    WSDL ビューアが表示されます。


    注 –

    WSDL ビューアから、WSDL コードをテキストファイルにコピー&ペースト編集できます。WSDL ビューアでコードを編集することはできません。


グリッドプロパティーの設定

「グリッド」ページは、ビジネスプロセスデザイナのためのフォーマット属性のコレクションを提供します。グリッドによって、視覚的なガイドまたは自動整列機能が提供されるため、ビジネスプロセスのコンポーネントを整列させるのに役立ちます。グリッドプロパティーには、ビジネスプロセスデザイナのキャンバス内部を右クリックすることによってもアクセスできます。

Procedureグリッドプロパティーを編集するには

  1. プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。

  2. 「グリッド」タブをクリックします。

  3. プロパティーの値を入力または選択します。

  4. 「了解」をクリックします。

    プロパティー 

    説明 

    グリッド幅

    縦線の間隔 (ピクセル単位)。 

    グリッド高さ

    水平線の間隔 (ピクセル単位)。 

    グリッドの色

    グリッド線の色を選択するための、次の 3 つのタブを含むダイアログボックスを表示します。 

    • スウォッチ - 選択元の色の配列。

    • HSB - 色相、彩度、および明度に基づく色セレクタ。

    • RGB - 赤、緑、および青の 256 の明度レベルに基づく色セレクタ。

    グリッドの太さ

    グリッド線の太さ。「細」、「中」、または「太」を選択できます。 

    グリッド形式

    グリッド線の形式。「実線」、「破線」、または「点線」を選択できます。 

    グリッドの表示

    グリッド線の表示/非表示を切り替えます。グリッド線を表示するには、このチェックボックスを選択します。 

    グリッドにスナップ

    「グリッドにスナップ」をアクティブ化または非アクティブ化します。この設定がアクティブ化されていると、オブジェクトは、もっとも近いグリッド線に強制的に引き寄せられます。 

モデリング要素のプロパティーの設定

モデリング要素のプロパティーの多くは、ビジネスプロセスを構築すると自動的に定義されます。すべてのモデリング要素を配置したら、それらの要素のプロパティーシートを表示して、正しく設定されていることを確認してください。プロパティーシートは、「ビジネスプロセスデザイナ」ツールバーにある「プロパティーシートの表示」ツールを介してアクセスされ、プロパティーはビジネスプロセスの右に表示されます。

表 1 は、プロパティーシートに表示されるすべてのプロパティーの一覧とその説明を示していますが、これらのプロパティーの組み合わせは要素の型によって異なります。特定の要素では表示されないプロパティーや、特定の要素では読み取り専用であるプロパティーがあり、またすべてのプロパティーが必要なわけではありません。

表 1 アクティビティーとリンクのプロパティー

プロパティー 

説明 

名前

選択されている要素の名前。 

プロパティー

決定要素の場合のみ、決定アクティビティーのロジックを表示したり変更したりできる「決定ゲートのプロパティー」ダイアログボックスを開きます。

タイムアウト

待機アクティビティーの場合のみ、最終期限または期間に基づいてタイムアウト期間を設定できる「タイムアウト」ダイアログボックスを開きます。

優先順位

ユーザーアクティビティーの場合のみ、そのアクティビティーの優先順位。 

タスクタイプ

ユーザーアクティビティーの場合のみ、タスクのタイプ。アクティビティーの名前を変更すると、この値はそれに一致するように自動的に更新されます。

式の評価に失敗した場合

while 要素の場合のみ、while ループが失敗した場合に実行するアクション。例外をスローする、ブール値 true を返す、またはブール値 false を返すことを指定できます。

範囲

補正要素の場合のみ、その補正要素が関連付けられている範囲の名前。

パートナー

アクティビティーに関連付けられるパートナーの名前。

ポートタイプ

指定されたパートナーのポートタイプの名前。このフィールドは、一部のアクティビティーでは無効になっています。

処理

ポートタイプに関連付けられた処理のタイプ。このフィールドは、一部のアクティビティーでは無効になっています。 

例外名

要素に対してスローする例外の名前。例外名のリストから選択できます (ビジネスプロセスに対して例外が事前に定義されている必要があります)。 

入力

アクティビティーの入力を含む属性の名前。

出力

アクティビティーの出力を含む属性の名前。 

インスタンスの作成

受信アクティビティーおよびイベントベースの決定の場合のみ、アクティビティーの新しいインスタンスを作成するかどうかのインジケータ。

相関の使用

アクティビティーに対して相関セットを使用するかどうかのインジケータ。このプロパティーのダイアログボックスを使用して、相関セットをアクティビティーにバインドします (詳細については、「メッセージの相関の定義」を参照)。

トランザクションサポート

アクティビティーがトランザクション (XA) のサポート用に定義されているかどうかと、その定義方法を示すインジケータ。次のいずれかのオプションを選択します。

  • 参加する - このアクティビティーは、XA サポート用に設定されたビジネスプロセスの一部であり、それ自体も XA サポート用に設定されています。このオプションは、呼び出しアクティビティーにのみ使用します。

  • XA - このアクティビティーは、XA サポート用に設定されていないビジネスプロセス内で XA サポート用に設定されています。このオプションは、受信および呼び出しアクティビティーとメッセージベースのイベントに使用します。

    XA トランザクションがサポートされていない場合は、このプロパティーを空白のままにします。詳細については、「XA トランザクション用のビジネスプロセスの設定」を参照してください。

値渡し

アクティビティーの属性が値で渡されるか、参照で渡されるかのインジケータ。 

アラートのプロパティー

モデリング要素の特定のアラートを定義できる「アラートの指定」ダイアログボックスにアクセスします。詳細については、「モデリング要素へのアラートの追加」を参照してください。

ロガーのプロパティー

モデリング要素の特定のロガーメッセージを定義できる「ログメッセージの指定」ダイアログボックスを開きます。詳細については、「モデリング要素へのロガーメッセージの追加」を参照してください。

要素へのログおよびアラートの追加

ビジネスプロセスのモデリング要素から、カスタムのログおよびアラートエントリを開始できます。あとで、これらのエントリを Enterprise Manager のビジネスプロセスのログページおよびアラートページに表示できます。

モデリング要素へのアラートの追加

Java CAPS では、ビジネスプロセスの要素からアラートエントリを開始できます。定義できるアラートの種類には、重要度の高いものから、重度、中度、軽度、警告、および情報があります。アラートノードはブール値のデータ型を取りますが、マッピングを定義するときにデータ型が自動的に変換されるように指定できます。

Procedureモデリング要素にアラートを追加するには

  1. アラートエントリを追加する要素を含むビジネスプロセスを開きます。

  2. ビジネスプロセスデザイナで、要素を選択します。

  3. 「ビジネスプロセスデザイナ」ツールバーで、「プロパティーシート」をクリックします。

    要素のプロパティーが、ビジネスプロセスの右に表示されます。

  4. 「アラートのプロパティー」フィールドをクリックし、省略記号 (...) をクリックします。

    「アラートの指定」ダイアログボックスが表示されます。

  5. 使用可能な方法を使用して、アラートを定義します。

  6. アラートの定義を完了したら、「了解」をクリックします。

モデリング要素へのロガーメッセージの追加

Java CAPS では、ビジネスプロセスの要素からログエントリを開始できます。致命的、エラー、警告、情報、デバッグのいずれかの log4j ログレベルを指定できます。Enterprise Manager でログエントリを表示すると、これらのログレベルは対応する JDK ログレベルに変換されます。表 2は、重要度の高いものからログレベルのマッピングを示しています。

表 2 log4j から Java へのログレベルのマッピング

log4j ログレベル

JDK ログレベル

致命的

SEVERE

エラー

SEVERE

警告

WARNING

情報

INFO

デバッグ

FINE

ロガーレベルノードはブール値のデータ型を取りますが、マッピングを定義するときにデータ型が自動的に変換されるように指定できます。

Procedureモデリング要素にロガーメッセージを追加するには

  1. ロガーエントリを追加する要素を含むビジネスプロセスを開きます。

  2. ビジネスプロセスデザイナで、要素を選択します。

  3. 「ビジネスプロセスデザイナ」ツールバーで、「プロパティーシート」をクリックします。

    要素のプロパティーが、ビジネスプロセスの右に表示されます。

  4. 「ログのプロパティー」フィールドをクリックし、省略記号 (...) をクリックします。

    「ログメッセージの指定」ダイアログボックスが表示されます。

  5. 使用可能な方法を使用して、ログメッセージを定義します。

  6. ログメッセージの定義を完了したら、「了解」をクリックします。

XA トランザクション用のビジネスプロセスの設定

分散トランザクション処理 (DTP) (一般には XA と呼ばれる) は、短時間および長時間分散トランザクション中の複数のトランザクションシステムコンポーネントのセキュリティー保護を維持するために提案された W3C 標準です。これにより、分散トランザクションの完全性が保証されます。

XA トランザクションは、短時間長時間という 2 つの幅広いカテゴリに分類されます。短時間 XA トランザクションは、長時間トランザクションより単純で、迅速、かつ必要なシステムリソースも少なくなりますが、トランザクション全体を通して ACID (Atomic, Consistent, Isolated, and Durable) にとどまります。長時間 XA トランザクションは一般に、より複雑性で分散性が高く、より長時間実行されます。BPM では、短時間 XA は一般に、ビジネスプロセス全体に適用され (ビジネスプロセス全体の XA)、長時間 XA は一般に、個々のビジネスプロセスアクティビティーに適用されます (アクティビティーレベルの XA)。

ここでは、BPM を使用してビジネスプロセス全体の XA およびアクティビティーレベルの XA に対する XA サポートを有効にするための詳細と手順について説明します。XA の使用の開始に関する詳細については、http://www.w3.org を参照してください。

ビジネスプロセス全体での XA サポートの有効化

ビジネスプロセスのビジネスプロセス全体の XA は、「ビジネスプロセスのプロパティー」ダイアログボックスの「全般」ページから設定されます。ビジネスプロセス全体の XA を有効にするための手順を次に示します。

Procedureビジネスプロセス全体で XA トランザクションを有効にするには

  1. プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。

    「ビジネスプロセスのプロパティー」ウィンドウの「全般」ページが表示されます。

  2. 「ビジネスプロセス全体で XA を有効にする」ドロップダウンリストで、「はい」をクリックします。

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

  4. 「ビジネスプロセスデザイナ」ツールバーで、「プロパティーシートの表示」をクリックします。

  5. ビジネスプロセスデザイナで、呼び出しアクティビティーをクリックします。

  6. プロパティーシートの「トランザクションサポート」プロパティーで、「参加する」を選択します。

  7. ビジネスプロセス内のほかのすべての呼び出しアクティビティーに対して、手順 5 と 6 を繰り返します。


    注 –

    プロジェクト内のほかのビジネスプロセスに対して持続性を使用する必要がない場合は、ビジネスプロセス全体で XA を有効にする必要はありません。


個々のアクティビティーの XA サポートの有効化

BPM では、ビジネスプロセスのアクティビティーレベルの XA を有効にすることができます。これは、任意の受信アクティビティー、呼び出しアクティビティー、または選択アクティビティー (OnMessage) のプロパティーシートで処理されます。アクティビティーレベルの XA を有効にするための手順を次に示します。


注 –

アクティビティーレベルの XA を有効にするには、持続性を使用してビジネスプロセスを配備する必要があります。


Procedure個々のアクティビティーの XA トランザクションを有効にするには

  1. 「ビジネスプロセスデザイナ」ツールバーで、「プロパティーシートの表示」をクリックします。

  2. 受信アクティビティー、呼び出しアクティビティー、または選択アクティビティー (OnMessage) を選択します。

  3. プロパティーシートの「トランザクションサポート」プロパティーで、「XA」を選択します。

  4. XA を有効にする各アクティビティーに対して、手順 2 と 3 を繰り返します。

ビジネスプロセスデータのレポート機能の持続化

BPM エンジンに持続性が設定されている場合は、そのエンジン上で実行されているすべてのビジネスプロセスに関する一般情報がデータベースに格納されます。ビジネスプロセスにレポート機能の持続性を設定することによって、そのビジネスプロセスに関する追加情報を格納したり監視したりできます。各ビジネスプロセスに対して、個別にレポート機能の持続性を設定する必要があります。詳細情報は、レポート機能の持続性が設定されているプロセスについてのみ格納されます。この情報には、Enterprise Manager からアクセスできます。

ビジネスプロセスにレポート機能の持続性を設定すると、そのビジネスプロセスに対して 1 つのデータベーステーブルを作成するデータベーススクリプトが生成されます。このテーブルは、単純な型 (文字列や整数など) を持つ WSD オブジェクトの属性からのデータで生成されます。複合属性に対応するデータは持続されないため、ビジネスプロセスに持続性を設定するには、そのビジネスプロセスに少なくとも 1 つの単純属性が含まれている必要があります。

ビジネスプロセスを作成したあと、レポート機能の持続性を有効にする各ビジネスプロセスに対して次の手順を実行します。

また、ビジネスプロセス用に作成されたデータベースコンポーネントをアンインストールするためのスクリプトも自動的に提供されます。

レポート機能の持続性のためのビジネスプロセスの設定

ビジネスプロセスに対するレポート機能の持続性は、ビジネスプロセスのプロパティーで設定されます。

Procedureビジネスプロセスにレポート機能の持続性を設定するには

  1. NetBeans のプロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。

  2. 「ビジネスプロセスのプロパティー」ウィンドウの「全般」ページで、「レポート機能の持続性」オプションに対して「はい」を選択します。

  3. レポート機能の持続性を設定する各ビジネスプロセスに対して、前述の手順を繰り返します。

  4. 「すべて保存」を選択します。

    ビジネスプロセスの下に、「データベーススクリプト」という名前のフォルダが表示されます。

データベース接続情報の設定

スクリプトを実行するためにデータベースに接続するには、スクリプトのデータベース接続情報を指定する必要があります。

Procedureデータベース接続情報を設定するには

  1. ビジネスプロセスの下にある「データベーススクリプト」フォルダを右クリックし、「プロパティー」をクリックします。

  2. 各プロパティーを入力します。

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

    プロパティー

    説明 

    データベースタイプ

    使用しているデータベースのベンダーとバージョン。 

    JDBC URL

    データベースに接続するための URL。次のいずれかを入力します。 

    • Oracle の場合: jdbc:SeeBeyond:oracle://<host>:<port>;SID=<SID>

    • Sybase の場合: jdbc:SeeBeyond:sybase://<host>:<port>

    • SQL Server の場合: jdbc:SeeBeyond:sqlserver://<host>:<port>;DatabaseName= <dbname>

    • DB2 の場合: jdbc:SeeBeyond:db2://<host>:<port>;DatabaseName=<SID>;collectionId=JDBCPKG;packageName=JDBCPKG;embedded=true;createDefaultPackage=FALSE

      ここで、<host> はデータベースが存在するマシン、<port> はデータベースが待機するポート番号、<SID> および <dbname> はデータベースの名前です。

    ユーザー

    監視および復旧データベーススクリプトで作成されるユーザーのログイン ID。ユーザー名は、プロジェクトエクスプローラの「CAPS コンポーネントライブラリ」>「Sun Business Process Manager」>「データベーススクリプトの実行」>「データベーススクリプト」にあるスクリプト内で参照できます。

    パスワード

    監視および復旧データベーススクリプトで作成されるユーザーのパスワード。 

ビジネスプロセスデータベーステーブルの作成

データベース接続情報を設定すると、データベーススクリプトを実行できます。この手順によって、ビジネスプロセスのレポートに必要なテーブルが作成されます。作成されるテーブルの名前は各ビジネスプロセスに一意であり、ビジネスプロセス名の最初の数文字で始まり、一連の数字とバージョン番号が続きます。


注 –

この手順を実行する前に、監視および復旧データベースが作成され、実行されている必要があります。情報がビジネスプロセステーブルに格納されるためには、BPM エンジンに持続性が設定されている必要があります。このどちらの手順も、この章の前半で説明されています。


Procedureビジネスプロセスデータベーステーブルを作成するには

  1. プロジェクトエクスプローラで、ビジネスプロセスを展開します。

  2. 「データベーススクリプト」フォルダを展開します。

  3. 「データベーススクリプト」フォルダから、データベースのベンダーに適したデータベースインストールファイルを右クリックし、「実行」をクリックします。

ビジネスプロセスデータベーステーブルの削除

BPM には、ビジネスプロセスデータベースのインストールスクリプトで作成されたデータベーステーブルをアンインストールするための簡単な方法が用意されています。

Procedureビジネスプロセスデータベーステーブルを削除するには

  1. プロジェクトエクスプローラで、ビジネスプロセスを展開します。

  2. 「データベーススクリプト」フォルダを展開します。

  3. 適切なアンインストールスクリプトを右クリックし、「実行」をクリックします。

OCI ドライバ用の BPM の設定

監視および復旧データベースとして Oracle を使用している場合は、Oracle の Type 2 ドライバである OCI (Oracle Call Interface) ドライバを使用できます。これには、追加の手順がいくつか必要になります。BPM は通常、DataDirect® ドライバを使用して、データベース接続を確立したり、データベースサーバーと通信したりします。ここでは、OCI ドライバ用に BPM を有効にして設定するための要件および手順について説明します。

OCI ドライバは、監視および復旧データベースとの組み合わせでのみ機能します。ワークリストマネージャーは、DataDirect ドライバのみを使用します。

Oracle OCI ドライバのシステム要件

Oracle OCI ドライバは、データベースとの通信のために使用されている広範囲のネイティブコードのために、シックドライバとも呼ばれます。OCI は C で記述されており、その Java 呼び出しはすべて、JNI を使用して呼び出しを C レイヤーに転送します。この C レイヤーがデータベースと通信して、結果を Java レイヤーに返します。

Java 呼び出しを C 呼び出しにマップするためのライブラリは、Oracle クライアントのインストールとともにインストールされます。OCI を使用して監視および復旧の持続性を有効にするには、Oracle クライアントソフトウェアをインストールする必要があります。

開始する前に

OCI ドライバを設定する前に、次の確認を行う必要があります。

OCI ドライバの実装

OCI ドライバを実装するには、次のタスクを実行する必要があります。

OCI ドライバライブラリファイルのコピー

BPM で OCI ドライバを使用するには、ライブラリファイルが論理ホストのライブラリディレクトリに存在する必要があります。

ProcedureOCI ドライバライブラリファイルをコピーするには

  1. 論理ホストが存在するシステムに Oracle クライアントをインストールします。

  2. tnsnames.ora で監視および復旧データベースを定義します。

  3. ojdbc14.jar (JDK 1.4 以降の場合) または classes12.jar (JDK 1.2 および 1.3 の場合) を、Oracle クライアントインストール内の /jdbc/lib サブディレクトリから、論理ホストのドメイン固有のディレクトリ内の /lib サブディレクトリにコピーします。次に例を示します。

    oracle_home\jdbc\lib から

    logical_host\is\domains\domain1\lib にコピー


    
    

    注 –

    Oracle インストールのファイルの場所は、使用する Oracle のバージョンにもよりますし、クライアントまたはサーバーのいずれでインストールされているかによっても異なります。


  4. ドライバクラスをロードするために、論理ホストのインスタンスを再起動します。

環境の設定

BPM エンジンで OCI ドライバを有効にするには、次の環境変数を設定します。


注 –

oracle_home は、Oracle クライアントまたはデータベースがインストールされているディレクトリを指します。例:C:\oracle\ora92、または /home/oracle/orahome 。このフォルダには、bin、network、jdbc、jlib、lib などのサブフォルダが含まれています。


Windows オペレーティングシステムの場合:

Linux および Unix オペレーティングシステムの場合 (HPUX と AIX を除く):

HP-UX の場合:

AIX の場合:

Oracle OCI ドライバを使用するための BPM エンジンの設定

デフォルトのシンドライバの代わりに OCI ドライバを使用するように BPM エンジンを設定する必要があります。これは、環境エクスプローラにあるインテグレーションサーバーのプロパティーシートで設定されます。

ProcedureOracle OCI ドライバを使用するようにエンジンを設定するには

  1. 環境エクスプローラで、インテグレーションサーバーまたはアプリケーションサーバーを右クリックし、「プロパティー」をクリックします。

  2. 「BPM エンジンの設定」をクリックします。

  3. 「プロパティー」ダイアログボックスで、「Oracle Net Service 名」フィールドにサービス名を入力します。

    入力する値は、tnsnames.ora ファイル (<oracle_home>/network/admin にある) で設定されている TNS 名です。次の例は、Oracle Net Service 名が ORCL.STC.COM である、標準的な TNS 名の設定を示しています。


    ORCL.STC.COM =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = MyHost)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
  4. プロパティーを入力します。

  5. 「了解」をクリックします。

    次の表は、「BPM エンジンの設定」プロパティーで設定する必要のあるフィールドを示しています。

    フィールド

    説明 

    持続モード

    持続性が有効になっているかどうかのインジケータ。BPM で持続性を有効にするには、いずれかの「データベースの持続性」オプションを選択します。

    データベース

    使用されているデータベースプラットフォーム。OCI 機能を有効にするには、Oracle の正しいバージョンを選択します。 

    データベースホスト

    Oracle データベースが存在するコンピューターの名前。 

    データベースポート

    Oracle データベースが待機するポート。デフォルトは 1521 です。 

    Oracle Net Service 名

    データベースの TNS 名 (tnsnames.ora より)。このプロパティーが設定されている場合、BPM エンジンは OCI ドライバを使用します。それ以外の場合、BPM エンジンはデフォルトの DataDirect ドライバを使用します。

    データベースインスタンス/スキーマ

    データベースの名前。 

    データベースユーザー

    監視および復旧テーブルにアクセスするためのユーザー名。 

    パスワード

    監視および復旧テーブルにアクセスするためのパスワード。 

透過的アプリケーションフェイルオーバーの実装

Oracle RAC は、クラスタテクノロジを使用して共有データベースにアクセスする 2 つ以上のインスタンスを持つ Oracle データベースです。クラスタとは、同じタスクを実行するために連携して動作するマシン (またはノード) のグループのことです。このアーキテクチャーをサポートするために、データベースインスタンスをホストする 2 台以上のマシンが高速インターコネクトでリンクされて、クラスタが形成されます。インターコネクトは、クラスタの各ノード間の通信手段として使用される物理ネットワークです。

Oracle RAC をインストールしたあと、もっとも高いレベルの可用性を保証するために、透過的アプリケーションフェイルオーバー (TAF) 機能を設定することができます。TAF によって、すべてのレベルの可用性階層が補完されます。アプリケーションとユーザーは自動的かつ透過的に別のシステムに再接続され、アプリケーションとクエリーは中断なく続行され、さらにログインコンテキストは保持されます。Oracle Net Service を設定して、障害が発生した場合に RAC の各データベースインスタンス上のリスナーをフェイルオーバーできます。


注 –

TAF 機能をテストするための Oracle RAC/OPS システムの設定は、このマニュアルの範囲を超えています。tnsnames.ora および listener.ora ファイル内の設定を使用して Oracle RAC/OPS サーバーを設定する方法については、DBA に問い合わせてください。


OCI ドライバは、BPM エンジンとの組み合わせでのみ機能します。ワークリストマネージャーは、DataDirect ドライバのみを使用します。

Procedure透過的アプリケーションフェイルオーバーを実装するには

  1. 同じデータストレージを共有する複数のホストまたはインスタンスを使用して Oracle RAC サーバーを設定します。

    OCI ドライバを使用している場合に、TAF 機能を有効にするように tnsnames.ora を設定する方法については、「開始する前に」を参照してください。

  2. 論理ホストを実行しているマシン上に Oracle クライアントがインストールされていない場合は、インストールします。

    OCI が機能するためには、Oracle クライアントをインストールする必要があります。OCI ドライバはネイティブな C 呼び出しに基づいてデータベースへの接続を確立するため、BPM にパッケージされているものと同じバージョンの Oracle クライアントをインストールする必要があります。OCI のバージョンが競合すると、BPM での OCI ドライバの設定で問題が発生することがあります。

  3. TAF 用に tnsnames.ora ファイルを設定します。

    透過的アプリケーションフェイルオーバー (TAF) 用に設定された tnsnames.ora ファイルの例を次に示します。

    オプション 1: 接続時間フェイルオーバーおよび TAF


    MY_CLUSTER =
      (DESCRIPTION =
        (FAILOVER = ON)
        (LOAD_BALANCE = OFF)
        (ADDRESS_LIST =    
          (ADDRESS = (PROTOCOL = TCP)(HOST = Node1)(PORT = 1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = Node2)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = my_cluster.my_company.com)
          (FAILOVER_MODE =
            (TYPE = SELECT)
            (METHOD = PRECONNECT)
            (BACKUP=Node2)
          )
        )
      )

    オプション 2: TAF 設定


    MY_CLUSTER =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = Node1)(PORT = 1521))
        (CONNECT_DATA =
          (SERVICE_NAME = my_cluster.my_company.com)
          (FAILOVER_MODE =
            (TYPE = SELECT)
            (METHOD = PRECONNECT)
             (BACKUP = Node2)
           )
        )
      )

    この設定では、MY_CLUSTER が、クラスタとして機能するように設定された 2 つのノードを認識しています。このクラスタを、RAC/OPS で同じディスクを共有するように設定してください。

    オプション 1 では、FAILOVER が ON に、LOADBALANCE が OFF に設定されています。これは、接続時間フェイルオーバー用の設定です。接続時間フェイルオーバーでは、OCI ドライバが Node1 に接続を試みてそのノードがダウンしていると判断すると、アドレスリスト内のほかのホスト (Node2) に接続します。オプション 2 は、単に、OCI クライアントでの TAF 機能のみの設定を示すために掲載されています。BPM では、接続時間フェイルオーバーと TAF 設定の両方が必要です。

    TAF オプションを設定するには、tnsnames.ora ファイルに Oracle Net パラメータを追加するとともに、参加しているいずれかのノードに障害が発生した場合のフェイルオーバープロセス内の次のステップを確認するためにパラメータ値を使用する必要があります。TAF オプションを起動するパラメータは、接続記述子の CONNECT_DATA セクションの下にある FAILOVER_MODE です。次のパラメータを 1 つ以上使用することによって、TAF のフル機能を実現できます。

    パラメータ

    説明 

    BACKUP 

    バックアップ接続を確立するために使用される別の Net Service 名を指定します。PRECONNECT を使用して事前に接続を確立する場合は、バックアップを指定するようにしてください。BASIC の方法には、BACKUP を指定することを強くお勧めします。そうしないと、失敗したばかりのインスタンスが再接続で最初に試みられ、クライアントが再接続するまで追加遅延が発生する可能性があります。 

    TYPE 

    フェイルオーバーのタイプを指定します。Oracle Call Interface では、デフォルトで 3 つのタイプの Oracle Net フェイルオーバー機能が使用できます。 

    • SESSION - セッションをフェイルオーバーします。このオプションでは、接続が確立されるのみで、進行中の作業は失敗したインスタンスから使用可能なインスタンスに転送されません。

    • SELECT - オープンカーソルを持つユーザーが、障害が発生したあともそれらのカーソルで引き続きフェッチできるようにします。Oracle Net は、現在のトランザクションで発行されたすべての SELECT 文、および SELECT 文に関連付けられた各カーソルごとにクライアントにフェッチされた行数を追跡します。インスタンスへの接続が失われた場合、Oracle Net はバックアップインスタンスへの接続を確立し、SELECT 文を再実行して、何事もなかったかのようにクライアントが行の取得を続行できるようにカーソルを配置します。ただし、DML 操作は転送されません。

    • NONE - フェイルオーバー機能は実装されません (これがデフォルト)。

    METHOD 

    一次ノードから二次ノードまたはバックアップノードへのフェイルオーバーの速度を決定します。 

    • BASIC - フェイルオーバー時に接続を確立します。

    • PRECONNECT - 事前に接続を確立します。このパラメータが使用されている場合、バックアップインスタンスへの接続は、一次インスタンスへの接続と同時に作成されます。

    RETRIES 

    障害が発生したあと、終了する前に BACKUP ノードへの接続を試行する回数を指定します。 

    DELAY 

    障害が発生したあと、終了する前に BACKUP ノードへの接続を待機する試行間隔時間 (秒単位) を指定します。 

トラブルシューティング

トラブルシューティングに役立つ一般的なエラーメッセージと解決方法を次に示します。

表 3 Windows システムのトラブルシューティング

エラーメッセージ 

チェックリスト 

Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc9.dll in java.library.path 

  • oracle_home 環境変数が設定されていますか。

  • システムパスに oracle_home\bin が追加されていますか。

  • システムパスに oracle_home\lib が追加されていますか。

Exception No Such Method : make_c_state error 

  • システムパスに oracle_home\lib が追加されていますか。

  • データベースへの接続に使用されている JDBC Oracle クライアントドライバのバージョンが、アプリケーションサーバーのバージョンと異なっていませんか。

Exception in thread "main" java.lang.NoSuchFieldError: envCharSetId 

  • システムパスに oracle_home\lib が追加されていますか。

  • データベースへの接続に使用されている JDBC Oracle クライアントドライバのバージョンが、アプリケーションサーバーのバージョンと異なっていませんか。

表 4 Linux/Unix システムのトラブルシューティング

エラーメッセージ 

チェックリスト 

Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc9 in java.library.path 

  • oracle_home 環境変数が設定されていますか。

  • LD_LIBRARY_PATH に oracle_home/lib が追加されていますか。

Exception in thread "main" java.lang.NoSuchFieldError: envCharSetId 

  • oracle_home 環境変数が設定されていますか。

  • データベースへの接続に使用されている JDBC Oracle クライアントドライバのバージョンが、アプリケーションサーバーのバージョンと異なっていませんか。

make_c_state error 

  • システムパスに oracle_home/bin が追加されていますか。

  • データベースへの接続に使用されている JDBC Oracle クライアントドライバのバージョンが、アプリケーションサーバーのバージョンと異なっていませんか。