今回は、FlowInvokerコンポーネントのお話しです。
◇FlowInvokerって何?
SubFlowコンポーネントと同じく、他のFlowを呼び出すコンポーネントです。
SubFlowコンポーネントとの違いはおおよそ以下の通り。
- 他のASTERIAユーザーのFlowを呼び出せます。
- 呼び出すFlowを実行時に指定できます。
- 実行ユーザーを実行時に指定できます。
- トランザクション範囲や、セッション、リクエストのスコープが異なります。
※Flow Engine上では、FlowInvokerもSubFlowと同様、呼び出し側Flowと同一スレッドで実行されます。
◇FlowInvokerってどんなときに使うの?
- 処理するデータの値によって、呼び出すフローを切り分けたい場合、条件分岐+SubFlowに比べ、柔軟でシンプルなFlowをデザインできます。
- 複数チームで開発している場合、Common Libraryの様に共通Flowを使いたい場合、異なるASTERIAユーザー上で開発し、利用者へは、Flow I/Fのみを公開することによって、品質評価の局所化やシステム全体の責任範囲の明確化が計れます。
以上の通り、マルチベンダーでの大規模開発における、機能単位のフロー開発などでは、責任分界や不用意な共通フローの変更防止など、FlowInvokerが活躍するのではないでしょうか。
