Skip to main content

Self-Service: Select Application pattern

Overview

Please select either the Application pattern heading or the picture of the Application pattern most relevant to your design.

The specific business functionality supported by applications that automate the Self-Service business pattern varies from one industry to another. Yet, a survey of such applications in multiple industries reveals certain common approaches that have been successful. Such successful approaches are captured in the following seven Application patterns. Additionally, information is presented for use as criteria by which to evaluate these Application patterns for use in your own development efforts. Keep in mind that the Application patterns are logical constructs that can be physically implemented in different ways. For example, an Application pattern diagrammed with three logical tiers might be implemented as two, three, or four physical tiers.

The Business drivers for the Self-Service Application patterns
Business Drivers Stand-Alone Single Channel Directly-Integrated Single Channel As-Is Host Customized Presentation to Host Router Decomposition Agent
Time to market yes no yes yes no no no
Improve the organizational business events no yes yes yes no yes yes
Reduce the latency of business events no yes no no yes yes yes
Easy to adapt during Mergers & Acquisitions no no no no yes yes yes
Integration across multiple delivery channels no no no no yes yes yes
Unified customer view across Lines of Business (LOB) no no no no no yes yes
Support effective cross selling no no no no no no yes
Mass customizations no no no no no no yes

The IT drivers for the Self-Service Application patterns
IT Drivers Stand-Alone Single Channel Directly-Integrated Single Channel As-Is Host Customized Presentation to Host Router Decomposition Agent
Minimize application complexity yes no no yes no no no
Minimize total cost of ownership (TCO) no no yes yes yes yes yes
Leverage existing skills no yes yes yes yes yes yes
Leverage legacy investment no yes yes yes yes yes yes
Backend application integration no yes yes yes yes yes yes
Minimize enterprise complexity no no no no yes yes yes
Maintainability no no no no yes yes yes
Scalability no no no no yes yes yes

Stand-Alone Single Channel (aka U2B Topology 1)

The Stand-Alone Single Channel application pattern provides a structure for applications that have no current need for integration with other systems and need only focus on one delivery channel. While this Application pattern can be used to implement any one of the delivery channels, the following discussion focuses primarily on the Web delivery channel.


Business and IT Drivers

Time-to-market is often the primary business driver for choosing this Application pattern. This approach can be used to extend quickly beyond web publishing into providing self-service capabilities on the web.

There should be no immediate business requirements for integration with back end applications. Although Web applications typically need to integrate with back end applications, to achieve quick time-to-market and to minimize application complexity such integration can be postponed to a later stage of development. Manual processes can instead be used to synchronize data between Web applications and back end applications.

This is the ideal Application pattern to choose if the current focus is only on supporting a single delivery channel. In other words there is no current need for seamless integration between various delivery channels such as Web, voice recognition units, kiosks, and call center applications.


Solution


Select this Application pattern
Stand-Alone Single Channel

As shown in the figure above, this is the simplest of all the Application patterns that automates the Self-Service business pattern. In this Application pattern, the application is divided into two logical tiers and presentation logic is separated from business logic. The primary reason for this separation is to ensure the maintainability of the developed application and to support thin clients.

The requester interaction between the presentation tier and application tier is synchronous, which means that any request coming from the user interface directly invokes business logic on the application tier. After the execution of the business logic, control is passed back to the presentation tier, which uses the returned results to update the user interface.

During the next level of elaboration, these tiers may be further subdivided into more granular functional components. For example, the presentation tier may be partitioned into user affinity and process affinity pieces. In a typical Web implementation, the user affinity piece can represent the presentation logic that runs the user interface on the client device. For example the JavaScript that implements the screen navigation and the simple input validation is downloaded and runs on the browser client. The process affinity piece may represent the dynamic page creation aspect of the presentation logic that runs on the server. For example, Java Server Pages (JSP) are executed on the server and dynamically generate the HTML pages. Web application servers, like IBM WebSphere Application Server, are often used to implement this Application pattern.


Guidelines for use

Some application server vendors can support only the Stand-Alone Single Channel application pattern. If you anticipate a need in the future to integrate your Web applications with back end applications, you must choose an application server that provides a clear path for such enhancements.

Some application server vendors do not promote a clear separation of presentation logic and business logic. If you choose such a vendor, you will increase the total cost of ownership because this lack of clear separation reduces the maintainability of the application. When presentation and business logic are intermingled, any changes to presentation logic can impact the business logic, and vice versa, resulting in a significant rewrite of the application. Separation of these logical tiers is especially important in e-business applications where the user experience and the look and feel of the site need to be constantly enhanced to leverage emerging technologies and attract and retain site users. New business functions have to be constantly added to the site to meet customer demands and to avoid losing customers to competition. This separation also allows for quick adoption of new types of user interfaces, such as emerging wireless Personal Digital Appliances (PDAs) and net appliances.


Benefits

Limitations


Putting the Application pattern to Use

A major insurance company wishes to extend their reach through a Web sales channel. Their existing infrastructure includes a telephone sales channel and back end policy, claims, and billing systems that are run in batch. It uses "green screen" terminals for online transactions. In the short term, modifications to the back end applications to make them available on a 24x7 basis are not possible.

The insurance company chooses to establish an online presence by providing services that do not require back end integration. These services include locating the nearest office, locating brokers and agents, and using financial calculators and insurance needs-analysis tools. To support this, the insurance firm chooses the Stand-Alone Single Channel application pattern because this pattern does not require back end integration.

Directly Integrated Single Channel (aka U2B Topology 2)

The Directly Integrated Single Channel application pattern provides a structure for applications that need one or more point-to-point connections with back end applications but only need to focus on one delivery channel. This Application pattern can also be used to implement any one of the delivery channels. However in this chapter we focus primarily on the Web delivery channel.


Business and IT Drivers

The primary business driver for choosing this Application pattern is to reduce the latency of business events by providing real-time access to back end applications and data from Web applications.

The IT Driver for choosing this Application pattern is to leverage legacy investments and existing skills.


Solution

Select this Application pattern
application pattern 2

As shown in the figure above, the Directly Integrated Single Channel application pattern extends the Stand-Alone Single Channel application pattern by using point-to-point connections to back end applications and databases. In this Application pattern, applications are divided into at least three different logical tiers: presentation, Web application, and back end application. These tiers make a logical three-tier architecture. In this Application pattern, data can reside on the second and third tiers.

The requester interaction between the first and second tier is synchronous. The requester interaction between the Web application tier and the back end application tier can be either synchronous or asynchronous. The chosen requester interaction style between these tiers depends on the characteristics and capabilities of the back end system.

Note that a synchronous (or blocking) request at the Application pattern level can be carried over either a synchronous or an asynchronous communications protocol at the Runtime pattern level.

When integrating with an existing batch system, the requester interaction has to be asynchronous. Integration with back end transactional systems and database systems, however, can be synchronous. Once again such connections are point-to-point so that, if the interface or the behavior of the backend system changes, it will directly impact the behavior of the Web application tier. Web application servers like WebSphere Application Server and message-oriented middleware like MQSeries are often used to implement this Application pattern.


Guidelines for use

The guidelines for the separation of presentation logic and business logic that are documented under the Stand-Alone Single Channel application pattern apply here as well. In addition, the following apply:


Benefits

In addition to providing all the benefits of the Stand-Alone Single Channel, this Application pattern offers the following:

Limitations


Putting the Application pattern to Use

A major insurance company wishes to extend their reach to a web sales channel. Their existing infrastructure includes a telephone sales channel and backend policy processing, claims, and billing systems that are run in batch. The quoting engine, however, can run either online or in batch. The engine uses "green screen" terminals for online transactions.

This company has already established an online presence by providing services that do not require backend integration. These services include locating the nearest office, broker, or agent, and using financial calculators and insurance needs analysis tools. In doing so, it used the Stand-Alone Single Channel application pattern to achieve quick implementation.

