はじめてのIM-Repository

この記事では、intra-martのローコード開発ツールであるIM-Repositoryについて紹介します。

IM-Repositoryは、アプリケーションで使用する用語やその属性情報をWebブラウザ上で定義・管理し、定義した情報をもとにデータベースやアプリケーションを作成できるツールです。SQLの知識がなくても、画面上から辞書項目やエンティティを定義できます。まずは、IM-Repositoryでできることや、辞書項目・エンティティを作成する基本的な流れについて理解を深めていきましょう。

IM-Repositoryの機能

IM-Repositoryは、アプリケーションで使用する用語やその属性情報を「辞書項目」として定義し、それらを組み合わせて「エンティティ」を作成するためのツールです。作成した辞書項目やエンティティは、データベースだけでなく、IM-LogicDesignerやIM-BloomMakerなどのローコード開発ツールでも利用できます。

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

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

IM-Repositoryでは、アプリケーションで使用する用語と、その用語に関する属性情報をまとめて登録・管理できます。たとえば、「顧客コード」「顧客名」「購入金額」といった用語を辞書項目として登録し、データ型や桁数、論理名、物理名などの属性情報を設定できます。

一つのツールで用語と属性情報を管理することで、以下のようなメリットがあります。

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

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

IM-Repositoryで作成した辞書項目やエンティティは、intra-martのさまざまなツールや機能で利用できます。たとえば、IM-LogicDesignerでは、エンティティに対応したタスクを利用して、データベースへのデータの登録や取得などを行うことができます。また、IM-BloomMakerでは、辞書項目やエンティティを画面の変数や定数として利用できます。このように、IM-Repositoryで定義した情報を他のローコード開発ツールでも利用することで、アプリケーション開発を効率化できます。

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

IM-Repositoryでは、まずアプリケーションで使用する用語を「辞書項目」として定義します。その後、複数の辞書項目を組み合わせて「エンティティ」を作成することで、データベースのテーブルとして利用できる情報を定義します。ここでは、辞書項目とエンティティを作成する基本的な流れを紹介します。

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

まず、アプリケーションで管理したい用語を整理します。たとえば、以下のような用語を辞書項目として作成することを検討します。

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

続いて、それぞれの辞書項目に対して、データ型や桁数、論理名、物理名、制約などの属性情報(メタデータ)を設定します。たとえば、「顧客コード」を文字列として管理する場合は、データ型や桁数などを設定します。このように、アプリケーションで使用する用語と、その用語をどのようなデータとして扱うかを辞書項目として定義します。

また、用途に応じて、以下のような設定も行います。

  • 列挙型:あらかじめ決められた値の中から選択するようにしたい場合
  • 制約:辞書項目にルールや条件を設定したい場合
  • エイリアス:作成済みの辞書項目を別の名称で利用したい場合

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

次に、作成した辞書項目を組み合わせて「エンティティ」を作成します。エンティティは、複数の辞書項目を組み合わせて、アプリケーションで扱うデータのまとまりを定義したものです。

たとえば、「顧客」というエンティティを作成する場合、顧客コードを主キーとして、顧客名・住所・電話番号といった辞書項目を組み合わせます。エンティティをデータベースのテーブルと関連付けることで、エンティティをもとにデータベースを利用できるようになります。

エンティティの用途に応じて、以下のような設定を行います。

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

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

IM-Repositoryで作成した辞書項目やエンティティは、他のローコード開発ツールでも利用できます。ここでは、IM-Repositoryの定義をアプリケーション開発で活用する例を紹介します。

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

Accel Studioでアプリケーションを開発する場合、既存のエンティティを利用してアプリケーションを作成できます。すでにIM-Repositoryに登録されているエンティティを利用することで、同じデータを扱うための定義をアプリケーションごとに作成する必要がなくなります。

また、「マスタメンテナンス」テンプレートで列挙型を設定した辞書項目を含むエンティティを利用することで、あらかじめ設定した値を選択するプルダウンを含むアプリケーションを作成できます。

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

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

また、ロジックフローの入出力値や変数にエンティティを利用することで、IM-Repositoryで定義したデータ構造をそのまま利用できます。

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

IM-BloomMakerでは、画面の変数を設定するときに、IM-Repositoryで作成した辞書項目やエンティティを利用できます。IM-Repositoryの定義をインポートすることで、画面側で同じデータ構造をあらためて定義する必要がなくなります。

また、エンティティに設定した内容に応じて、入力値のチェック(バリデーション)を設定することもできます。

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

IM-BloomMakerでは、IM-Repositoryで作成した列挙型を画面の定数として利用できます。たとえば、「使用中」「保管中」「廃棄」といった、あらかじめ決められた値を画面で利用したい場合に、IM-Repositoryで定義した列挙型を利用できます。IM-Repositoryの列挙型をインポートすることで、画面側で同じ値をあらためて定義する必要がなくなります。

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

まとめ

IM-Repositoryでは、アプリケーションで使用する用語や属性情報を辞書項目として定義し、それらを組み合わせてエンティティを作成できます。作成した辞書項目やエンティティは、データベースだけでなく、Accel StudioやIM-LogicDesigner、IM-BloomMakerなどのローコード開発ツールでも利用できます。まずは、身近なアプリケーションで使用する用語を整理して、辞書項目を作成するところから始めてみましょう。辞書項目やエンティティを活用することで、アプリケーション間でデータの定義を統一し、効率的に開発を進めることできます。

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