Tiered Architecture and MVC

Tiered Architecture separates client interactions, processing and data persistence into separate and distinct layers.  In most cases the separation is physical (i.e. separate application and database servers); however, separation can also be logical (e.g. a single server hosts both a web application and the database that supports it).  One popular way this separation can be implemented is by using the Model-View-Controller (MVC) design pattern. 

MVC divides interactions, processing and data handling across three separate areas:

  • User Interface (view) - presentation
  • User Input (controller) - event handling (i. e., reacting to user input or reacting to feedback from requests made to the model)
  • Business Logic (model) - enforcement of business rules and data retrieval/storage

MVC diagram 

Advantages of this design pattern include the ability to easily involve multiple developers with different areas of expertise, more straightforward testing, and lower support costs.

Software developed by Information Services should employ Tiered Architecture by using the MVC design pattern.

Featured examples:

More information on MVC architecture: