Skip Headers
Oracle® Application Server Portal Configuration Guide
10g Release 2 (10.1.4)
B19305-03
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
Next
Next
 

1 Understanding the OracleAS Portal Architecture

This chapter introduces Oracle Application Server Portal and explains how it fits in the Oracle Application Server architecture.

This chapter contains the following sections:

1.1 What Is the Oracle Application Server?

Oracle Application Server is a completely standards-based application server that provides a comprehensive and fully integrated platform for running Web sites, J2EE applications, and Web services. It addresses all the challenges that you face as you refine your business processes to become an e-business.

Oracle Application Server provides full support for the J2EE platform, XML, and emerging Web services standards. With Oracle Application Server, you can simplify information access for your customers and trading partners by delivering enterprise portals that can be customized and accessed from a network browser or from wireless devices. It enables you to redefine your business processes and integrate your applications and data sources with those from your customers or partners. You can deliver tailored customer experiences through real-time personalization, and assess and correlate customer navigation, purchasing, ratings, and demographic data.

You can also implement a centralized management, security, and directory framework to manage and monitor all of your distributed systems and diverse user communities. Oracle Application Server maximizes your Web site infrastructure by deploying your fast, scalable Internet applications through built-in Web caching, load balancing, and clustering capabilities.

1.1.1 What Are the Oracle Application Server Solutions and Components?

Oracle Application Server is actually a set of Oracle Application Server solutions. Each solution contains one or more components. A component can be a service, an API, or an application. For detailed information, see the Oracle Application Server Concepts guide.

1.1.2 Overview of the Oracle Application Server Architecture

It is important to understand a bit about the overall Oracle Application Server architecture so you can more fully understand how your OracleAS Portal configuration fits within that structure. The next few sections provide some key concepts and terms you will need as you plan your configuration strategy.

The Oracle Application Server architecture consists of three basic tiers:

  • Client Tier

  • Middle Tier

  • Infrastructure Tier

Client Tier

From the client computer, a user can connect to the middle tier and the infrastructure tier to access the self-service tools for publishing information, build applications, deploy content management, and administer enterprise portal environment.

Middle Tier

The middle tier, or application server tier, is a set of Oracle Application Server components typically installed into a single Oracle home. A single enterprise can have one or more application server installations, either residing on one host or, for more complex installations, distributed across multiple hosts.

Infrastructure Tier

The infrastructure installation consists of several components that help authenticate users, store access control information, and pass on the required content to the user based on the privileges the user has on OracleAS Portal. Like the middle-tier components, infrastructure components can be distributed across multiple hosts to enable scalability and high availability.

Figure 1-1 shows the three parts of the Oracle Application Server architecture.

Figure 1-1 Components of the Oracle Application Server Architecture

Description of Figure 1-1  follows
Description of "Figure 1-1 Components of the Oracle Application Server Architecture"

1.1.2.1 What Are the Middle-Tier Components?

The middle tier is the part of an Oracle Application Server architecture that contains several components responsible for accepting requests from clients, validating the requests, and providing content, while using intelligent data caching for faster and reliable performance.

For OracleAS Portal, the middle tier handles all Web requests by forwarding them to the appropriate provider. This is also where portal pages are assembled, and where the caching of portal content is managed. The middle tier also provides other functions for other Oracle Application Server components.

Some of the key components for OracleAS Portal in the Oracle Application Server middle tier are:

  • Oracle Containers for J2EE. Oracle Containers for J2EE (OC4J) are fast, lightweight, and scalable J2EE containers that are written in Java and run on a standard Java Virtual Machine (JVM). OracleAS Portal's Parallel Page Engine (PPE), for example, is a servlet that assembles portal pages, and runs in the Oracle Containers for J2EE. OC4J have been designed for ease of use and to support standard APIs.

  • Oracle HTTP Server. Oracle HTTP Server is the underlying deployment platform for all programming languages and technologies Oracle Application Server supports. Providing a Web listener for OC4J and the framework for hosting static and dynamic pages and applications over the Web, Oracle HTTP Server includes significant features that facilitate load balancing, administration, and configuration.

  • Portal Services. For OracleAS Portal, Oracle HTTP Server handles all incoming HTTP requests to OracleAS Portal, by forwarding them to the OC4J_Portal instance, which provides all the Portal Services. The Parallel Page Engine (PPE) is one of the Portal Services that assembles portal pages. Other services, like those previously provided by mod_plsql, are now incorporated in the Portal Services as well.

  • Oracle Application Server Web Cache. Works together with OracleAS Portal's own file-based caching to cache page definitions and content in memory, to boost performance. OracleAS Portal is closely integrated with OracleAS Web Cache to improve OracleAS Portal's overall availability, scalability, and performance. OracleAS Web Cache combines caching and compression technologies to accelerate the delivery of both static and dynamically generated portal content.

  • Application Server Control Console. This administration console for the Oracle Application Server enables you to administer clusters, start and stop services, enable and disable components, view logs and ports, and monitor servers in real-time.

