Oracle® Fusion Middleware Oracle Business Process Managementモデリングおよび実装ガイド 11g リリース1(11.1.1) B61409-01 |
|
![]() 前 |
![]() 次 |
この章では、Oracle BPMでビジネス・ルール・タスクを実装する方法を説明します。SOAビジネス・ルール・エディタを使用して作成された既存のビジネス・ルール・コンポーネントを使用するか、Oracle BPM Studio付属の簡易インタフェースを使用して新規のビジネス・ルールを作成できます。
この章は次の項で構成されています:
ビジネス・ルールの詳細は、『Oracle Fusion Middleware Oracle Business Rulesユーザーズ・ガイド』を参照してください。
ビジネス・ルール・タスクを実装する際、ビジネス・ルールを定義する必要があります。既存のビジネス・ルールを使用するか、新しいビジネス・ルールを定義できます。
プロジェクトにビジネス・ルールが含まれている場合、ビジネス・カタログに自動的に表示されます。
新しいビジネス・ルールをビジネス・カタログに追加するには、次の方法があります。
Oracle BPMの使用
SOA新規ギャラリから
SOAコンポジット・エディタから
ビジネス・カタログでは、プロジェクトのビジネス・ルールは事前定義済モジュール「ルール」内に表示されます。各ルールは、ビジネス・ルール・ディクショナリのパッケージの名前の付いたモジュール内に格納されます。
図16-1は、営業見積サンプルのビジネス・ルール・コンポーネントを示しています。
ビジネス・カタログでビジネス・ルール・コンポーネントをダブルクリックすると、Oracle BPM StudioによりSOAビジネス・ルール・エディタが開かれます。このエディタを使用してビジネス・ルールを編集できます。
ビジネス・ルール定義方法は、『Oracle Fusion Middleware Oracle Business Rulesユーザーズ・ガイド』を参照してください。
ビジネス・ルールを使用すると、定義したルールのグループに基づいてプロセスのフローを決定できます。
ビジネス・ルール・タスクにより、次のものをマッピングできます。
データ・オブジェクト値をビジネス・ルールの入力引数へ
ビジネス・ルール・コンポーネントの出力引数をデータ・オブジェクトへ
トークンがビジネス・ルール・タスクに到達すると、ビジネス・ルール・タスクのデータ・アソシエーションで定義されている入力引数を使用して、BPMNサービス・エンジンがビジネス・ルール・エンジンを起動します。ビジネス・ルール・エンジンは定義されたルールを評価し、結果が含まれている出力を返します。BPMNサービス・エンジンは、ビジネス・ルール・タスクに定義されたデータ・アソシエーションを使用して、ビジネス・ルール・エンジンからの出力をプロセスのデータ・オブジェクトにマッピングします。
一般的に、ビジネス・ルール・タスクの後、ビジネス・ルール・タスクの実行結果が含まれているデータ・オブジェクト値に基づいてプロセスのフローを決定する排他ゲートウェイを追加します。
図16-2は、営業見積サンプル・プロセスのビジネス・ルール・タスクを示しています。
営業見積サンプルでは、次のように、ビジネス・ルール・タスクが各営業見積の承認フローを決定します。
ビジネス・ルール・タスクは、見積ビジネス・オブジェクトを入力引数としてビジネス・ルール・コンポーネントを起動します。
ビジネス・ルール・コンポーネントは、指定された入力を使用して定義されたルールを評価します。
ビジネス・ルール・コンポーネントは、定義されたルールの評価結果が含まれているApprovalFlowビジネス・オブジェクトを返します。
ビジネス・ルール・タスクのデータ・アソシエーションは、ビジネス・ルールの実行結果をapprovalFlowプロセス・データ・オブジェクトにマッピングします。
排他ゲートウェイであるIs Business Practices Review Requiredは、approvalFlowプロセス・データ・オブジェクトの値に基づき、フローを決定します。
既存のビジネス・ルールをビジネス・ルール・タスクに割り当てられます。ビジネス・ルール・ウィザードを使用して作成したビジネス・ルール、またはBPMプロジェクトのベースとして使用したSOAプロジェクトに存在するビジネス・ルールを使用して、ビジネス・ルール・タスクを実装できます。
プロジェクトに含まれるすべてのビジネス・ルール・コンポーネントは、ビジネス・カタログの「ルール」事前定義済モジュールに表示されます。また、SOAコンポジットにも表示されます。ビジネス・ルール・コンポーネントを使用するビジネス・ルール・タスクがBPMNプロセスに含まれる場合、SOAコンポジットでそれらの間にワイヤーが表示されます。
既存のビジネス・ルールを再利用し、ビジネス・ルール・タスクをBPMNプロセスに実装できます。
既存のビジネス・ルールをビジネス・ルール・タスクに割り当てるには:
「ビジネス・ルール」タスクを右クリックします。
「プロパティ」を選択します。
「実装」タブをクリックします。
「ビジネス・ルール」フィールドの隣の「参照」ボタンをクリックします。
「タイプ」ダイアログが表示されます。
リストからビジネス・ルールを選択するか、または「検索」フィールドに名前または名前の一部を入力してビジネス・ルールを検索します。
「OK」をクリックします。
「タイプ」ダイアログが閉じ、「ビジネス・ルール」フィールドに選択したビジネス・ルールが表示されます。
「デシジョン関数」リストからデシジョン関数を選択します。
「OK」をクリックします。
ビジネス・ルール・タスク・プロパティ・ダイアログが閉じ、ビジネス・ルール・タスクについて選択した実装が保存されます。
Oracle BPM Studio付属の簡易インタフェースを使用してビジネス・ルールを作成できます。このインタフェースには、ビジネス・ルール・タスクの構成ダイアログからアクセスできます。
簡易ビジネス・ルール作成インタフェースでは、1つのデシジョン関数を使用するビジネス・ルールを作成できます。ビジネス・ルール作成の際、次のプロパティを構成できます。
ビジネス・ルールの名前
Oracle BPM Studioは、この名前を使用してビジネス・ルール・コンポーネントを作成します。
入力および出力
Studio BPMが自動的にビジネス・ルール・コンポーネントに追加するデフォルトのデシジョン関数の入力および出力パラメータを指定します。
Oracle BPM Studioは、これらのパラメータを使用してビジネス・ルール・タスクのデータ・アソシエーションを作成します。デシジョン関数のパラメータは、XMLスキーマに基づいて作成された複合データ・オブジェクトである必要があります。
ディクショナリ・パッケージ
ルール・ディクショナリが所属するJavaパッケージを指定します。たとえば、com.exampleなどです。
デシジョン関数の名前
Oracle BPM Studioは、作成したビジネス・ルールのデフォルト・デシジョン関数を追加する際にこの名前を使用します。
簡易インタフェースでビジネス・ルールを作成した後、SOA Suiteに含まれているエディタを使用して編集できます。
Oracle BPM Studioで、ビジネス・ルール・タスクの実装プロパティ・ダイアログからビジネス・ルール・コンポーネントを作成できます。
Oracle BPM Studioでビジネス・ルールを作成するには:
「ビジネス・ルール」タスクを右クリックします。
「プロパティ」を選択します。
「実装」タブをクリックします。
「ビジネス・ルール」フィールドの隣の「追加」ボタンをクリックします。
「ビジネス・ルールの作成」ダイアログが表示されます。
「名前」フィールドで、ビジネス・ルールを識別するための名前を入力します。
ビジネス・ルールの入力および出力を構成します。
ビジネス・ルールの入力および出力の構成方法については、16.3.2項「ビジネス・ルール・コンポーネント作成時の入力および出力引数の追加手順」を参照してください。
オプションで、ビジネス・ルールの拡張プロパティを構成します。
ビジネス・ルールの拡張プロパティの構成方法については、16.3.3項「ビジネス・ルール・コンポーネント作成時の拡張プロパティの構成手順」を参照してください。
「OK」をクリックします。
「ビジネス・ルールの作成」が閉じ、ビジネス・ルールが作成されます。ビジネス・ルール・タスク・プロパティ・ダイアログの「ビジネス・ルール」フィールドに、作成したビジネス・ルールが表示されます。
「デシジョン関数」リストからデシジョン関数を選択します。
「OK」をクリックします。
ビジネス・ルール・タスク・プロパティ・ダイアログが閉じ、ビジネス・ルール・タスクについて作成した実装が保存されます。
入力または出力引数として追加するデータ・オブジェクトは、タイプとして外部のタイプに基づくビジネス・オブジェクトを使用する必要があります。
ビジネス・ルール・コンポーネントの作成時に入力および出力引数を追加するには:
「入力と出力データ・オブジェクト」セクションで、「追加」ボタンをクリックします。
追加する引数のタイプを選択します。
「データ・オブジェクト」ダイアログが表示されます。
「データ・オブジェクト」ダイアログからデータ・オブジェクトを選択し、表にドラッグします。
入力または出力引数が表に表示されます。
ビジネス・ルール・コンポーネントの作成時に入力および拡張プロパティを構成するには:
「詳細」タブをクリックします。
「パッケージ」フィールドに、ルール・ディクショナリの格納先となるパッケージの名前を入力します。
「デシジョン関数」フィールドに、ビジネス・ルール・コンポーネントで簡易インタフェースが作成するデシジョン関数の名前を入力します。