Architecture models: 1-tierMonolithic, "all-in-one" model - eg clients are "dumb" terminals connected directly to the mainframe.Problems with the 1-tier model are: • any change affects the entire system • vertical scalability only - Limited to the Physical Expansion Capabilities of a Single Server • Single Point Of Failure • Interoperability - Limited Connectivity
2-tierTypically composed of multiple clients and a single server; the clients connect to the server over a network: • clientThe client is fat - eg implements the GUI, retrieves data from the server (s), performs business logicbased on the data •. serverTypically a database. Provides a shared data-store for the client.The server does not typically implement business logic. Later revisions to the model implement someof the business logic on the server as stored procedures (aka fat servers) .Problems with the 2 -tier model are: • the business logic may be complex and computationally expensive Consequently, the client mayrequire powerful hardware • client components are tightly coupled, not modular - eg a change to the GUI means shipping thewhole application to every client • data retrieval -. Each Client Has to Each Server It Needs Data from. Also, The Results Transferred May Be Large and TransferRed Using An inefficient (AND Perhaps ProPrietary) Protocol • Fat SE RVERS Use Stored Procedures Which aren't Very Portable.
n-tierComposed of: • client tierComponents that execute on the client The business tier is common to all client types - some clientcomponents talk to components in the business tier directly (eg thick clients such as EJBapplication clients), others via the presentation tier (. eg thin clients such as web browsers). • presentation tierProvides presentation specific support for the client tier. Acts as a proxy between the client tier andthe business tier. Eg a servlet accepts HTTP requests from a web browser in the client tier. Therequest is translated to a generic business event and passed to the business tier. Responses arereformatted for presentation purposes (eg store result in session, generate HTML redirect for JSP) and transmitted back over HTTP for display by the web browser. • business tierImplemented as business process objects ( Provide the business logic - eg session beans) Andbusiness Objects (Provide An Integrated, Objectified View of The Data Tier with Support for Aut omatedsynchronization - eg entity beans) The application server provides support for security, transactions, pooling, caching etc. in this tier • data tierAlso known as the EIS tier (Enterprise Information System) Typical components include databases, mainframes, socket servers,... etc. Typically components in the business tier access the data tierabstractly using a DAO (Data Access Object) helper class The DAO takes care of the specifics ofdata retrieval on behalf of the business objects.Summary:. 1-tier: Security and Maintainability are? Good, Availability, Scalability and Extensibility Are Poor.2-Tier: Mostly Poor, Reliability Mixedn-Tier: MOSTLY Good, ServiceAbility Mixed