1.4.1 アクティブ・リポジトリとは

開発ツールの多くは、リポジトリと似通った形をとっています。ただ、アプリケーションのソース・コードや関連情報を集中的に蓄積する場所としてのみリポジトリを用い、コンパイル時にしか活用していないのです。言い替えると、このスタイルのリポジトリは、コンパイル時に必要となる情報の再利用しか念頭に置いていません。この意味で、「受動的」なリポジトリということができ、アプリケーション開発にもたらす利点も限られています。

これに対し能動的なアクティブ・リポジトリは、アプリケーションの構築時ばかりでなく、アプリケーションの実行時も利用されます。実行時に「動的」に活用されます。「動的」とは、リポジトリに変更を施すと直ちにアプリケーションの動作にも反映される、ということも意味します。プログラムの再構築は必要ありません。

受動的なリポジトリの場合、例えば年齢を格納するフィールドは「従業員の年齢」といった記述で格納されるでしょう。この記述は、従業員の募集に関する画面、新規従業員をデータベースに登録する画面などに、共通に表示されます。

これに対しアクティブ・リポジトリの場合、この従業員の年齢のフィールドは「16歳以上でなければならない」などといった妥当性規則もリポジトリ側で管理できます。従業員募集画面を表示するプログラム側に、この妥当性規則を記述する必要はないのです。もちろん実行時には、この規則に基づく検証処理が働きます。同様に、ヘルプ・テキストもリポジトリで集中管理できます。「従業員の年齢」フィールドのある画面すべてで、ヘルプ表示の操作をしたときこのテキストが表示されます。

このように、アクティブ・リポジトリの技術はアプリケーションの開発効率に直接的に寄与します。アクティブ・リポジトリで管理している実行コンポーネントは、アプリケーションのどこからでも使えます。さらに、リポジトリに蓄積された大量の情報は、他のアプリケーションと共有することも可能です。保守作業も短時間で済み、生産性は大幅に向上します。

LANSAはアクティブ・リポジトリの機能を備えた数少ない開発ツールのひとつです。

次のトピックも参照してください。

リポジトリとは

1.4.2 LANSAリポジトリの内部構成