The presentation tier, being the most visible part of any system, is often considered the system by the users. It is a key tier in multi-tiered software architecture and distributed computing. This tier is responsible for packaging the data for display to users and for providing users with options for interacting with the system. This tier is becoming increasingly complex and is the cause for most project overruns and user adoption issues.
The presentation tier contains the client code (primary presentation tier) that executes on the user's local computer and the code that executes on the server (secondary presentation tier). Model–View–Controller (MVC) is an important design pattern for the presentation tier. The view (UI display component) and the controller (user interface process component) functions are the primary presentation tier responsibility.
The presentation tier is the key tier for supporting some of the following requirements:
Internationalization and localization
Personalization and co-branding
Support for multiple device and access points
Support for local business processes and data presentation
Support for multiple technologies
Potentially exposure of the applications to other systems as services