三層アーキテクチャモデル
今回は従来から一般的に言われている三層アーキテクチャモデルについて説明します。
三層アーキテクチャはメインフレーム上でのレガシーシステム時代から提唱され,
- ① プレゼンテーションレイヤ層
この階層はシステム操作するユーザに対してのユーザへのインターフェイスを提供します。
この階層にはユーザインターフェイスコンポーネントおよびユーザインターフェイスプロセスコンポーネントが含まれます。
- ② ビジネスレイヤ層
この階層にはプレゼンテーションレイヤからデータなどが渡され,
業務処理を実行します。 プレゼンテーションからのデータ授受をシンプルにかつ柔軟にするためにサービスインターフェイスを設計します。
ビジネスレイヤでは業務処理を実行するためビジネスワークフローやビジネスコンポーネント,
ビジネスエンティティが配置されます。 サービスインターフェイスを経由してビジネスワークフローやビジネスコンポーネント,
ビジネスエンティティへと処理は渡されます。 ビジネスエンティティはサービスインターフェイスから渡されたデータや後述するデータレイヤから来たデータをビジネスレイヤで扱えるデータ,
つまりエンティティとして表現するために使用されます。 ビジネスコンポーネントは,
業務に依存した業務ロジックを作り込むコンポーネントです。 ビジネスワークフローはビジネスエンティティをどのビジネスコンポーネントへ渡すか,
ビジネスコンポーネントの処理の順番など, 調整, 実行を行います。 - ③ データレイヤ層
この階層にはデータソースやサービスとのデータやり取りや接続の手順,
管理, 制御を行います。 この階層にはデータアクセスロジックコンポーネントやサービスエージェントが含まれます。
データアクセスロジックコンポーネントはデータソースとの接続の手順,
データのやり取り, 接続資源の管理などを行います。この際, 接続するデータソースはDBであったり, ファイルであったりします。接続先によって接続手順は異なるため, これらの煩わしさをビジネスレイヤに意識させないようにデータレイヤに隠ぺいします。サービスエージェントもデータアクセスロジックコンポーネントと同様ですが, COM+サービスやWebサービスを経由して他システムに接続するために使われます。そのため, それぞれのサービスのインターフェイスにあった方法で接続する必要があります。
各コンポーネントについて
各レイヤは様々なコンポーネントで構成されています。前項ではそれぞれのレイヤの中に含まれるコンポーネントの種類について大まかな説明を行いました。ここではそれぞれのコンポーネントについて解説していきます。