シンプルなロジックフローを作成したい
この記事では、IM-LogicDesignerを使って、開始から終了まで1本の直線でつなぐようなシンプルなロジックフローを作成する方法を紹介します。
ロジックフローの基本的な構成と用語の意味を押さえた後、ロジックフロー作成の流れについて学びます。最後に、チュートリアルを参考にしながら、実際に簡単なロジックフローを作成してみましょう。
ロジックフローの基本的な構成
IM-LogicDesignerは、従来コーディングが必要だったビジネスロジックを、フローチャートのようにパーツを配置するだけで簡単に作成できるツールです。システムやプロセスの動作を視覚的に表現することで、具体的な手順や処理の流れが理解しやすくなります。まずは、ロジックフローの基本的な構成と各パーツの名称について確認していきましょう。
名称 | 説明 |
---|---|
エレメント | ロジックフローを構成する各処理の総称を指す。エレメントは用途によって、制御要素とタスクに分かれる。 |
制御要素 | ロジックフローの開始・終了・分岐など、ロジックフロー自体を制御する各処理を指す。 |
タスク | IMBoxへの投稿・メール送信・ジョブの実行など、ロジックフローを実行する各処理を指す。 |
シーケンス | ロジックフローを構成するエレメント同士のつながりを表す線を指す。フローの開始から終了までの一連の処理や分岐条件の順番を定める。 |
マッピング設定 | ロジックフローを流れるデータのインプット・アウトプットを定義する。ロジックフローから呼び出し時に渡されるデータや結果として返却するデータ、エレメント間でのデータといったやり取りにマッピング定義情報を利用する。 |
ロジックフロー定義編集画面
ロジックフローは、ロジックフロー定義編集画面上で作成を行います。編集画面は用途に応じて複数のペインに区分けされています。各ペインで行う操作について確認しておきましょう。
ロジックフロー作成の流れ
ここからは、実際にIM-LogicDesignerを使って、シンプルなロジックフローを作成する方法について紹介していきます。
作成した処理を一時保存する
ロジックフローを作成する際、作成した処理や設定ごとに一時的に保存をしておくと良いでしょう。一時保存した内容は、同じWebブラウザで開くと復元できます
Step. 1 入出力・変数・定数を設定する
ロジックフローを作成する前に、必要に応じて以下の設定を行います。
入出力設定
ロジックフローを実行したときに受け渡される値(入力値)とフローの実行結果として返却される値(出力値)のデータ型を定義します。この定義情報は、データのマッピングを行う際に利用されます。実際の入力データと設定されたデータ型が異なる場合、マッピング時にエラーが発生する可能性があるため、注意が必要です。
フロー実行時の入出力値を設定する
入出力設定では、データ型を一つずつ設定する方法以外にも、IM-RepositoryのエンティティやIM-LogicDesignerが対応しているデータ型を利用して設定できます。また、データ型の定義を入力したJSONから自動的に作成することも可能です。
変数設定
変動するデータを格納するために、エレメントやフローの処理の中で使用する変数を定義します。たとえば、実行するユーザ名や日時など、処理のたびに異なるデータを格納する場合に使用します。
データ型に従って変数を設定する
変数では、文字列・日時・整数など、各データ型どおりに定義する方法以外にも、IM-RepositoryのエンティティやIM-LogicDesignerが対応しているデータ型を利用して設定できます。また、データ型の定義を入力したJSONから自動的に作成することも可能です。
定数設定
作成するロジックフローで、変動せずに常に固定の値として使用され、フロー全体で共通利用が可能な定義を設定します。たとえば、真偽値の値のような固定の制御値や、返却時のメッセージなどに使用します。
フロー定義で定数を設定する
定数では、定数値を一つずつ設定する方法以外にも、Accel Studioの共通定数定義を使って設定する方法があります。
Step. 2 エレメントを配置する
処理にあたるエレメントを選択するため、パレットからカテゴリを選択します。カテゴリ項目にカーソルを合わせると、エレメントが表示されます。配置したいエレメントをクリックすると、ロジックフロー上に配置されます。
パレットからエレメントを配置する
エレメントの配置だけではなく、移動や削除の方法についても確認できます。また、パレット上部にフォーカスを当てると検索フィールドが表示され、使用したいエレメントを素早く選択できて便利です。
エレメントは用途によって、制御要素とタスクにそれぞれ分類されます。
ロジックフロー自体を制御する各処理の総称を「制御要素」と呼び、ロジックフローを実行する各処理の総称を「タスク」と呼びます。
制御要素
「開始」や「終了」といった基本的な制御要素に加え、エラー処理や条件分岐などのさまざまな制御要素があります。必要な制御要素を選択し、ロジックフローに配置します。
制御要素の種類と特徴
ロジックフロー自体を制御する処理について、どのようなものがあるのか確認してみましょう。
タスク
上記の画面で示されているタスク以外にも、メール送信やログ出力のような汎用的なものやintra-mart上の特定の業務で最適化されたタスクを豊富に用意しています。必要な処理を行うタスクを選択し、ロジックフローに配置します。
タスクの種類と特徴
タスクの種類について、どのようなものがあるのか確認してみましょう。
Step. 3 線を引く(シーケンスを定義する)
配置したエレメントのout端子と次に処理したいエレメントのin端子にカーソルを合わせ、ドラッグ&ドロップして線をつなぎ、処理の流れを定義します。エレメント同士をつなぐ線を「シーケンス」と呼びます。エレメント間が正しく接続されたら黒い線で、正しく接続できていない場合は灰色の線で表示されます。
エレメント間を線でつなぐ
シーケンスは、ロジックフローの開始から終了までの一連の処理の流れを定義するだけではなく、分岐条件や有効・無効などの情報も持ちます。
Step. 4 エレメントのプロパティを設定する
エレメントのプロパティでは、配置したエレメントごとに必要に応じて、以下の設定・確認を行います。エレメントの種類によっては、「タスク固有設定」がない場合があります。
- タスク種別:エレメントの名称や属するカテゴリを確認する
- 基本設定:すべてのエレメントで共通の設定を定義・確認する
- タスク固有設定:エレメントごとの設定を定義・確認する
エレメントのプロパティは、設定を定義するとすぐに反映されます。
また、エレメントのプロパティと同様に、ロジックフロー自体にもプロパティがあります。ロジックフローのプロパティは、配置されているエレメントを一つも選択していない場合に表示されます。ロジックフローの実行直後にトランザクションを使用したい場合やIM-Repository定義の入力値を検証したい場合にチェックを入れます。
プロパティの詳細を設定する
エレメントのプロパティ詳細(タスク種別、基本設定、タスク固有設定)について、それぞれ項目と説明が確認できます。
基本設定(マッピング設定)
必要に応じて、配置したエレメントの「基本設定」からマッピングを設定します。エレメント同士の入出力値や定数値などのデータのやり取りを定義するため、処理内容に基づき入力値と出力値を線でつなぎます。また、入出力値以外にも、マッピング関数を追加することで、文字列の結合や加算減産などの小規模な演算処理が可能となります。
入出力値のマッピングを設定する
マッピング設定画面の詳細やマッピング関数の追加方法について確認できます。また、設定したマッピングが期待する動作をするかどうか、デバッグを実行することができます。
Step. 5 作成したロジックフローを保存する
ロジックフローを作成した後、フロー定義名やフローカテゴリを設定し保存します。ロジックフローを新規で保存するタイミングは、ロジックフローを作成する前でも、エレメントの追加やフロー定義の設定がすべて完了した後でも行うことができます。
ロジックフローを新規保存する
ロジックフローが属するフローカテゴリは、既存のカテゴリから選択することも、新規にカテゴリを作成することも可能です。
チュートリアルガイドの紹介
チュートリアルガイドでは、ここまで説明してきたロジックフローの作成の流れを実際に体験できます。下記の図で示すような「開発者の設定した入力情報を、コンソールへのログ、および、メールに発信し、その結果を出力情報として返す」という処理の実装を通して、フローカテゴリの作成から保存までを操作してみましょう。
実際に簡単な処理のフローを作成してみる
チュートリアルガイドでは、これまで説明してきた内容以外にも、作成したフローをREST APIとして利用するためのフロールーティングの設定や認可設定、実行結果の確認方法などについても解説しています。少し応用的な内容となりますが、チャレンジしてみてください。
まとめ
IM-LogicDesignerのロジックフロー編集画面では、基本的な構成要素を持つロジックフローが簡単に作成できます。実際にツールを使ってロジックフローを作成してみると、複雑なSQL構文を使わなくても、エレメントを配置するだけでロジックフローが完成することを体験できたのではないでしょうか?シンプルな構成のロジックフローを作成することに慣れたら、条件分岐などの制御要素やユーザ定義タスクを使って、少し複雑なロジックフローを作成することにも挑戦してみましょう。
intra-martでは、IM-LogicDesignerをもっと知っていただくために、マニュアルやコンテンツなどを豊富にご用意しています。IM-LogicDesignerの機能を最大限に発揮させるためにもぜひご活用ください。