ここに示すトピックでは、Java CAPS ビジネスプロセス (BP) を構成するためのタスク、概念的な情報、および参照情報へのリンクを提供します。ご質問またはご不明な点がありましたら、Java CAPS の Web サイト http://goldstar.stc.com/support を参照してください。
Sun Business Process Manager (BPM) には、簡単なドラッグ&ドロップの手順を使用して、BP を表すモデルを設計したり構成したりする場合に役立つグラフィカルなエディタが用意されています。次のトピックでは、BP を構成するために必要な背景情報と手順について説明します。
ビジネスプロセスは 2 つのレベルでプロパティーを定義できます。ビジネスプロセスのプロパティーによって、ビジネスプロセス全体の設定が定義されます。モデリング要素のプロパティーによって、ビジネスプロセス内の特定の要素の設定が定義されます。ビジネスプロセスとモデリング要素の両方の特定のプロパティーは、ビジネスプロセスを作成すると自動的に定義されます。
各ビジネスプロセスには、ビジネスプロセスモデルのコンポーネントや属性を設定できる一連のプロパティーがあります。これらのプロパティーを使用すると、ビジネスプロセス属性をすばやく作成したり削除したりできます。BPM は、この情報を使用して、適切なビジネスプロセス属性や、ビジネスルールデザイナで使用する入力および出力構造を自動的に作成します。「ビジネスプロセスのプロパティー」ウィンドウから、次の種類のプロパティーを編集できます。
ビジネスプロセス属性 - ビジネスプロセス内のアクティビティー間でデータを共有したり、これらのアクティビティーを実装するコンポーネントとの間でデータを移動したりすることができます。コンテナとも呼ばれます。
相関 - 特定のデータ値に基づいて、既存のビジネスプロセスインスタンスをビジネスプロセスに着信するメッセージと照合できます。メッセージは、これらのデータ値に基づいて処理されます。
WSDL ファイル - インターネット上の Web サービスの呼び出しおよび操作、リモートのアプリケーションおよびデータベースへのアクセスおよび呼び出しを行うことができます。Web サービス定義は WSDL (Web Service Definition Language) ファイルとして組み込まれ、Web サービスを構築するときに使用されます。
グリッドプロパティー - グリッドプロパティーを使用すると、グリッドを表示または非表示にしたり、モデリング要素をグリッドにスナップするかどうかを指定したり、グリッドの外観を設定したりすることができます。
ビジネスプロセス内のほとんどのモデリング要素には、その要素のプロパティーシートから変更できる一連のプロパティーがあります。アクティビティーのパートナーの指定、トランザクションサポートの定義、相関セットのアクティビティーへのバインド、例外の定義、アラートおよびログメッセージの作成、ポートタイプおよびパートナーの指定などを行うことができます。これらのプロパティーシートは、「ビジネスプロセスデザイナ」ツールバーにある「プロパティーシートの表示」ツールを介してアクセスされ、プロパティーは「ビジネスプロセスデザイナ」内のビジネスプロセスの右に表示されます。
特性やコンポーネントの多くは、ビジネスプロセスを構築すると自動的に定義されます。すべてのモデリング要素を配置したら、ビジネスプロセスのプロパティーを表示して、正しく設定されていることを確認してください。
ビジネスプロセスの設定を変更するには、次のいずれかの機能を実行します。
「全般」ページは、ビジネスプロセスのプロパティーの編集を開始したときに表示される最初のページです。ビジネスプロセス名の変更、ターゲット名前空間の編集、持続性の状態の選択などを行うことができます。
プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。
「ビジネスプロセスのプロパティー」ウィンドウの「全般」ページが表示されます。
プロパティーの値を入力または選択します。
「了解」をクリックして変更を保存し、「ビジネスプロセスのプロパティー」ダイアログボックスを終了するか、または別のタブを選択してほかのプロパティーを変更します。
ビジネスプロセス属性 (コンテナとも呼ばれる) は、ビジネスプロセスによって使用されるデータ値です。これらの属性を使用すると、ビジネスプロセス内のアクティビティー間でデータを共有したり、これらのアクティビティーを実装するコンポーネントとの間でデータを移動したりすることができます。たとえば、ビジネスプロセス属性には、顧客の名前、住所、受注量、アイテムの説明などの情報を格納できます。OTD やコラボレーションなどの複雑な構造がプロジェクトエクスプローラに自動的に表現され、ユーザーのビジネスプロセスで使用できるようになります。
ビジネスプロセス属性は、ビジネスプロセスと外部ソースの間で値を渡すために使用されます。また、ビジネスプロセス属性を特定のアクティビティーに割り当てることもできます。たとえば、顧客の名前が元のソースから受注プロセスに渡されます。この顧客の名前は、ビジネスプロセス内の複数のアクティビティーで使用される可能性があり、ビジネスプロセスの出力に含まれます。
BPM は、複雑な構造のすべてまたは一部を渡すことができます。さらには、複数のビジネスプロセス属性からの複合入力を 1 つのコンポーネントまたは Web サービスに組み立てることもできます。
ビジネスプロセスの属性は、そのプロセスにコンポーネントを追加すると自動的に作成されます。ビジネスプロセスで使用する追加の属性を作成できます。
プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。
「ビジネスプロセス属性」タブをクリックします。
「作成」をクリックします。
「新規ビジネスプロセス属性」ダイアログボックスが表示されます。
各フィールドに情報を入力します。
「追加」をクリックします。
「閉じる」をクリックして「ビジネスプロセスのプロパティー」ダイアログボックスに戻ります。
フィールド |
説明 |
---|---|
属性の名前。 |
|
属性の名前空間 (使用可能な名前空間のリストから値を選択)。 |
|
追加する属性のタイプ (使用可能なタイプのリストから値を選択)。 |
ビジネスプロセス属性を追加するか、またはビジネスプロセス属性が自動的に追加されたあとは、その属性を変更することができます。属性の名前のみを変更する場合は、残りのビジネスプロセスがその変更を反映して更新されるように指定できます。
プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。
「ビジネスプロセス属性」タブをクリックします。
既存の属性を選択し、「編集」をクリックします。
各フィールド内の情報を変更します。
フィールド値の変更を完了したら、「了解」をクリックします。
属性名を変更した場合は、「リファクタリングの確認」ダイアログが表示されます。次のいずれかの操作を行います。
名前の変更をビジネスプロセス全体にわたって更新するには、「はい、リファクタリングを実行します。」をクリックします。
属性の名前のみを変更するには、「いいえ、名前のみを変更します。」をクリックします。
このメッセージが今後表示されないようにするには、「今後、この警告を表示しない。」を選択します。前述の手順で選択したオプションが常に、デフォルトオプションになります。
「プロパティー」ウィンドウで、「了解」をクリックします。
ビジネスプロセス属性を追加するか、またはビジネスプロセス属性が自動的に追加されたあとは、その属性を削除することができます。使用されているビジネスプロセス属性を削除することはできません。使用されていない属性によって検証の警告が発生する場合がありますが、通常、それによりビジネスプロセスの実行が停止されることはありません。
プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。
「ビジネスプロセス属性」タブをクリックします。
既存の属性をクリックし、「削除」をクリックします。
次のいずれかの操作を行います。
パートナーとは、接続マップ内でビジネスプロセスにリンクされた外部システムの抽象化された ID のことです。複数のアクティビティーが同じ外部システムを使用できます。つまり、複数のアクティビティーが同じパートナーを持つことができます。デフォルトでは、モデルの開発を高速化および自動化するために BPM によってこの ID が割り当てられます。
Web サービス、JMS メッセージ、またはコネクタ (例 : eWays) などの複数のコンポーネントを呼び出す場合は、これらのコンポーネントの一意のパートナー名を作成する必要があります。その後、接続マップを作成するときに、複数のコンポーネントに対してパートナーが 1 つだけ存在するのではなく、各コンポーネントに対して一意のパートナーが存在します。これにより、これらのコンポーネントを正常に配備プロファイルで関連付け、プロジェクトを配備できるようになります。
サブプロセスとして使用されるビジネスプロセスを作成する場合は、パートナーを作成し、それを受信または受信と返信のペアに関連付ける必要があります。
一部のパートナーは自動的に作成されますが、必要に応じて、ビジネスプロセスで使用するための新しいパートナーを追加できます。パートナーは、ビジネスプロセス内のアクティビティーに関連付けられます。パートナーを作成したら、「パートナーのアクティビティーへの関連付け」の説明に従って、そのパートナーをアクティビティーに関連付けます。
プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。
「パートナー」タブをクリックします。
「新規」をクリックします。
パートナーがパートナーリストに追加されます。
パートナーの名前を変更するには、パートナー名をダブルクリックします。
「了解」をクリックします。
ビジネスプロセスパートナーを追加するか、またはビジネスプロセスパートナーが自動的に追加されたあとは、そのパートナー名を変更することができます。パートナーの名前を変更する場合は、残りのビジネスプロセスがその変更を反映して更新されるように指定できます。
プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。
「パートナー」タブをクリックします。
変更するパートナーの名前をダブルクリックし、新しい名前を入力して、Enter キーを押します。
「了解」をクリックします。
「リファクタリングの確認」ダイアログが表示されます。
次のいずれかの操作を行います。
ビジネスプロセス内の定義済みのパートナーを使用していない場合は、そのパートナーを削除することができます。使用されていないパートナーを保持していると検証の警告が表示される場合がありますが、通常、それによりビジネスプロセスの実行が妨げられることはありません。使用されていないパートナーのみを削除できます。
プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。
「パートナー」タブをクリックします。
削除するパートナー名をクリックします。
「削除」をクリックします。
パートナーがパートナーリストから削除されます。
パートナーを作成すると、アクティビティーのプロパティーシートを使用して、そのパートナーをビジネスプロセス内のアクティビティーに関連付けることができます。サブプロセス内の受信および返信アクティビティーに対しては、パートナーを作成および選択する必要があります。
ビジネスプロセスデザイナで、ビジネスプロセス内のアクティビティーを選択します。
「ビジネスプロセスデザイナ」ツールバーで、「プロパティーシートの表示」をクリックします。
そのアクティビティーのプロパティーシートが表示されます。
「パートナー」フィールドをクリックし、ドロップダウンリストからパートナーを選択します。
「プロパティーシートの非表示」をクリックします。
BPM には、既存のビジネスプロセスインスタンスを、ビジネスプロセスに着信するメッセージと照合するための方法が用意されています。相関キーとは、着信メッセージと BPM エンジンの両方に含まれている個々のデータ値のことです。着信メッセージに設定済みの相関キーに一致する値が含まれている場合、その値に関連付けられた一意のビジネスプロセスインスタンスは、処理を続行してビジネスプロセスの次のステップに進みます。メッセージの相関を定義するために、次のタスクを実行できます。
メッセージの相関の使用例については、「メッセージの相関によるリンクと順序付け」を参照してください。
相関キーは、購買発注番号などのビジネスプロセスで定義できる値であり、特定のビジネスプロセスインスタンスに関する情報を関連付けて配信するための方法を提供します。コンポーネント間の非同期メッセージ交換の場合は、インスタンス ID の相関を実装する必要があります。非同期メッセージ交換を使用する場合の例として、ビジネスプロセスの中間で受信アクティビティーを作成する場合があります。
プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。
「相関」タブをクリックします。
「相関キー」セクションで、「作成」をクリックします。
「新規相関キー」ダイアログボックスが表示されます。
「名前」フィールドに、相関キーの名前またはエイリアスを入力します。
「ツリーから選択」フィールドで、このエイリアスに追加するメッセージタイプをリストから選択します。ビジネスプロセス内のステップのための一意の識別子を構成する 1 つ以上の相関キーを選択します。
「追加」をクリックして、新しいエイリアスを「選択したエイリアスリスト」に保存します。
「タイプ」フィールドの値は自動的に入力されます。
「了解」をクリックします。
相関キーを作成するか、または相関キーが自動的に作成されたあとは、メッセージタイプを追加または削除することによってそのキーを変更することができます。
プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。
「相関」タブをクリックします。
「相関キー」セクションで、変更するキーをクリックし、「編集」をクリックします。
次のいずれかの操作を行います。
「了解」をクリックします。
相関キーを作成するか、または相関キーが自動的に作成されたあとは、すでに使用されなくなったキーを削除することができます。一部の相関キーは削除できません。
プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。
「相関」タブをクリックします。
「相関キー」セクションで、削除するキーを選択し、「削除」をクリックします。
「了解」をクリックします。
相関セットとは、プロパティー (相関キー) のグループのことであり、そのグループ内のすべてのメッセージで共有されます。相関セットでは、メッセージやビジネスプロセスインスタンスとの会話が照合されます。たとえば、購入と支払いに関するすべての情報が関連付けられるように、トランザクションに購買発注番号と請求書番号を割り当てることができます。
相関セットに名前を付ける場合は、一意の名前を使用してください。相関セット名が重複していると、監視および復旧データベースのインデックス作成で問題が発生します。一意性を保証するために、相関セット名にビジネスプロセス名を含めることを考慮してください。
「相関」タブをクリックします。
「相関セット」セクションで、「作成」をクリックします。
「新規相関セット」ダイアログボックスが表示されます。
「名前」フィールドで、新しい相関セットの名前を入力します。
「リストから選択」ボックスで、相関セットに追加する相関キーを選択します。複数のキーを選択するには、Ctrl キーを使用します。
右矢印ボタンをクリックして、選択項目を相関セットに移動します。
「了解」をクリックします。
相関セットを作成するか、または相関セットが自動的に作成されたあとは、相関キーを追加または削除することによってその相関セットを変更することができます。
プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。
「相関」タブをクリックします。
「相関セット」セクションで、変更する相関セットをクリックし、「編集」をクリックします。
「相関セットの編集」ダイアログボックスが表示されます。
次のいずれかの操作を行います。
「了解」をクリックします。
相関セットを作成するか、または相関セットが自動的に作成されたあとは、すでに使用されなくなったセットを削除することができます。一部の相関セットは削除できません。
プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。
「相関」タブをクリックします。
「相関セット」セクションで、削除するセットを選択し、「削除」をクリックします。
「了解」をクリックします。
ビジネスプロセス内で 1 つ以上の相関セットを使用する場合は、これらのセットを受信アクティビティーにバインドし、さらに使用する前にこれらのセットを初期化する必要があります。これにより、使用される前に相関セットがメモリー内に作成されることが保証されます。
アクティビティー内のセットを初期化することを選択した場合は、両方のビジネスプロセス属性を使用することを選択するか、または使用するビジネスプロセス属性を指定する必要があります。
ビジネスプロセスデザイナで、アクティビティーを選択します。
「ビジネスプロセスデザイナ」ツールバーで、「プロパティーシートの表示」をクリックします。
「相関の使用」フィールドをクリックし、省略記号 (...) をクリックします。
「相関の使用」ダイアログボックスが表示されます。
「追加」をクリックします。
「相関セットの割り当て」ダイアログボックスが表示されます。
「リストから選択」パネルで、アクティビティーにバインドする相関セットの名前を選択し、「追加」をクリックします。
「了解」をクリックします。
「相関の使用」ダイアログボックスで、「了解」をクリックします。
一連のメッセージに対して条件を課したり、メッセージのグループをまとめて処理したり、特定のタイプのすべてのメッセージを受信確認の有無に従って決定を行ったりすることができます。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 (Web Services Description Language) は、ビジネスサービスを記述するために使用される XML ベースの言語です。WSDL では、個人やほかの企業がこれらのサービスに電子的にアクセスするための方法が提供されます。WSDL ファイルは、Web サービスを呼び出して操作するために使用されます。インターネット上の Web サービスに使用したり、リモートのアプリケーションおよびデータベースへのアクセスや呼び出しに使用したりできます。
WSDL ページでは、ビジネスプロセスで使用される定義済みのビジネスプロセス属性を表す、ロードされているすべての WSDL ファイルのリストが提供されます。トラブルシューティングのために、WSDL ページでは、すべての未解決のターゲット名前空間のリストのほか、ロードされているすべての WSDL ファイルへの表示アクセスも提供されます。
「WSDL」タブをクリックします。
リストから WSDL ファイルを選択し、「表示」をクリックします。
WSDL ビューアが表示されます。
WSDL ビューアから、WSDL コードをテキストファイルにコピー&ペースト編集できます。WSDL ビューアでコードを編集することはできません。
「グリッド」ページは、ビジネスプロセスデザイナのためのフォーマット属性のコレクションを提供します。グリッドによって、視覚的なガイドまたは自動整列機能が提供されるため、ビジネスプロセスのコンポーネントを整列させるのに役立ちます。グリッドプロパティーには、ビジネスプロセスデザイナのキャンバス内部を右クリックすることによってもアクセスできます。
プロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。
「グリッド」タブをクリックします。
プロパティーの値を入力または選択します。
「了解」をクリックします。
プロパティー |
説明 |
---|---|
縦線の間隔 (ピクセル単位)。 |
|
水平線の間隔 (ピクセル単位)。 |
|
グリッド線の色を選択するための、次の 3 つのタブを含むダイアログボックスを表示します。
|
|
グリッド線の太さ。「細」、「中」、または「太」を選択できます。 |
|
グリッド線の形式。「実線」、「破線」、または「点線」を選択できます。 |
|
グリッド線の表示/非表示を切り替えます。グリッド線を表示するには、このチェックボックスを選択します。 |
|
「グリッドにスナップ」をアクティブ化または非アクティブ化します。この設定がアクティブ化されていると、オブジェクトは、もっとも近いグリッド線に強制的に引き寄せられます。 |
モデリング要素のプロパティーの多くは、ビジネスプロセスを構築すると自動的に定義されます。すべてのモデリング要素を配置したら、それらの要素のプロパティーシートを表示して、正しく設定されていることを確認してください。プロパティーシートは、「ビジネスプロセスデザイナ」ツールバーにある「プロパティーシートの表示」ツールを介してアクセスされ、プロパティーはビジネスプロセスの右に表示されます。
表 1 は、プロパティーシートに表示されるすべてのプロパティーの一覧とその説明を示していますが、これらのプロパティーの組み合わせは要素の型によって異なります。特定の要素では表示されないプロパティーや、特定の要素では読み取り専用であるプロパティーがあり、またすべてのプロパティーが必要なわけではありません。
表 1 アクティビティーとリンクのプロパティー
プロパティー |
説明 |
---|---|
選択されている要素の名前。 |
|
決定要素の場合のみ、決定アクティビティーのロジックを表示したり変更したりできる「決定ゲートのプロパティー」ダイアログボックスを開きます。 |
|
待機アクティビティーの場合のみ、最終期限または期間に基づいてタイムアウト期間を設定できる「タイムアウト」ダイアログボックスを開きます。 |
|
ユーザーアクティビティーの場合のみ、そのアクティビティーの優先順位。 |
|
ユーザーアクティビティーの場合のみ、タスクのタイプ。アクティビティーの名前を変更すると、この値はそれに一致するように自動的に更新されます。 |
|
while 要素の場合のみ、while ループが失敗した場合に実行するアクション。例外をスローする、ブール値 true を返す、またはブール値 false を返すことを指定できます。 |
|
ポートタイプに関連付けられた処理のタイプ。このフィールドは、一部のアクティビティーでは無効になっています。 |
|
要素に対してスローする例外の名前。例外名のリストから選択できます (ビジネスプロセスに対して例外が事前に定義されている必要があります)。 |
|
アクティビティーの出力を含む属性の名前。 |
|
受信アクティビティーおよびイベントベースの決定の場合のみ、アクティビティーの新しいインスタンスを作成するかどうかのインジケータ。 |
|
アクティビティーに対して相関セットを使用するかどうかのインジケータ。このプロパティーのダイアログボックスを使用して、相関セットをアクティビティーにバインドします (詳細については、「メッセージの相関の定義」を参照)。 |
|
アクティビティーがトランザクション (XA) のサポート用に定義されているかどうかと、その定義方法を示すインジケータ。次のいずれかのオプションを選択します。
|
|
アクティビティーの属性が値で渡されるか、参照で渡されるかのインジケータ。 |
|
モデリング要素の特定のアラートを定義できる「アラートの指定」ダイアログボックスにアクセスします。詳細については、「モデリング要素へのアラートの追加」を参照してください。 |
|
モデリング要素の特定のロガーメッセージを定義できる「ログメッセージの指定」ダイアログボックスを開きます。詳細については、「モデリング要素へのロガーメッセージの追加」を参照してください。 |
ビジネスプロセスのモデリング要素から、カスタムのログおよびアラートエントリを開始できます。あとで、これらのエントリを Enterprise Manager のビジネスプロセスのログページおよびアラートページに表示できます。
Java CAPS では、ビジネスプロセスの要素からアラートエントリを開始できます。定義できるアラートの種類には、重要度の高いものから、重度、中度、軽度、警告、および情報があります。アラートノードはブール値のデータ型を取りますが、マッピングを定義するときにデータ型が自動的に変換されるように指定できます。
アラートエントリを追加する要素を含むビジネスプロセスを開きます。
ビジネスプロセスデザイナで、要素を選択します。
「ビジネスプロセスデザイナ」ツールバーで、「プロパティーシート」をクリックします。
要素のプロパティーが、ビジネスプロセスの右に表示されます。
「アラートのプロパティー」フィールドをクリックし、省略記号 (...) をクリックします。
「アラートの指定」ダイアログボックスが表示されます。
使用可能な方法を使用して、アラートを定義します。
アラートの定義を完了したら、「了解」をクリックします。
Java CAPS では、ビジネスプロセスの要素からログエントリを開始できます。致命的、エラー、警告、情報、デバッグのいずれかの log4j ログレベルを指定できます。Enterprise Manager でログエントリを表示すると、これらのログレベルは対応する JDK ログレベルに変換されます。表 2は、重要度の高いものからログレベルのマッピングを示しています。
表 2 log4j から Java へのログレベルのマッピング
ロガーレベルノードはブール値のデータ型を取りますが、マッピングを定義するときにデータ型が自動的に変換されるように指定できます。
ロガーエントリを追加する要素を含むビジネスプロセスを開きます。
ビジネスプロセスデザイナで、要素を選択します。
「ビジネスプロセスデザイナ」ツールバーで、「プロパティーシート」をクリックします。
要素のプロパティーが、ビジネスプロセスの右に表示されます。
「ログのプロパティー」フィールドをクリックし、省略記号 (...) をクリックします。
「ログメッセージの指定」ダイアログボックスが表示されます。
使用可能な方法を使用して、ログメッセージを定義します。
ログメッセージの定義を完了したら、「了解」をクリックします。
分散トランザクション処理 (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 を有効にする」ドロップダウンリストで、「はい」をクリックします。
「了解」をクリックします。
「ビジネスプロセスデザイナ」ツールバーで、「プロパティーシートの表示」をクリックします。
ビジネスプロセスデザイナで、呼び出しアクティビティーをクリックします。
プロパティーシートの「トランザクションサポート」プロパティーで、「参加する」を選択します。
ビジネスプロセス内のほかのすべての呼び出しアクティビティーに対して、手順 5 と 6 を繰り返します。
プロジェクト内のほかのビジネスプロセスに対して持続性を使用する必要がない場合は、ビジネスプロセス全体で XA を有効にする必要はありません。
BPM では、ビジネスプロセスのアクティビティーレベルの XA を有効にすることができます。これは、任意の受信アクティビティー、呼び出しアクティビティー、または選択アクティビティー (OnMessage) のプロパティーシートで処理されます。アクティビティーレベルの XA を有効にするための手順を次に示します。
アクティビティーレベルの XA を有効にするには、持続性を使用してビジネスプロセスを配備する必要があります。
「ビジネスプロセスデザイナ」ツールバーで、「プロパティーシートの表示」をクリックします。
受信アクティビティー、呼び出しアクティビティー、または選択アクティビティー (OnMessage) を選択します。
プロパティーシートの「トランザクションサポート」プロパティーで、「XA」を選択します。
XA を有効にする各アクティビティーに対して、手順 2 と 3 を繰り返します。
BPM エンジンに持続性が設定されている場合は、そのエンジン上で実行されているすべてのビジネスプロセスに関する一般情報がデータベースに格納されます。ビジネスプロセスにレポート機能の持続性を設定することによって、そのビジネスプロセスに関する追加情報を格納したり監視したりできます。各ビジネスプロセスに対して、個別にレポート機能の持続性を設定する必要があります。詳細情報は、レポート機能の持続性が設定されているプロセスについてのみ格納されます。この情報には、Enterprise Manager からアクセスできます。
ビジネスプロセスにレポート機能の持続性を設定すると、そのビジネスプロセスに対して 1 つのデータベーステーブルを作成するデータベーススクリプトが生成されます。このテーブルは、単純な型 (文字列や整数など) を持つ WSD オブジェクトの属性からのデータで生成されます。複合属性に対応するデータは持続されないため、ビジネスプロセスに持続性を設定するには、そのビジネスプロセスに少なくとも 1 つの単純属性が含まれている必要があります。
ビジネスプロセスを作成したあと、レポート機能の持続性を有効にする各ビジネスプロセスに対して次の手順を実行します。
また、ビジネスプロセス用に作成されたデータベースコンポーネントをアンインストールするためのスクリプトも自動的に提供されます。
ビジネスプロセスに対するレポート機能の持続性は、ビジネスプロセスのプロパティーで設定されます。
NetBeans のプロジェクトエクスプローラで、ビジネスプロセスを右クリックし、「プロパティー」をクリックします。
「ビジネスプロセスのプロパティー」ウィンドウの「全般」ページで、「レポート機能の持続性」オプションに対して「はい」を選択します。
レポート機能の持続性を設定する各ビジネスプロセスに対して、前述の手順を繰り返します。
「すべて保存」を選択します。
ビジネスプロセスの下に、「データベーススクリプト」という名前のフォルダが表示されます。
スクリプトを実行するためにデータベースに接続するには、スクリプトのデータベース接続情報を指定する必要があります。
各プロパティーを入力します。
「了解」をクリックします。
説明 |
|
---|---|
使用しているデータベースのベンダーとバージョン。 |
|
データベースに接続するための URL。次のいずれかを入力します。
|
|
監視および復旧データベーススクリプトで作成されるユーザーのログイン ID。ユーザー名は、プロジェクトエクスプローラの「CAPS コンポーネントライブラリ」>「Sun Business Process Manager」>「データベーススクリプトの実行」>「データベーススクリプト」にあるスクリプト内で参照できます。 |
|
監視および復旧データベーススクリプトで作成されるユーザーのパスワード。 |
データベース接続情報を設定すると、データベーススクリプトを実行できます。この手順によって、ビジネスプロセスのレポートに必要なテーブルが作成されます。作成されるテーブルの名前は各ビジネスプロセスに一意であり、ビジネスプロセス名の最初の数文字で始まり、一連の数字とバージョン番号が続きます。
この手順を実行する前に、監視および復旧データベースが作成され、実行されている必要があります。情報がビジネスプロセステーブルに格納されるためには、BPM エンジンに持続性が設定されている必要があります。このどちらの手順も、この章の前半で説明されています。
プロジェクトエクスプローラで、ビジネスプロセスを展開します。
「データベーススクリプト」フォルダを展開します。
「データベーススクリプト」フォルダから、データベースのベンダーに適したデータベースインストールファイルを右クリックし、「実行」をクリックします。
BPM には、ビジネスプロセスデータベースのインストールスクリプトで作成されたデータベーステーブルをアンインストールするための簡単な方法が用意されています。
監視および復旧データベースとして Oracle を使用している場合は、Oracle の Type 2 ドライバである OCI (Oracle Call Interface) ドライバを使用できます。これには、追加の手順がいくつか必要になります。BPM は通常、DataDirect® ドライバを使用して、データベース接続を確立したり、データベースサーバーと通信したりします。ここでは、OCI ドライバ用に BPM を有効にして設定するための要件および手順について説明します。
OCI ドライバは、監視および復旧データベースとの組み合わせでのみ機能します。ワークリストマネージャーは、DataDirect ドライバのみを使用します。
Oracle OCI ドライバは、データベースとの通信のために使用されている広範囲のネイティブコードのために、シックドライバとも呼ばれます。OCI は C で記述されており、その Java 呼び出しはすべて、JNI を使用して呼び出しを C レイヤーに転送します。この C レイヤーがデータベースと通信して、結果を Java レイヤーに返します。
Java 呼び出しを C 呼び出しにマップするためのライブラリは、Oracle クライアントのインストールとともにインストールされます。OCI を使用して監視および復旧の持続性を有効にするには、Oracle クライアントソフトウェアをインストールする必要があります。
OCI ドライバを設定する前に、次の確認を行う必要があります。
Oracle データベースが実行されており、SQL Plus クライアントを使用してそのデータベースにアクセスできること。また、BPM エンジンが Oracle データベースサーバーに接続できることも確認してください。DataDirect ドライバを使用してエンジンの持続性を設定することによって接続をテストし、監視および復旧データベーステーブルに正常にデータが生成されていることを確認します。
Oracle クライアントがインストールされており、tnsnames.ora に Oracle データベースに接続するためのエントリが存在すること。Oracle クライアントをインストールすると、OCI ドライバでのデータベースとの対話および接続に必要なすべてのライブラリがインストールされます。
バージョン 9.2 より前の Oracle データベースサーバーに接続している場合は、下位互換のために Oracle クライアントを更新するためのパッチを DBA から入手してください。適切な下位互換のパッチを適用しないと、Oracle クライアントが古いデータベースサーバーと正常に通信できずに、予測しない動作が実行されることがあります。
OCI ドライバを使用して Oracle データベースへの接続を作成するには、OCI クライアントのバージョンと JDBC ドライバのバージョンが一致している必要があります。バージョンが一致しない場合は、接続のテストまたはオープンが失敗します。OCI クライアントのバージョンによっては、次のいずれかのエラーが発生する可能性があります。
Character Set Not Supported !!: DBConversion oracle.jdbc.oci8.OCIEnv.envCharSetId java.lang.NoSuchFieldError: oracle.jdbc.oci8.OCIEnv.envCharSetId |
OCI ドライバを実装するには、次のタスクを実行する必要があります。
BPM で OCI ドライバを使用するには、ライブラリファイルが論理ホストのライブラリディレクトリに存在する必要があります。
論理ホストが存在するシステムに Oracle クライアントをインストールします。
tnsnames.ora で監視および復旧データベースを定義します。
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 のバージョンにもよりますし、クライアントまたはサーバーのいずれでインストールされているかによっても異なります。
ドライバクラスをロードするために、論理ホストのインスタンスを再起動します。
BPM エンジンで OCI ドライバを有効にするには、次の環境変数を設定します。
oracle_home は、Oracle クライアントまたはデータベースがインストールされているディレクトリを指します。例:C:\oracle\ora92、または /home/oracle/orahome 。このフォルダには、bin、network、jdbc、jlib、lib などのサブフォルダが含まれています。
Windows オペレーティングシステムの場合:
oracle_home 環境変数を設定します。
システム PATH に oracle_home\lib を追加します。
システム PATH に oracle_home\bin を追加します。
Linux および Unix オペレーティングシステムの場合 (HPUX と AIX を除く):
oracle_home 環境変数を設定します。
LD_LIBRARY_PATH 環境変数に oracle_home/lib を追加します。
PATH 環境変数に oracle_home/bin を追加します。
HP-UX の場合:
oracle_home 環境変数を設定します。
SHLIB_PATH 環境変数に oracle_home/lib を追加します。
PATH 環境変数に oracle_home/bin を追加します。
AIX の場合:
oracle_home 環境変数を設定します。
LIBPATH 環境変数に oracle_home/lib を追加します。
PATH 環境変数に oracle_home/bin を追加します。
デフォルトのシンドライバの代わりに OCI ドライバを使用するように BPM エンジンを設定する必要があります。これは、環境エクスプローラにあるインテグレーションサーバーのプロパティーシートで設定されます。
環境エクスプローラで、インテグレーションサーバーまたはアプリケーションサーバーを右クリックし、「プロパティー」をクリックします。
「BPM エンジンの設定」をクリックします。
「プロパティー」ダイアログボックスで、「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) ) |
プロパティーを入力します。
「了解」をクリックします。
次の表は、「BPM エンジンの設定」プロパティーで設定する必要のあるフィールドを示しています。
説明 |
|
---|---|
持続性が有効になっているかどうかのインジケータ。BPM で持続性を有効にするには、いずれかの「データベースの持続性」オプションを選択します。 |
|
使用されているデータベースプラットフォーム。OCI 機能を有効にするには、Oracle の正しいバージョンを選択します。 |
|
Oracle データベースが存在するコンピューターの名前。 |
|
Oracle データベースが待機するポート。デフォルトは 1521 です。 |
|
データベースの 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 ドライバのみを使用します。
同じデータストレージを共有する複数のホストまたはインスタンスを使用して Oracle RAC サーバーを設定します。
OCI ドライバを使用している場合に、TAF 機能を有効にするように tnsnames.ora を設定する方法については、「開始する前に」を参照してください。
論理ホストを実行しているマシン上に Oracle クライアントがインストールされていない場合は、インストールします。
OCI が機能するためには、Oracle クライアントをインストールする必要があります。OCI ドライバはネイティブな C 呼び出しに基づいてデータベースへの接続を確立するため、BPM にパッケージされているものと同じバージョンの Oracle クライアントをインストールする必要があります。OCI のバージョンが競合すると、BPM での OCI ドライバの設定で問題が発生することがあります。
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 フェイルオーバー機能が使用できます。
|
METHOD |
一次ノードから二次ノードまたはバックアップノードへのフェイルオーバーの速度を決定します。
|
RETRIES |
障害が発生したあと、終了する前に BACKUP ノードへの接続を試行する回数を指定します。 |
DELAY |
障害が発生したあと、終了する前に BACKUP ノードへの接続を待機する試行間隔時間 (秒単位) を指定します。 |
トラブルシューティングに役立つ一般的なエラーメッセージと解決方法を次に示します。
表 3 Windows システムのトラブルシューティング
エラーメッセージ |
チェックリスト |
---|---|
Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc9.dll in java.library.path |
|
Exception No Such Method : make_c_state error |
|
Exception in thread "main" java.lang.NoSuchFieldError: envCharSetId |
|
表 4 Linux/Unix システムのトラブルシューティング
エラーメッセージ |
チェックリスト |
---|---|
Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc9 in java.library.path |
|
Exception in thread "main" java.lang.NoSuchFieldError: envCharSetId |
|
make_c_state error |
|