Portal Architecture

 <  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

graphics/05fig02.gif


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 Layer

The presentation services layer is responsible for:

  • Gathering information from the user

  • Sending the user information to the business services layer for processing

  • Receiving the results of the business services layer processing

  • Presenting those results to the user

  • Application workflow

  • Module workflow

  • Implementation

A Web application uses the following technologies in the presentation services layer:

  • .NET Active Server Pages is a rich programming framework for building web-based applications and is the foundation of the web application. ASP.NET is part of the .NET Framework and is a compiled environment for generating HTML pages.

  • Web-user controls are components used to create modular pieces of code. ASP.NET web user controls are similar to server-side include directives that were used to leverage the reuse of code modules. One main difference is that web-user controls are full-blown classes that fit into the object-oriented realm.

  • Code-behind is used to provide a separation between the user interface and the programming logic necessary for the page or control. This concept separates the interface designers from the application developers and affords each with an opportunity to work on an application without interfering with each other.

  • Cascading style sheets (CSS) are used for defining and using styles for elements that are used repeatedly in the application.

  • Dynamic HTML (DHTML) allows a web page to change in appearance and functionality without a roundtrip to the server to refresh the page.

  • Extensible markup language (XML) is a platform-neutral markup language that allows the system to exchange data in the form of structured text documents. It provides a mechanism by which the system can store data on the client, avoiding unnecessary hits to the business and data layers.

  • JavaScript is an interpreted scripting language used to manipulate information on the client browser.

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:

  • Receiving input from the presentation layer

  • Interacting with the data services layer to send/receive information

  • Sending the processed results to the presentation services layer

  • Enforcing business rules

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:

  • Receiving input from the business logic layer

  • Interacting with the SQL Server database to send/receive data

  • Sending the results to the business logic layer

Database

All 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:

  • Storing structured data

  • Indexing data

  • Retrieving data

 <  Day Day Up  >  


Building Portals, Intranets, and Corporate Web Sites Using Microsoft Servers
Building Portals, Intranets, and Corporate Web Sites Using Microsoft Servers
ISBN: 0321159632
EAN: 2147483647
Year: 2004
Pages: 164

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net