Multi-tiered Architectures

R. Alexander Miłowski

milowski@ischool.berkeley.edu

School of Information, UC Berkeley

Multi-tier Architectures

Definition: ... a client–server architecture in which presentation, application processing, and data management functions are physically separated. (wikipedia)

Possible tiers:

Three-Tier Architecture

  1. A front-end tier web server for static content, caching, and UI generation.
  2. A middle tier application logic server for encapsulating application services.
  3. A back-end tier database server for storage, indexing, and querying data.
Tiers scale out by load balancing and replication

Two-Tier Architecture - collapsing presentation & logic?

Old School client-server where the client has logic and presentation.

Good Practice: Separate concerns and define (and use) application services even when you deploy them on the same server for convenience.

Client Tier?

What about the Web browser or mobile apps?

Web Platform - Tiered Approach