この記事は、EWS 2017で行われたLogicDesignerの講演内容に関する記事です。
こちらの例では、LogicDesignerからIM-FormaDesigner / IM-BIS / IMBoxを連携し、外部サイトの更新情報の通知を管理する仕組みを実現しています。
intra-mart 社内では、職場近隣の弁当配達業者のメニュー通知やAccel Platform等で利用しているサードパーティライブラリのバージョンアップ監視に利用しています。
以下に掲載するサンプルでは、サードパーティライブラリの監視の仕組みを実現するロジックフローをインポートして利用できます。
前提条件
このサンプルの利用には以下の前提条件があります。
- IM-LogicDesigner 2017 Summer以降のバージョンであること
- サンプルデータのインポートが行われていること
- 対象の環境に以下の製品・機能が導入済みであること
- IMBox
- IM-FormaDesigner for Accel Platform
- IM-BIS for Accel Platform
サンプル
以下のサンプルをダウンロードしてご利用ください。
- ロジックフロー定義 / 関連する定義 : [im_logicdesigner-ews_2017_3.zip]
- LogicDesignerのインポート機能からインポートしてください。サンプルのユーザ定義、ロジックフローが登録されます。
- 手順の詳細は以下のドキュメントをご覧ください。
[IM-LogicDesigner ユーザ操作ガイド] - [インポートを行う]
この実用例では以下に示す多くのユーザ定義・ロジックフローを組み合わせてバージョン管理の仕組みを実現しています。
サンプルに含まれる定義情報は以下の表のとおりです。
種類 | 定義名 | 補足説明 |
---|---|---|
ユーザ定義(JavaScript) | サードパーティライブラリ監視 定数の定義 | サードパーティライブラリを監視する仕組みで定数として保持している情報をまとめたユーザ定義です。 |
ユーザ定義(JavaScript) | 監視失敗エラー通知メッセージの組み立て | サードパーティライブラリの監視のロジックフロー実行時にエラーが発生した場合のエラーメッセージを編集するためのユーザ定義です。 |
ユーザ定義(sql) | サードパーティライブラリ情報 DELETE | サードパーティライブラリの監視対象テーブルから対象を削除するユーザ定義です。 |
ユーザ定義(rest) | HTML取得 | RESTを利用してサードパーティライブラリのバージョン情報を取得するユーザ定義です。 |
ユーザ定義(sql) | サードパーティライブラリ情報 INSERT | サードパーティライブラリの監視対象テーブルに対象を追加するユーザ定義です。 |
ユーザ定義(JavaScript) | 文字列抜き出し | 「HTML取得」で取得した情報からバージョン番号を抽出するユーザ定義です。 |
ユーザ定義(sql) | サードパーティライブラリ情報 SELECT | サードパーティライブラリの監視対象テーブルから対象を取得するユーザ定義です。 |
ユーザ定義(sql) | サードパーティライブラリ情報 UPDATE | サードパーティライブラリのバージョンアップ時に、監視対象テーブルの情報を更新するユーザ定義です。 |
ロジックフロー | 監視対象ライブラリの新規追加 | サードパーティライブラリの監視対象を登録するためのロジックフローです。 |
ロジックフロー | ライブラリ1件のアップデート監視 | サードパーティライブラリの監視対象の1つに対してバージョン監視処理を実行するためのロジックフローです。 |
ロジックフロー | 全ライブラリのアップデート監視 | サードパーティライブラリの監視対象すべてに対してバージョン監視処理を実行するためのロジックフローです。 |
ロジックフロー | サードパーティライブラリ情報 DELETE | サードパーティライブラリの監視対象の情報を削除するためのロジックフローです。 |
ロジックフロー | ライブラリのバージョン取得 | 監視対象のサードパーティライブラリのバージョンを取得するためのロジックフローです。 |
ロジックフロー | サードパーティライブラリ情報 SELECT | サードパーティライブラリの監視対象の情報を取得するためのロジックフローです。 |
ロジックフロー | サードパーティライブラリ情報 UPDATE | サードパーティライブラリの監視対象の情報を更新するためのロジックフローです。 |
- IM-FormaDesigner アプリケーション定義インポート : [im_forma-ews_2017_3_edit.zip] / [im_forma-ews_2017_3_list.zip]
- IM-FormaDesignerの アプリケーション定義のインポート機能からインポートしてください。サンプルのアプリケーション定義が登録されます。
- 手順の詳細は以下のドキュメントをご覧ください。
[IM-FormaDesigner 作成者 操作ガイド] - [インポート・エクスポートを利用した IM-FormaDesigner のアプリケーションやデータソース定義の移行]
サンプルに含まれる定義情報は以下の表のとおりです。
種類 | 定義名 | 補足説明 |
---|---|---|
アプリケーション定義 | 【tplc】サードパーティライブラリ情報編集 | サードパーティライブラリの監視対象の情報を登録する画面(アプリケーション)です。 |
アプリケーション定義 | 【tplc】監視対象サードパーティライブラリ一覧 | サードパーティライブラリの監視対象を一覧で確認するための画面(アプリケーション)です。 |
- IM-BIS データソース定義インポート : [im_bis_datasource-ews_2017_3.zip]
- IM-BISの データソース定義のインポート機能からインポートしてください。サンプルのデータソース定義が登録されます。
- 手順の詳細は以下のドキュメントをご覧ください。
[IM-BIS システム管理者 操作ガイド] - [データソース定義をインポートする]
サンプルに含まれる定義情報は以下の表のとおりです。
種類 | 定義名 | 補足説明 |
---|---|---|
データソース定義(LogicDesigner) | 【tplc】サードパーティライブラリ情報 DELETE | 「【tplc】サードパーティライブラリ情報編集」からロジックフロー「サードパーティライブラリ情報 DELETE」を実行するためのデータソース定義です。 |
データソース定義(LogicDesigner) | 【tplc】サードパーティライブラリ情報 SELECT | 「【tplc】サードパーティライブラリ情報編集」・「【tplc】監視対象サードパーティライブラリ一覧」からロジックフロー「サードパーティライブラリ情報 DELETE」を実行するためのデータソース定義です。 |
データソース定義(LogicDesigner) | 【tplc】サードパーティライブラリ情報 UPDATE | 「【tplc】サードパーティライブラリ情報編集」からロジックフロー「サードパーティライブラリ情報 DELETE」を実行するためのデータソース定義です。 |
データソース定義(LogicDesigner) | 【tplc】ライブラリ1件のアップデート監視 | 「【tplc】監視対象サードパーティライブラリ一覧」からロジックフロー「サードパーティライブラリ情報 DELETE」を実行するためのデータソース定義です。 |
データソース定義(LogicDesigner) | 【tplc】ライブラリのバージョン取得 | 「【tplc】サードパーティライブラリ情報編集」からロジックフロー「サードパーティライブラリ情報 DELETE」を実行するためのデータソース定義です。 |
データソース定義(LogicDesigner) | 【tplc】監視対象サードパーティライブラリ新規登録 | 「【tplc】サードパーティライブラリ情報編集」からロジックフロー「サードパーティライブラリ情報 DELETE」を実行するためのデータソース定義です。 |
データソース定義(LogicDesigner) | 【tplc】全ライブラリのアップデート監視 | 「【tplc】監視対象サードパーティライブラリ一覧」からロジックフロー「サードパーティライブラリ情報 DELETE」を実行するためのデータソース定義です。 |
- データベース操作によるテーブルの作成・データ投入 : [file-ews_2017_3.zip]
- システム管理者、またはテナント管理者によるデータベース操作のSQLファイルのインポートにより実行してください。監視対象のデータ管理テーブル、サンプルとしてResin Proの監視対象データが登録されます。
- 手順の詳細は以下のドキュメントをご覧ください。
[システム管理者操作ガイド] - [データベース操作]
サンプルに含まれるSQLファイルは以下の表のとおりです。
種類 | 定義名 | 補足説明 |
---|---|---|
SQL(DDL) | DDL_postgres.sql | サードパーティライブラリの監視対象を管理するテーブルです。PostgreSQL向けに設定されているため、他のデータベースサーバの場合には適宜必要な変更を実施してください。 |
SQL(DML) | DML_postgres.sql | サードパーティライブラリの監視対象を管理するテーブルにサンプルデータを投入します。PostgreSQL向けに設定されているため、他のデータベースサーバの場合には適宜必要な変更を実施してください。 |
サンプルは、intra-mart Accel Platform(Advanced) 2017 Summer(8.0.17), IM-FormaDesigner 2017 Summer(8.0.16),IM-BIS 2017 Summer(8.0.14)で動作確認を行っています。
実行時の事前準備
- IMBoxでロジックフロー「ライブラリ1件のアップデート監視」・「全ライブラリのアップデート監視」で取得したバージョンアップ情報の投稿先グループを作成し、IMBoxグループIDを確認してください。
該当のグループにロジックフローによるサードパーティライブラリの監視処理にエラーが発生した場合のメッセージの投稿先の記事(スレッド)を作成し、スレッドIDを確認してください。
※スレッドIDは、スレッドを単独で表示した際のURL(http://127.0.0.1:8080/imart/imbox/unitbox/%BOX_CODE%/%THREAD_ID%
) で最後の部分が該当します。
スレッドIDについては[IMBox 仕様書]-[スレッドIDの設定]を参照してください。 - ユーザ定義「サードパーティライブラリ監視 定数の定義」のスクリプト内の値を上の手順で確認した情報に変更してください。
iap_info配下のURLについても実行しているサーバに合わせて適宜修正してください。 - 以下のアプリケーションの権限設定・メニュー設定を行い、各アプリケーションの登録画面をメニューから表示できるようにしてください。
手順の詳細は[IM-FormaDesigner 作成者 操作ガイド]を参照してください。
後の実行方法では、ユーザ「青柳辰巳」に権限「登録可能」を付与し、メニューグループ「Formaアプリ」に対して「登録画面メニュー設定」を行っています。
* 【tplc】サードパーティライブラリ情報編集
* 【tplc】監視対象サードパーティライブラリ一覧
実行方法
サードパーティライブラリの監視対象の追加
- 青柳辰巳でログイン後、メニューに登録した「【tplc】サードパーティライブラリ情報編集」を表示してください。
- 各項目の横の説明を参考にして必要事項を入力してください。
- 「テスト実行」をクリックすると、入力したライブラリのバージョン情報が取得され、「テスト実行結果」に最新バージョンが表示されることが確認できます。
- 「新規登録」をクリックすると入力内容を監視対象のサードパーティライブラリとして登録できます。