Figure 1-2 The Middle-Tier Components

Description of Figure 1-2  follows
Description of "Figure 1-2 The Middle-Tier Components"

There are three types of middle-tier installations:

  1. Oracle Containers for J2EE and OracleAS Web Cache, which is the simplest configuration and does not contain any of the OracleAS Portal Solution components.

  2. OracleAS Portal and OracleAS Wireless, which adds the Portal and Wireless solutions to those provided by Oracle Containers for J2EE and OracleAS Web Cache.

  3. Business Intelligence and Forms, which contains all of the middle-tier components, including OracleAS Portal.

To use OracleAS Portal, you must choose Option 2 or Option 3.

Refer to the following sections for more information:

1.1.2.2 What Are the Infrastructure Components?

By default, the infrastructure tier handles all authentication requests and hosts the Oracle Application Server Metadata Repository, which contains schemas and business logic used by application server components (including OracleAS Portal) and other pieces of the infrastructure.

For the OracleAS Portal middle-tier installation, the infrastructure tier is a prerequisite.

The Oracle Application Server Infrastructure contains:

  • Application Server Control Console. This administration console for the Oracle Application Server enables you to administer clusters, start and stop services, enable and disable components, view logs and ports, and monitor servers in real-time.

  • Oracle Internet Directory. An LDAP version 3 compliant repository for storing user credentials and group memberships for OracleAS Portal and other Oracle products.

  • Oracle Application Server Single Sign-On (SSO). Authenticates user credentials against Oracle Internet Directory for OracleAS Portal and other applications, thus enabling users to log on once to the Web portal to access multiple accounts and applications with a single user name and password.

  • Oracle Application Server Metadata Repository. The repository is installed in an Oracle Database and consists of a collection of schemas that contain product metadata for Oracle Application Server components. Some middle-tier components, such as OracleAS Portal, store their metadata in this repository and need access to that metadata during run time.

Figure 1-3 The Infrastructure Tier Components

Description of Figure 1-3  follows
Description of "Figure 1-3 The Infrastructure Tier Components"

You can install multiple instances of any of these components on multiple servers, and then connect the servers to suit your needs. Deployment configuration options for OracleAS Portal range from installing everything on a single server to multitier configurations in which the pieces comprising OracleAS Portal are located across multiple servers.

There are three types of OracleAS Infrastructure installations:

  1. Oracle Identity Management, which installs and configures Oracle Identity Management services (Oracle Internet Directory, OracleAS Single Sign-On, Oracle Delegated Administration Services, Oracle Directory Integration and Provisioning, OracleAS Certificate Authority).

  2. OracleAS Metadata Repository, which installs a new Oracle Database 10g containing the OracleAS Metadata Repository, and also stores the database objects that comprise OracleAS Portal, Oracle Internet Directory, and OracleAS Single Sign-On.

  3. Oracle Identity Management components and OracleAS Metadata Repository, which consists of all the components listed in the preceding two installation types.


    Note:

    Throughout this guide, you will see references to ORACLE_HOME. ORACLE_HOME, represents the full path of the Oracle home, and is used in cases where it is easy to determine which Oracle home is referenced. Oracle home contains all Oracle components selected for an installation type. You are prompted to enter an Oracle home in the Path field of the Oracle Universal Installer File Locations window.

    The following conventions are used in procedures where it is necessary to distinguish between the middle tier, OracleAS Infrastructure, or OracleAS Metadata Repository Oracle home:

    • MID_TIER_ORACLE_HOME, represents the full path of the middle-tier Oracle home.

    • INFRA_ORACLE_HOME, represents the full path of the OracleAS Infrastructure Oracle home.

    • METADATA_REP_ORACLE_HOME, represents the full path of the OracleAS Infrastructure home containing the OracleAS Metadata Repository.


