Introducing the Component-based Scalable Logical Architecture (CSLA)

To effectively use business objects and components to develop our applications, it's very helpful to start with a good logical architecture. This means that we want to start with a firm idea about what types of services our application will provide, and whether we want to implement them in our user-interface, in components or in a SQL database server.

In this section, we'll look in detail at the logical architecture that we'll be using throughout the remainder of the book. The CSLA is designed to work well whether it's placed entirely on a single workstation or whether it's spread across a number of machines in a network. With this type of design, we can scale an application from a single to many users with relative ease.

A logical architecture includes all the parts of an application. For instance, a typical three-tier application is composed of the following parts:

The following diagram shows how these parts, or tiers, work together to make up an application:

The presentation tier, or user-interface, acts as a client to our business objects. The business processing is handled by the middle tier. This tier is composed of our business objects, all working together to implement the functionality required for our application. The business objects themselves rely on the third tier to manage data processing, storing, retrieving and manipulating data within our databases.

The best way to see how an application can be divided into tiers is to look at a traditional application and break it apart - so that's what we'll do now.