メインコンテンツまでスキップ

アクションとロジックフローの連携

Accel Studioを使って、画面のアクション(IM-BloomMaker)からロジックフロー(IM-LogicDesigner)を呼び出すといった連携処理を実装する例を紹介します。

ここでは以下のシナリオを想定して、実装のポイントを説明します。

  • ユーザ入力:20文字以下の文字列を受け付ける
  • 正常処理入力された文字列は「${入力文字列}」です。という文字列を返却
  • エラー処理:21文字以上の場合、入力文字列は 20文字以内で指定してください。というエラーメッセージを返却

完成イメージ

正常終了時

エラー終了時

説明

サンプル資材をもとに、Accel StudioでIM-BloomMakerとIM-LogicDesignerを連携させ、画面操作をトリガーにしてサーバサイド処理を実行する例を説明してします。

よくある構成と処理のイメージは以下のとおりです。

  1. IM-BloomMaker:ユーザの入力を受け取り、フロールーティングにリクエストを送信
  2. IM-LogicDesigner:フロールーティング経由でロジックフローを実行し、結果を返却
  3. IM-BloomMaker:結果を受け取り、画面に反映
ヒント

サンプル資材はクエリ発行などの処理を省いた、より簡略的な構成になっています。データベースに関する詳細については以下の記事を参照してください。

クライアントサイドバリデーションとの違い

このページでは、入力された文字数のチェックをサーバサイド(IM-LogicDesigner)で実装する例を紹介しています。一方、クライアントサイド(IM-BloomMaker)でバリデーションを実装することもできます。違いは以下のとおりです。

比較項目サーバサイドクライアントサイド
実装場所IM-LogicDesignerIM-BloomMaker
処理タイミングフロールーティング呼び出し時画面操作時(リアルタイム)
メリットセキュアな検証、複雑なロジックに対応しやすい即座なフィードバック、UX向上
適用場面データベース制約のチェックなど入力形式チェック、必須項目確認など
ヒント
  • クライアントサイドでのバリデーション実装例については、入力フォームの検証を参照してください。
  • サーバサイド処理を呼び出すこの連携パターンには、次のような特徴があります。画面とロジック処理を疎結合に保ちながら、柔軟な業務処理を実現できます。
    項目説明
    疎結合アーキテクチャ画面とロジック処理を分離することで、保守性と再利用性が高まる
    統一されたエラーハンドリングフロールーティング経由で一貫したエラー処理を実現できる
    セキュアな通信IMAuthenticationとセキュアトークンによる認証・認可機能を利用できる

サンプル資材

実装例のサンプルを用意しています。Accel Studioにインポートして内容を確認できます。

備考
  • リンクからZipファイルをダウンロードし、Accel Studioアプリケーション管理インポートの画面でインポートすると、Accel Studioアプリケーション管理アプリケーション一覧intra-mart Low-Code HANDBOOKに資材が表示されます。
  • サンプル資材は2026 Spring(Mimosa)の環境で作成しています。

実装イメージ

ロジックフローを作成する

入力された文字列の長さをチェックし、適切なメッセージを返すロジックフローを作成します。

  1. 入出力を定義する

  2. メッセージ組み立て用の定数を登録する

  3. 入力文字列の状態に応じてフローを分岐する

  • textが空だったら:${ isEmpty( $input.text ) }
  • textが21文字未満だったら:${ sizeOf( $input.text ) < 21 }
  1. 終了タスクでマッピング設定をして、正常時に返却するメッセージを組み立てる

    なお、エラーメッセージはエラー終了タスクで設定しています。

フロールーティングを作成する

作成したロジックフローを画面から呼び出せるよう、公開URLを作成します。

設定項目は以下のとおりです。

設定項目設定値補足
ルーティング{application_id}/{処理対象}命名ルールの例
メソッドGET または POST取得系はGET、更新系はPOST
認証方式IMAuthentication-
認可URI{ルーティング}-{メソッド}命名ルールの例
セキュアトークンチェックを入れるセキュリティ向上のため
レスポンス種別JSONに変換して返却-
警告

セキュアトークンは原則有効に設定してください。参照のみの処理でも、セキュリティの観点から有効にすることをおすすめします。

認可設定をする

作成したフロールーティングに対して、実行できるロールを認可設定します。

画面コンテンツを作成する

ロジックフローを呼び出し、結果を表示する画面コンテンツを作成します。

  1. 変数構造を定義する

    {
    "state": {
    "data": {
    "text": ""
    }
    },
    "endPoint": {
    "callFlowRoute": {
    "requestParameter": {
    "text": ""
    },
    "responseData": {
    "error": false,
    "errorMessage": "",
    "message": ""
    }
    }
    }
    }
  2. エレメントを配置する

  3. ボタンクリック時のアクション([event] 「LD呼び出し」がクリックされたとき)を設定する

  4. フロールーティング呼び出しのアクション(└ APIの実行)を設定する