Portal Integration

 

Patterns and Practices home

Integration Patterns

Start | Previous | Next

Contents

Context

Problem

Forces

Solution

Example

Resulting Context

Context

Many business functions require users to access information that resides in multiple disparate systems. For example, a customer might call a service representative to place a new order. However, before the service representative accepts a new order, he or she has to verify the customer's payment history in the accounting system to ensure that the customer is in good standing. Switching between systems makes the service representative's work tedious and error-prone.

Problem

How can users efficiently perform tasks that require access to information that resides in multiple disparate systems?

Forces

To solve this problem, you need to consider the following forces:

  • It is still very common for an end user to have to manually copy information from one system to another. This type of integration is often referred to humorously as "swivel chair integration" because the user has to access multiple systems, often from multiple terminal screens. The user views the information on one screen and then swivels to another screen to enter data based on the information from the first screen. Obviously, this type of manual integration is very inefficient and error prone.
  • Process Integration can automate tasks that combine data and functions from multiple systems, thereby alleviating the need for users to access multiple systems directly. However, Process Integration requires a good understanding of the business process so that the business process can be accurately represented in a process model. This is often not the case because users make improvised decisions based on the information they see.
  • Entity Aggregation allows multiple systems to share data, which enables the user to access all required information from a single point. However, Entity Aggregation is often impossible or not economical due to strong semantic dissonance between the individual systems and lack of a common vocabulary between systems and people.
  • Reading data from an application is generally simpler and less risky than updating information. This is especially true in cases such as Data Integration, which directly accesses application data and bypasses the business and validation logic.

Solution

Create a portal application that displays the information retrieved from multiple applications in a unified user interface. The user can then perform the required tasks based on the information displayed in this portal.

Figure 1. Portal Integration

Portal Integration is a comparatively simple form of integration. It is popular because it is typically much easier to implement and less intrusive than more sophisticated types of integration, such as Process Integration. With Portal Integration, the business process that describes the sequence of tasks does not have to be represented in a precise process model, but instead resides in the user's head. This enables the end user to compensate for mismatches in semantics between the individual systems and to make a case-by-case decision. This approach is naturally less efficient than Process Integration, but it gives the user flexibility and it is typically much faster to implement. In many cases, Portal Integration can be used as an intermediate solution until business processes are better understood and can be incorporated into a process model, thus enabling the transition to Process Integration.

The portal engine shown in Figure 1 interacts with the individual applications using Data Integration, Functional Integration, or Presentation Integration. Because the primary purpose of the portal is the display of information, Portal Integration works particularly well with simpler forms of connectivity, such as Data Integration or Presentation Integration.

Portal Integration comes in a variety of flavors from very simple to fairly complex. The following list categorizes the different variants:

  • Display-only. The simplest form of Portal Integration simply displays data in different areas of the screen. Information from each application is mapped to a rectangular area of the screen, also referred to as a pane. This display allows the user to view information retrieved from multiple applications on a single screen. No other functionality is provided.
  • Simple post-processing. Instead of presenting the data received from each individual system, many portals add simple rules that help the user make decisions. For example, if the billing system reports that a customer payment is overdue, the portal would list this as an exception in bold red letters at the top of the screen instead of showing the history of all payments received. This type of functionality helps turn raw data into useful information for the user.
  • Single application interaction. This variant displays data in different areas of the screen, but it also allows the user to issue commands to one system at a time. This extra functionality enables the user to view information from multiple systems and use the resulting data to perform a business function that is limited to a single system.
  • Cross-pane interactivity. In many cases, the information to be displayed in one pane depends on a user selection in another pane. For example, a list of customers might be retrieved from the customer relationship management (CRM) system. When the user selects a customer's name from the list, the portal retrieves the selected customer's payment history from the billing system and displays it in a separate pane. To automate these steps, basic interaction between different portal panes is required. This type of portal speeds up the user's tasks without requiring full integration between systems. However, this type of portal does require the availability of common keys, such as a customer identifier (ID), that function across multiple systems. With this type of portal, the development of the interaction is often difficult to test and reuse.

The Portal Integration solution relies on interplay between the solution components that are described in Table 1.

Table 1: Portal Integration Solution Components

Component Responsibilities Collaborators
Portal engine - Extract information from existing applications
- Render information into a unified user interface
Applications
Application Host relevant business data None

 

Example

Many customer service functions require access to a range of customer data. For example, a customer may call to place a new order, check whether a payment has been received, and change his or her phone number. Often, this type of information is stored in many different systems, such as the order management system, the billing system, or the complaint system. Giving a customer service representative a unified view of the various records for a customer can be enormously helpful in providing efficient and effective service to the customer. A similar or reduced version of the portal could also be presented directly to the consumer on the company's Web site.

Resulting Context

Portal Integration results in the following benefits and liabilities:

Benefits

  • Non-intrusiveness. Because its primary function is the retrieval and display of information, Portal Integration can typically be added to existing systems without disturbing the existing functionality. This is particularly true if Portal Integration uses Data Integration for the retrieval of data from the individual systems.
  • Speed of implementation. Adding a portal to existing applications can often be accomplished in a matter of days or weeks, whereas a full integration of the systems could take many months. Many vendors offer Portal Integration platforms in combination with a suite of prefabricated panes that integrate with many popular enterprise applications and data sources.
  • Flexibility. Because the user makes the decisions, Portal Integration can be used in situations where business rules are not well understood or not agreed upon.

Liabilities

  • Inefficient. Portal integration is best suited to the automation of simple tasks and processes because it still requires manual interaction by the user. For example, because most portals allow the user to interact with only one application at a time, the user might have to perform multiple manual actions in sequence to complete a complex business function. This makes Portal Integration unsuitable for high-volume applications. In these situations, Process Integration is generally a better solution because the sequence of steps can be encoded in a process model and run automatically by the process manager.
  • Error-prone. When using Portal Integration, the user makes business decisions and determines the sequence of tasks to be performed. While this provides flexibility, it also introduces the risk of human error. Therefore, Portal Integration is not well suited to integrations that require strict repetition of a defined business process. Process Integration is generally a better choice in those scenarios.

Start | Previous | Next