Now the company has realized that manually synchronizing the broker database on the web application tier with the backend database is both inefficient and expensive, especially since the company recruits many new brokers every month. In addition, this insurance company wants to provide online quoting services on the web. The underlying quoting rules are complex hence they decide not to duplicate this business logic in multiple tiers.

To meet these requirements, the company chooses to extend the existing applications using the Directly Integrated Single Channel application pattern. They will use an asynchronous batched update to replace the manual update between the web application tier and the backend broker database. For the quoting requirements, the company chooses to use a synchronous requester interaction between the web application and the backend-quoting engine.

As-Is Host (aka U2B Topology 3)

The As-Is Host application pattern provides wider Intranet access to existing host applications. These applications may previously have only been available to employees through green screen devices or PCs with emulators.


Business and IT Drivers

Time to market is often the primary business driver for choosing the As-Is Host application pattern. This approach can be used to quickly implement a green screen replacement policy so that user can be offered additional browser-based services.

The primary IT driver for choosing this Application pattern is to minimize the total cost of ownership by providing browser-based access to existing green screen back end applications without rewriting or re-engineering them. This reduces the software distribution cost by eliminating the need for distributing host terminal emulators for 3270/5250/ASCII devices.


Solution

As-Is Host Application pattern

As shown in the figure above, the As-Is Host application pattern has two logical tiers: the presentation tier and the host application tier:

When this Application pattern is used, the existing back end application remains as is. Even though the delivery mechanism used is browser-based, the presentation continues to look and behave the same as existing green screens. It uses a synchronous requester interaction between the presentation tier and the existing back end application tier. Both presentation and business logic continue to run inside the existing host application.


Guidelines for Use

Green screen application usage requires a significant amount of training. Consequently, this presentation style is normally suited for employees (as opposed to external users) and should only be chosen for deploying green screen applications through the Intranet to these users. In some special cases, this same strategy can be used to deploy green screen applications to external users such as business partners.


Benefits

Using the As-Is Host application pattern, there is no need to modify or re-engineer existing applications. Because of this, deployment risk is minimal.

Limitations

Under this scenario, the user interface continues to look and function the same as existing the existing green screen interface. Because of this, the presentation does not take advantage of the user-friendly features of the browser interface.


Putting the Application pattern to Use

An airline company uses green screen applications using 3270 terminals for ticketing and check-in procedures. The company is quite satisfied with the application as it is, and has no current plans to change the user interface. However, they would like to move away from 3270 terminals in order to provide e-mail and Internet access to their employees using a network computer.

Using the As-Is Host application pattern, the airline company can choose to deploy the existing 3270 green screen applications on network computer terminals or desktop PCs. Products such as IBM Host On Demand could be used for this implementation.


Implementation

The As-Is Host application pattern is not documented with additional runtime patterns or product mappings on this Web site. This solution design can be implemented by using an off the shelf middleware product such as WebSphere Host on Demand as discussed in the "Solution" section above. Further practical implementations of products supporting this Application pattern can be found in IBM redbooks: IBM Web-to-Host Integration Solutions (SG24-5237) and Using WebSphere Host Access Transformation Services V5 (SG24-6099).

Customized Presentation to Host (aka U2B Topology 4)

The Customized Presentation to Host application pattern can be used to provide a more user-friendly interface to existing host applications without changing the underlying application.


Business and IT Drivers

The primary business driver for choosing the Customized Presentation to Host application pattern is to enhance the usability of existing host application without rewriting or re-engineering them. These presentation enhancements can take advantage of the user-friendly features provided by graphical user interfaces such as HTML browsers, Java applets, and Java applications. They are preferable to the cumbersome green screen user interfaces. such a move can not only increase the overall productivity of users of the system, but also reduce the training costs associated with training new users of the system.

The key IT driver is to extend the availability of an existing application to a wider audience without incurring significant application development costs.


Solution

Customized Presentation to Host application pattern

As shown in the figure above, the Customized Presentation to Host application pattern implements a thin client that provides a customized presentation to an existing host application while keeping the back end system as is. It has two logical tiers: the customized presentation tier and the host application tier.

