「アプリケーション層が〜」「ミドルウェア層が〜」
システムの会話でこんな言葉が飛び交うと、ちょっと置いてけぼり感ありませんか?
私も最近まで「層構造ってなんとなく聞いたことあるけど…」状態でした。
この記事では、「層構造(レイヤーアーキテクチャ)」をスッキリ整理していきます!
層構造とは?
まず最初に「層構造」という言葉の意味を押さえておきましょう。
システムは大きく見ると、とても複雑で入り組んでいます。
そこで 役割ごとに階層(レイヤー)に分ける ことで、
- 誰がどの仕事をしているかが明確になる
- 技術を入れ替えても全体が崩れにくい
- トラブル発生時に切り分けしやすい
といったメリットが生まれます。
基本となる「3層アーキテクチャ」
ITシステムを説明するときによく出てくるのが「3層アーキテクチャ」です。
これは以下の3つの層に分けて考えるモデルです。
1. プレゼンテーション層(UI層)
- ユーザーが直接触れる部分
- Webブラウザ、スマホアプリ、画面UIなど
- 入力や出力のやりとりを担当
👉 例:ECサイトの商品ページ、スマホアプリの購入画面など
2. アプリケーション層(ビジネスロジック層)
- 業務処理を実行する部分
- 「注文を確定する」「在庫を更新する」などのビジネスルールを実装
- プレゼンテーション層とデータ層の橋渡し役
👉 例:注文処理システム、決済ロジックなど
3. データ層(永続化層)
- データを保存・管理する部分
- データベースやストレージがここに含まれる
- アプリケーション層からの読み書きを担当
👉 例:MySQL、PostgreSQL、OracleDBなど
まとめ
- 層構造はwebシステム全般に共通する考え方
- 物事を「役割ごとに分ける」ことで、責務が明確になり理解しやすくなる
- まずは3層アーキテクチャを押さえましょう