1.2 Understanding the OracleAS Portal Architecture

After your development team builds your Web portal, the next step is to deploy a production version of it. Successful deployment means that end users are able to access content in a timely manner, without delays, errors, or server downtime. Because OracleAS Portal can be installed in a variety of configurations on different machines, a successful deployment ultimately depends how you configure portal to address the requirements of your site. This section provides some background information that should be useful to you as you plan your configuration.

1.2.1 How Does OracleAS Portal Integrate with Other Components?

Some Oracle Application Server components serve as portlet providersFoot 1  for OracleAS Portal, which means you can easily integrate information from various components into a single portal page. Other components provide essential services to OracleAS Portal, as described in the following list.

  • Oracle Reports. OracleAS Portal includes a simple report building facility. However, as your reports become more complex, you may want to import the report into OracleAS Reports Services to take full advantage of the functionality it offers. You can deploy any OracleAS Reports Services report as a portlet.

  • Oracle Business Intelligence Discoverer. As a portlet provider, OracleBI Discoverer offers Worksheet portlets and List of Workbooks portlets to OracleAS Portal users. A Worksheet portlet contains information from a single Discoverer worksheet. The portlet displays this information in a table, a graph, or both. The List of Workbooks portlet presents a list of available workbooks.


    See Also:


  • Oracle Ultra Search. Oracle Ultra Search, which is integrated with OracleAS Portal, enables portal users to add a powerful search capability to their portal pages, and can be used to perform a search over a variety of content repositories and data sources. It also has the capability to crawl the OracleAS Portal Repository and search public content. Refer to Chapter 8, "Configuring the Search Features in OracleAS Portal" for more information about Oracle Ultra Search.

  • Oracle Application Server Wireless. Working with OracleAS Wireless, OracleAS Portal automatically transforms the portal page structure to a format appropriate for the smaller screens of most wireless devices. Only portlets generating OracleAS Wireless XML content can display on a wireless device.

    OracleAS Portal developers also have access to a set of page design tools that help in creating portal pages that optimize the wireless experience. With these tools, developers can build a distinct portal structure for their wireless users. The wireless pages and portal pages can share portlet instances, which enables clients to reuse portlets on browser and wireless clients without reconfiguring each portlet.

    Refer to Section 4.6, "Configuring Mobile Support in OracleAS Portal" for more information.

  • Oracle Enterprise Manager 10g. Oracle Enterprise Manager 10g provides the Application Server Control Console, and the Grid Control Console. Oracle Enterprise Manager 10g Application Server Control Console can be used for monitoring, diagnostics, and for the configuration of OracleAS Portal-specific integration and performance settings. The Oracle Enterprise Manager 10g Grid Control Console can be used for monitoring OracleAS Portal, and tracking historical trends, but not for configuration. Refer to Chapter 7, "Monitoring and Administering OracleAS Portal" for more information about monitoring OracleAS Portal.

  • Oracle Application Server Forms Services. Oracle Forms applications combine interactive, graphical interfaces with strong support for data validation. Forms developers can quickly create applications with powerful data manipulation features. OracleAS Forms Services deploys Forms applications to Java clients in a Web environment. OracleAS Forms Services automatically optimizes class downloads, network traffic, and interactions with the Oracle Database. OracleAS Forms Services applications are secured by the OracleAS Single Sign-On, and accessed from an OracleAS Portal environment provided by Oracle Application Server.

  • Oracle Application Server Single Sign-On. OracleAS Single Sign-On authenticates users who are attempting to gain access to non-public areas of your portal. Refer to Section 6.1.6.1, "Relationship Between OracleAS Portal and OracleAS Single Sign-On" for more information.

  • Oracle Internet Directory. Oracle Internet Directory is Oracle's highly scalable, LDAP version 3 service and hosts the Oracle common user identity. OracleAS Portal queries the directory to determine a user's privileges and what they are entitled to see and do in the portal. In particular, OracleAS Portal retrieves the group memberships of the user from the directory to determine what they may access and change. Refer to Section 6.1.6.2, "Relationship Between OracleAS Portal and Oracle Internet Directory" for more information.

  • Oracle Delegated Administration. In addition to querying Oracle Internet Directory for user and group information, OracleAS Portal must provide users with a user interface to add and modify user and group information. To change information in the directory, you use the Oracle Delegated Administration Services user interface. OracleAS Portal provides links to the Oracle Delegated Administration Services for users with sufficient privileges to add and change users and groups. Refer to Section 6.1.6.4, "Relationship Between OracleAS Portal and Oracle Delegated Administration Services" for more information.

  • Oracle Directory Integration and Provisioning. Oracle Directory Integration Platform notifies OracleAS Portal upon the occurrence of any directory events (for example, user deletions) to which OracleAS Portal subscribes. In essence, the directory integration server informs OracleAS Portal when a change occurs in the directory that requires a change in OracleAS Portal. Refer to Section 6.1.6.3, "Relationship Between OracleAS Portal and Oracle Directory Integration Platform" for more information.

  • Oracle Application Server Metadata Repository. The repository is installed in an Oracle Database 10g and consists of a collection of schemas that contain product metadata for Oracle Application Server components. Some middle-tier components, such as OracleAS Portal, store their metadata in this repository and need access to that metadata during run time.

