この記事では、IM-BloomMakerのアクション設定から、IM-LogicDesignerで作成したビジネスロジックと連携する方法について紹介します。
IM-BloomMakerでは、エレメントにアクションを設定することで、IM-LogicDesignerで作成したビジネスロジックを呼び出せます。たとえば、画面から入力したデータを登録したり、データベースから取得したデータを画面に表示したりできます。
画面とビジネスロジックを連携するには、IM-BloomMaker(クライアントサイド)とIM-LogicDesigner(サーバーサイド)のそれぞれで設定が必要です。この記事では、両者の設定内容とデータの受け渡しについて、具体的な操作を確認していきます。
ビジネスロジックを呼び出すアクション
IM-BloomMakerには、REST APIを利用してIM-LogicDesignerで作成したビジネスロジックを呼び出すためのアクションが用意されています。
- 「IM-LogicDesigner フロールーティング〇にリクエストを送信する」
- 「URL〇にリクエストを送信する」
「IM-LogicDesigner フロールーティング〇にリクエストを送信する」は、IM-LogicDesignerで作成したロジックフローを呼び出すためのアクションです。「URL〇にリクエストを送信する」は、IM-LogicDesignerのロジックフローだけでなく、Web API Makerで作成したAPIや外部APIなど、任意のURLにリクエストを送信できます。
ここでは、それぞれのアクションの特徴と、クライアントサイド・サーバーサイドで必要な設定について説明します。
「IM-LogicDesigner フロールーティング〇にリクエストを送信する」
「IM-LogicDesigner フロールーティング〇にリクエストを送信する」は、IM-LogicDesignerで作成したロジックフローを呼び出すためのアクションです。[アクション]タブでは、[IM-LogicDesigner]部品に含まれています。

IM-LogicDesigner側(サーバーサイド)では、呼び出したいロジックフローにフロールーティング定義情報を設定します。フロールーティング定義情報には、ルーティングやHTTPメソッド、認可URIなどを設定します。HTTPメソッドには、GET・POST・PUT・DELETEなどを指定できます。使用するHTTPメソッドは、ロジックフローで行う処理に合わせて設定します。
IM-BloomMaker側(クライアントサイド)では、「IM-LogicDesigner フロールーティング〇にリクエストを送信する」アクションを配置し、呼び出したいロジックフローのルーティングを指定します。フロールーティング定義でHTTPメソッドを設定しているため、IM-BloomMaker側ではHTTPメソッドを設定する必要はありません。また、ロジックフローに渡すデータや、ロジックフローから受け取るデータがある場合は、それぞれ変数を設定します。
フロールーティングのリクエスト送信に関する仕様
「IM-LogicDesigner フロールーティング〇にリクエストを送信する」アクションの概要や設定方法について確認できます。
ローコード操作マニュアル - IM-BloomMakerのアクション > 外部処理呼び出し
「URL〇にリクエストを送信する」
「URL〇にリクエストを送信する」は、指定したURLにREST APIのリクエストを送信するための汎用的なアクションです。[アクション]タブでは、[標準]部品に含まれています。

