3-Tier Architecture
3-Tier Architecture
3-Tier Architecture
Modern software applications perform complex, heavy-duty operations, and that is why it is
important that such applications are backed by appropriate software architecture. Two-tier software
architecture does not enable software applications to handle such complex operations. Given the
context, it is a costly and an onerous proposition to maintain and troubleshoot applications based on
two-tier architecture. Three-tier software architecture enables applications to seamlessly process
huge volumes of varied and complex requests and also maintain data confidentiality. Since all three
tiers of the software architecture are independent of one another, maintenance
and troubleshooting efforts and costs are relatively lower than that in the case of two-tier architecture
applications. Three-tier software applications experience significantly less downtime and indirectly
contribute to user experience.
Presentation Tier
This tier is responsible for accepting inputs or requests from the user and displaying data for the user
in a user-friendly format. It accepts inputs and sends the inputs or request to the business logic layer.
The presentation tier is used when the user provides inputs through one or more channels such as
traditional applications, websites, portals, mobile device websites and apps. In three-tier architecture,
the presentation layer is a thin client.
Business Tier
This tier helps define solutions to complex business problems. The solutions or rules can be defined
on a number of components that reside inside the tier. Software developers can define complex
business algorithms, business processes, government or legal rules or data rules that help keep
the data structure consistent with one or more databases. These middle-tier components are not tied
to any client and can be used by all applications and moved to all places.
It is suitable for handling large volumes of complex and varied operations. Since the
presentation layer does not interact with the data access layer, the data access layer does not
need to handle multiple operations at the same time. The middleware or the business
logic tier accepts the requests or inputs from the presentation layer, makes the request
suitable for acceptance by the data access layer and then sends it to the data access layer.
All three tiers in the architecture can be independent of one another in terms of technology,
platform, implementation and language. Any tier can be modified, maintained or removed
without impacting the other tiers.
The sizing of each layer can be adapted according to performance requirements.
It is more scalable since it allows the distribution of application components across multiple
servers.
The architecture provides a framework for creating new applications. Since each tier is
independent and specializes in a certain area or domain, it is possible to have more
components that are adaptive of this framework. It is just a matter of having more
components for the new application that are fitted into this framework.
You must manually push templates, assets, private assets, uploaded images, and uploaded files
from the Application tier to the Presentation tier. You may use a tool like Robo-copy to do this.
You create content (HTML, assets, Page Builder pages, etc.) only in the Application tier. You
can only view content from Presentation tier.
Because Three-Tier Architecture uses WCF — a framework for building service-oriented
applications, it requires:
The 8.5 Framework API and data binding. You cannot use API calls outside of the Framework
API, templated server controls and widgets created by the Framework API.
Because the business logic executes on the Application tier, its Web site directory must be
identical to the Presentation tier.
Practical Implementation
A case study on how three-tier architecture solved real-time business problems is provided below.
The Challenge
Global e-commerce giant eBay wanted to improve its profitability and customer satisfaction by
improving the reliability of its website to provide real-time marketplace services all over the world
and boost customer satisfaction. According to Chuck Geiger, Vice President of Product Development
at eBay, “We wanted to improve the reliability of our website to deliver real-time marketplace
services in all regions and also boost customer satisfaction – which would, in turn, impact our bottom
line."
The Solution
To find and implement a solution, eBay chose IBM. To cut a long story short, IBM revamped eBay’s
existing system and put in place an integrated platform-based three-tier architecture with a web
interface in the front-end and back-end databases that manage all customer-related and merchandise
information. As a result, eBay developers have a common tool which enables collaboration and
sharing of all common Java objects and they can add new website features easily. This has also
contributed to improvement of website reliability and customer experience.
Conclusion
While three-tier architecture is almost considered the norm now, for many companies – especially
those with limited resources – it is not easy to implement three-tier architecture. It is a complex
system and requires big investment in terms of technology, money and skilled personnel. Does that
mean that companies with smaller budgets will not be able to achieve efficiency? They can, in their
own ways. For example, Ajax is a client-side script that can interact with the server or a database,
and such companies can look for clues in such technologies. Also, it needs to be realized that there is
no single way of implementing three-tier architecture. The planning and implementation depends on
the type of project one is working on and the complexities will be different.