N-tier architecture
N-Tier architecture is an industry-proven software architecture model. It is suitable to support enterprise level client-server applications by providing solutions on scalability, security, fault tolerance, reusability and maintainability.

                      It helps developers to create flexible and reusable applications.
An N-Tier Application program is one that is distributed among three or more separate computers in a distributed network.
The most common form of n-tier is the 3-tier Application, and it is classified into three categories.
  • User interface programming in the user's computer
  • Business logic in a more centralized computer, and
  • Required data in a computer that manages a database.
                                                    OR –
It is Client-Server architecture in which presentation layer, application processing layer and data sets or data management layer functions are physically separated.
This architecture model provides Software Developers to create Reusable application/systems with maximum flexibility.
In N-tier, "N" refers to a number of tiers or layers are being used like – 2-tier, 3-tier or 4-tier, etc.

Design N-Tier Architecture

A diagrammatic representation of an n-tier system depicts here – presentation, application, and database layers.

These three layers can be further subdivided into different sub-layers depending on the requirements.
Some of the popular sites who have applied this architecture are
  • MakeMyTrip.com
  • Sales Force enterprise application
  • Indian Railways – IRCTC
  • Amazon.com, etc.
Some common terms to remember, so as to understand the concept more clearly.

  • Distributed Network: It is a network architecture, where the components located at network computers coordinate and communicate their actions only by passing messages. It is a collection of multiple systems situated at different nodes but appears to the user as a single system.
    • It provides a single data communication network which can be managed separately by different networks.
    • An example of Distributed Network– where different clients are connected within LAN architecture on one side and on the other side they are connected to high-speed switches along with a rack of servers containing service nodes.
  • Client-Server Architecture: It is an architecture model where the client (one program) requests a service from a server (another program) i.e. It is a request-response service provided over the internet or through an intranet.
In this model, Client will serve as one set of program/code which executes a set of actions over the network. While Server on the other hand is a set of another program, which sends the result sets to the client system as requested.
    • In this, client computer provides an interface to an end user to request a service or a resource from a server and on the other hand server then processes the request and displays the result to the end user.
    • An example of Client Server Model– an ATM machine. Bank is the server for processing the application within the large customer databases and ATM machine is the client having a user interface with some simple application processing.
  • Platform: In computer science or software industry, a platform is a system on which applications program can run. It consists of a combination of hardware and software that have a built-in instruction for a processors/microprocessors to perform specific operations.
    • In more simple words, the platform is a system or a base where any applications can run and execute to obtain a specific task.
    • An example of Platform – A personal machine loaded with windows 2000 or Mac OS X is examples of 2 different platforms.
  • Database: It is a collection of information in an organized way so that it can be easily accessed, managed and updated.
    • Examples of Database – MySQL, SQL Server, and Oracle Database are some common Db's.

Comments

Popular posts from this blog