メッセージ・フローには、
組み込みノード
やユーザー定義ノードを組み込むのとまったく同じ仕方で、
サブフローを組み込むことができます。
また、同じ仕方でそれらを他のノードに接続することもできます。
サブフローは一度定義すれば、
複数のメッセージ・フローで使用できるので (複数のメッセージ・フロー・プロジェクトでも使用可)、
サブフローには以下の利点があります。
- 開発時間を再利用および削減できます。
- 特定の機能を達成するための一貫性のある方法で、
メッセージ・フローの保守容易性を増大させます (サブフローは、プログラミング・マクロ、
または一度作成されると多くの箇所で使用されるインライン・コードに類似したものと考えてください)。
- 柔軟性が得られます。
サブフロー内のノードのプロパティーのいくつかまたはすべてをプロモートする場合、
サブフローを特定のコンテキストに合わせることができます (たとえば、
出力キューまたはデータ・ソース情報を更新することによって)。
ただし、サブフローは単一のノードではないので、
それを組み込めばメッセージ・フロー内のノード数が増えて、
パフォーマンスに影響を与えるかもしれないことを覚えておく必要があります。
サブフローの使用については、次の例をご覧ください。
- エラーが発生した場合、いくつかのメッセージ・フローに適用される、
共通の処置シーケンスを提供するサブフローを定義することができます。
たとえば、Warehouse ノードを介してメッセージをデータベースに書き込み、
それをエラー・リカバリー・ルーチンによる処理のためのキューに入れる、
という共通のエラー・ルーチンを作成することができます。
複数のメッセージ・フローにおいて、または 1 つのメッセージ・フロー内の数か所で、
このルーチンを使用すれば、リソースを効率的かつ整合した仕方で使用でき、
エラーが発生するたびにそのようなルーチンを再作成する必要をなくすことができます。
- いくつかの異なるメッセージ・フローを移動するメッセージに対して実行する、
共通の計算を作成することができます。
たとえば、データベースの通貨為替レートにアクセスし、
いくつかの異なる通貨価格の計算にそれらを適用することができます。
適切なメッセージ・フローのそれぞれに、通貨計算サブフローを組み込むことができます。
次は、サブフローの使用例です。