Oracle CRM On Demand offers a Web Service interface that allows customers to access their hosted
data from any Web Services-enabled client. This paper provides an overview of a Web Services based integration architecture and details five (5) practical solutions that enable integration with CRM On Demand.
2. About The Author
Simon Wang is a Project Manager in Perficient’s China Global Delivery Center. He is a Certified
Scrum Master/Developer, Six Sigma Green Belt and has more than ten years’ experience in the IT
industry. Simon specializes in project management, CRM and business intelligence solutions,
process improvement and distributed delivery using the Agile methodology.
Simon Wang
simon.wang@perficient.com
ABSTRACT
Overview
Oracle CRM On Demand offers a Web Service interface that allows customers to access their hosted
data from any Web Services-enabled client. This paper provides an overview of a Web Services-
based integration architecture and details five (5) practical solutions that enable integration with
CRM On Demand.
Introduction to Oracle CRM On Demand Integration
Oracle CRM On Demand is a comprehensive,
scalable and fast-to-deploy CRM solution based
on the SaaS model. Pre-built record types and
out of the box (OTB) functionality enables
customers to begin leveraging CRM On
Demand as quickly as an account is created.
The Web Services framework built into CRM On
Demand allows customers to integrate to
existing applications to support their business
processes and functional requirements.
To the right is a basic diagram depicting the
CRM On Demand architecture.
Figure 1 – High-Level Integrated CRM Architecture
Five Practical Solutions for Integrating with Oracle CRM On Demand t 2
3. This white page introduces five practical integration solutions:
• Queue Manager
• Web Integration
• Embedded Web Applet
• Data Conversion
• Mail Response
Solution 1: QUEUE MANAGER
Overview
CRM On Demand offers a special web service called the Integration Event Queue. This web service
queues all the messages, which follow a ‘first-in, first-out’ manner. The message is sent by a CRM
On Demand workflow when specific rules are met. These rules are configured in a workflow that
assigns an action to insert a message into the Integration Event Queue (IEQ). The IEQ and workflow
features enable a standalone application running on an integration server to manage data in CRM
On Demand.
This standalone application is called Queue Manager. Queue Manager can read the Integration
Event Queue at defined intervals and can obtain the record type name, row ID and workflow name,
and then proceed with defined
business logic. Finally, the process
deletes the message from IEQ.
Queue Manager fits in some
scenarios when follow-up back-end
operations are required after a user’s
action.
Figure 2 - Queue Manager Integration with CRM On Demand
Five Practical Solutions for Integrating with Oracle CRM On Demand t 3
4. Steps
1. Configure Queue
Go to Admin > Integration Event Administration > Integration Event Queue Management >
New Queue
2. Configure Workflow
Go to Admin > Workflow Configuration > New. Create a workflow under Action > Create
Integration Event. Configure this action to select the fields being monitored and sent to the
Integration Event Queue.
Five Practical Solutions for Integrating with Oracle CRM On Demand t 4
5. 3. Develop and Deploy the Queue Manager Application
Queue Manager is usually designed as a standalone back-end application running on an
integration server. It can be developed by Java, .NET or any other programming language.
Queue Manager is executed at defined intervals determined by how quickly Queue Manager
needs to process the message sent from a workflow (i.e. every five minutes). There are
scheduler tools that can be integrated with Queue Manager, such as Quartz written in Java
and Windows Scheduler written in .NET. Error reports with detailed data can be generated into
log files and then sent notification to administrators for troubleshooting and correction. Log
files can be configured as daily archived logs or published at a web URL for easy download.
Best Practices
Deploy one Queue Manager instance to process one event queue. There can be more than one type
of event from different workflows as long as workflow name is part of the message.
Solution 2: WEB INTEGRATION
Overview
CRM On Demand offers powerful customization in the Admin global link. Administrators can
create new custom Web Link fields and custom buttons in a web applet. These web links and
custom buttons enable CRM On
Demand to provide an entry for
custom web application out of CRM
On Demand. The custom web
application can be triggered with
parameters passed from the current
row of the record type when a user
clicks a web link or a custom button.
Web integration is typically used in
scenarios where user interaction is
required. Figure 3 shows the flow of
a Web Integration with CRM On
Demand.
Figure 3 - Flow of a Web Integration with CRM On Demand
Five Practical Solutions for Integrating with Oracle CRM On Demand t 5
6. Details
1. Configure web link or custom button
• Web link
Go to Admin > Application Customization > Record Type > Record Type Field Setup > New
Field. Create a new field with type “Web Link”. Edit the Web Link and point the link to the
custom web application, with the parameters.
Sample of a Web Link:
Five Practical Solutions for Integrating with Oracle CRM On Demand t 6
7. • Custom Button
Go to Admin > Application Customization > Record Type > Record Type Web Applet > New.
Create a web applet with type HTML. Choose HTML and JavaScript to generate the buttons
and implement the action when a user clicks the buttons.
A sample of custom buttons:
2. Develop and deploy the web application
Web integration is designed as a web application that is running on an integration server. It
can be developed by Java, .NET or any other programming language. The integration server
should be available from the internet. Normally there will be a popup window after a user
clicks the web link or custom button. If there is a user interface, it is recommended to build
the popup page theme the same as CRM On Demand. If there is no user interface, it’s better
to have a progress bar if it takes a while to finish and then close itself automatically. Any error
with detailed data should be outputted into log files and then send to administrators for
troubleshooting and correction. Log files can be configured as a daily archived log or
published at a web URL for easy download.
Five Practical Solutions for Integrating with Oracle CRM On Demand t 7
8. Best Practices
• Get SSO token from the CRM On Demand page and send to web server for verification. Get
the current user’s session through SSO token to update the record.
• Display friendly error message and suggested correction actions if any error occurs occur.
Solution 3: EMBEDDED WEB APPLET
Overview
While Web Integration introduces how to create a web applet in CRM On Demand, Embedded Web
Applets leverage HTML tags <iframe> to create an embedded web applet in CRM On Demand
page. This approach allows the custom functions to behave the same as the original CRM On
Demand and provides a consistent user experience.
Embedded Web Applets apply to scenarios where you need to introduce a custom section in a
record type related section where the data in this section needs to be loaded together with the
record type page. Additionally, it allows a user to directly manage the data in this record type page.
Details
1. Configure web applet
Go to Admin > Application Customization > Record Type > Record Type Web Applet > New.
Create a web applet with type URL. Enter the URL that outputs the HTML code within the
<iframe> tag.
Five Practical Solutions for Integrating with Oracle CRM On Demand t 8
9. Sample of embedded web applet:
2. Develop and deploy the web application
Embedded Web Applets are designed as a web application that runs on an integration server.
It can be developed by Java, .NET or any other programming language. The integration server
should be available from the internet. Again, it is recommended to build the web applet theme
the same as CRM On Demand. Any error with detailed data should be outputted into log files
and then send to administrators for troubleshooting and correction. Log files can be
configured as a daily archived log or published at a web URL for easy download.
Best Practices
• Avoid loading too much data initially. Display the web applet as soon as CRM On Demand
loads.
• Pop up friendly error message and suggested correction actions if any error occurs.
Five Practical Solutions for Integrating with Oracle CRM On Demand t 9
10. Solution 4: DATA CONVERSION
Overview
When CRM On Demand goes live it is often necessary to load initial data (e.g. Account, Contact,
Products, etc.) as well as to keep this data synchronized in real time with its source systems. CRM
On Demand offers a data import function in the Admin global link, although this feature is not able
to import data automatically from the back end. The data import function requires administrator
involvement.
Data Conversion is designed as a standalone application running on integration server with a
defined schedule. The data conversion function reads data placed in the staging area from source
systems interface. Data format can be in various formats such as interface tables, flat files, and web
services.
Figure 4 shows the flow of Data Conversion integrating with CRM On Demand.
Figure 4 - Flow of Data Conversion Integrating with CRM On Demand
Five Practical Solutions for Integrating with Oracle CRM On Demand t 10
11. Details
1. Extract data from source systems to the staging area
The first step is to determine what data is in the source systems, as well as the data’s location.
Next, determine the strategy to extract data from the source system and transform it to the
staging area. The data format in the staging area is flexible, making both source system
extraction and CRM On Demand import convenient (e.g. interface table in database and flat
files).
2. Develop the data mapping and conversion rules
A critical step in data conversion is to document the requirements around data mapping and
conversion rules. The table below illustrates a sample of data mapping and conversion rules.
3. Develop and deploy the data conversion application
Data conversion is typically designed as a standalone back end application that is running on
an integration server. It can be developed by Java, .NET or any other programming languages.
For the initial data load, data conversion is executed once to import all the data. For data
synchronization, data conversion is executed at defined time intervals determined by how
quickly data conversion needs to synchronize data between source systems and CRM On
Demand. A number of scheduler tools are available in the marketplace to set up the data
synchronization process.
Five Practical Solutions for Integrating with Oracle CRM On Demand t 11
12. At the end of each data conversion a status report should be sent to the appropriate adminis-
trator. The status report should include at the very least the start time, end time, number of
records processed, number of successful records, and number of failed records. Any errors
should be outputted into log files then sent to administrators for troubleshooting and
correction. Log files can be configured as a daily archived log or published at a web URL for
easy download.
Best Practices
• Create an Activity with the status information in CRM On Demand and associate the Activity
with administrators so that they are able to view the status on the home page as soon as they
log in to CRM On Demand.
Solution 5: MAIL RESPONSE
Overview
The Service Request and Activity, Account, and Contact record types in CRM On Demand provide
the core functionality of a lightweight CRM Call Center. Providing an approach to allow customers
to send mail to update a service request automatically makes the CRM Call Center more flexible.
Typically, CRM On Demand is configured to send the notification with a FROM mail address (e.g.
mycase@example.com) and specific mail subject including the SR# to customer when an SR has
been created. The customer can reply to the mail with updates or attachments.
Mail Response is a standalone back end application running on integration server to monitor this
mailbox. This function reads the new mail subject and validates if a SR# exists in CRM On Demand.
If yes, Mail Response creates a new Activity and Attachment that is associated to the SR.
If the SR# does not exist in the application, Mail Response can be configured to simply skip the new
mail and move to another folder. Figure 5 shows the flow of a Mail Response integration with CRM
On Demand.
Five Practical Solutions for Integrating with Oracle CRM On Demand t 12
13. Figure 5 - Flow of a Mail Response Integration with CRM On Demand.
Five Practical Solutions for Integrating with Oracle CRM On Demand t 13
14. Details
1. Configure workflow when a new SR saved
Go to Admin > Workflow Configuration > New. Create a workflow with an Action > Create
Send Mail.
Create the email template that it is sent to the customer. There should be a fixed pattern with
the SR# in the mail subject and the correct FROM email address provided to allow a
customer reply.
2. Develop and deploy the mail response application
Mail Response is typically designed as a standalone backend application that is running on an
integration server. It can be developed by Java, .NET or any other programming languages.
Mail Response is executed on defined time intervals and decides how quickly Mail Response
needs to process the new mail in the Inbox. Any Queue Manager errors should be reported
with detailed data and outputted into log files sent to administrators for troubleshooting and
correction. Log files can be configured as daily archived logs or published at a web URL for
easy download.
Best Practices
• Design the mail subject pattern identification mechanism to be flexible. It should be config-
urable and easy to update without code change.
• Filter out auto-reply (e.g. out of office mail or spam mails) responses.
Five Practical Solutions for Integrating with Oracle CRM On Demand t 14
15. SUMMARY
The five solutions covered in this paper are flexible and lightweight technical solutions that best fit
the integration architecture of Oracle CRM On Demand. While Web Services is a key to Oracle
CRM On Demand integration, we can look at other Service Oriented Architecture (SOA) solutions
(e.g. SOA middleware, BPEL, etc.) for other solutions, as long as the customer’s business needs are
satisfied.
Five Practical Solutions for Integrating with Oracle CRM On Demand t 15