1.2.2 How Do the Pieces Fit Together?

A portal is comprised of groups of pages, each page divided into regions. The regions specify how space on a given page is allotted to that page's items and portlets.

1.2.2.1 How Are Pages Assembled in OracleAS Portal?

Each time a user requests an OracleAS Portal page, the page is dynamically assembled and formatted according to the portlets and layout chosen for that page. Keep in mind that the parts that comprise the page are typically drawn from a variety of sources. For example, the page's layout, look and feel, and user personalizations are stored in the database as part of the overall page definition, completely separate from any portlet content. This information may, in turn, be cached by the middle tier.

The fully assembled page may be cached in OracleAS Web Cache based on the page's caching properties. However, if full-page caching is used, pages are not re-assembled with each request, because they are served directly out of OracleAS Web Cache.

The portlets that appear on the page can be written in PL/SQL or Java. For PL/SQL portlets, the source is an OracleAS Metadata Repository database. This could be the database where the current instance of OracleAS Portal is installed, or some other OracleAS Metadata Repository database located on a remote server, which is accessed through the Federated Portal Adapter. If written in Java, a Web provider provides the portlet from any location accessible from the network, either Internet or intranet. For example, you could create a portal page that displays content from many different providers. These providers can be database providers, Web providers, or WSRP producers.

In 10g Release 2 (10.1.4), OracleAS Portal introduces a noticeable improvement in scalability, which is best described by looking at the way page requests are processed. Figure 1-4 shows how a typical page is assembled. In this release, OracleAS Web Cache, using Edge Side Includes (ESI) processing, is the entry point for page request processing rather than the PPE. The various pieces of metadata involved in a page request are cached at a more granular level, increasing the cache hit ratio and enabling a more granular invalidation of portal content. This new approach also provides support for secure full page caching in OracleAS Web Cache.

Figure 1-4 Portal Page Request Flow

Description of Figure 1-4  follows
Description of "Figure 1-4 Portal Page Request Flow"

Figure 1-4 shows the steps performed when a client requests an OracleAS Portal page.

  1. The client browser requests a portal page. OracleAS Web Cache receives this request.

  2. OracleAS Web Cache retrieves the page stub. You can think of the page stub as a blueprint for the page that is to be assembled. If the page stub is not already cached in OracleAS Web Cache, then it is generated by the Portal Services running in the OracleAS Portal OC4J instance


    Note:

    The Portal Services are used to assemble portal pages, access portal and page metadata, and so on. The Parallel Page Engine (PPE) continues to be one of the Portal Services that assembles portal pages. Other services, like those previously provided by mod_plsql, are now incorporated in the Portal Services as well.

  3. OracleAS Web Cache parses the page stub and retrieves additional user and page security metadata. Examples of the User Metadata (UMD) are user name, device type, and language. This user information is gathered once per session per user. If the UMD is not already cached in OracleAS Web Cache, then it is generated by the Portal Services running in the OracleAS Portal OC4J instance. The page security metadata (SMD) contains information that is used to determine whether the user is authorized to see the content at a given URL. If the SMD is not already cached in Web Cache, a request is sent through Portal Services to the portal schema in the OracleAS Metadata Repository. If the user has not logged in and is requesting private data, then the user will be challenged to log in. An error page displays if it turns out that the user is not authorized to view the page.

  4. OracleAS Web Cache returns the already fully assembled copy of the page if it is found in the cache. Otherwise, it requests the content from Portal Services. The content of the page is assembled as follows:

    1. Portal Services tries to get the cached copy of the page metadata (PMD) from OracleAS Web Cache. The PMD, or the page definition, contains information about the portlets on a page and their layout. If there is a cache miss in OracleAS Web Cache, then it checks if the portal cache has a valid cached copy. Finally, if no cached copy of the PMD exists, then the portal schema in the OracleAS Metadata Repository generates the PMD.

    2. Portal Services retrieves common page components, such as navigation portlets, banners, tabs, and subpage regions, from OracleAS Web Cache if they exist. These requests are performed in parallel. A request is sent to the portal schema in the OracleAS Metadata Repository if no valid cached copies exist.

    3. For each portlet on the page, Portal Services checks if a cached copy of the portlet's content exists in the Portal Cache. If there is a cache hit, the cached content is used. If there is a cache miss, Portal Services fetches the content from the appropriate provider. These requests are performed in parallel along with the requests described in the preceding step. Each provider returns content for the portlet. Content can be requested from Web providers, WSRP producers, or Database (DB) providers.

  5. OracleAS Web Cache returns the fully assembled page to the client browser.

