Identity and Directory Structure Design
Chapter 5 Creating Your Portal Design 129
Choosing and Implementing the Correct Aggregration Strategy
The options for implementing portal channels for speed and scalability include:
• Keeping processing functions on back-end systems and application servers,
not on the portal server. The portal server needs to optimize getting requests
from the user. Push as much business logic processing to the back-end systems.
Whenever possible, use the portal to deliver customized content to the users,
not to process it.
• Ensuring that the back-end systems are highly scalable and performing. The
Portal Desktop only responds as fast as the servers from which it obtains
information (to be displayed in the channels).
• Understanding where data is stored when designing providers, how the portal
gets that data, how the provider gets that data, and the type of data. For
example, is the data dynamic that pertains to an individual user, or is there
code needed to retrieve that customized or personalized data? Or, is the data
static and shared by a small group of users? Next, you need to understand
where the data resides (for example, in an XML file, database and flat file), and
how frequently the data is updated. Finally, you need to understand how the
business logic is applied for processing the data, so that the provider can
deliver a personalized channel to the user.
Working with Providers
Consider the following when planning to deploy providers:
•
URLScraperProvider. Typically you use this provider to access dynamic
content that is supplied by another web container’s web-based system. It uses
HTTP and HTTPS calls to retrieve the content. This provider puts high
requirements on the back-end system, as the back-end system has to be highly
scalable and available. Performance needs to be in double-digit milliseconds or
hundredths of milliseconds to show high performance. This provider is very
useful for proof of concept in the trial phase of your portal deployment due to
the simplicity of configuration.
URLScraperProvider also performs some level of rewriting every time it
retrieves a page. For example, if a channel retrieves a news page that contains a
picture that is hosted on another web site, for the portal to be able to display
that picture, the URL of that picture needs to be rewritten. The portal does not
host that picture, so
URLScraperProvider needs to rewrite that picture to
present it to portal users.
The URL Scraper provider that is part of Portal Server can also function as a file
scraper provider.