intra-mart Accel Platform IM-LogicDesigner仕様書 第12版 2019-04-01

3. 概要

3.1. IM-LogicDesigner とは

IM-LogicDesignerとは、intra-mart Accel Platform上でビジネスロジックを簡単に作成することができるアプリケーションです。
IM-LogicDesignerの特徴は以下の通りです。
  • プログラミングの知識がない方でも、GUI上で処理を簡単に作成することができます。

  • 面倒なデータの変換や受け渡しは、IM-LogicDesignerが全て自動で行います。

  • Web画面上のみで、SQLや独自処理をサーバサイドJavaScriptで作成、定義でき、ビジネスロジックで利用することが可能です。

  • IM-LogicDesignerで作成したビジネスロジックは、以下に挙げるアプリケーションなどから呼び出すことできます。
    • IM-BIS for Accel Platform
    • IM-FormaDesigner for Accel Platform
    • ジョブスケジューラ
  • IM-LogicDesignerから、TERASOLUNA Global Framework、スクリプト開発モデルなどで作成した独自のビジネスロジックを直接呼び出すことができます。
  • ビジネスロジックはREST-APIとして利用することができるため、外部から呼び出すことも可能です。
    また、ビジネスロジック内で、外部のREST-APIを呼び出すことも可能です。
    さらに、REST-APIに対しての認可、セキュリティ設定も行うことができるため、API GATEWAY機能として利用することが可能です。

3.2. IM-LogicDesigner の全体像

IM-LogicDesignerの全体像は以下の通りです。
../../_images/overview.png
  1. ロジックフロー」に該当します。
  2. タスク」に該当します。
  3. ユーザ定義タスク」に該当します。
  4. マッピング」に該当します。
  5. 作成したロジックフローは、独自のビジネスロジックから呼び出すことができます。
  6. 作成したロジックフローは、他のiAPのアプリケーションの前処理/後処理などから呼び出すことができます。
  7. フロールーティング」を利用し、REST-APIの呼び出し口を定義することで、様々なプラットフォームから呼び出すことができます。

3.3. 用語

3.3.1. ロジックフロー

ビジネスロジックをフロー図形式によって記述した一連の設定を指します。

3.3.2. フローカテゴリ

ロジックフローに設定する分類情報を指します。
開発者は作成したロジックフローに対して、その用途や適用範囲を示す情報としてフローカテゴリを設定します。

3.3.3. エレメント

ロジックフローを構成する各処理の総称を指します。
エレメントはその用途によって、「制御要素」と「タスク」に分かれます。

3.3.4. 制御要素

ロジックフローを構成する各処理のうち、ロジックフロー自体の制御を担うものの総称を指します。
制御要素に該当する処理の一例は以下の通りです。
  • 開始
  • 正常終了
  • 異常終了
  • ループ
  • 条件分岐
  • フロー呼び出し
  • 変数操作

3.3.5. タスク

ロジックフローを構成する各処理のうち、実処理を担うものの総称を指します。
タスクに該当する処理の一例は以下の通りです。
  • IMBoxへの投稿
  • ストレージ操作
  • メール送信
  • ジョブの実行
利用可能なタスクについての一覧は「付録」 - 「タスク一覧」を参照してください。

3.3.6. シーケンス

ロジックフローを構成するエレメント同士の繋がり(流れ)を表す線を指します。
ロジックフローはシーケンスを用いて、フローの開始から終了までの一連の処理の流れを設定します。
シーケンスには、エレメント同士の繋がり以外にも、条件分岐する際の分岐条件や、有効/無効といった情報を持ちます。

3.3.7. マッピング

ロジックフローを流れるデータのインプット・アウトプットの定義を指します。
ロジックフローは呼び出し時に渡されるデータおよび結果として返却するデータ、およびその間のエレメント間でのデータのやり取りにマッピングの定義情報を利用します。
IM-LogicDesignerでは、マッピングで利用可能な関数群を提供します。
開発者はこの関数を利用することで、ロジックフロー上でやり取りするデータをマッピングの中で加工・編集することが可能です。

コラム

マッピングの仕様について

<object>型のマッピングとプリミティブ型のマッピングが混在した場合、マッピングを行った(線を引いた)順に処理が行われるため、一見、同一のマッピングに見えても動作が違うパターンが存在します。

<object>型の配下にプリミティブ型を配置するなど、階層化された値の定義をする際には、<object>型、プリミティブ型の順にマッピングを行う必要があります。

3.3.8. ユーザ定義タスク

ユーザ自身で処理の内容を定義した「タスク」を指します。
IM-LogicDesignerではユーザが簡易にタスクを実装するために、ユーザ定義編集画面を提供しています。
「ユーザ定義編集」画面を利用して実装する方法の詳細は「ユーザ定義タスク」の「処理種別(タイプ)」を参照してください。

3.3.9. ユーザ定義カテゴリ

ユーザ定義タスク」に設定する「フローカテゴリ」を指します。
ユーザ定義カテゴリはそれ以外に、フローエディタ上での「ユーザ定義タスク」のカテゴライズにも利用されます。

3.3.10. フロールーティング

ロジックフローをREST-APIとして利用するために定義する一連の設定情報を指します。
フロールーティングには、呼び出しを行うルート情報や呼び出し時に利用するメソッドといったREST-APIに関する設定情報と、iAPの認可や認証方法といったiAPに関する設定情報が含まれます。

3.3.11. フロートリガ

特定の操作が行われた際にロジックフローを実行するための一連の設定情報を指します。
フロートリガにはロジックフローを実行する契機となる発生条件、および、ロジックフローの入力値として受け渡されるデータのマッピング定義情報が含まれます。

フロートリガは IM-Propagation を利用して、発生条件に指定された特定の操作が行われた際にデータを受信し、ロジックフローを実行します。