1.2.2.2 How Does Communication Flow in OracleAS Portal?

The OracleAS Portal implements a distributed architecture consisting of multiple communication points and protocols. For complex configurations including the introduction of firewalls and proxies, you need to understand the communication points, and how the various components of OracleAS Portal integrate together. Likewise, to allow for the distribution of the various functions across multiple servers, it is necessary to be aware of the network protocols that are used in the internode communication.

The OracleAS Portal architecture consists of three basic tiers: the client browser (pictured at the far left in Figure 1-5) the middle-tier server (pictured on the bottom left), and the infrastructure server and repositories (pictured on the top left). Although the default installation places all servers and repositories on the same host, it is recommended that you install these functions on separate servers, for increased performance and high availability.

Figure 1-5 shows in detail the communication flow between the various components of OracleAS Portal and Oracle Application Server.

Figure 1-5 Communication Flow and Protocols

Description of Figure 1-5  follows
Description of "Figure 1-5 Communication Flow and Protocols"

The three tiers and the communication protocols used between them is described next:

Client

  • The client sends a request to OracleAS Portal, which is part of the middle tier, using the HTTP or HTTPS protocols. The use of firewalls and proxies is supported between the client and the middle tier.

  • If the user needs to be authenticated, the client browser is redirected to the Oracle HTTP Server in the infrastructure tier. This connection is through HTTP or HTTPS and supports the implementation of both firewalls and reverse proxies in the network environment.

Infrastructure Tier

The infrastructure tier consists of the Oracle HTTP Server, OracleAS Single Sign-On, Oracle Internet Directory, and OracleAS Metadata Repository.

  • If the requested page requires authentication, the user is prompted for a user name and password. This function is carried out by the Portal Services, through a redirection to OracleAS Single Sign-On for authentication. All authentication requests are communicated using the SQL*Net protocol.

  • OracleAS Single Sign-On verifies user credentials against the Oracle Internet Directory through LDAP/S. The credentials are compared to those found within the Directory (LDAP compare) and the result returned to OracleAS Single Sign-On. Upon successful authentication, OracleAS Single Sign-On creates a single sign-on cookie. Once the user is authenticated and an appropriate OracleAS Portal session created, the user may access pages and other objects.

  • As the access control lists (ACL) for all portal objects are held in the OracleAS Metadata Repository, the OracleAS Portal uses an LDAP/S request to communicate with the Oracle Internet Directory to query the appropriate user and group membership information defined in the Directory. When a user first logs in to OracleAS Portal, the group memberships of the user are copied to the portal node and cached on that tier. This process allows for fast lookup of object privileges. Once the object and page privileges of the user are known, the Parallel Page Engine goes on to generate the page from the appropriate pieces.

  • All user provisioning is performed against the Oracle Internet Directory. The interface between the Infrastructure tier's Oracle HTTP Server and the LDAP server is through the Oracle Delegated Administration Services servlet. The Oracle Delegated Administration Services interface uses the LDAP/S protocol to communicate with the Oracle Internet Directory.

  • The OracleAS Single Sign-On model includes the addition of mod_osso, which allows any URL to be protected within the OracleAS Single Sign-On environment. Calls to the Delegated Administration Services servlet are protected by the mod_osso plug-in. This verifies that the user has been properly authenticated before providing access to the Oracle Internet Directory. In effect, mod_osso filters the URL and forwards the HTTPS-based request, only if the user has previously been authenticated.

  • The Oracle Directory Integration Platform automatically keeps the locally cached information up to date with changes in the Oracle Internet Directory. Just as the Oracle Directory Integration Platform keeps the local cache synchronized with the Oracle Internet Directory, it also keeps the Oracle Internet Directory synchronized with any external repository. The Oracle Directory Integration Platform communicates with the Oracle Internet Directory through LDAP/S.

