Content area
Full Text
For many information systems developers, there's a lot of mystery surrounding the development of three-tier applications. Few understand the difference between two- and three-tier systems development. Worse, some developers believe that if you choose one architecture, the other architecture is incompatible.
Many companies are rushing to adopt a three-tier architecture for developing their information systems. Unfortunately, so many of us are enamored of technology for its own sake that there is a natural tendency to focus on the architecture first, skipping over the essential step of gathering the basic requirements for the application.
But time spent on requirements-gathering is critical if you want to reap the benefits three-tier systems offer. Requirements should drive the architecture, and the architecture should dictate the technologies. With careful planning, two-tier applications can be migrated smoothly to three-tier systems.
Two Tiers
There is no single two-tier architecture and no single three-tier architecture. But there are distinguishing strategic and architectural characteristics of each.
Two-tier systems consist of a user component and a database-server component. Most of the application-especially the user interface-runs on the desktop. The primary function of servers is to access databases.
Many companies use two tiers when developing noncritical applications with light transaction loads-for example, decision-support systems or departmental applications. One disadvantage to two-tier applications is limited scalability-few applications can support more than 100 simultaneous users.
From the perspective of development and integration, two-tier systems are fairly simple. Typically, several desktops and a server are networked together. The user interface and other client software execute on low-end, single-user desktops. Database management systems run on medium or high-powered servers to provide shared access to data. Consequently, two-tier applications are sometimes described as "fat-client" systems-most processing occurs on the desktop side of the communications interface. Clients communicate requests to the server using SQL or a call-level interface such as Microsoft's Open Database Connectivity (ODBC).
Since many two-tier applications are not considered critical to information processing within a corporation, management and operations in two-tier environments tend to be less formal. This is changing as more tools are released that remotely monitor and manage databases and applications, such as Lotus Notes. Still, management of two-tier environments is often an afterthought.
Adding A Tier
In three-tier systems, the business processing is removed from...