常にレイヤーとインタフェースで考える----。ICTシステムのアーキテクチャを検討したりトラブルを切り分けたりする時にまずこのことを心掛けてほしい。ITアーキテクトは常に全体感を整理してシステムと対峙する姿勢が求められる。すでに多くの読者が「ネットワークからアプリケーションまでどのレイヤーで可用性を実装するか」といったように普段から意識していると思われるが、改めてレイヤーとインタフェースの基本をおさらいしたい。

 ICTシステムを整理する考え方はいくつもある。ネットワークではOSIの7階層やIPの4階層、システム基盤では「ハードウエア、ドライバ、OS、ミドルウエア」という分類、アプリケーションでは「フレームワーク、業務ロジック、共通サービス」といった分け方やMVCモデル、「Web、AP、DB」の3層(ティア)モデルなどの機能階層、全体最適ではEA(Enterprise Architecture)の「BA、DA、AA、TA」あたりがすぐに思いつくだろう。

 レイヤーは各要素の論理的な役割・機能の階層構造を示し、ティアは物理的な構成の階層構造を意味する場合が多い。ネットワークで言えば、プロトコル階層がレイヤー、ネットワーク接続の上下関係がティアといった使い分けだ。インタフェースは同一階層あるいは上下関係にあるレイヤー同士やティア同士をつなぐための外向けの接続仕様である。内部処理は置いておいても外部インタフェースに沿ったデータや手順を踏まえれば「会話」を成り立たせることができる。