サーバーサイドでは、IM-LogicDesignerで作成したロジックフローだけでなく、Web API Makerで作成したAPIや外部APIなどにも利用できます。
クライアントサイドでは、IM-BloomMakerで「URL〇にリクエストを送信する」というアクションを配置し、リクエストを送信するURL、HTTPメソッド、リクエストに渡すデータ、レスポンスを格納する変数などを設定します。HTTPメソッドには、GET・POST・PUT・DELETE・HEADを指定できます。指定できるHTTPメソッドや必要なパラメータは、呼び出すAPIの仕様に合わせて設定してください。
IM-LogicDesignerで作成したロジックフローを呼び出す場合も、「URL〇にリクエストを送信する」を利用できます。ただし、「IM-LogicDesigner フロールーティング〇にリクエストを送信する」を使用すれば、フロールーティングを選択するだけで呼び出し先を指定できるため、設定を簡略化できます。
URLのリクエスト送信に関する仕様
「URL〇にリクエストを送信する」アクションの概要や設定方法について確認できます。
ローコード操作マニュアル - IM-BloomMakerのアクション > 外部処理呼び出し
intra-mart上で使用できるWeb APIを作成する
Web APIとは、HTTPを介してデータをやり取りするためのAPIです。intra-mart Accel Platform上で使用できるWeb APIを作成するには、Web API Makerを利用します。
Web API Maker プログラミングガイド - 4. Web API Maker を利用したAPIの作成方法
画面とビジネスロジックの連携方法(操作手順)
ここでは、「IM-LogicDesigner フロールーティング〇にリクエストを送信する」というアクションを使用して、IM-BloomMakerで作成した画面とIM-LogicDesignerで作成したビジネスロジックを連携する方法について説明します。
IM-LogicDesignerの操作
IM-LogicDesignerで作成したロジックフローをREST APIから呼び出せるようにするため、フロールーティング定義情報を設定します。フロールーティング定義情報を設定した後、アプリケーションの利用者がビジネスロジックを実行できるように認可設定を行います。
ビジネスロジックの作成と入出力値の設定
画面と連携させるビジネスロジックを準備します。新規にロジックフローを作成する場合だけでなく、既存のロジックフローを使用する場合も連携できます。入出力値は、IM-BloomMaker側の変数設定と対応するため、この段階でデータ構造を整理しておくことをおすすめします。
[1] ビジネスロジックの作成と入出力値の設定例
チュートリアルガイドでは、具体的なアプリケーションを例に、画面とビジネスロジックを連携する一連の手順を確認できます。[1]では、IM-LogicDesignerを使ったビジネスロジックの作成方法や入出力値の設定について説明しています。入出力値はIM-BloomMaker側の変数設定に関係するため、事前に確認しておきましょう。
ローコード開発チュートリアルガイド - 5.2.2. アンケート一覧、登録処理の業務ロジックの作成
フロールーティング定義情報を設定する
作成したロジックフローをREST APIから呼び出せるようにするため、フロールーティング定義情報を設定します。フロールーティング定義情報では、ルーティング、HTTPメソッド、ルーティングの認証方法、認可URI、レスポンスなどを設定します。

設定するHTTPメソッドや認証方法によっては、IM-BloomMaker側でリクエストパラメータなどを適切に設定する必要があります。呼び出し元となる画面側の設定も考慮して、フロールーティングを設定しましょう。
[2] ルーティング定義情報の設定例
チュートリアルガイドでは、作成したビジネスロジックを外部から利用できるようにするため、URLを設定する手順について説明しています。
ローコード開発チュートリアルガイド - 5.2.3. 業務ロジックのURL設定
フロールーティングの認可設定を行う
ビジネスロジックを画面から実行できるようにするため、フロールーティングの認可設定を行います。フロールーティングの認可設定では、ルーティング定義情報に登録したURLに対するアクセス権限を設定します。アプリケーションの利用者に必要な権限が付与されていることを確認してください。

[3] フロールーティングの認可設定例
チュートリアルガイドでは、URLを設定したビジネスロジックを動作させるため、認可設定を行う手順について説明しています。
ローコード開発チュートリアルガイド - 4.4.4.3.1. 業務ロジックのURLの認可設定
❑ 操作に関連した資料
上記で説明したフロールーティング定義情報の設定について、詳しくはローコード操作マニュアルまたはIM-LogicDesigner仕様書で確認できます。ローコード操作マニュアルで設定手順を確認し、仕様書で各設定項目や動作仕様を確認すると、フロールーティングの仕組みをより理解しやすくなります。
フロールーティング定義の設定方法
IM-LogicDesignerで作成したロジックフローについて、フロールーティングの設定方法を説明しています。ルーティングの新規登録や編集、認可設定などの手順を確認できます。
フロールーティングの構成要素と動作仕様
IM-BloomMakerのアクション設定からフロールーティングの定義に一致するリクエストを受信した場合に、IM-LogicDesigner側で行われる処理について説明しています。REST API実行時のエラーやレスポンスについても確認できます。
IM-LogicDesigner 仕様書 - 4.3. フロールーティング
IM-BloomMakerの操作
IM-BloomMakerでアプリケーション画面を作成し、IM-LogicDesignerでフロールーティングを設定したビジネスロジックとデータを受け渡すため、変数とアクションを設定します。
基本情報を設定し、画面コンテンツを作成する
ビジネスロジックと連携する画面コンテンツを準備します。新規に画面を作成する場合だけでなく、既存の画面を使用する場合も連携できます。
[4] 画面コンテンツの作成例
チュートリアルガイドでは、ビジネスロジックと連携する前に、画面コンテンツを作成する手順について説明しています。
ローコード開発チュートリアルガイド - 5.2.4. アンケート一覧、登録画面の作成
REST APIに関する変数を設定する
アプリケーション画面からREST APIを通してビジネスロジックを呼び出す場合は、リクエストやレスポンスで受け渡すデータに対応する変数を設定します。IM-BloomMaker側の変数は、IM-LogicDesigner側の入力値・出力値とデータ構造を合わせて設定することが重要です。データ型や配列の次元数などが一致していない場合、意図したデータを受け渡せないことがあります。
リクエスト送信時のデータを変数として設定する
クライアントサイドからリクエストを送信するときに使用する変数を設定します。IM-BloomMakerの変数は、IM-LogicDesignerの入力値と同じデータ構造にします。データ型や配列の次元数などを揃えておくことで、ロジックフローに必要なデータを正しく渡すことができます。

