1.4 LANSAのリポジトリ

LANSA 機能を適切に利用するためには、リポジトリ・ベースの開発の枠組みについて理解しておく必要があります。

リポジトリとは

リポジトリは、アプリケーションに関する情報を蓄積、集中管理する場所のことです。リポジトリはアプリケーションに関する情報、つまり、アプリケーションのフィールド、ファイル、ルール、関係などが集積される場所です。高レベルなアプリケーション定義と同様、特定のプラットフォームに依存しない形式で情報を格納する必要があります。

リポジトリを基盤としたアーキテクチャにより、コーディング量は劇的に減少します。情報は1度記述するだけで済み、プログラムのあちこちに何度も記述する必要はないからです。例えばあるフィールドに関する妥当性規則を、画面定義その他、このフィールドを使う各プログラムに、繰り返し記述する必要はありません。

リポジトリは、アプリケーションの処理ロジックを共有、再利用する上でも効果的です。共有と再利用は、よく似た考え方ですが、まったく同じではありません。「再利用」とは一般に、同じアプリケーション内でコードを流用することを指します。一方、「共有」は、リポジトリを使用する場合、異なるアプリケーションが同じオブジェクトやロジックを使うことを指します。同じデータベース・ファイルをアプリケーション間で共有するのと同様です。異なるアプリケーション間で、リポジトリ・ベースの情報を再利用し、何度も同じ記述をしないで済ませることも可能です。ツールによっては、同一アプリケーション内での情報の再利用には対応していても、異なるアプリケーションや他のツールとの共有はできない場合があるので注意が必要です。

もうひとつ、リポジトリの利点として、保守の手間を削減できるということがあります。集中管理されているので、修正が必要な場合に、該当する情報を見つけ、変更するのが容易です。テストも短時間で済みます。アプリケーション・コードは何も変えず、リポジトリ側を変更するだけで終わってしまうことも珍しくありません。

このように、特にクライアント/サーバー型のアプリケーション開発において、リポジトリを基盤としたアーキテクチャは開発効率の向上に大きく寄与します。記述するコード量や保守の手間が減り、処理ロジックを再利用/共有できるからです。

しかしながら、リポジトリを使いさえすればこういった効果が保証される、というわけではありません。使い方がとても重要です。、一口にリポジトリといっても、その中身はそれぞれ異なります。

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

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

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

1.4.3 リポジトリの長所