Assignment No. 04
Semester Spring 2010
Course Name-Software Engineering I (CS504)
Solution
Pros.
There are many business pros to
N-Tier Architecture. For example, a small business can begin running all tiers
on a single machine. As traffic and business increases, each tier can be
expanded and moved to its own machine and then clustered. This is just one
example of how N-Tier Architecture improves scalability and supports
cost-efficient application building.
N-Tier model also make
applications more readable and reusable. It reduces the amount of spaghetti
code. Custom tag libraries and EJBs are easier to port to readable applications
in well-maintained templates. Reusability multiplies developer productivity and
improves application maintainability. It is an important feature in web
applications.
N-Tier Architectures make
application more robust because there is no single point of failure. Tiers
function with relative independence. For example, if a business changes
database vendors, they just have to replace the data tier and adjust the
integration tier to any changes that affect it. The business logic tier and the
presentation tier remain unchanged. Likewise, if the presentation layer
changes, this will not affect the integration or data layer. In 3-Tier
Architecture all the layers exist in one and affect each other. A developer
would have to pick through the entire application code to implement any
changes. Again, well-designed modules allow for applications or pieces of
applications to be customized and used across modules or even projects.
Reusability is particularly important in web applications.
As demonstrated N-Tier
Architecture offers innovations in the standard Client-Server technology that
spawned the Internet itself. It is but one of many web application frameworks.
These are used to develop dynamic web sites, web applications or web services.
They provide database access libraries, templates, and, as previously stated
code re-use. Most web application frameworks follow the Model View Controller
(MVC) which separate the user interface, the business rules and the data model.
They provide authentication and authorization to provide security. This allows
the web server to restrict user access based on pre-determined criteria. Web
application frameworks also provide a unified API
(Application programming Interface). This allows web application to work with
various databases without requiring any code change. These frameworks also
maintain a web template system.
Cons.
Single layer architectures do not
adapt to changes very easily. Often a minor change in technology or
requirements will result in a major rewrite of large portions of the
application.
Since the design is more complex
than the single or two layer design, the implementation will also be more
complex. When compared to pure VFP single layered design data access
performance may be affected. Because of the nature of the data access
mechanisms the presentation layer’s user interface design may be affected.
Creates an increased need for network
traffic management, server load balancing, and fault tolerance.
Current tools are relatively
immature and are more complex.
Maintenance tools are currently
inadequate for maintaining server libraries. This is a potential obstacle for
simplifying maintenance and promoting code reuse throughout the organization