1. メタデータとは
iPLAss上で管理するデータは「エンティティ」と呼称します。エンティティはRDB上でのテーブルと同義のものです。エンティティは「プロパティ(属性)」を持ちます。プロパティはRDB上でのカラムと同義のものです。 エンティティの定義は、アプリケーションの管理者がWebブラウザ上から設定することが可能です。 また、定義されたエンティティをどのように画面に表示するか(入力フィールドなのか、プルダウンなのか、項目並び順、表示有無など)も設定可能です。 設定した定義内容は即座にアプリケーションに反映されます。
iPLAss上では、これら、アプリケーションで扱うデータや振る舞いを定義する設定情報を「メタデータ」と呼称します。
メタデータにはエンティティ定義以外にもいくつかの種類が存在します。 これらメタデータを管理する機能、Webコンソール(AdminConsole)を提供します。
メタデータは、テナント単位で異なった設定を適用可能です。
2. メタデータの管理方式
メタデータはいくつかの形式で管理、保存することが可能です。
メタデータをAdminConsoleにて管理する方式です。 AdminConsoleにて変更したメタデータの変更内容は即座にアプリケーションに反映されます。 AdminConsole経由で保存されたメタデータは、データベースに(もしくはgit等のバージョン管理システムを利用する場合は、開発者端末のローカルファイルに)保存されます。
メタデータをxml形式のファイルに記述し、iPLAssベースのWebアプリケーション(war)に含め配布(デプロイ)することが可能です。
カスタム開発ではJavaによるコーディングを行うことが可能ですが、これらカスタムコードに密接に関連するメタデータは、Javaコード上にアノテーションで記述することが可能です。
TypedDefinitionManagerを継承した各メタデータ用のインタフェースを利用して、Javaコードから直接メタデータを変更することが可能です。詳細はTypedDefinitionManager を参照してください。
3. メタデータの種類
以下にiPLAss上で管理されるメタデータの例を示します。
メタデータ | 説明 |
---|---|
エンティティ定義 |
エンティティとそのプロパティ(属性)を定義します。 エンティティに定義されるプロパティのデータ型や制約、またエンティティ間のリファレンス(参照)を定義することが可能です。 |
エンティティビュー定義 |
エンティティの画面表示の仕方を定義します。 検索画面や更新画面に表示する項目、またその表示形式(テキストフィールド、ラジオボタンなど)を指定することが可能です。 また、エンティティをカレンダー上にマップしたり、ツリー形式で表示させたり、いくつかの画面パターンを定義することができます。 |
認証ポリシー定義 |
パスワードの有効期限、複雑度、二段階認証の有無、SAML利用有無など、ユーザー認証の方法やそのポリシーを定義します。 |
集計定義 |
エンティティのデータ集計方法を定義します。 集計したデータのグラフ表示有無、またグラフ種類、フィルター項目などの定義が可能です。 集計定義には、「定型集計」、エンドユーザーが自由に集計項目を指定可能な「汎用検索」、「簡易BI」など、いくつかの種類があります。 また、いくつかの集計定義をまとめて表示するダッシュボードを定義可能です。 |
メールテンプレート定義 |
パスワードリセット時の通知メールなどのiPLAssが送信するメール、またカスタム処理が送信するメールのテンプレートを定義可能です。テンプレート文面にユーザー情報などの埋め込みが可能です。 |
トップビュー定義 |
ログイン後のTop画面に表示する内容などを定義します。 |
メニュー定義 |
メニューに表示する項目を定義します。 |
WebApi定義 |
カスタムロジックを実行するWebApiの定義および、そのカスタムロジックを定義します。 |
テンプレート定義 |
カスタムで作成された画面の定義、およびその画面生成ロジックを定義します。 テンプレート定義にはいくつかの種類があります。JSPをテンプレートとして指定したり、Groovy Template形式で直接ロジックを記述したりすることが可能です。 |
これらのメタデータをAdminConsole上(もしくは、xmlファイル、アノテーション、ソースコード)で設定していくことにより、少ないコード量によるアプリケーション構築を可能にしています。
それぞれのメタデータの詳細、またその他のメタデータは個別の機能の説明を参照してください。