IM-LogicDesignerの制御要素とは?

この記事では、IM-LogicDesignerの制御要素の概要について紹介します。
IM-LogicDesignerでは、ビジネスロジックの実行をコントロールするパーツを「制御要素」と呼びます。ロジックフローは、この制御要素とビジネスロジックを実行するためのタスクを組み合わせて構築します。これらの違いを正しく理解するためにも、まずはIM-LogicDesignerの制御要素について詳しく学んでいきましょう。

制御要素の種類と特徴

IM-LogicDesignerでは、さまざまな用途に応じた制御要素を用意しています。これらの制御要素をロジックフローに組み込むことで、特定の条件に基づき実行されるビジネスロジックの処理をコントロールできます。制御要素は、パレットの「基本」カテゴリから選択できます。また、配置した制御要素は、「タスク種別」からカテゴリとエレメントを確認できます。

ここでは、制御要素の種類と特徴について、用途別に紹介します。

フローの開始と終了

ロジックフローの開始と終了を実行するための制御要素について説明します。

「開始」要素

フローの開始地点を表す制御要素です。ロジックフローの実行時は、必ず「開始」要素から順番にタスクが実行されます。一つのフローにつき、「開始」要素は一つだけ配置できます。新規作成時には、「ロジックフロー定義編集」画面上にあらかじめ配置されています。

「終了」要素

フローの終了地点を表す制御要素です。ロジックフローの実行時、「終了」要素まで達すると、マッピングを実行し、出力データを生成します。その後、各要素の終了処理を呼び出し、生成した出力データを返却します。一つのフローにつき、「終了」要素は複数配置できます。新規作成時には、「開始」要素と同様に、「ロジックフロー定義編集」画面上にあらかじめ配置されています。

「エラー終了」要素

フローが異常終了したことを表す制御要素です。ロジックフローの実行時、各要素の終了処理を呼び出し、エラーとして強制的に終了させます。

フロー内の条件分岐

ロジックフロー内で定義した条件による分岐処理を実行するための制御要素について説明します。

「分岐」要素

任意の条件で処理を分岐させる制御要素です。指定した条件を満たしている場合は then のルートの処理が実行されます。満たしていない場合は else のルートの処理が実行されます。分岐条件はEL式で記述します。

「分岐」要素では、分岐先は二つまで設定できます。三つ以上分岐させたい場合は、「分岐」要素を複数つなげることで実現できます。

フロー内の繰り返し処理

ロジックフロー内で指定した条件や回数による繰り返し処理を実行するための制御要素について説明します。

「繰り返し開始」要素

処理の繰り返しを開始する制御要素です。指定した条件を満たしている間、または、指定した回数や対象の配列数によって、処理を繰り返します。繰り返し処理の方法は、「タスク固有設定」にある以下の項目から行います。

  • 繰り返し条件:EL式で記述
  • 繰り返し回数:数を入力
  • 繰り返し対象:出力値の選択

繰り返し対象の設定は、繰り返し条件や繰り返し回数と合わせて、複数の条件を設定することが可能です。複数の条件を設定した場合、一番初めに条件から外れた時点で繰り返し処理が終了します。

「繰り返し終了」要素

処理の繰り返しを終了する制御要素です。「繰り返し開始」要素を選択すると、自動で「繰り返し終了」要素が配置されます。

フロー内から別フローの呼び出し

あるロジックフローから、別のロジックフローを呼び出す処理を実行するための制御要素について説明します。

「フロー呼び出し」要素

フロー内から別のフローを呼び出す制御要素です。「タスク固有設定」にある「フローID」に呼び出したいフローを設定します。設定した呼び出し先となるフローには、「フロー呼び出し」要素の入力パラメータが受け渡されます。ただし、「フロー呼び出し」を設定した呼び出し元となるフロー内では、呼び出し先となるフローのパラメータを直接参照することはできません。 

呼び出し先のフローは、常に最新バージョンに対応します。そのため、呼び出し先となるフローを更新した場合、呼び出し元となるフローも影響を受けます。特に、呼び出し先のフローの入出力を変更した場合は、「フロー呼び出し」要素の入出力パラメータについても更新が必要です。

エラー処理フローの開始と終了

エラー処理フローの開始と終了を実行するための制御要素について説明します。エラー処理フローを定義することで、タスクごとにエラーハンドリングの設定をしなくても、共通のエラー処理を実行するように設定できます。

「エラー処理開始」要素

エラー処理フローの開始地点を表す制御要素です。一つのフローにつき、「エラー処理開始」要素は一つだけ配置できます。

「エラー処理終了」要素

エラー処理フローの終了地点を表す制御要素です。エラー発生タスクの後続タスクから処理を継続できる場合は、そのままフローを実行し続けます。処理を継続できない場合は、フローの実行をエラー終了させます。

エラー処理フローの終了は、「エラー処理終了」要素だけではなく、「終了」要素や「エラー終了」要素を配置してフローを終了させることも可能です。

変数を利用したフローの作成

フローに定義した変数に対して、値の代入操作を行うための制御要素について説明します。

「変数操作」要素

変数の初期化や他のタスクから取得した値を変数に格納する際に利用する制御要素です。たとえば、フローが進行する中で取得できなくなる値がある場合、変数に格納し、その値を参照して次のタスクの入力とすることができます。特に、繰り返し処理を含むフローで効果を発揮します。

フロー内の空処理

フロー内で何も行わない制御要素について説明します。

「空処理」要素

フロー内で何も行わない制御要フロー上に要素を配置しておくためだけの制御要素です。「空処理」要素では、何も処理せず、入出力もありません。

「空処理」要素は、さまざまな用途で使用されます。フローの作成途中で、将来的に処理を追加するためのプレースホルダーとして一時的に「空処理」要素を配置しておくことで、後から簡単に新しいタスクを挿入できます。また、「分岐」要素の片方の条件が空の場合に、「空処理」要素を配置しておくことで、フローの構造を保ちます。

まとめ

IM-LogicDesignerの制御要素とタスクを組み合わせることで、さまざまなシナリオや条件に対応した柔軟なロジックフローを作成できるメリットがあります。視覚的にフローを確認できるため、フローのどの部分に問題があるかを特定しやすく、メンテナンスが容易です。また、エラー発生時の処理を簡単に設定できるため、効率的に開発を進めることができます。この記事では制御要素について取り上げましたが、ビジネスロジックを実行するためのタスクについても把握しておくことをおすすめします。

intra-martでは、IM-LogicDesignerをもっと知っていただくために、マニュアルやコンテンツなどを豊富にご用意しています。IM-LogicDesignerの機能を最大限に発揮させるためにもぜひご活用ください。