Three tier architectures – The three tier architecture is introduced to overcome the drawbacks of the two tier architecture. In the three tier architecture, a middleware is used between the user system interface client environment and the database management server environment. These middleware are implemented in a variety of ways such as transaction processing monitors, message servers or application servers. The middleware perform the function of queuing, application execution and database staging. In addition the middleware adds scheduling and prioritization for work in progress.
The three tier client/server architecture is used to improve performance for large number of users and also improves flexibility when compared to the two tier approach.
The drawback of three tier architectures is that the development environment is more difficult to use than the development of two tier applications.
The widespread use of the term 3-tier architecture also denotes the following architectures:
•   Application sharing between a client, middleware and enterprise server
•   Application sharing between a client, application server and enterprise database
server.
i) Three tier with message server. In this architecture, messages are processed and prioritized asynchronously. Messages have headers that include priority information, address and identification number. The message server links to the relational DBMS and other data sources. Messaging systems are alternative for wireless infrastructures.
ii) Three tier with an application server This architecture allows the main body of an application to run on a shared host rather than in the user system interface client environment. The application server shares business logic, computations and a data retrieval engine. In this architecture applications are more scalable and installation costs are less on a single server than maintaining each on a desktop client.
3-tier architecture provides:
•   A greater degree of flexibility
•   Increased security, as security can be defined for each service, and at each level
•   Increased performance, as tasks are shared between servers
42 Comments