Extensive Use Of The Client Server Architecture example essay topic

742 words
Introduction Tier" can be defined as "one of two or more rows, levels, or ranks arranged one above another" (1) ). So from this, we get an adapted definition of the understanding of what N-tier means and how it relates to our application architecture: "Any number of levels arranged above another, each serving distinct and separate tasks". To gain a better understanding of what is meant, let's take a look at a typical N-tier mode N-Tier is a very broad term, it can mean a lot of things. Below are some examples of n-tier implementation: a computer application containing any number of tiers or logical layers, using a reusable, component based approach. This software type is characterized by flexibility and scalability: it can operate in multiple configurations, using any number of physical systems. These features are vital for dynamic business environment. a strategy for bringing a miscellaneous collection hardware into a unified system.

N-Tier systems may utilize a wide variety of computer languages, operating systems, and platforms. a framework for creating a adaptable, distributed computing environment, that can take full advantage of the infrastructure and resources you currently have, while preparing for whatever changes the future brings. a variation on the traditional Client / Server architecture, which uses Internet / intranet related technology, to make the most of existing skill and equipment, at the same time preparing a reliable, flexible framework for change and growth. a method for centralizing control over increasingly critical information, while while allowing greater freedom for inner-departmental innovations and encouraging input from customers and suppliers The Basics of N-Tier Network Architecture It all started with solitary computers that were accessed by users though terminals. This was a single-tier architecture the programs and data was used only on one machine. The wide-spread popularity of desktop computer has lead to two-tier architecture or client-server systems; workstations has split some work with back-end servers, usually by running the program and leaving servers to carry on with more general and important tasks like company databases. This differentiation in function worked quite well and was perceived as positive.

However, extensive use of the client-server architecture has revealed some inborn limitations. First, roll out and upgrade ordeals client software must be installed and managed on a potentially large number of separate, diverse clients across the entire network. Software installations, updates or replaces can unreasonably costly in terms of money, efforts and downtime. Furthermore, server failures and consequent downtime have become characteristic feature of client-server architecture.

Consequently, three-tier systems has been developed to address some of the issues pertinent to client-server architecture. Actually, there are a number of reasons for adding another layer, and two of them are thin clients and distributed processing. In a typical three-tier architecture, the first layer still handles the database or other centralized data stores; the second layer is where specialized application servers running the programs and / or business logic is run; and the third layer is the client. In the thin client model, the client part is nothing more than the user interface (UI). Here, the client layer is precisely thin; there is not much to maintain, because the business logic is implemented in another layer, typically with the help of some form of middleware product, such as an application server.

Actually, if a Web browser employed as a client UI, it can greatly reduce the need to program a custom client, making the applications accessible to a wide range of client types and platforms. Moreover, hardware demands on client part is reduced as well, anything that can run a Web browser is suitable, including PCs, Macs, Network Computers, Unix workstations and Java stations. This boosts portability across platforms, and also allows organizations to better utilize older computers even with most recent state-of-the-art enterprise applications. In addition to the above-mentioned advantages, middle-tier solution confines development, deployment and maintenance of most of the code to a limited number of dedicated application servers, which is much easier compared to serving multitude of desktops.

In a properly implemented three-tier system back-end and middle-tier services can handle the details of data replication and synchronization and automatic load-balancing, providing redundant number of client UI and database copies to cover shortages in case of a component failure. This makes the system more failure-proof, stable and reliable for the end user.