intra-mart Accel Platform IM-共通マスタ 拡張プログラミングガイド 第2版 2015-08-01

2. IM-共通マスタの拡張について

IM-共通マスタは以下の下記の3つの方法で拡張することが出来るようになっています。

  • APIのリスナー
    IM-共通マスタのAPIには登録や更新などのイベントが発生したタイミングに同期して処理を実行するリスナーを任意の数だけ定義することが出来ます。
    リスナーを使用することでIM-共通マスタに対して更新や削除が実行されたタイミングで、独自の操作や制御を追加することができるようになっています。
    トランザクションは一括して管理されますので、リスナーの処理を含めて成功しなければコミットされません。
  • IM-共通マスタ メンテナンス画面のタブ
    IM-共通マスタメンテナンスの編集画面にはタブ型のインタフェースがありますが、拡張情報を編集する画面を新たなタブとして追加することが出来ます。
    これにより拡張情報のテーブルを追加し、IM-共通マスタの編集と同時に更新することが出来るようになっています。
    検索画面でも同様に、検索用のタブを追加することが出来ます。
  • 共通検索画面のタブ
    マスタメンテナンス同様、共通検索画面にもタブインターフェースがあり、検索処理を追加する事ができます。
    独自の検索処理を追加のタブとして実装する事で統合された操作を実現しやすくなります。

本ガイドでは上記の拡張それぞれの作成方法を説明します。

2.1. 前提となる知識

本ドキュメントではIM-共通マスタで実際に提供している機能を元に、サンプルとなるコードを提示して実装方法を説明しています。
その前提として、APIのリスナーを作成する際には一般的なJavaの知識、また画面のタブ拡張を作成する際にはスクリプト開発モデルについての知識が必要になります。
その他の技術的な要素として、PluginManagerとim-JSPackmanについての知識が必要になりますが、これらについて本ガイドでは詳細に解説していません。適時、次に上げるドキュメントを参照して下さい。

2.1.1. Plugin Manager

IM-共通マスタのマスタメンテナンス画面やAPIはプラグインという形で機能を拡張できるようになっています。
プラグインを追加する場合には、拡張ポイントに応じた内容でプラグインの実装を作成し、対象の拡張ポイントへPluginするための設定ファイルを記述します。
拡張ポイントと、プラグインの関係はPlugin Managerによって管理されます。
PluginManagerは同じ拡張ポイントへの拡張に競合などがあった際は優先度の高いプラグインを自動的に選択します。
IM-共通マスタのマスタメンテナンス画面やAPIの拡張を作成する際、PluginManagerについて理解しておく必要があります。
Plugin Managerの詳細についてはAPIリストのPlugin Managerについての項を参照してください。

2.1.2. im-JSPackman

im-JSPackmanは弊社で開発されたクライアントサイドJavascriptのフレームワークです。
im-JSPackmanを利用する事によってクライアントサイドJavascrtiptのクラス化・パッケージ管理が可能になります。
plugin構造という方針をとるにあたりim-JSPackmanを使用する事によりplugin間での実装の衝突の回避や、依存関係の明確化を図っています。


2.2. 表記について

本ガイドの中で、環境や実装によって変わる記述について以下のような表記を用いています。
それぞれインストールした環境や、作成した実装に読み替えてください。
表記 意味
%plugin_id% プラグインのID。プラグイン実装者が定義する値です