Cosminexus サービスプラットフォーム システム構築・運用ガイド

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

5.5.2 永続化するビジネスプロセスと永続化しないビジネスプロセス

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

それぞれのビジネスプロセスの違いについて,次に説明します。

<この項の構成>
(1) 永続化するビジネスプロセス
(2) 永続化しないビジネスプロセス

(1) 永続化するビジネスプロセス

永続化するビジネスプロセスは,プロセスの実行状態と実行履歴の記録があるため,障害が発生した場合に,プロセスの実行の進捗度がわかり,プロセスを再実行できます。開発環境でビジネスプロセスを追加するときに,永続化する設定にできます。

次に示す内容を実施する場合には,ビジネスプロセスを永続化に設定します。

プロセスインスタンスの実行履歴の管理
  • コマンドによるプロセスインスタンスの実行履歴の取得
  • 運用環境の画面によるプロセスインスタンスの実行履歴の取得

プロセスインスタンスの再実行
  • コマンドによるプロセスインスタンスの再実行
  • 運用環境の画面によるプロセスインスタンスの再実行
  • サービスリクエスタ(SOAP通信/SessionBean)によるプロセスインスタンスの再実行

ビジネスプロセスを新規に追加する方法については,マニュアル「Cosminexus サービスプラットフォーム 開発ガイド」を参照してください。

(2) 永続化しないビジネスプロセス

永続化しないビジネスプロセスは,プロセスの実行状態と実行履歴の記録を採らないため,高性能を実現する必要があるビジネスプロセスの場合に設定します。開発環境でビジネスプロセスを追加するときに,永続化しない設定にできます。

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

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

      [図データ]

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

ビジネスプロセスを新規に追加する方法については,マニュアル「Cosminexus サービスプラットフォーム 開発ガイド」を参照してください。