Layered system

By layering the components, we ensure that each component does not know about the layers that its neighbors connect to. This promotes good security in order to have good boundary walls. It also allows legacy systems to be protected if they are consumed in your architecture, and it allows you to protect new systems:

With the layered approach, it leads to many hops between systems, but you have the security boundaries, and components can be updated individually.

Get Mastering ASP.NET Web API now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.