8 ビジネス・カタログの使用
BPMプロジェクトのアーティファクトをビジネス・カタログで表し、ビジネス・カタログを使用してBPMプロジェクトのプロセスの実装に必要なコンポーネントを格納および編成する方法を学習します。
8.1 ビジネス・カタログの概要
ビジネス・カタログは、BPMプロジェクト内のディレクトリであり、BPMNプロセスへのフロー・オブジェクトの実装に使用するコンポーネントが格納されます。ビジネス・カタログ内のアセットは、BPMプロジェクト内の複数のプロセス間で共有および再利用できます。
ビジネス・カタログには、次のタイプのコンポーネントが格納されます。
-
エラー
-
イベント
-
ヒューマン・タスク
-
ビジネス・ルール
-
サービス・アダプタ
-
合成タイプ
-
BPELプロセスおよびメディエータ
-
ビジネス・オブジェクト
-
ビジネス例外
-
列挙値
コンポーネントによっては、特定のアクティビティや複数のフロー・オブジェクトを実装したり、フロー・オブジェクトのデータ・アソシエーションを定義する目的で使用できます。
表8-1は、フロー・オブジェクトの実装でフロー・オブジェクトにより使用されるビジネス・カタログ内のコンポーネントを示しています。
表8-1 フロー・オブジェクトの実装
コンポーネント | フロー・オブジェクト |
---|---|
エラー |
|
ビジネス例外 |
|
イベント |
|
ヒューマン・タスク |
ユーザー・タスク |
ビジネス・ルール |
ビジネス・ルール・タスク |
サービス・アダプタ |
|
メディエータ |
|
BPELプロセス |
|
ビジネス・オブジェクト |
ビジネス・オブジェクトは、次のタスクまたはイベントのデータ・アソシエーション内で引数として使用できます。
|
列挙値 |
列挙の属性を、次のデータ・アソシエーションの引数として使用できます。
|
ビジネス・カタログでは、コンポーネントのタイプに応じて、2種類の方法でコンポーネントが格納されます。コンポーネントは、ビジネス・カタログでの格納方法によって次のカテゴリに分類できます。
-
非合成コンポーネント
-
合成コンポーネント
8.1.1 非合成コンポーネント
ビジネス・カタログによって、これらのコンポーネントの情報とともにファイルが格納されます。BPMプロジェクトを開くと、ビジネス・カタログにより作成されたファイルが、コンポーネントをロードするために読み取られます。
次のコンポーネントは合成されません。
-
ビジネス・オブジェクト
-
例外
-
モジュール
-
カスタマイズされたサービスおよび参照
-
列挙値
8.1.2 合成コンポーネント
ビジネス・カタログによって、SOAコンポジットに含まれるSOAコンポーネントやXMLタイプまたは要素に基づいて、コンポーネント構造が動的に生成されます。これらのコンポーネントは変更できません。コンポーネントは、そのタイプに応じて異なる事前定義済モジュールに含められます。コンポーネントを別のモジュールに移動することはできません。コンポーネントを変更する場合や、別のモジュールに格納する場合は、サービスまたはタイプをカスタマイズする必要があります。
ビジネス・カタログは、合成コンポーネントに対してはいずれのファイル・タイプも格納しません。合成コンポーネントの構造は、その合成コンポーネントが表すXMLコンポーネントまたはSOAコンポーネントに基づいて動的に生成されます。
合成コンポーネントを変更したり、別のモジュールに移動することはできません。これらのコンポーネントは動的に生成されるため、その基になっているXMLスキーマまたはSOAコンポーネントに行った変更は自動的に合成コンポーネントに反映されます。
次のコンポーネントは合成されます。
-
合成タイプ
-
ビジネス・ルール
-
ヒューマン・タスク
-
BPELプロセス
-
メディエータ
8.1.3 ビジネス・カタログへのコンポーネントの追加
コンポーネントをビジネス・カタログに追加する方法は、コンポーネントのタイプによって異なります。
-
エラー: サービスまたは参照をBPMNプロジェクトに追加すると、その中の操作にエラーを生成する機能があれば、これらのエラーは「エラー」事前定義済モジュール内に表示されます。
-
イベント: イベントをSOAコンポジットに追加すると、それらのイベントは「イベント」事前定義済モジュール内に表示されます。BPMプロジェクトでのイベントの使用方法の詳細は、「シグナル・イベントを使用したプロセス間の通信の概要」を参照してください。
-
ヒューマン・タスク: SOAコンポジットに含まれている既存のヒューマン・タスクおよび新しく追加したヒューマン・タスクは、自動的に「HumanTask」事前定義済モジュール内のコンポーネントとして表示されます。このコンポーネントは、追加したヒューマン・タスクから生成されます。詳細は、ヒューマン・タスクの使用を参照してください。
-
ビジネス・ルール: SOAコンポジットに含まれている既存のビジネス・ルールおよび新しく追加したビジネス・ルールは、自動的に「BusinessRule」事前定義済モジュール内のコンポーネントとして表示されます。このコンポーネントは、追加したビジネス・ルールから生成されます。詳細は、「ビジネス・ルールの使用」を参照してください。
-
サービス・アダプタ: SOAコンポジット内の既存のサービス・アダプタおよび新しく追加したサービス・アダプタは、「サービス」および「参照」事前定義済モジュール内に表示されます。詳細は、「サービスおよび参照の使用」を参照してください。
-
BPELプロセスおよびメディエータ: SOAコンポジットに含まれているBPELプロセスとメディエータおよび新しく追加したBPELプロセスとメディエータは、自動的に「サービス」および「参照」事前定義済モジュール内のコンポーネントとして表示されます。詳細は、「Oracle BPMでのOracle Mediatorの概要」および「Oracle BPMでのBPELプロセスの概要」を参照してください。
-
合成タイプ: 1つ以上の引数を必要とするサービスまたは参照を追加すると、「タイプ」事前定義済モジュール内にそれらの引数のデータ型が存在していなければ、Studioによって自動的に追加されます。詳細は、「サービスおよび参照の概要」を参照してください。合成タイプをカスタマイズして、名前を変更したり、ユーザー定義モジュールに移動することができます。合成タイプのカスタマイズ方法の詳細は、「合成タイプのカスタマイズ」を参照してください。
-
ビジネス・オブジェクト: ビジネス・オブジェクトをビジネス・カタログに追加する方法は何通りかあります。詳細は、「ビジネス・オブジェクトのモデリング」を参照してください。
-
列挙: ビジネス・カタログのカスタム・モジュールで列挙を追加できます。列挙の作成方法の詳細は、「列挙の作成」を参照してください。
ノート:
欠落または破損しているリソースを参照するコンポーネントを追加すると、ビジネス・カタログには、この欠落している依存関係がエラー・ノードで示されます。ノードのラベルには、リソースのパスが表示されます。欠落しているリソースの詳細は、ノードにマウスを置いてツールチップを表示するか、BPMプロジェクトを構築してください。BPMプロジェクトを構築すると、欠落しているリソースを必要とするコンポーネントを検索できます。
8.1.4 モジュールを使用したビジネス・コンポーネントの編成
モジュールを使用して、ビジネス・カタログ内のビジネス・オブジェクトを別々のグループに編成できます。一般に、関連するコンポーネントはすべて1つのモジュールにまとめます。
営業見積サンプルでは、プロセスで使用される見積情報の管理に使用されるすべてのコンポーネントを格納するためのQuotesという名前のモジュールを作成できます。
複数のモジュールはネストできます。モジュールをネストすると、コンポーネントの構成を反映する階層構造を作成できます。
営業見積サンプルにおいては、プロジェクト内の情報を処理するすべてのモジュールを1つのモジュールにまとめることができます。これを行うため、QuotesモジュールやContractsモジュールなどを含むDataという名前のモジュールを作成できます。
モジュールを使用してコンポーネントを編成すると、次のような利点があります。
-
プロジェクトの可読性が向上します。モジュールには、モジュール内のコンポーネントの情報を示すような名前を付けることをお薦めします。
-
特定のコンポーネントを見つけやすくなります。
-
必要な場合、異なるモジュールに属する異なるコンポーネントを識別するために同じ名前を使用できます。
ビジネス・オブジェクトをビジネス・カタログのルート・レベルに追加することはできません。必ず、ビジネス・オブジェクトを格納できるモジュールを作成する必要があります。
モジュールの名前にはわかりやすい識別子を使用することをお薦めします。これにより、コンポーネントを見つけやすくなり、他の開発者がプロジェクトを理解しやすくなります。
8.1.4.1 事前定義済モジュール
ビジネス・カタログには、次の事前定義済モジュールが含まれています。
-
エラー: プロジェクト内のサービスおよび参照での操作により定義されたエラーが格納されます。
-
イベント: SOAコンポジットに追加したイベントが格納されます。
-
HumanTask: プロジェクトに追加したヒューマン・タスクが格納されます。
-
参照: BPMNプロセスのインタフェースの定義に使用できるインタフェースが格納されます。
-
ルール: プロジェクトに追加したビジネス・ルールが格納されます。
-
サービス: BPMNプロセスにフロー・オブジェクトを実装するために使用できるコンポーネントが格納されます。
-
タイプ: ビジネス・カタログ内に存在していないタイプの引数を必要とするサービスまたは参照を追加したときにStudioによって生成されるタイプが格納されます。
これらのモジュールはビジネス・カタログの永続的な部分であり、削除や名前の変更はできません。Studioでは、これらの名前を使用して新規の最上位レベルのモジュールを作成することはできません。
これらの事前定義済モジュール内に新規のモジュールを作成することはできません。事前定義済モジュールに格納されているコンポーネントは合成されるため、コンポーネントの名前を変更したり、他のモジュールに移動することはできません。
8.2 新規モジュールの追加
ビジネス・カタログでは、新規のモジュールを作成して、プロジェクト内のビジネス・オブジェクトを格納および編成できます。
モジュールは、ビジネス・カタログのルート・レベルに追加することも、別のモジュール内に追加することもできます。
8.2.1 新規のモジュールを追加する方法
新しく作成したコンポーネントとカスタマイズしたサービスおよび参照を格納するための新規モジュールを作成できます。
新規のモジュールを追加するには:
- 「アプリケーション」ウィンドウで、「コンポーネント」ノードまたはユーザー定義の既存のモジュールを右クリックします。
- 「新規」を選択します。
- 「モジュール」を選択します。
- モジュールを識別する名前を入力します。
- 「OK」をクリックします。
8.3 モジュールの削除
ビジネス・カタログ内のカスタム・モジュールは削除できます。事前定義済モジュールは削除できません。
モジュールを削除すると、そのモジュール内のすべてのコンポーネントも削除されます。
8.4 合成タイプのカスタマイズ
合成タイプをカスタマイズして、わかりやすい名前に変更すると、プロセス・アナリストおよびプロセス開発者がコンポーネントの用途を理解しやすくなります。
タイプをカスタマイズする際は、カスタマイズしたタイプを格納するユーザー定義モジュールを入力する必要もあります。