アクション設定でビジネスロジックと連携したい 

この記事では、アクション設定におけるビジネスロジックとの連携方法について紹介します。
IM-BloomMakerでは、エレメントにアクションを設定するだけで、intra-martの各ツールや機能と簡単に連携できます。IM-LogicDesignerで作成したビジネスロジックと連携すると、業務データの取得や書き込みなどを行う画面を構築できます。IM-BloomMakerとIM-LogicDesignerでそれぞれ設定が必要となるため、その操作方法について確認してみましょう。

ビジネスロジックを呼び出すアクション

IM-BloomMakerには、REST APIを利用してIM-LogicDesignerで作成したビジネスロジックを呼び出すための2種類のアクションが用意されています。

  • 「IM-LogicDesigner フロールーティング〇にリクエストを送信する」
  • 「URL〇にリクエストを送信する」

「IM-LogicDesigner フロールーティング〇にリクエストを送信する」はIM-LogicDesigner専用で、作成したロジックフローに対してリクエストを送信するために使用します。「URL〇にリクエストを送信する」は、IM-LogicDesigner以外のAPIも含め、汎用的にリクエストを送信することが可能です。

ここでは、それぞれのアクションについて、クライアントサイドとサーバーサイドの動作を含めて詳しく紹介していきます。

「IM-LogicDesigner フロールーティング〇にリクエストを送信する」

「IM-LogicDesigner フロールーティング〇にリクエストを送信する」は、IM-LogicDesignerで作成したビジネスロジックを呼び出すときのみに使用するアクションです。「アクション」タブでは、「IM-LogicDesigner」部品に含まれています。

サーバーサイドでは、IM-LogicDesignerで呼び出したいロジックフローにルーティング定義情報(ルーティング・メソッド・認可URIなど)を設定します。ここで選択できるメソッドは、GET:データの取得、POST:データの送信(新規作成や登録など)、PUT:データの送信(更新)、DELETE:データの削除の4種類です。

クライアントサイドでは、IM-BloomMaterで「IM-LogicDesigner フロールーティング〇にリクエストを送信する」というアクションを配置し、呼び出したいロジックフローのルーティングを指定します。すでにIM-LogicDesignerでルーティング定義情報を設定しているため、IM-BloomMakerのアクション設定ではメソッドを設定する必要がありません。また、IM-LogicDesignerからの出力値を受け取るため、IM-BloomMakerに変数を設定します。

「URL〇にリクエストを送信する」

「URL〇にリクエストを送信する」は、IM-LogicDesignerで作成したロジックフローのルーティング(URL)を指定するだけでなく、intra-martのツールであるWeb API Makerで作成した独自のURLや外部に公開されている任意のURLなどを指定するときにも使用できるアクションです。「アクション」タブでは、「標準」部品に含まれています。

サーバーサイドでは、IM-LogicDesignerのロジックフローを呼び出すためのルーティング定義情報の設定のほか、Web API Makerで作成した独自のAPIや外部に公開されている任意のAPIを準備します。ここで設定できるメソッドについては、各APIの仕様を確認してください。

クライアントサイドでは、IM-BloomMakerで「URL〇にリクエストを送信する」というアクションを配置し、REST APIに渡す値となるURLを変数で指定します。また、REST APIからの戻り値を格納する変数も指定します。アクション設定で選択できるメソッドは、GET:データの取得、POST:データの送信(新規作成や登録など)、PUT:データの送信(更新)、DELETE:データの削除、HEAD:データのヘッダの取得の5種類です。サーバーサイドで設定したメソッドと同じメソッドを選択します。

IM-LogicDesignerで作成したロジックフローを呼び出したい場合、「URL〇にリクエストを送信する」というアクションでも同じように設定ができますが、「IM-LogicDesignerフロールーティング〇にリクエストを送信する」というアクションを使用することで、設定項目が少なくなるため、より簡単に設定できます。

画面とビジネスロジックの連携方法(操作手順)

ここでは、「IM-LogicDesigner フロールーティング〇にリクエストを送信する」というアクションを使用して、IM-BloomMakerで作成した画面とIM-LogicDesignerで作成したビジネスロジックを連携する方法について紹介します。

  IM-LogicDesignerの操作

IM-LogicDesignerで作成したロジックフローをREST APIから呼び出すため、URLなどのルーティング定義情報を設定します。ルーティング定義情報を設定した後、アプリケーションの利用者となるユーザ権限でビジネスロジックが実行できるように認可設定を行います。

ビジネスロジックの作成と入出力値の設定

画面と連携させるビジネスロジックを準備します。新規でロジックフローを作成する場合でも、既存のロジックフローを使用する場合でも、連携は可能です。入出力値の設定は、IM-BloomMakerの変数設定と関連があるため、この時点でデータ構造を整理しておくことをおすすめします。

フロールーティング定義情報を設定する

作成したロジックフローをREST APIから呼び出すため、URLなどのルーティング定義情報を設定します。ルーティング定義情報では、ルーティングを呼び出す際に必要なURLやHTTPメソッド、ルーティングの認証方法、IM-Authzによる認可判断を行うための認可URI、ルーティングを実行した際に必要なレスポンスに関する設定などをそれぞれ入力します。

ここで設定したHTTPメソッドやルーティングの認証方法によっては、IM-BloomMakerのアクション設定で正しいリクエストパラメータを設定するなどの注意が必要となります。

フロールーティングの認可設定を行う

