IM-BIS for Accel Platform IM-BIS 仕様書 第11版 2018-12-01

9.10. IM-LogicDesigner との連携の仕様

IM-BIS の外部連携機能で使用できる「LogicDesigner」の仕様について説明します。

9.10.1. IM-LogicDesigner 連携の仕組み

IM-LogicDesigner 連携の処理は以下の図の通りです。

../../../_images/overview.png
  • IM-LogicDesignerのフローの入出力に対し、データソース定義を設定します。
    データソース定義のリクエスト・レスポンス設定は、IM-LogicDesignerのフローの入出力が自動で読み込まれます。
    データ型のマッピングについては、「 IM-BIS と IM-LogicDesigner の入出力データ型の仕様 」を参照してください。
  • IM-LogicDesignerのフローではDBトランザクションを設定することができます。
    外部連携にてDBトランザクションが設定されている場合は、外部連携のDBトランザクションが優先されます。
  • IM-LogicDesignerのフローはバージョン管理されています。
    データソース定義の設定で、常に最新バージョンを利用するか、任意のバージョンを利用するか設定することができます。

注意

外部連携ではレスポンス処理で大量のデータを扱うと、メモリを消費するためアプリケーションの性能に影響を及ぼす可能性があります。
以下のような対処方法を行い、メモリの消費を抑えるようにしてください。
  • 外部連携先で、少量のレスポンスデータでの連携を行う。
  • バッチ処理で大量データを扱うような処理を、外部連携のようなオンライン処理で行わない。

9.10.2. IM-LogicDesigner を外部連携で実行できるタイミング

「LogicDesigner」を外部連携で利用できるタイミングは以下の通りです。

../../../_images/timing.png
  • 前処理
    IM-BIS-フロー編集から設定します。
    前処理ではDBトランザクションは設定されません。
  • 後処理
    IM-BIS-フロー編集から設定します。
    後処理にてDBトランザクションが設定されます。
  • 初期表示イベント、アイテムイベント、テーブルイベント
    フォーム編集画面から設定します。
    外部連携ではDBトランザクションは設定されません。
  • 案件終了処理
    IM-BIS-フロー編集から設定します。
    案件終了処理ではDBトランザクションは設定されません。
  • 動的処理者設定
    IM-BIS-フロー編集から設定します。
    動的処理者設定ではDBトランザクションは設定されません。

注意

外部連携で設定できる案件終了処理は、 IM-Workflow の案件終了処理(トランザクションなし)で処理されます。
そのため、 IM-Workflow の案件終了処理でエラーが発生した場合、ロールバックされません。

9.10.3. IM-BIS と IM-LogicDesigner の入出力データ型の仕様

外部連携(LogicDesigner)でリクエスト・レスポンスとして設定することが出来る IM-LogicDesigner のデータ型の対応表は以下の通りです。

LogicDesigner のデータ型 データソース定義のデータ型
object
object
map
LogicDesignerでは、Mapの内容は動的に変更されます。
そのため、データソース定義とのマッピングはできません。
date
date
calendar
date
bigdecimal
number
byte
number
short
number
integer
number
float
number
double
number
long
number
biginteger
number
boolean
boolean
string
string
character
string
sqltimestamp
date
sqldate
date
locale
string
文字列値を言語コードとして扱い変換します。
timezone
string
文字列値をTimeZoneIdとして扱い変換します。
storage
storage
暗黙的連携レスポンスパラメータ「 処理結果メッセージ「ImfrSoaResult」オブジェクト 」のファイルデータとしてのみ利用できます。
binary
binary
暗黙的連携レスポンスパラメータ「 処理結果メッセージ「ImfrSoaResult」オブジェクト 」のファイルデータとしてのみ利用できます。

コラム

  • 数値の扱いについて
    リクエスト、レスポンスとも数値に関して有効数字範囲のチェックは行っておりません。
    型変換により値の精度に関する情報が失われる可能性があります。
  • パラメータ名の重複について
    外部連携ではパラメータ名の重複を許可していません。
    そのため、IM-LogicDesignerのフロー定義の入力または出力パラメータ内でキー名が重複するフローは利用できません。
    その場合は、IM-LogicDesignerのフロー定義選択時にエラーが発生します。