IM-BPM for Accel Platform プログラミングガイド 第6版 2019-08-01

4.1. プロセスインスタンス

プロセスインスタンスは、デプロイされたプロセス定義を開始することにより作成されます。

コラム

デプロイやプロセス定義の詳細は「IM-BPM 仕様書」を参照してください。

4.1.1. プロセスインスタンスを開始する

プロセスインスタンスを開始する方法はいくつかあります。
  • プロセス定義キーを指定してプロセスを開始する。
  • プロセス定義IDを指定してプロセスを開始する。
  • メッセージを指定してプロセスを開始する。

4.1.1.1. プロセス定義キーを指定してプロセスインスタンスを開始する

プロセス定義キーを指定してプロセスインスタンスを開始します。
プロセス定義キーを指定してプロセスインスタンスを開始した場合、最新バージョンのプロセス定義が開始されます。
../../../_images/process_1.png
図:プロセス定義キー

コラム

プロセス定義キーの詳細は「IM-BPM 仕様書」 - 「プロセス」を参照してください。

4.1.1.1.1. REST-API

メソッド POST
URI %ベースURL%/api/bpm/runtime/process-instances
BODY {‘processDefinitionKey’ : ‘%プロセス定義キー%’, ‘businessKey’ : ‘%業務キー%’, ‘returnVariables’ : true, ‘variables’ : [{‘name’ : ‘%変数名%’, ‘type’ : ‘%変数タイプ%’, ‘variableScope’ : ‘%変数スコープ%’, ‘value’ : ‘%値%’}, ...]}

4.1.1.1.2. JavaEE開発モデル

RuntimeService runtimeService = ProcessEngineFactory.getInstance().getProcessEngine().getRuntimeService();

runtimeService.startProcessInstanceByKey("%プロセス定義キー%");

// 業務キーを設定する場合
runtimeService.startProcessInstanceByKey("%プロセス定義キー%", "%業務キー%");

// 変数を設定する場合
runtimeService.startProcessInstanceByKey("%プロセス定義キー%", "%業務キー%", %変数Map%);

4.1.1.1.3. スクリプト開発モデル

var runtimeService = new bpm.RuntimeService();

runtimeService.startProcessInstanceByKey("%プロセス定義キー%");

// 変数を設定する場合
var variables = {
   "var1": "string",
   "var2": 123,
   "var3": new Date(),
   "var4": true
};
runtimeService.startProcessInstanceByKey("%プロセス定義キー%", variables);

// 業務キーと変数を設定する場合
runtimeService.startProcessInstanceByKey("%プロセス定義キー%", "%業務キー%", variables);

4.1.1.2. プロセス定義IDを指定してプロセスインスタンスを開始する

プロセス定義IDを指定してプロセスインスタンスを開始します。
プロセス定義IDを指定することにより、過去のバージョンのプロセス定義も開始できます。

コラム

プロセス定義IDの詳細は「IM-BPM 仕様書」 - 「プロセス」を参照してください。

4.1.1.2.1. REST-API

メソッド POST
URI %ベースURL%/api/bpm/runtime/process-instances
BODY {‘processDefinitionId’ : ‘%プロセス定義ID%’, ‘businessKey’ : ‘%業務キー%’, ‘returnVariables’ : true, ‘variables’ : [{‘name’ : ‘%変数名%’, ‘type’ : ‘%変数タイプ%’, ‘variableScope’ : ‘%変数スコープ%’, ‘value’ : ‘%値%’}, ...]}

4.1.1.2.2. JavaEE開発モデル

RuntimeService runtimeService = ProcessEngineFactory.getInstance().getProcessEngine().getRuntimeService();

runtimeService.startProcessInstanceById("%プロセス定義ID%");

// 業務キーを設定する場合
runtimeService.startProcessInstanceById("%プロセス定義ID%", "%業務キー%");

// 変数を設定する場合
runtimeService.startProcessInstanceById("%プロセス定義ID%", "%業務キー%", %変数Map%);

4.1.1.2.3. スクリプト開発モデル

var runtimeService = new bpm.RuntimeService();

runtimeService.startProcessInstanceById("%プロセス定義ID%");

// 変数を設定する場合
var variables = {
   "var1": "string",
   "var2": 123,
   "var3": new Date(),
   "var4": true
};
runtimeService.startProcessInstanceById("%プロセス定義ID%", variables);

// 業務キーと変数を設定する場合
runtimeService.startProcessInstanceById("%プロセス定義ID%", "%業務キー%", variables);

4.1.1.3. メッセージを指定してプロセスインスタンスを開始する

メッセージを指定してプロセスインスタンスを開始します。
メッセージ 」 - 「 プロセスインスタンスを開始する 」を参照してください。

4.1.1.4. シグナルを指定してプロセスインスタンスを開始する

シグナルを指定してプロセスインスタンスを開始します。
シグナル 」 - 「 プロセスインスタンスを開始する 」を参照してください。