< Day Day Up > |
Before we can drill down into the portal framework, we need to take a look at how an application of this kind is architected. The portal architecture is based on a classic n -tiered architecture that relies on .NET as the underlying technology. As shown in Figure 5.2, the classic n -tiered architecture includes a presentation services layer, a business services layer, a data services layer, and the database layer. Figure 5.2. Sample Portal Architecture Diagram
A logical architecture explicitly defines the boundaries of application processes without regard to the physical deployment of the system. Its scalability is primarily gained by enabling the distribution of an application's processing across all the available processors in a given physical environment. Logically dividing an application into well-defined tiers allows us to exercise a high degree of control over the system's performance. This modularization promotes tighter security and supports easy tailoring of the application according to the specific performance and scalability requirements of the system. For example, if the development team learns through load testing that the heavy processing in one of the tiers is overtaxing that server's CPU, they can focus their efforts on optimizing the code for that specific tier. If the code is already fully optimized, an additional server or servers can be added to the tier to address the processing shortfall directly. Figure 5.2 displays a sample distributed portal architecture. The following sections discuss each of the layers that appear in the figure in more detail. Presentation Services LayerThe presentation services layer is responsible for:
A Web application uses the following technologies in the presentation services layer:
Inheritance is a relationship between classes in which one class is the parent class of another. Sometimes people refer to the parent class as a base class, superclass, or ancestor . When a subclass inherits from a base class, it's a "is-a-kind-of" relationship. For example, suppose we have a base class named Cat with a subclass named Lion. A Lion is-a- kind-of Cat. Inheritance is used extensively throughout the framework to create a class that reuses methods , properties, events, and variables from another class. We can create a class with some basic functionality, and then use that class as a base from which to create other, more detailed, classes. All these classes will have the same common functionality from the base class, along with new, enhanced, or even completely changed functionality. Business Services Layer (Business Logic Layer)The business services layer (BLL) contains the business logic for the application. This layer is stateless; meaning it does not hold any data between method calls. This design simplifies resource sharing and promotes scalability by allowing a single BLL instance to be shared by multiple presentation services. The business services layer is responsible for:
Data Services Layer (Data Access Layer)The data services layer contains the data access logic. This layer is responsible for the storage and retrieval of data. To get optimal performance, minimal business rules are included within this tier. Moving data back and forth from the SQL Server 2000 database and the data access layer is handled through objects using ADO.NET. ADO.NET is used to make calls directly to SQL Server to run the SQL stored procedures that provide the data needed by the business logic layer. The data services layer is responsible for:
DatabaseAll of the local content for the portal is stored in a SQL Server database. This allows server administrators to farm the frontend of the portal across a number of servers, each pulling from a single unique data store. This section provides an overview of the database used in the portal. The database is responsible for:
|
< Day Day Up > |