n階層システム設計の考慮点

第2回 三層アーキテクチャとは

この記事を読むのに必要な時間:およそ 4 分

三層アーキテクチャモデル

今回は従来から一般的に言われている三層アーキテクチャモデルについて説明します。

三層アーキテクチャはメインフレーム上でのレガシーシステム時代から提唱され,さまざまな形になってきています。まず,プレゼンテーションレイヤ,ビジネスレイヤ,データレイヤの三層に分ける代表的な例を説明いたします。

① プレゼンテーションレイヤ層

この階層はシステム操作するユーザに対してのユーザへのインターフェイスを提供します。

この階層にはユーザインターフェイスコンポーネントおよびユーザインターフェイスプロセスコンポーネントが含まれます。

② ビジネスレイヤ層

この階層にはプレゼンテーションレイヤからデータなどが渡され,業務処理を実行します。

プレゼンテーションからのデータ授受をシンプルにかつ柔軟にするためにサービスインターフェイスを設計します。

ビジネスレイヤでは業務処理を実行するためビジネスワークフローやビジネスコンポーネント,ビジネスエンティティが配置されます。

サービスインターフェイスを経由してビジネスワークフローやビジネスコンポーネント,ビジネスエンティティへと処理は渡されます。

ビジネスエンティティはサービスインターフェイスから渡されたデータや後述するデータレイヤから来たデータをビジネスレイヤで扱えるデータ,つまりエンティティとして表現するために使用されます。

ビジネスコンポーネントは,業務に依存した業務ロジックを作り込むコンポーネントです。

ビジネスワークフローはビジネスエンティティをどのビジネスコンポーネントへ渡すか,ビジネスコンポーネントの処理の順番など,調整,実行を行います。

③ データレイヤ層

この階層にはデータソースやサービスとのデータやり取りや接続の手順,管理,制御を行います。

この階層にはデータアクセスロジックコンポーネントやサービスエージェントが含まれます。

データアクセスロジックコンポーネントはデータソースとの接続の手順,データのやり取り,接続資源の管理などを行います。この際,接続するデータソースはDBであったり,ファイルであったりします。接続先によって接続手順は異なるため,これらの煩わしさをビジネスレイヤに意識させないようにデータレイヤに隠ぺいします。サービスエージェントもデータアクセスロジックコンポーネントと同様ですが,COM+サービスやWebサービスを経由して他システムに接続するために使われます。そのため,それぞれのサービスのインターフェイスにあった方法で接続する必要があります。

各コンポーネントについて

各レイヤは様々なコンポーネントで構成されています。前項ではそれぞれのレイヤの中に含まれるコンポーネントの種類について大まかな説明を行いました。ここではそれぞれのコンポーネントについて解説していきます。

図1 Microsoft社が提唱するレイヤ型コンポーネントモデル概念図

図1 Microsoft社が提唱するレイヤ型コンポーネントモデル概念図

著者プロフィール

露木敏博(つゆきとしひろ)

1966年神奈川県横浜市生まれ。1990年,株式会社日立システムアンドサービス(旧日立システムエンジニアリング株式会社)に入社。

流通系SE,営業所駐在SEなどを経て,2003年から生産技術部門で.NET技術に関する技術支援業務に携り,.NET技術に関する各種基準書および標準化,設計ガイドなどを作成。

マイクロソフトMVPアワードプログラムよりDevelopment Platforms - ASP/ASP.NETのカテゴリで2008年7月よりMVPアワードを受賞。

コメント

コメントの記入