Sun Business Process Manager でのビジネスプロセスの設計

ビジネスプロセスの編集

Sun Business Process Manager (BPM) は、BP の設計および設定に使用できる複数のエディタを備えています。メインのエディタであるビジネスプロセスデザイナで、ほとんどのプロセスを定義します。その他のエディタでは、BP を設定および調整できます。

ビジネスプロセスデザイナ

ビジネスプロセスデザイナは、BP モデルを表示、作成、および編集する Enterprise Designer の領域です。ビジネスプロセスデザイナは、モデルコンポーネントを調整、サイジング、および整列するためのグラフィック編集ツール、情報の論理フローおよび BP のタスクを開発するためのモデリング要素のパレットなど、BP モデルの開発に必要なツールを備えています。

ビジネスプロセスデザイナは、他の Java CAPS インタフェースのいずれとも非常に似ています。新規 BP を作成すると、ビジネスプロセスデザイナが表示されます。ツールバーには、さらにアクティビティーアイコンが含まれます。詳細は、「ビジネスプロセスのアクティビティー」を参照してください。


注 –

すべてのツールバーオプションを表示するには、ビジネスプロセスデザイナのウィンドウの拡大が必要な場合があります。


表 1 ビジネスプロセスデザイナのツールバー

名前 

説明 

ビジネスルールデザイナの表示

ビジネスプロセスデザイナの下部にビジネスルールデザイナを表示します。 

ビジネスプロセスコードの表示

対応する Business Process Execution Language (BPEL) コードの表示と非表示を切り替えて、コードを表示したり、編集したりすることができます。 

グラフィカルモデルとビジネスプロセスコードの同期

オンデマンドで BP コードを更新します。モデルの保存時にも BP コードは同期されます。 

ビジネスプロセスモデルの検証

BP モデル内のエラーを確認します。 

プロパティーシートの表示/非表示

選択されたモデリング要素のプロパティーシートの表示と非表示を切り替えます。 

印刷

BP モデルを印刷します。このオプションでは、印刷されるモデルの拡大縮小も制御できます。 

自動レイアウトの実行

BP モデルを自動的にレイアウトします。自動レイアウト機能は、モデルのレイアウトをカスタマイズする複数のオプションを備えています。 

整列または分散

BP モデル要素を整列および分散するための複数のオプションが表示されます。 

ズーム

BP モデルの表示サイズを制御します。 

ビジネスプロセスのアクティビティー

アクティビティーは、情報の論理フローを指定する BP モデル内の要素です。BP 内で使用できるアクティビティーには複数の種類があり、各アクティビティーはプロセス内で異なる機能を実行します。アクティビティーは、次のタイプに分類されます。

アクティビティー要素

アクティビティー要素には、開始、終了、受信、返信など、ほとんどの BP に共通のアクティビティーが含まれます。表 2 は、アクティビティー要素を一覧表示し、その説明を記載しています。これらのアクティビティーは、すべてビジネスプロセスデザイナのツールバーにありますが、BP の作成時にビジネスプロセスデザイナのキャンバスに自動的に表示される開始ノードと終了ノードは例外です。

表 2 アクティビティー要素

名前 

説明 

開始

プロセスの開始を示します。この要素は、新規 BP モデルを作成すると、ビジネスプロセスデザイナにデフォルトで表示されます。ビジネスプロセスデザイナのツールバーに対応するアイコンはありません。開始ノードは、受信アクティビティーのみにリンクでき、削除できません。 

終了

BP が完了した状態を示します。この要素は、新規 BP モデルを作成すると、ビジネスプロセスデザイナにデフォルトで表示されます。ビジネスプロセスデザイナのツールバーに対応するアイコンはありません。終了ノードは削除できません。 

受信アクティビティー

BP の呼び出し、またはインバウンドメッセージの到着待機を示します。受信アクティビティーは、BP を開始する実際のメソッドを表します。 

アクティビティー

Web サービスまたは Java CAPS コンポーネントを呼び出します。コンポーネントの設定によっては、応答が必要です。 

返信アクティビティー

BP が、もともと BP を呼び出した外部システムまたはユーザーに応答することを可能にします。BP の先頭にある受信アクティビティーは、プロセスの末尾にある返信アクティビティーと組になります。BP の呼び出し元にメッセージを送り返す必要がある場合、返信アクティビティーは、発信元システムのメッセージを相関させる情報を使用します。 