This Application pattern uses a synchronous requester interaction between its two tiers. The client portion of the presentation logic on the browser presents a GUI-rich input screen. This GUI captures the user input and sends it to the server portion of the presentation tier, which converts the GUI input to a green screen input and synchronously communicates with the host application. Subsequently, the results received from the host application are converted to a GUI format and sent to the client for display.

A variation on this Application pattern supports access to the business logic and data on multiple back end applications so that a combined view can be presented to the user.

As shown in later product mappings, middleware products that support this Application pattern include IBM Host Publisher ® and IBM CICS Gateway for Java®.


Guidelines for Use

The increased ease of use and the universal accessibility of the application through the Web channel can result in more connections than the host can handle. Care must be taken to ensure that the physical implementation does not result in an unsupportable number of connections from the Web. Alternatively, however, one could increase the capacity of the host application.


Benefits

The Customized Presentation to Host application pattern provides all the benefits of the As-Is Host application pattern including minimal deployment risk and reduced software distribution cost. In addition, it offers the following:

Limitations

Where these limitations apply, more advanced Application patterns discussed later should be considered.


Putting the Application pattern to Use

Bank tellers of a regional bank currently use a green screen CICS application to access account information. Training new users to use this system takes a long time. The bank faces a huge turnover of teller employees and incurs huge initial systems training costs. In order to reduce this training cost and increase the productivity of new teller employees, the bank wants to develop a user-friendly GUI interface.

To meet this goal of providing a customized presentation to teller users of the accounts management system, the bank chooses the Customized Presentation to Host application pattern. The back end applications functi on and perform very well. Because of this, there is no need to rewrite or re-engineer the host system. Under this scenario, the bank uses IBM's CICS Gateway for Java product and deploys a Java applet-based GUI. Alternatively, the bank could have deployed the IBM Host Publisher where access to back end applications other than CICS is required.


Implementation

The Customized Presentation to Host application pattern is not documented with additional runtime patterns or product mappings on this Web site. This solution design can be implemented by using an off the shelf middleware product such as IBM Host Publisher® or IBM CICS Gateway for Java® as discussed in the "Solution" section above. Further practical implementations of products supporting this Application pattern can be found in the IBM redbooks: IBM Web-to-Host Integration Solutions (SG24-5237) and Using WebSphere Host Access Transformation Services V5 (SG24-6099).

Router (aka U2B Topology 5)

The Router application pattern provides a structure for applications that require the intelligent routing of requests from multiple delivery channels to one of multiple back end applications.


Business and IT Drivers

The primary business driver for choosing the Router application pattern is to support seamless integration across multiple delivery channels. In this digital economy, users demand universal access to information. To satisfy this demand, many corporations support multiple delivery channels including the Internet, voice recognition units, kiosks, call center applications, and so on. Users expect to retrieve the same information irrespective of the delivery channel they use to access the information. For example, it is important for a discount brokerage firm to ensure that users can retrieve trade execution status consistently either through a Web site or through a voice recognition unit. At the same time, these organizations have multiple back end applications. For example, due to different tax requirements, discount brokerage firms often maintain IRA and regular investment accounts on different back end applications. Because of this, many channels have a need to access the information from multiple back end applications.

Applications, over a period of time, evolve either to take advantage of new technological breakthroughs or to accommodate a changing business environment. Ideally such changes to one application should be isolated from another. In other words, if a back end application is replaced with a new system to take advantage of a new technology, that replacement should not result in significant changes to all the delivery channels that access that back end applications. At the same time a business decision to support a new delivery channel such as wireless PDAs should not require major changes to back end applications. such extensibility is especially important for organizations that are in a highly volatile business environment and have plans for mergers and acquisitions. The Router application is ideally suited for such organizations.

The primary IT driver for choosing this Application pattern is to minimize enterprise wide complexity and reduce the total cost of ownership by using a hub-and-spoke architecture instead of a point-to-point architecture between delivery channels and back end applications


Solution

Select this Application pattern
Router application pattern

As shown in the figure above, the Router application pattern is divided into at least three logical tiers: presentation, router, and back end application.

