As
mentioned in the previous posts, middle tier in 3-tier applications is not a
monolithic program but a set of components driven by client-initiated business
logic. The components work in a union to respond to a client request whereby
calling each component based functions accordingly. Also some may operate as
gateways to encapsulate legacy applications processing on mainframes. Basically
n-tier methodology can be considered as a further expansion of the 3-tier model
(Client/Server Architectures,2011).
Below are
some advantages of component-based applications over monolithic applications.
1. Applications
can be built in a procedural manner/step by step implementation. Projects based
on mission-critical applications are often implemented in a procedural manner
dividing into small-scale projects which undergoes an incremental
development.
2. Reuse of components.
3. Clients are eligible of
accessing functions simply and securely.The client is unaware of the database, application
or the particular component, by which the request being executed as the
components work in union on behalf of the client. The server then encapsulates
the data provided by the application logic thus raising the abstraction level.
4. In-corporation
between custom applications and off-the-shelf components.
Nowadays
there’s a higher demand for ready-made components that are packaged as
applications consisting the ability to “Mix-and-Match” with different software
models even though it necessitates semantic glue. .
Communication
among the functional components as storage, management of clients and the
gathering of data is achieved by protocols as HTTP, RMI, and XML (Client/Server
Architectures,2011).
Moreover
the componentization of the tiers is considered as the key aspect for increased
efficiency.(Sun MicroSystems Inc, 2011) Accordingly the business tier can be
further elaborated in two sub layers referred as BLL-business Logic Layer and
DAL-Data Access Layer. The BLL is placed on top of DAL, enabling it to use the
classes and objects of DAL which is responsible of retrieving data and passing
it to the top level.e.g- ASP.NET’s DAL uses SqlClient or OleDb to retrieve data
and passing it forward as Dataset or DataReader. Then BLL processes the data
and forward it to the presentation tier. (ASKESIS 2010)
In the
scenario of Visual Studio based applications, following are the components used
in each level.
Usually
n-tier architectural platforms have distributed the workload to different
servers in order to separate the components into scalable aspects referred to
as horizontal, vertical, diagonal scaling.
- Horizontal
Scaling-
known as simplified change management with multiple servers in the
horizontal tier where the changes can be deployed incrementally by adding
more nodes to the system. Hardware/Software error reductions can be gained
through the horizontal set of servers as it provides service even if a
particular server breakdowns thereby providing a predictable performance.
Also the workload is distributed among the servers with the use of load.(
Sun Microsystems, Inc, 2011)
- Vertical Scaling- in order to
improve scalability, services are added within the system to a single node
e.g-CPU’s, memory. Suitable for slowly changing/data-intensive applications
as mail stores and directories etc. this also paves the way to use
virtualization technology due to enhanced resource sharing ( Sun
Microsystems, Inc, 2011).
- Diagonal Scaling- this is
basically a combination of horizontal and vertical scaling enabling the
horizontally set servers to develop within the system considered as a
flexible approach ( Sun Microsystems, Inc, 2011).
When can you use n-tier?
In
relevant to Gartner Group’s specification for smaller projects, 2-tier
architecture is easier to implement than 3-tier, avoiding the complex
situations where even 2-tier is exponentially harder to develop. Following are
the circumstances driving an organization for the implementation of 3-tier
model (Client/Server Architectures,2011).
1. Numerous
applications services/classes.
2. Ongoing
application developed in multiple languages or entitled to different
organizations.
3. Usage
of an application more than 3 years.
4. Higher
demand for accessing the database; more than 50,000 transactions per day or
more than 300 concurrent users.
5. Multiple
heterogeneous data sources; DBMS and a file system.
Shopping
cart web applications can be considered as a good example for n-tier
client/server paradigm. Clients communicate with the application server through
GUI’s, basically the web browser which initiates the web-requests thereby
displaying the code in dynamic HTML (Hypertext Markup Language). Thus the
presentation tier is responsible for displaying information on the products browsed,
purchase details and the contents of the shopping cart. This communicates with
other tiers as the browser/client tier via the display of products with the
help of database stored procedures and web services. This allows different
nodes to communicate (Exforsys Inc, 2011).
The
business tier performs detailed processing of all business transactions
involved. e.g- credit card authorization and calculation of shipping costs and
sales tax. Web services, custom tags, and stored procedures are used as tools
used to encapsulate the business logic (Exforsys Inc, 2011).
Intergalactic Client/Server
The
client/server applications stand at a new threshold brought on by the
exponential increase of low-cost bandwidth on Wide Area Network for example,
the Internet and AOL.
The
client/server paradigm undergoes a new facet brought on by the effective
increase of low-cost bandwidth on Wide Area Networks, e.g- Internet and AOL.
The use of web-enabled machines and devices marks a transition from 2-tier
Ethernet client/server to N-tier intergalactic client/server.
Moreover
the client/server does not necessarily reside on the same location enabling for
remote access referred to as the “Irrelevance of proximity”.
Bibliography
· slideshare.
(2011). Client Server Architecture. [Online]. Available from:
http://www.slideshare.net/suks_87/client-server-architecture-presentation.
[Accessed: 20th January 2011]
· ASKESIS.
(2004). Client server computing. [Online].Available from:
http://www.askesis.nl/en/tutorial/docs/J2EE/body.html. [Accessed: 25th January
2011]
· Sun
Microsystems, Inc. (2000).Scaling the N-Tier Archirecture. [Online].
September 2000. Available from: w.sun.com/software/whitepapers/wp-ntier/wp-ntier.pdf.
[Accessed: 25th January 2011]
· Exforsys
Inc. (2011). N-Tier Client-Server Architecture. [Online].Available
from:
http://www.exforsys.com/tutorials/client-server/n-tier-client-server-architecture.html.
[Accessed: 28th January 2011]
No comments:
Post a Comment