アクションとロジックフローの連携
Accel Studioを使って、画面のアクション(IM-BloomMaker)からロジックフロー(IM-LogicDesigner)を呼び出すといった連携処理を実装する例を紹介します。
ここでは以下のシナリオを想定して、実装のポイントを説明します。
- ユーザ入力:20文字以下の文字列を受け付ける
- 正常処理:
入力された文字列は「${入力文字列}」です。という文字列を返却 - エラー処理:21文字以上の場合、
入力文字列は 20文字以内で指定してください。というエラーメッセージを返却
完成イメージ
正常終了時
エラー終了時
説明
サンプル資材をもとに、Accel StudioでIM-BloomMakerとIM-LogicDesignerを連携させ、画面操作をトリガーにしてサーバサイド処理を実行する例を説明してします。
よくある構成と処理のイメージは以下のとおりです。
- IM-BloomMaker:ユーザの入力を受け取り、フロールーティングにリクエストを送信
- IM-LogicDesigner:フロールーティング経由でロジックフローを実行し、結果を返却
- IM-BloomMaker:結果を受け取り、画面に反映
サンプル資材はクエリ発行などの処理を省いた、より簡略的な構成になっています。データベースに関する詳細については以下の記事を参照してください。
クライアントサイドバリデーションとの違い
このページでは、入力された文字数のチェックをサーバサイド(IM-LogicDesigner)で実装する例を紹介しています。一方、クライアントサイド(IM-BloomMaker)でバリデーションを実装することもできます。違いは以下のとおりです。
| 比較項目 | サーバサイド | クライアントサイド |
|---|---|---|
| 実装場所 | IM-LogicDesigner | IM-BloomMaker |
| 処理タイミング | フロールーティング呼び出し時 | 画面操作時(リアルタイム) |
| メリット | セキュアな検証、複雑なロジックに対応しやすい | 即座なフィードバック、UX向上 |
| 適用場面 | データベース制約のチェックなど | 入力形式チェック、必須項目確認など |
- クライアントサイドでのバリデーション実装例については、入力フォームの検証を参照してください。
- サーバサイド処理を呼び出すこの連携パターンには、次のような特徴があります。画面とロジック処理を疎結合に保ちながら、柔軟な業務処理を実現できます。
項目 説明 疎結合アーキテクチャ 画面とロジック処理を分離することで、保守性と再利用性が高まる 統一されたエラーハンドリング フロールーティング経由で一貫したエラー処理を実現できる セキュアな通信 IMAuthenticationとセキュアトークンによる認証・認可機能を利用できる
サンプル資材
実装例のサンプルを用意しています。Accel Studioにインポートして内容を確認できます。
- リンクからZipファイルをダウンロードし、
Accel Studio>アプリケーション管理>インポートの画面でインポートすると、Accel Studio>アプリケーション管理>アプリケーション一覧>intra-mart Low-Code HANDBOOKに資材が表示されます。 - サンプル資材は
2026 Spring(Mimosa)の環境で作成しています。
実装イメージ
ロジックフローを作成する
入力された文字列の長さをチェックし、適切なメッセージを返すロジックフローを作成します。
-
メッセージ組み立て用の定数を登録する

-
入力文字列の状態に応じてフローを分岐する
- textが空だったら:
${ isEmpty( $input.text ) } - textが21文字未満だったら:
${ sizeOf( $input.text ) < 21 }
-
終了タスクでマッピング設定をして、正常時に返却するメッセージを組み立てる

なお、エラーメッセージはエラー終了タスクで設定しています。
フロールーティングを作成する
作成したロジックフローを画面から呼び出せるよう、公開URLを作成します。
設定項目は以下のとおりです。
| 設定項目 | 設定値 | 補足 |
|---|---|---|
| ルーティング | {application_id}/{処理対象} | 命名ルールの例 |
| メソッド | GET または POST | 取得系はGET、更新系はPOST |
| 認証方式 | IMAuthentication | - |
| 認可URI | {ルーティング}-{メソッド} | 命名ルールの例 |
| セキュアトークン | チェックを入れる | セキュリティ向上のため |
| レスポンス種別 | JSONに変換して返却 | - |
セキュアトークンは原則有効に設定してください。参照のみの処理でも、セキュリティの観点から有効にすることをおすすめします。
認可設定をする
作成したフロールーティングに対して、実行できるロールを認可設定します。

画面コンテンツを作成する
ロジックフローを呼び出し、結果を表示する画面コンテンツを作成します。
-
変数構造を定義する
{"state": {"data": {"text": ""}},"endPoint": {"callFlowRoute": {"requestParameter": {"text": ""},"responseData": {"error": false,"errorMessage": "","message": ""}}}} -
エレメントを配置する
-
ボタンクリック時のアクション(
[event] 「LD呼び出し」がクリックされたとき)を設定する
-
フロールーティング呼び出しのアクション(
└ APIの実行)を設定する