ビジネスロジックが適切に動作するように、フロールーティングの認可設定を行います。フロールーティングの認可設定は、ルーティング定義情報に登録したURLに対するアクセス権限を制御し、許可または禁止するために設定します。

❑ 操作に関連した資料


上記で説明したルーティング定義情報の設定手順について、詳しくはIM-LogicDesignerのユーザ操作ガイドと仕様書でそれぞれ確認できます。ユーザ操作ガイドでフロールーティング定義の各設定項目についての概要を確認し、さらに仕様書で各設定項目の詳細を照らし合わせながら確認することで理解が深まります。

IM-BloomMakerの操作

IM-BloomMakerでアプリケーション画面を作成し、IM-LogicDesignerでルーティング定義を設定したビジネスロジックとデータの受け渡しをするために、変数やアクションを設定します。

基本情報を設定し、画面コンテンツを作成する

ビジネスロジックと連携させる画面コンテンツを準備します。新規で画面を作成する場合でも、既存の画面を使用する場合でも、連携は可能です。

REST APIに関する変数を設定する

アプリケーション画面からREST APIを通してビジネスロジックを呼び出す際は、データを識別できるように一意(ユニーク)な情報を保持するための変数を設定します。クライアントサイドからリクエストを送信する際は、パラメータやデータを変数として指定します。これらの変数はサーバーサイドで処理され、レスポンスが返却される際にも同様に変数としてデータを受け取ります。IM-BloomMakerでは、このようなデータの受け渡しを考慮して、適切に変数を設定することが大切です。

リクエスト送信時のデータを変数として設定する

クライアントサイドからリクエストを送信するデータを変数として設定します。クライアントサイドとサーバーサイド間のデータの整合性を保つために、IM-BloomMakerの変数をIM-LogicDesignerの入力値と同じ構造にし、データ型や配列の次元数を揃えます。変数と入力値のデータ構造が一致していないと、エラーが発生する可能性があります。

レスポンス返却時のデータを変数として設定する

サーバーサイドから返却されるデータを変数として設定します。クライアントサイドとサーバーサイド間のデータの整合性を保つために、IM-BloomMakerの変数をIM-LogicDesigner からの出力値と同じ構造にし、データ型や配列の次元数を揃えます。変数と出力値のデータ構造が一致していないと、データの欠損やエラーが発生する可能性があります。

❑ 操作に関連した資料


上記で説明した変数の設定手順について、詳しくはIM-BloomMakerのユーザ操作ガイドで確認できます。IM-BloomMakerでは、JSONエディタを用いて、まとめて変数を作成できます。その際には、入力に応じて、自動で型変換が行われます。また、外部のAPIなどとのやり取りについても、自動で型変換が行われる場合があります。意図しないデータ型に変換されていないかを確認してください。

リクエスト送信に関するアクションを設定する

変数の準備ができたら、画面にアクションを設定します。ここでは、ルーティング定義情報を設定したビジネスロジックと連携させるため、「IM-LogicDesigner フロールーティング〇にリクエストを送信する」というアクションを使用します。〇には、ルーティング定義情報で設定したルーティング(URL)を選択します。

リクエスト送信時の変数を設定する

リクエスト送信時に使用する変数をリクエストパラメータとして設定します。これにより、クライアントサイドからサーバーサイドにあるロジックフローに入力データが送信されます。IM-BloomMakerの変数は、IM-LogicDesignerの入力値と同じ構造にしているため、ロジックフローの実行に必要な入力データを問題なく受け取ることができます。

❑ 操作に関連した資料


上記で説明したIM-BloomMaker側の変数設定に関連して、IM-LogicDesigner側でどのような処理が行われるかを仕様書で確認することをおすすめします。IM-BloomMakerとIM-LogicDesignerの両方の仕様を理解しておくことで、REST API実行時のエラー発生を防ぐことができます。

レスポンス返却時の変数を設定する

レスポンス返却時に格納する変数をレスポンスデータとして設定します。これにより、サーバサイドにあるロジックフローからクライアントサイドに対して出力値が返却されます。IM-BloomMakerの変数は、IM-LogicDesignerの出力値と同じ構造にしているため、ロジックフローの実行後の出力データを問題なく受け取ることができます。

❑ 操作に関連した資料


上記で説明したIM-BloomMaker側の変数設定に関連して、IM-LogicDesigner側でどのような処理が行われるかを仕様書で確認することをおすすめします。IM-BloomMakerとIM-LogicDesignerの両方の仕様を理解しておくことで、REST API実行時のエラー発生を防ぐことができます。

画面とビジネスロジックの連携例

画面とビジネスロジックの連携について基本的な流れを理解したところで、実際にアプリケーションを作成してみましょう。

ここでは、「IM-LogicDesigner フロールーティング〇にリクエストを送信する」というアクションを使用した連携例について、いくつか紹介します。CookBookを見ながら、画面とビジネスロジックの操作の流れを一通り確認できます。

まとめ

IM-BloomMakerでは、エレメントにアクションを設定するだけで、intra-martの各種ツールや機能と簡単に連携できます。REST APIの利用にあたっては、クライアントサイドのIM-BloomMakerで作成した画面と、サーバーサイドのIM-LogicDesignerで作成したビジネスロジックの間で、どのようなデータのやり取りが行われるのかを理解しておくことをおすすめします。

intra-martでは、IM-BloomMakerをもっと知っていただくために、マニュアルやコンテンツなどを豊富にご用意しています。IM-BloomMakerの機能を最大限に発揮させるためにも、ぜひご活用ください。