Cosminexus ビジネスプロセス管理/エンタープライズサービスバス V8 サービスプラットフォーム 開発ガイド

[目次][用語][索引][前へ][次へ]

6.2.1 ビジネスプロセスを新規に追加する

ビジネスプロセス追加ウィザードを利用してビジネスプロセスを新規に追加する方法には,次の二つがあります。

それぞれの方法について,次に説明します。

<この項の構成>
(1) 未定義のビジネスプロセスを新規に追加する
(2) BPELファイルをインポートしてビジネスプロセスを新規に追加する
(3) ステータスの永続化の設定

(1) 未定義のビジネスプロセスを新規に追加する

何も定義されていないビジネスプロセスを新規に追加する方法を次に示します。

  1. ツリービューのサービス定義一覧で,右クリックして[ビジネスプロセス追加]を選択します。
    ビジネスプロセス定義を追加するためのダイアログが表示されます。
  2. ビジネスプロセス名を入力し,ステータスを永続化するかどうか(ビジネスプロセスの実行状態をデータベースに保存するかどうか)を選択します。
    ビジネスプロセス名(ビジネスプロセスのサービス名)は,64バイト以内で入力します。
  3. [終了]ボタンをクリックします。
    必要なファイルが作成され,リポジトリに保存されます。
    ビジネスプロセスが正常に保存されると,ビジネスプロセス定義画面が表示されます。

(2) BPELファイルをインポートしてビジネスプロセスを新規に追加する

あらかじめ上流設計ツールでBPELファイルを作成し,BPELファイルをインポートしてビジネスプロセスを新規に追加する方法について説明します。

(a) BPELファイルの作成

上流設計ツールでBPEL1.1またはBPEL2.0に準拠したBPELファイルを作成します。BPELファイルの作成方法については,利用する上流設計ツールのドキュメントを参照してください。

BPELファイルに定義した要素および属性の内容と,ビジネスプロセス定義の内容との関連については,「付録E 上流設計ツールとの連携で使用するBPELのサポート範囲」を参照してください。

(b) ビジネスプロセスの新規追加

BPELファイルをインポートして,ビジネスプロセスを新規に追加する方法を次に示します。

  1. ツリービューのサービス定義一覧で,右クリックして[ビジネスプロセス追加]を選択します。
    ビジネスプロセス定義を追加するためのダイアログが表示されます。
  2. ビジネスプロセス名を入力し,ステータスを永続化するかどうか(ビジネスプロセスの実行状態をデータベースに保存するかどうか)を選択します。
    ビジネスプロセス名(ビジネスプロセスのサービス名)は,64バイト以内で入力します。
  3. [BPELファイル]の[インポートする]のチェックボックスをチェックします。
  4. [ファイル名]にインポートするBPELファイルを指定します。
    [...]ボタンをクリックして,インポートするBPELファイル選択することもできます。
  5. アクティビティの配置方法を選択します。
  6. [終了]ボタンをクリックします。
    BPELファイルの定義が,ビジネスプロセスの定義に変換されます。変換が終わり,必要なファイルが作成されると,リポジトリに保存されます。
    ビジネスプロセスが正常に保存されると,ビジネスプロセス定義画面が表示されます。表示されるビジネスプロセス定義画面のキャンバスには,手順5.で選択した方法でアクティビティが配置されます。
    注意
    BPELファイルをインポートする場合,次の点に注意が必要です。

    変換されないBPELの定義
    Cosminexus サービスプラットフォームの開発環境でサポートしていないBPELの定義は,無視されるか,無操作アクティビティに変換されます。
    BPELファイルに定義した要素および属性の内容と,ビジネスプロセス定義の内容との関連については,「付録E 上流設計ツールとの連携で使用するBPELのサポート範囲」を参照してください。

    BPELファイルでメッセージ型の変数が定義されていた場合
    上流設計ツールでメッセージの名称を定義し,BPELファイルにメッセージ型の変数が定義されていた場合,BPELファイルをインポートして作成したビジネスプロセスでは,変数の種別が文字列型(string)に変換されます。
    この場合,インポート後に変数の種別をメッセージ型(XML)に変更してください。変数の定義については,「6.5.1(6) 変数の定義方法」を参照してください。

    サービス呼出アクティビティが定義されていた場合
    BPELファイルをインポートしてビジネスプロセスを作成するとき,BPELファイルのinvoke要素はサービス呼出アクティビティに変換されます。invoke要素のportType属性のローカル名が呼び出すサービス名に,operation属性がオペレーション名に変換されます。
    ただし,リポジトリに該当するサービスやオペレーションがない場合には,サービス名やオペレーション名は変換されません。
    サービス名やオペレーション名が変換されなかった場合,BPELファイルをインポートしたあと,呼び出す対象のサービスアダプタやビジネスプロセスを作成して,サービス名およびオペレーション名を割り当てる必要があります。

    BPELファイルに長い名称のアクティビティが多数定義されていた場合
    配置方法で横方向が指定されていて,BPELファイルに長い名称のアクティビティが多数定義されている場合,インポート後にキャンバスの端でアクティビティが重なってしまうことがあります。その場合は,アクティビティを配置し直してください。

(3) ステータスの永続化の設定

ビジネスプロセスには,データベースにプロセスの実行状態および実行履歴を永続化するビジネスプロセスと,永続化しないビジネスプロセスの2種類があります。永続化とは,プロセスの実行状態および実行履歴をデータベースに記録することです。

永続化するビジネスプロセスは,プロセスの実行状態と実行履歴の記録があるため,障害が発生した場合に,プロセスの実行の進捗度がわかり,プロセスを再実行できます。永続化しないビジネスプロセスは,プロセスの実行状態と実行履歴の記録を採らないため,高性能を実現する必要があるビジネスプロセスの場合に設定します。

永続化するビジネスプロセスではできることが,永続化しないビジネスプロセスではできないといった制約事項があります。永続化しないビジネスプロセスは,次の条件を満たす場合に定義できます。

  1. 非同期の受付アクティビティを含まない。
  2. 非同期のサービスアダプタに対して,サービスを呼び出すサービス呼出アクティビティを含まない。
  3. 待機アクティビティを含まない。
  4. 応答アクティビティよりあとにアクティビティ(分岐(終了)アクティビティおよび終了アクティビティを除く)が存在しない。
    例を次に示します。
    (例1)「スコープ」の中と外で「受付」と「応答」を使用する場合は,スコープ内の「応答1」のあとに,スコープ外の「受付2」を実行することになるため,永続化しないビジネスプロセスとして定義できません。
    [図データ]
    (例2)「並列処理」の中に「受付」と「応答」を使用する場合は,次に示すように,並列処理が必ず同時に実行して終了するとは限らないため,永続化しないビジネスプロセスとして定義できません。
    • 「応答1」を実行したあとに「受付2」,「サービス呼出2」,または「応答2」のどれかを実行する。
    • 「応答2」を実行したあとに「受付1」,「サービス呼出1」,または「応答1」のどれかを実行する。

      [図データ]

    (例3)「並列処理」の中に「サービス呼出」だけを使用する場合は,永続化しないビジネスプロセスとして定義できます。
    [図データ]
    (例4)「分岐」の中に「応答」を使用する場合は,「応答1」と「応答2」のどちらか一方だけを実行することになるため,永続化しないビジネスプロセスとして定義できます。
    [図データ]
  5. プロセスインスタンスの再実行を使用しない(障害発生時は,サービスリクエスタからサービス呼び出し要求(ビジネスプロセスの呼び出し)を再度実行する)。