Middle Tier

The middle tier consists of the OracleAS Web Cache, Oracle HTTP Server, Oracle Containers for J2EE, and other Oracle Application Server components.


Note:

OracleAS Web Cache and Oracle HTTP Server can be installed on different hosts to allow scalability and high availability.

  • OracleAS Web Cache front ends the middle-tier components and thus optimizes the throughput of OracleAS Portal. When a page request comes from the browser, OracleAS Web Cache evaluates the URL and services the request from the cache if possible. If a requested page is not previously cached, the request is forwarded to its origin server (Oracle HTTP Server in this case) for generation. As a Web accelerator, OracleAS Web Cache allows the use of HTTP or HTTPS communication between itself and:

    • The client browser

    • The appropriate origin server

    • Both the origin server and the client browser

  • The Parallel Page Engine (PPE) runs as a servlet within the Oracle Containers for J2EE. A URL request to the servlet is forwarded through the Oracle HTTP Server's plug-in, mod_oc4j. As a standards-based plug-in, mod_oc4j communicates with Oracle Containers for J2EE using the Apache Java Protocol (AJP).

  • The WSRP container is a Java portlet container that implements the WSRP specification and the Java Specifications Request (JSR) 168 APIs.

  • The PPE itself makes requests to database providers, Web providers, and Web Services for Remote Portlets (WSRP) producers through HTTPS-based communication. The render request to a database provider is through a URL loopback to the Portal Services, while the call to a Web provider is by use of a SOAP-based message protocol over HTTP or HTTPS, and the call to a WSRP producer is by use of the WSRP communication protocol using the Web Services Definition Language (WSDL) URL.


    Note:

    In the current release, use of the HTTPS protocol for communication between OracleAS Portal and WSRP producers is not supported.

  • If any Web providers require information from the OracleAS Metadata Repository, they issue the appropriate call through the PDK using a SOAP-based message protocol over HTTP or HTTPS.

  • The OracleAS Web Cache component uses an invalidation-based cache methodology. If a requested URL can be serviced from the cache, it is assumed to be correct until the specified URL is invalidated. If a user customizes their OracleAS Portal experience, or if the privileges configured to use the user changes, the OracleAS Portal invalidates the appropriate cached objects within OracleAS Web Cache. To do this, the OracleAS Portal issues a HTTPS-based request directly from the OracleAS Metadata Repository to the invalidation port of the OracleAS Web Cache.

1.3 Understanding Caching in OracleAS Portal

OracleAS Portal caches data in the following locations:

OracleAS Portal uses three methods to cache Web pages and content:

Caching can be done at the following levels:

1.3.1 Understanding OracleAS Web Cache

OracleAS Web Cache is a powerful server acceleration and load balancing solution. OracleAS Web Cache is required for running OracleAS Portal. OracleAS Web Cache offers intelligent caching, page assembly, and compression features. OracleAS Web Cache accelerates the delivery of both static and dynamic Web content, and provides load balancing and failover features for Oracle Application Server.

To increase the availability and scalability of medium to large deployments, consider configuring multiple instances of OracleAS Web Cache to run as members of a cache cluster. A cluster is a collection of cooperating OracleAS Web Cache instances that work together to provide a single logical cache. Cache clusters provide failure detection and failover, increasing the availability of your Web site. If an OracleAS Web Cache instance fails, other members of the cache cluster detect the failure and take ownership of the cached content of the failed cluster member. This is achieved because the nodes that receive requests hold the content, after forwarding the request to the owner cache node.

By distributing the Web site's content across multiple OracleAS Web Cache servers, more content can be cached and more client connections can be supported, expanding the capacity of your Web site. You make use of the processing power of more CPUs and, because multiple requests are executed in parallel, you increase the number of requests that are served concurrently.