A router providing protocol conversion can isolate back end transactions from the details of delivery channel specific protocols. For example, the Internet application would typically use HTTP for communication between the browser and the server-side portion of the presentation tier. This tier, in turn, might use RMI or IIOP to communicate with the router. In contrast, call center applications might use RMI or IIOP to send requests directly to the router. The router tier converts these protocol specific requests into protocol independent requests before invoking the back end transactions. This approach enables future support of new types of delivery channels, such as wireless PDAs, without making changes to the back end applications.

Different delivery channels require different levels of security. Call center application users are usually allowed to see certain details about customer accounts that are not shown to customers when they access their accounts through, for instance, the self-service Web channel. These different levels of security are tightly coupled with the requirements of the delivery channel. Because of this, the back end application should be isolated from these details. The router tier is ideally suited for making such security decisions.

In order to achieve high scalability and superior performance, session management and session concentration can be done on the router tier. The router tier is thus responsible for establishing a few back end connections and pooling them for thousands of users originating from multiple delivery channels, when the backend systems security capabilities permit it.

The requester interaction between the presentation and router tier is synchronous, as is the requester interaction between the router tier and the backend application. As a result, if the back end system is not available, the business function supported by that back end application would be unavailable across all delivery channels.

Bear in mind that a synchronous (or blocking) request at the Application pattern level can be carried over either a synchronous or an asynchronous communications protocol at the Runtime pattern level.

In providing the capabilities outlined above, this Application pattern uses elements of the Access Integration and Application Integration patterns described elsewhere in this Web site. For example, in supporting multiple delivery channels this Application pattern could use the Device Support Services application pattern for Access Integration. Similarly the Router tier uses the integration techniques outlined by the Application Integration::Router application pattern.

As described later in the product mapping portion of this solution design, Web application servers like WebSphere Application Server and message brokers like MQSeries Integrator are often used to implement this Application pattern.


Guidelines for Use

The availability, scalability, and performance of the delivery channels in this Application pattern are heavily dependent on the availability, scalability, and performance of the back end applications. Because of this, robust transaction processing systems should be used to implement the back end applications. This Application pattern can be used to Web-enable either an existing or a new transaction processing system.

While developing new back end applications or changing existing ones, transactions should be defined to be channel-independent and reusable. This will make it easier to quickly extend such transactions to newer channels such as wireless PDA devices.


Benefits

Limitations


Putting the Application pattern to Use

A premier financial services company currently provides brokerage, mutual fund, banking, and credit card services to its customers. Obviously these lines of business activities are very different in nature and are supported by different back end applications. Delivery channels operated by the company include Internet self-service, kiosks, voice recognition units, 24-hour call centers, and tellers at the branch offices.

All account information cannot be obtained from all channels. For example, the brokerage and mutual fund accounts can be accessed only through the Internet, voice recognition units, and call centers. On the other hand, the bank account information can be accessed only through kiosks (ATMs), voice recognition units, and tellers at the branch offices.

Currently, different channels use point-to-point connections with back end applications. Some of them also duplicate the data, which results in inconsistency of information across different channels at a given point in time. Fortunately, most of the product related back end applications are robust transaction processing systems that can be made available on a 24x7 basis.

The company wants to provide consistent access to all product information through all channels. In addition, the target architecture must be highly scalable, highly available, and support superior response time. To achieve these goals, the company chooses the Router application pattern.

Decomposition (aka U2B Topology 6)

The Decomposition application pattern extends the hub and spoke architecture provided by the Router application pattern. It decomposes a single, compound request from a client into several, simpler requests and intelligently routes them to multiple back end application. Typically the responses from these multiple backend applications are recomposed into a single response and sent back to the client.


Business and IT Drivers

All business and IT drivers listed under the Router application pattern apply here as well. Additional drivers relate to the fact that many organizations have back end applications that are focused on certain product lines. For example, insurance companies use different systems for supporting health insurance policies and life insurance policies. Such product specific silos evolved out of necessity since the business logic and data requirements of different products were vastly different. For the same reason, many companies plan to continue to use separate systems for separate product lines.