返信アクティビティーは、BP が Web サービスまたはサブプロセスとして機能する、BP 内の最後の手順です。アウトバウンドメッセージを発信元プロセスと相関させます。たとえば、返信アクティビティーは、外部システムに Web サービスとして返信できます。 

ビジネスルールアクティビティー

ビジネスルールデザイナを使用して、データをマップしたり、操作したりします (「ビジネスルールエディタ」を参照)。同じ目的で、ビジネスルールを一部のリンクに追加することもできます。

補正

すでに正常に完了した内部スコープで補正を呼び出します。この構文は、フォルトハンドラまたは他の補正ハンドラ内のみから呼び出せます。

空アクティビティー

データが変更なしに通過することを許可します。 

待機アクティビティー

設定された時間、処理を遅らせます。 

ユーザーアクティビティー

ユーザーの介入が必要な BP 内の手順を表します。このアクティビティーは、ワークリストマネージャーにタスク割り当てを追加することで設定します。

BP インスタンスは、ユーザーアクティビティーに達すると、タスクを作成し、タスクの状態についてテーブルをポーリングします。ユーザーアクティビティーを完了するためには、ユーザーまたは外部アプリケーションがタスクの状態を更新する必要があります。 

ユーザーアクティビティー API

外部アプリケーションからのユーザーの介入が必要な BP 内の手順を表現および設定します。このアクティビティーも、ワークリストマネージャーにタスク割り当てを追加することで設定します。 

分岐アクティビティー

分岐アクティビティーは、取り得るパスが 2 つ以上ある場合に、情報の論理フローを指定する BP モデル内の要素です。BPM は、決定、イベントベースの決定、およびフローという、3 種類の分岐アクティビティーを備えています。

表 3 分岐アクティビティー

名前 

説明 

分岐アクティビティー

次に説明するコマンドを表示します。これらのコマンドを使用すると、式のロジックに基づいて実行する、複数の取り得るパスを定義できます。 

決定

適切な BP フローを判断するために評価される複雑な式を定義できます。また、この要素は、式名および接続名も含みます。式は、ビジネスルールデザイナおよび BP 属性を使用して構築します。 

イベントベースの決定

複数のインバウンドメッセージを 1 つまたは複数のメッセージ条件またはタイムアウト条件に対して並置できるため、受信したメッセージのタイプによって適切な BP パスが決まります。 

フロー

同時に実行する 1 つまたは複数の BP パスを指定できます。 

中間イベント

「中間イベント」は、BP を受信できるアクティビティーです。一部の中間イベントは、例外を処理したり、例外を補正したりします。中間イベントには、ビジネスプロセスデザイナのツールバーにある「中間イベント」メニューからアクセスできます。例外は「スロー」と「プロセスの中止」で、この 2 つにはツールバーから直接アクセスできます。

表 4 中間イベント

名前 

説明 

スロー

特定の BP パスに沿ってエラーを作成できます。 

プロセスの中止

BP が終了ノードに到達する前に、BP 全体を中止できます。 

中間イベント

次の要素を一覧表示するドロップダウンメニューを表示します。これらの要素は、BP の間に発生する可能性のある例外を処理したり、発生した例外を補正したりします。 

タイマーイベント

BP がどの分岐を取るかを決定する期間ベース、または最終期限ベースの条件を指定します。期間ベースの条件は、指定した時間が経過したときに満たされます。最終期限ベースの条件は、指定した時刻に満たされます。タイマーイベントは、イベントベースの決定と組み合わせて使用します。 

メッセージイベント

受信アクティビティーと似ていますが、プロセスの最中にイベントベースの決定との組み合わせのみで発生します。各メッセージイベントのメッセージが異なることも可能です。 

名前付き例外のキャッチ

名前付き例外を処理します。自動化された各 (バックエンド) システムまたは Web サービスは、それぞれの起こりうるエラーコード (たとえば、フォルト 15 は「不正なデータ」) をパブリッシュでき、それらのコードを例外ハンドラにマップできます。各例外ハンドラは、BP 内で 1 つまたは複数の手順を囲むスコープに接続します。そのスコープ内のコンポーネントは、エラーが発生すると例外をスローします。例外ハンドラは、該当するプロセスを自動的に開始して、問題を処理します。 

すべての例外のキャッチ

スコープ内または BP 全体にわたって発生する名前なしの例外を処理します

補正ハンドラ

