Three-tier architectures

WebSphere® Application Server provides the application logic layer in a three-tier architecture, enabling client components to interact with data resources and legacy applications.

Collectively, three-tier architectures are programming models that enable the distribution of application functionality across three independent systems, typically:
  • Client components running on local workstations (tier one)
  • Processes running on remote servers (tier two)
  • A discrete collection of databases, resource managers, and mainframe applications (tier three)

The following diagram outlines the three tier levels. The tiers are logical . They might or might not be running on the same physical server.

Figure 1. Three tier architecture
Three tier architecture
The following information details the three tiers that are outlined in the diagram and the communication among them:
  • The first tier is responsible for presentation and user interaction resides with the first-tier components. These client components enable the user to interact with the second-tier processes in a secure and intuitive manner. WebSphere Application Server supports several client types. Clients do not access the third-tier services directly. For example, a client component provides a form on which a customer orders products. The client component submits this order to the second-tier processes, which check the product databases and perform tasks that are needed for billing and shipping.

  • The second-tier processes are commonly referred to as the application logic layer. These processes manage the business logic of the application, and are permitted access to the third-tier services. The application logic layer is where most of the processing work occurs. Multiple client components can access the second-tier processes simultaneously, so this application logic layer must manage its own transactions.

  • The third-tier services are protected from direct access by the client components residing within a secure network. Interaction must occur through the second-tier processes.

All three tiers must communicate with each other. Open, standard protocols and exposed APIs simplify this communication. You can write client components in any programming language, such as Java™ or C++. These clients run on any operating system, by speaking with the application logic layer. Databases in the third tier can be of any design, if the application layer can query and manipulate them. The key to this architecture is the application logic layer.