These same companies, however, want to provide a unified customer view when customers visit the self-service web sites or contact the call centers, rather than providing a fragmented, product-specific view. Similarly when changes are made to customer information in one system, they should be automatically reflected in other systems. In the above example of an insurance company that sells health insurance and life insurance policies, changes to address information should be automatically reflected in both the systems. Such features are increasingly important since customers often ask for a consolidated view of their multiple accounts.


Solution

Select this Application pattern
Self-Service::Decomposition Application Pattern

As shown in the figure above, this Application pattern is divided into three logical tiers: presentation, decomposition, and back end application.

The requester interaction between the presentation and decomposition tier is synchronous. The requester interaction between the decomposition tier and the backend application tier can be either synchronous or asynchronous.

A synchronous requester interaction is required when the presentation client expects an immediate answer, as in the case with the insurance company and its clients. In the insurance company example, a customer logs on to the Self-Service Web site and asks to view a consolidated bill. This request is decomposed into multiple synchronous requests that are targeted towards multiple product-specific billing systems. The decomposition tier waits for responses from these systems and combines the results and displays a consolidated billing view to the customer.

An asynchronous requester interaction between the decomposition tier and back end applications is appropriate when the presentation client does not expect an immediate response. For example, consider the customer who initiates an electronic transfer of funds to pay for his or her monthly bills using a Self-Service Web site. This request can be decomposed into two separate requests. The first request is targeted towards a confirmation engine that synch ronously provides a confirmation number to the customer for tracking purposes. At the same time, an asynchronous request can be sent to a batch system that transmits an electronic funds transfer request to a local bank using EDI technology.

A variation on this pattern includes caching on the second logical tier to avoid a high volume of accesses to the back end application. Another variation is to use fast asynchronous communications so that multiple parallel requests can be sent to the third tier in order to improve response times over serial requests.

As discussed in later product mappings for this Application pattern, advanced Web application servers like WebSphere Advanced Edition V5 integrate with the full range of message-oriented middleware (MOM) or a Process Manager like WBI Server Foundation to enable this application.


Considerations

There are a number of possible approaches to doing business request decomposition into multiple back-end transactions and recombining the responses into a single business response. These include:


Guidelines for Use

All the guidelines documented under the Router application pattern apply here as well.


Benefits

This Application pattern provides all the benefits of the Router. Additionally,

Limitations


Putting the Application pattern to Use

The premier financial services company that was considered under the Router application pattern wants to extend beyond providing consistent access to all product information through all delivery channels.

The company wants to provide a consolidated customer-centric view through all their channels rather than providing fragmented product specific views. For example, they want their customers to see a consolidated net worth across their brokerage, mutual fund, banking, and credit card accounts. They want to do so through all delivery channels, including Internet Self-Service, kiosks, voice recognition units, 24-hour call centers, and tellers at the branch offices. To achieve these goals they choose the Decomposition application pattern.

Agent (aka U2B Topology 7)

The Agent application pattern structures an application design that provides a unified customer-centric view that can be exploited for mass customization of services and for cross-selling purposes.


Business and IT Drivers

All the business and IT drivers listed under the Decomposition application pattern apply to this Application pattern as well. In addition, it allows an organization to exploit a unified customer view for mass customization and for cross-selling purposes on an Internet Self-Service site.

As an example of these requirements, consider a telecommunications company that provides various services including local telephone access, long distance services, wireless services, and Internet access. To effectively cross-sell to customers, this company will require a consolidated view of all its relationships with each customer.


Solution

Select this Application pattern
Self-Service::Agent Application Pattern

As shown in the figure above, this Application pattern is divided into three logical tiers: presentation, agent, and back end application.

In a variation on this design, because it is too slow or too expensive to dynamically gather the consolidated view, the organization may choose to implement an Operational Data Store (ODS) that maintains a consolidated Customer Information File (CIF). This CIF provides a current or near-real-time integrated view of the all the services subscribed by a customer aggregated from multiple operational systems. In addition, it stores additional demographic information about customers that has been collected through various sources. This information is used by the Customer Relationship Management (CRM) systems to enhance customer service.

