N-layers of
application may reside on the same physical computer(same tier) and the
components in each layer communicates with the components of other
layer by well defined interfaces.Layered architecture focuses on the
grouping of related functionality within an application into distinct
layers that are stacked vertically on top of each other.Communication
between layers is explicit and loosely coupled.With strict layering,
components in one layer can interact only with componentsin the same
layer or with components from the layer directly below it.
The main benefits of the layered architectural style are:
Abstraction,Isolation, Manageability, Performance, Reusability, Testability.
N-tiers architecture usually have atleast three separate logical
parts,each located on separate physical server.Each tier is responsible
with specific functionality.Each tier is completely independent from all
other tier, except for those immediately above and below
it.Communication between tiers is typically asynchronous in order to
support better scalability.
The main benefit of tier architecture styles are
1.Maintainability. Because each tier is independent of the other
tiers, updates or changes can be carried out without affecting the
application as a whole.
2.Scalability. Because tiers are based on the deployment of layers, scaling out an application is reasonably straightforward.
3.Flexibility. Because each tier can be managed or scaled independently, flexibility is increased.
4.Availability. Applications can exploit the modular architecture of
enabling systems using easily scalable components, which increases
availability.