OracleAS Portal functions as a Web Cache origin server to take advantage of the following Web Cache features:

  • Caching dynamically generated, user-specific page structure and portlet content

  • Fine-grained cache control

  • Invalidation-based caching

  • Layer 7 load balancing and failover detection

  • Performance assurance and surge protection

Portal sites can choose from the following deployment options:

  • Collocated: Web Cache runs on the same physical server as the OracleAS Portal middle tier. This configuration is appropriate for smaller, low-volume sites where the scalability of the middle tier is not a concern.

  • Dedicated: Web Cache is deployed on a dedicated server that sits in front of one or more OracleAS Portal middle-tier servers. Dedicated deployments are usually preferable to collocated deployments, as there is no risk of resource contention with other server processes. OracleAS Web Cache performs well on commodity hardware, so a dedicated deployment does not have to be costly in terms of hardware expenditure.

    For medium to large business Web sites with high volume, the dedicated topology is advantageous for the following reasons:

    • No resource contention. Installing OracleAS Web Cache and OracleAS Portal middle tier on different servers will guarantee no competition among different services for hardware resources.

    • Performance assurance and surge protection. By separating the middle-tier server and cache server, this topology minimizes compound failure rates. OracleAS Web Cache offers patent-pending techniques to guarantee site performance and scalability, even when Web server loads surpass capacity levels. A surge protection mechanism detects system overload conditions, providing a crucial buffer against traffic spikes and denial-of-service attacks.

    • Server affinity. OracleAS Web Cache can be used to balance the load between multiple OracleAS Portal middle-tier servers and providers in a cluster. Cookies can be used to maintain persistent, or "sticky", connections to a specific server when necessary to preserve state.

To avoid a single point of failure in very high-volume sites, two or more nodes running OracleAS Web Cache may be deployed behind a Load Balancing Router (LBR). If you have multiple deployments of OracleAS Portal, each portal site can have its own Web Cache server. One or more sites can also share a single Web Cache server. Similarly, a provider can share a Web Cache with a portal site, or a dedicated Web Cache can be deployed in front of the Web server that hosts the provider. Refer to Section 5.8, "Managing OracleAS Portal Content Cached in OracleAS Web Cache" for more information about configuring OracleAS Web Cache.

In addition to providing failover, an OracleAS Web Cache cluster also balances the load it forwards to the middle tier.

Figure 1-6 Adding OracleAS Web Cache to a Medium to Large Portal Configuration

Description of Figure 1-6  follows
Description of "Figure 1-6 Adding OracleAS Web Cache to a Medium to Large Portal Configuration"

After the initial request to the owner node, the content is cached across all instances. In Figure 1-6, the LBR distributes incoming requests to the three OracleAS Web Cache instances. When the on-demand content is not available on the node receiving the request, the other instances are checked for the cached content, and the page matching the request is returned to the Browser.

To take advantage of OracleAS Web Cache's clustering capability, you must configure each instance as a member of a cache cluster. In this setup, there is no one-to-one relationship between an OracleAS Web Cache instance and a matching middle-tier instance. As shown in Figure 1-6, OracleAS Web Cache 1 provides load balancing between middle tiers 1, 2, and 3. OracleAS Web Cache 2 and 3 do the same.

More on OTN

You will find additional information about caching and performance on the Oracle Technology Network (OTN), http://www.oracle.com/technology/products/ias/portal/performance_10g1014.html.

1.3.2 Understanding Portal Cache

Portal cache is a file system-based cache for OracleAS Portal pages and portlets. Portal cache supports validation-based caching and expiry-based caching.

Portal cache consists of two kinds of caches:

  • Portal Content Cache

    The content cache contains user level and system level content generated by OracleAS Portal, which includes page metadata, database portlets, Web portlets, documents, style sheets, images, and full-page caches.

  • Portal Session Cache

    OracleAS Portal uses session cookies to maintain session details for each portal user. This session cookie is encrypted and contains important information like the database user name, lightweight user name, and Globalization Support characteristics of the session. In order for Portal Services to execute a portal request, it must get the database user name from the session cookie. To avoid an expensive decrypt operation with each user request, Portal Services decrypts the session cookie once and maintains the relevant cookie details in an in-memory session cache. The in-memory session cache may be used for garbage-collection by the JVM, and therefore, the session details are also cached in the file system.