Internet self-service sites can use specialized information to target certain services that match customer demographics. Call center applications can use this demographic information to prompt customer service representatives (CSR) with cross-selling scripts to solicit customers to subscribe to additional services. This cross-selling process can also be driven programmatically by an application (expert system) drawing conclusions from the customer data.

Another variation on this design allows the work in progress database held by the Agent tier to be also used to hold long running transaction data before committing such information to back end applications. Consider a mortgage company Web site that allows customers to submit a detailed application for a home mortgage loan online.

Users of this site can complete their loan application over several login sessions. In other words, the site allows customers to save their work in progress' loan application and complete the application at a later time. Such work in progress' applications are not submitted to the back end loan approval engine until customers have co mpleted the entire application. The agent tier can be effectively used to store such long running transactions before committing a completed transaction to the back end application.

The majority of the product and function-specific business logic is still concentrated in back end applications. Some of these back end applications are highly available and scalable online transaction processing systems and others are batch applications.

In providing the capabilities outlined above, this Application pattern may use techniques outlined in the Broker, Serial Process, and Parallel Process Application Integration patterns, and the Population and Two-way Synchronization Data Integration patterns. For the latest information on the Data Integration patterns, see Patterns: Information Aggregation and Data Integration with DB2 Information Integrator, SG24-7101.


Guidelines for Use

All the guidelines listed under the Decomposition application pattern apply to this Application pattern as well. In addition one must consider that, because of possible data inconsistencies between back end applications, it may be preferable to reconcile the data first using the ODS variation described above.

The accuracy of the insights drawn about the customer's likes and dislikes heavily depends on the quality of the CIF operational data store and the algorithms used for interpreting this data. Creation of such anoperational data store is both time consuming and complex. Once the data store has been created it needs to be kept up to date by synchronizing the information between the unified customer-centric view and the product-centric application data. In addition, demographic information has to be purchased from external sources on a regular basis and synchronized with the CRM operational data store. Care must be taken to clearly design business processes and technical infrastructure to create, update, and enhance the operational data store.


Benefits

The Agent application pattern provides all the benefits of the Decomposition application pattern. In addition, it enables mass customization of products and services provided by an enterprise to a market of one by using personalization techniques. Similar techniques are used for effective cross-selling purposes.

Limitations

By a using a serial or parallel decomposition approach, the Agent application pattern aims to minimize the complexity of meeting all the business and IT drivers. In spite of this attempt, the implementation of the Agent tier is complex. This is especially true because the implementation of an ODS is often complex and involves synchronization of information between the ODS and back end operational systems.


Putting the Application pattern to Use

A telecommunications company currently provides various services including local telephone access, long distance services, wireless services, and Internet access. The company has built this impressive portfolio of services primarily through mergers and acquisitions. As a result, the company has inherited a number of product-specific back end applications.

To keep up with the ever changing landscape of technology and to quickly capture market share in new areas such as wireless Internet access, telephony over Internet Protocol (IP), and broadband Internet access through cable, the company plans to continue to aggressively seek acquisition and merger partners. These trends suggest that more and more product specific systems will be acquired even in the future.

The overall success of their aggressive growth strategy depends on their ability to effectively cross-sell different services to all their customers. When a customer calls the call center to pay his or her bills, CSRs should be able to effectively solicit them to subscribe to additional services. Such solicitation must be done not only based on customers' current subscription levels, but also on the demographics of the customer. Similarly when a customer logs onto their Internet account, the welcome page must be personalized to reflect the interests of that customer.

To achieve the stated goals and cope with the continued existence of multiple product specific back end applications, the company chooses to implement the Agent application pattern. It chooses to build an operational data store that provides a consolidated customer-centric view. The agent tier will use this data for sophisticated personalization and cross-selling purposes. The use of an ODS has the additional advantage of providing the flexibility required for rapid integration during future mergers and acquisitions.

Content navigation