レスポンス返却時のデータを変数として設定する
ロジックフローから返却されたデータを格納する変数を設定します。IM-BloomMakerの変数は、IM-LogicDesignerの出力値と同じデータ構造にします。データ型や配列の次元数などを揃えておくことで、ロジックフローから返却されたデータを正しく受け取ることができます。

[5] 変数の設定例
チュートリアルガイドでは、画面で使用する変数の設定手順について説明しています。リクエスト送信時のデータにはenqueteInfoという変数を作成し、レスポンス返却時のデータにはresponseDataという変数を作成しています。
ローコード開発チュートリアルガイド - 5.2.4.3. 変数の設定
❑ 操作に関連した資料
上記で説明した変数の設定方法について、詳しくはローコード操作マニュアルで確認できます。IM-BloomMakerでは、JSONエディタを使用して複数の変数をまとめて設定することもできます。また、入力内容に応じてデータ型が自動的に変換される場合があるため、REST APIでデータを受け渡す場合は、意図したデータ型になっているか確認してください。
変数の設定方法
IM-BloomMakerで作成した画面の変数設定について説明しています。REST APIでデータを受け渡す際に重要となるデータ型や配列の次元数、要素数などについても確認できます。
変数のデータ型の自動変換
JSONエディタでのデータ型の自動変換について説明しています。REST APIでデータを受け渡す場合は、高精度小数や日付・時刻の変数など、変換によって意図しないデータ型にならないよう注意してください。
ローコード操作マニュアル - 画面変数の編集 > IM-BloomMakerにおける特殊型の扱いと自動変換
リクエスト送信に関するアクションを設定する
変数を準備したら、画面にアクションを設定します。ここでは、フロールーティング定義情報を設定したビジネスロジックと連携するため、「IM-LogicDesigner フロールーティング〇にリクエストを送信する」アクションを使用します。〇には、フロールーティング定義情報で設定したルーティングを指定します。
リクエスト送信時の変数を設定する
リクエストに含めるデータを、リクエストパラメータとして設定します。これにより、IM-BloomMakerからIM-LogicDesignerのロジックフローに入力データを渡せます。IM-BloomMakerの変数をIM-LogicDesignerの入力値と同じデータ構造にしているため、ロジックフローで必要なデータを受け取ることができます。

[6] アクションの設定例(リクエスト送信)
チュートリアルガイドでは、リクエスト送信時のデータに対応するenqueteInfoという変数をリクエストパラメータに設定しています。
ローコード開発チュートリアルガイド - 5.2.4.3. 変数の設定
❑ 操作に関連した資料
上記で説明したIM-BloomMaker側の変数設定と、IM-LogicDesigner側で受け取る入力データの関係について、仕様書で確認できます。IM-BloomMakerとIM-LogicDesignerの両方の仕様を理解しておくことで、REST API実行時のエラー発生を防ぐことができます。
ロジックフローに送信される入力データ
IM-BloomMakerから送信したデータが、IM-LogicDesignerのロジックフローでどのような形式の入力データとして扱われるのかを確認できます。
IM-LogicDesigner 仕様書 - 4.3.7. ロジックフローへの入力データの構築
レスポンス返却時の変数を設定する
ロジックフローから返却されるデータを格納する変数を、レスポンスデータとして設定します。これにより、IM-LogicDesignerのロジックフローからIM-BloomMakerの画面へ出力データを渡せます。IM-BloomMakerの変数をIM-LogicDesignerの出力値と同じデータ構造にしているため、ロジックフローの実行結果を受け取ることができます。