補正が発生するプロセスおよび状況を設計できます。補正は、BP の一部が失敗し、アップストリームアクティビティーのロールバックが必要な場合に使用します (たとえば、お金をお客様のアカウントに戻す必要がある場合)。失敗が発生したため特定のトランザクションを (場合によっては起こった順番に) 取り消す必要があることが BP のアップストリーム手順に自動的に通知されます。 

スコープ要素

「スコープ」要素は、1 つまたは複数のアクティビティーの動作を定義します。スコープは、例外ハンドラ、イベントハンドラ、および補正ハンドラを備えることができます。スコープの例外ハンドラは、起こり得る例外応答によって引き起こされるフォルトをキャッチするために使用できます。

表 5 スコープ要素

名前 

機能 

スコープ

例外処理を BP 内の連続する、または同時に実行する一連の手順に適用できます。 

While 要素

「While」要素を使用すると、BP 内に反復、つまりループロジックを作成できます。

表 6 While 要素

コマンド 

機能 

While

BP 内にループプロセスを作成できます (たとえば、折衝プロセスに数週間かかると考えられる中で、管理者が日単位の状態を確認したい場合)。ループは、プロセスが完了するまで続行され、完了を受けて BP が続行されます。 

ビジネスルールデザイナ

ビジネスルールデザイナを使用すると、入力間の直接リンクを使用するか、またはメソッドパレットのメソッドを使用して、入力属性と出力属性間に関係を設定できます。ビジネスルールデザイナ内の属性をマップする領域は、「マッパー」と呼ばれます。

ビジネスプロセスデザイナにコンポーネントをドラッグ&ドロップすると、各アクティビティーの一部の属性は自動的に作成されます。また、ビジネスプロセスプロパティーに属性を手動で作成することもできます。

ビジネスルールデザイナには、データを操作するメソッドを選択できる「メソッドパレット」があります。これらのメソッドを使用して、入力ノードと出力ノード間で渡されるデータを設定します。

ビジネスルールデザイナのツールバーを図 1 に示します。アイコンの説明は表 7 にあります。

図 1 ビジネスルールデザイナのツールバー

ビジネスルールデザイナのツールバーを示す図

表 7 ビジネスルールデザイナのツールバー

名前 

説明 

自動レイアウト

表示されるメソッドボックスを見やすく自動配置します。 

すべてのメソッドの展開

パラメータおよび戻り値がすべて表示されるように、すべてのメソッドボックスを展開します。 

すべてのメソッドを折りたたむ

パラメータおよび戻り値が表示されないように、すべてのメソッドボックスを折りたたみます。 

選択の削除

選択されたメソッドボックスを削除します。 

ビジネスルールエディタ

ビジネスルールエディタは、ビジネスルールデザイナにリンクされており、ビジネスルールを詳細に表示し、定義したルールをさらに編集できます。1 つまたは一連のルールを削除したり、ルールの受け側をリセットしたり、ルールの順序を変更したりすることができます。ビジネスルールエディタには、図 2 に示しているようにビジネスルールが実行順にツリー形式で表示されるため、表示されたルールセットによってデータがどのように処理されるかを開始から終了まで見ることができます。

図 2 ビジネスルールエディタ

ビジネスルールエディタを示す図

受け側のリセット

受け側のリセット機能をビジネスルールに適用できます。受け側のリセット機能は、マッピングを実行する前に BP 属性を空の状態にリセットします。受け側のリセットオプションの目的は、出力コンテナを作成することです。この機能は、パフォーマンスのオーバーヘッドをもたらす可能性があるため、デフォルト設定ではオフになっています。

受け側のリセットオプションは、while ループ内にユーザーアクティビティーを含む BP を作成するときに役立ちます。反復ノードを持つ BP 属性をループアクティビティー内などで継続的に再使用する場合、属性の値を空の状態にリセットする必要が生じることがあります。ループプロセス中に BPM がこれらのノードに値を代入すると、BPM は BP 属性内のデータを上書きします。上書きされるより多くの情報が属性に含まれる場合、ノードにはデータが残ります。この場合、属性に現在期待される値を反映しない無関係の情報が表示されます。受け側のリセット機能は、これを防止します。

受け側のリセットオプションを最初のルールでアクティブ化して、マッピングプロセスの最初の動作で属性が空の状態にリセットされるようにすることが重要です。受け側のリセット機能は、ビジネスルールエディタで設定します (詳細は、「ビジネスルールの編集」を参照)。