Portal content and session cache content resides on the file system, typically under ORACLE_HOME/Apache/modplsql/cache, and is configured in the file ORACLE_HOME/Apache/modplsql/conf/cache.conf. You can specify content cache for OracleAS Portal from the Application Server Control Console. See Section 4.5.4, "Configuring the Portal Cache" for more information.

In multiple middle-tier configurations, you can set up the portal cache for each middle tier on a shared file system. This ensures that each middle tier can share cached content, rather than each drawing from its own independent cache.

For example, one middle tier might handle a request for an item by caching it in the portal cache. Because you typically use a load balancing router for configurations having multiple middle tiers, the next request for the item could be handled by a different middle tier. This middle tier could access the cached version if the portal caches for each middle tier are shared on a common file system.

Various parameters for configuring portal cache include:

1.3.3 Understanding Cache Invalidation in OracleAS Portal

OracleAS Portal makes use of two caching systems: OracleAS Web Cache, and portal cache. OracleAS Web Cache supports invalidation-based caching and expiry-based caching. The portal cache supports validation-based caching and expiry-based caching.

Cache invalidations can be classified into two groups:

  • Hard Invalidations

    Hard invalidations are queued up over the duration of a single browser request and are then processed when the OracleAS Portal user interface action completes. The results will be seen immediately. Most page edits and all portlet customizations are treated as hard invalidations.

  • Soft Invalidations

    Soft invalidations are queued up over many browser requests and are then processed later by the soft invalidation database job. Security related changes, for example, granting privileges on a page to a user or group, are treated as soft invalidations.

Cache Invalidation Resource Requirements

Invalidations are queued up based on edits and personalizations. With more such actions being performed, a greater number of invalidations are submitted. Individual actions that involve more portal objects or users will require more resources to process the corresponding invalidations. For example, changing the access privileges for a group of users will require that data for each user in the group be invalidated. Therefore, the larger the group the more invalidation resources will be needed. Consider another example, deleting a large number of pages as a bulk operation requires invalidation resources proportional to the number of pages being deleted. Processing of invalidations requires storage, CPU, and communication resources. Therefore, large numbers of cache invalidations may slow down the system. The reason for this could be any of the following:

  • Communication with OracleAS Web Cache

    When either hard or soft invalidations are processed, a TCP/IP connection is established with the OracleAS Web Cache invalidation port from the OracleAS Metadata Repository, to send invalidation messages.

    For both hard and soft invalidations, all the messages queued are sent using a TCP/IP connection to OracleAS Web Cache. OracleAS Web Cache receives these invalidation messages and attempts to invalidate cached data. This load may affect OracleAS Web Cache's ability to respond to requests for data.

  • Cache invalidation queue storage

    Both hard and soft invalidation messages are queued into a database table in the OracleAS Metadata Repository. As the queue grows in size, more database resources are required to maintain the queue.

  • Cache invalidation queue optimization

    During the processing of hard or soft invalidation messages, queue optimization removes duplicate or unnecessary invalidation messages. For example, if a page group is being invalidated, individual invalidation messages for pages in the page group are unnecessary. If a large number of invalidation messages have been queued up, the optimization process may take a long time.

1.4 Understanding WSRP and JPS

The WSRP specification is a Web services standard that allows the plug-and-play of visual, user-facing Web services with portals or other intermediary Web applications. Being a standard, WSRP enables interoperability between a standards-enabled container based on a particular language (such as JSR 168, .NET, Perl) and any WSRP portal. Therefore, a portlet (regardless of language) deployed to a WSRP-enabled container can be rendered on any portal that supports this standard. For more information about WSRP, see http://www.oasis-open.org/committees/download.php/2877/wsrp-specification-1.0-cs-1.0-rev2.pdf.

JPS is based on JSR 168 and defines a set of APIs for building standards-based portlets using Java. Portlets built to this specification can be rendered to a portal locally or deployed to a WSRP container for rendering portlets remotely. For more information about JSR 168, see http://jcp.org/aboutJava/communityprocess/first/jsr168/index.html.

1.4.1 What's Next?

You are ready to move on to Chapter 2, "Planning Your Portal", now that you have a basic understanding of the Oracle Application Server architecture, how OracleAS Portal fits in, the working of caching in OracleAS Portal, and WSRP producers. By the end of that chapter, you should have a good idea of how you want to configure your installation.



Footnote Legend

Footnote 1: Applications and information sources, represented as portlets, communicate with the portal through a provider. Each portlet only has one provider, and a provider can have one or more portlets that expose an underlying application or information source.