ワークフローアプリ間の連携

Questetra BPM Suite では、
「ワークフローアプリX」(親アプリ)の途中で、
「ワークフローアプリY」(子アプリ)を呼び出す
という形で、ワークフローアプリ同士を連携させることができる。
- Step1. 子アプリに[メッセージ開始イベント(HTTP)]を配置し、アプリを予め稼働(リリース)させておく。

- Step2. 親アプリに[サービスタスク(子プロセス開始)]を配置、呼び出す子アプリを指定し、アプリを稼働(リリース)させる。

利用するモデリング要素
〈サービスタスク(子プロセス開始)〉

- 送信するデータ項目を指定するだけで、ワークフローアプリ同士の連携を簡単に実現できる。
〈メッセージ開始イベント(HTTP)〉

- HTTP リクエストを受信すると新規プロセスが自動的に開始される。
※[メッセージ送信中間イベント(HTTP)]を用いる方法もあるが、本記事では触れない。
連携させる理由
「ワークフローアプリ同士を連携させる理由」(ワークフローアプリを分割する理由)は様々だ。主な理由は次の6つ。
1. フローの可視性
大きなフローを小さな単位に分けることで、個々のフロー図がシンプルになり、関係者が理解しやすくなる。
2. データの共通化
親プロセスの業務データが子プロセスへ自動転記されるため、入力ミスのリスクを削減できる。
3. フローの再利用性
よく使う手順(例:法務審査、翻訳、検品)を子アプリ化しておくことで、複数の親アプリから利用できるようになる。
4. スケーラビリティ
親アプリ内のループ構造から子プロセスが複数起動される設定にすれば、「1対多」の親子関係を容易に実現できる。
5. 責任範囲の明確化
親アプリ「請求フロー」を営業部に担当させ、子アプリ「入金確認フロー」を経理部に担当させる等、データ閲覧権限やプロセス改善責任を切り分けられる。
6. トラブル隔離とリトライの簡素化
子プロセスがエラーになった場合でも、子プロセスだけ再実行できるようになる。障害対応負荷を下げることができる。
具体的な利用例
親アプリ
子アプリ・孫アプリ
子プロセスの終了を待機する/しない
ブログ制作フロー
翻訳フロー
待機する
Webコンテンツ制作フロー
翻訳フロー
待機する
契約プロセス
法務チェックプロセス
待機する
請求フロー
入金確認フロー
待機しない
配信リスト設定プロセス(ループ構造/再帰呼出構造)
メール配信プロセス
待機しない
問合受信プロセス
問合回答プロセス(子アプリ)
待機しない
問合受信プロセス
FAQ改廃プロセス(孫アプリ)
待機しない
このように、ワークフローアプリを適切に分割して連携させることで、可視性・再利用性・運用性の高いプロセス設計が可能になる。 Business Process Management バンザイ!