[7] アクションの設定例(レスポンス返却)
チュートリアルガイドでは、レスポンス返却時のデータに対応するresponseDataという変数をレスポンスデータに設定しています。
ローコード開発チュートリアルガイド - 5.2.4.4.1. 一覧画面のアクションの作成
❑ 操作に関連した資料
上記で説明したIM-BloomMaker側のレスポンスデータと、IM-LogicDesigner側から返却される出力データの関係について、仕様書で確認できます。IM-BloomMakerとIM-LogicDesignerの両方の仕様を理解しておくことで、REST API実行時のエラー発生を防ぐことができます。
ロジックフローから返却される出力データ
ロジックフローの実行後、IM-LogicDesignerからどのような形式で出力データが返却されるのかを確認できます。Contents-Typeで返却する場合は、ルーティング定義情報のレスポンスヘッダに指定することも可能です。
IM-LogicDesigner 仕様書 - 4.3.9. ロジックフローの出力データの返却
画面とビジネスロジックの連携例
画面とビジネスロジックの基本的な連携方法を確認したところで、実際にアプリケーションを作成してみましょう。ここでは、「IM-LogicDesigner フロールーティング〇にリクエストを送信する」アクションを使用した連携例を紹介します。CookBookを参考に、IM-BloomMakerとIM-LogicDesignerの設定を一通り確認できます。
(1) ファイルをダウンロードする
画面からPDFをダウンロードするアプリケーションを作成してみましょう。PDFをパブリックストレージに配置した後、IM-LogicDesignerでPDFをダウンロードするロジックフローを作成し、IM-BloomMakerでダウンロード画面を作成します。この例では、REST APIで値を受け渡す必要がないため、入出力値や変数を設定せずに連携できます。また、「URL〇にリクエストを送信する」アクションを使用する方法についても説明しています。2種類のアクションの設定方法を比較しながら確認してみましょう。
CookBook - IM-BloomMaker ストレージ上のファイルをダウンロードする方法
(2) 入力内容をもとにファイルをダウンロードする
画面に入力した請求書の内容をもとに、Excel形式のファイルをダウンロードするアプリケーションを作成してみましょう。請求書のテンプレートをパブリックストレージに配置した後、IM-LogicDesignerでExcelファイルを作成・ダウンロードするロジックフローを作成し、IM-BloomMakerで入力・ダウンロード画面を作成します。リクエストとレスポンスで受け渡すデータを確認しながら、入出力値や変数を設定してみましょう。
CookBook - IM-BloomMakerとIM-LogicDesignerを組み合わせて、請求書をExcelでダウンロードする方法
(3) アップロードしたファイルをダウンロードする
登録画面からアップロードしたファイルを、一覧画面からダウンロードするアプリケーションを作成してみましょう。アプリケーションのデータを保存するため、データベースにテーブルを作成した後、IM-LogicDesignerで登録・一覧処理のロジックフローを作成し、IM-BloomMakerで登録・一覧画面を作成します。データベースへの登録や一覧取得など、IM-LogicDesignerとIM-BloomMakerを組み合わせたアプリケーションの構築方法を確認できます。
CookBook - IM-BloomMaker 「ファイルアップロード」エレメントの利用方法
まとめ
IM-BloomMakerでは、エレメントにアクションを設定することで、intra-martのさまざまなツールや機能と連携できます。IM-LogicDesignerで作成したビジネスロジックと連携する場合は、フロールーティングの設定や認可設定に加えて、IM-BloomMaker側でリクエスト・レスポンスに使用する変数とアクションを設定します。特に、IM-BloomMakerの変数とIM-LogicDesignerの入出力値のデータ構造を合わせることが、REST APIでデータを受け渡す際の重要なポイントです。
画面側とビジネスロジック側のそれぞれの役割を理解し、必要な設定を順番に確認しながら、アプリケーションを作成してみましょう。
intra-martでは、IM-BloomMakerをもっと知っていただくために、マニュアルやコンテンツなどを豊富にご用意しています。IM-BloomMakerの機能を最大限に発揮させるためにも、ぜひご活用ください。
