はじめてのIM-Repository

この記事では、intra-martのローコード開発ツールであるIM-Repositoryについて紹介します。
IM-Repositoryは、SQLでデータベースを操作しなくても、Webブラウザ上で簡単にデータベースを作成・管理できるツールです。まずは、IM-Repositoryがどのようなツールなのかについて、理解を深めていきましょう。

IM-Repositoryの機能

IM-Repositoryは、データベースのテーブルやそれに紐づくカラムなどの情報をWeb上で定義し、intra-mart上で統合的に管理するためのツールです。IM-Repositoryを使用することで、SQLの知識がなくても簡単にデータベースの作成・管理ができるようになります。

IM-Repositoryの主な特徴を紹介します。

用語とその属性情報を一元管理できる

IM-Repositoryを利用することで、アプリケーションで使用する用語データをまとめて登録・管理できます。一つのツールで管理することで、以下のようなメリットがあります。

  • 用語の統一:複数のアプリケーションで用語データを共有することで、用語を統一しやすい
  • 変更の容易さ:用語データを変更する場合、一度の修正で関連するアプリケーションに反映される
  • 保守性の向上:用語データの変更履歴・差分・操作ログから、変更内容を追跡しやすい

さまざまなツールや機能と連携できる

IM-Repositoryに登録した用語データは、intra-martのさまざまなツールや機能で利用できます。
たとえば、IM-BloomMakerで作成した入力フォームに桁数の制限を入れたい場合、IM-Repositoryの制約で桁数を設定することで、入力チェックが設定できるようになります。その他にも、入力フォームに用語データの属性情報を反映させることが可能です。

辞書項目とエンティティ作成の流れ

IM-Repositoryでは、辞書項目とエンティティを作成することで、データベースの作成・管理ができるようになります。まずは基本的な流れを押さえておきましょう。

Step. 1 必要な情報を整理して、辞書項目を作成する

辞書項目を作成する前に、まず管理したい用語を洗い出します。たとえば、以下のような用語を辞書項目として作成することを検討します。

  • コード体系(顧客コード・商品コードなど)
  • 文字列データ(顧客名・商品名・住所など)
  • 数値・日付データ(数量・金額・日付など)

続いて、それぞれの用語の属性情報(メタデータ)を整理します。属性情報には、論理名、物理名、桁数、データ型、制約などが含まれます。たとえば、辞書項目をJavaScriptやintra-martのツールなどから利用する場合には、データ型と変数名を設定します。一方、データベースから利用する場合には、桁数・物理名・論理名などの設定が必要となります。

用語や属性情報が準備できたら、IM-Repositoryの「辞書項目」に用語や属性情報を登録します。作成した辞書項目は、データベースにおけるテーブルのカラムとして機能します。

なお、辞書項目の作成時に、アプリケーションで辞書項目をどのように利用したいかによって、以下の設定が必要となります。

  • 列挙型:辞書項目をあらかじめ特定の値のみに制限したい場合
  • 制約:辞書項目にルールや条件を適用したい場合
  • エイリアス:作成済みの辞書項目を別名で利用したい場合

Step. 2 辞書項目をもとに、エンティティを作成する

IM-Repositoryでデータベースのテーブルを利用する場合、Step. 1で登録した辞書項目をもとに「エンティティ」を作成します。エンティティとは、複数の辞書項目を組み合わせた集合体を指します。

たとえば、「顧客」というエンティティには、顧客コードを主キーとして、氏名・年齢・住所・電話番号といった属性を持つ辞書項目を含めることができます。これらの情報をIM-Repositoryの「エンティティ」に登録していきます。

なお、エンティティの作成時に利用目的に応じて、以下の設定が必要となります。

  • データ定義:エンティティとデータベースのテーブルを関連させたい場合
  • 関連項目:エンティティ同士を関連させたい場合

辞書項目やエンティティの活用

IM-Repositoryに登録した辞書項目やエンティティは、他のローコード開発ツールからさまざまな用途で活用することができます。ここでは、その一例について紹介します。

新しいアプリケーションの開発時にエンティティを利用できる

Accel Studioのテンプレートからアプリケーションを開発する場合、新規でエンティティを作成することもできますが、IM-Repositoryに登録されている既存のエンティティを使用することも可能です。これにより、他のアプリケーションで利用しているエンティティを、新しく作成するアプリケーションでも利用でき、IM-Repositoryを通して複数のアプリケーション間で用語データを一元管理できます。

さらに、「マスタメンテナンス」テンプレートを利用する際に、列挙型を指定した辞書項目を含むエンティティを使用することで、プルダウンメニューの要素を含むアプリケーションを簡単に作成できて便利です。

ロジックフローの作成時にエンティティを活用できる

IM-LogicDesignerには、IM-Repositoryのエンティティデータを操作するためのタスクが用意されています。これにより、IM-Repositoryに登録されているエンティティをもとに、データベースのテーブルからデータを取得・登録・更新・削除などを行う処理を簡単に作成できます。

その他にも、タスクの入出力値や変数にエンティティを利用することで、IM-LogicDesignerで新たに入出力値や変数を作成する必要がなく、作業を簡略化できます。また、エンティティの設定に基づき、データの入力内容のチェック(バリデーション)を行うことが可能です。

画面の変数に辞書項目やエンティティを利用できる

IM-BloomMakerで変数を設定する場合、IM-Repositoryの辞書項目やエンティティ(列挙型)の定義をインポートして利用できます。これにより、IM-BloomMakerで新たに変数を作成する必要がなく、作業を簡略化できます。

その他にも、エンティティの設定に基づき、データの入力内容のチェック(バリデーション)を行うことも可能です。

画面の定数に列挙型を利用できる

IM-BloomMakerで定数を設定する場合、IM-Repositoryの列挙型の定義をインポートして利用できます。これにより、IM-BloomMakerで新たに定数を作成する必要がなく、作業を簡略化できます。

さらに、IM-Repositoryの列挙型に多言語の情報も登録している場合、自動的に多言語の変数へのリンクが作成されます。多言語に対応したい場合は、インポートする前にIM-Repositoryから列挙項目を表す「表示文字列」の項目を確認してみましょう。

まとめ

IM-Repositoryの機能を理解し、効果的に活用することで、アプリケーションの開発をスピーディかつ効率的に行うことができます。複数のアプリケーションを作成する際にも、用語データをまとめて登録・管理できるため、用語統一などに便利です。初心者の方にとってデータベースの作成は難しく感じるかもしれませんが、IM-Repositoryの画面の案内に沿って、まずは辞書項目やエンティティから作成してみることをおすすめします。

intra-martでは、IM-Repositoryや各ローコード開発ツールを使ったアプリケーションの開発に役立つコンテンツなどを豊富にご用意しています。intra-martの機能を最大限に発揮させるためにも、ぜひご活用ください。