five practical solutions for integrating with oracle crm on demand

15
Copyright © 2007-2011 Perficient, Inc. All rights reserved. This material is or contains Proprietary Information, Confidential Information and/or Trade Secrets of Perficient, Inc. Disclosure to third parties and or any person not authorized by Perficient, Inc. is prohibited. Use may be subject to applicable non-disclosure agreements. Any distribution or use of this material in whole or in part without the prior written approval of Perficient, Inc. is prohibited and will be subject to legal action. Five Practical Solutions for Integrating with Oracle CRM On Demand A CRM WHITE PAPER APRIL 2011 SUBSCRIBE TO PERFICIENT BLOGS ONLINE www.Perficient.com/SocialMedia BECOME A FAN OF PERFICIENT ON FACEBOOK www.Facebook.com/Perficient FOLLOW PERFICIENT ON TWITTER www.Twitter.com/Perficient DOWNLOAD PERFICIENT WHITE PAPERS www.Perficient.com/WhitePapers

Upload: perficient-inc

Post on 24-Jan-2015

6.265 views

Category:

Technology


1 download

DESCRIPTION

Oracle CRM On Demand offers a Web Service interface that allows customers to access their hosteddata 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.

TRANSCRIPT

Page 1: Five Practical Solutions for Integrating with Oracle CRM On Demand

Copyright © 2007-2011 Perficient, Inc. All rights reserved. This material is or contains Proprietary Information, Confidential Information and/or Trade Secrets of Perficient, Inc. Disclosure to third parties and or anyperson not authorized by Perficient, Inc. is prohibited. Use may be subject to applicable non-disclosure agreements. Any distribution or use of this material in whole or in part without the prior written approval ofPerficient, Inc. is prohibited and will be subject to legal action.

Five Practical Solutionsfor Integrating with

Oracle CRM On Demand

A CRM WHITE PAPER APRIL 2011

SUBSCRIBE TO PERFICIENT BLOGS ONLINEwww.Perficient.com/SocialMediaBECOME A FAN OF PERFICIENT ON FACEBOOKwww.Facebook.com/PerficientFOLLOW PERFICIENT ON TWITTERwww.Twitter.com/PerficientDOWNLOAD PERFICIENT WHITE PAPERSwww.Perficient.com/WhitePapers

Page 2: Five Practical Solutions for Integrating with Oracle CRM On Demand

Five Practical Solutions for Integrating with Oracle CRM On Demand t 2

About The Author

Simon Wang is a Project Manager in Perficient’s China Global Delivery Center. He is a CertifiedScrum Master/Developer, Six Sigma Green Belt and has more than ten years’ experience in the ITindustry. Simon specializes in project management, CRM and business intelligence solutions,process improvement and distributed delivery using the Agile methodology.

Simon [email protected]

ABSTRACT

OverviewOracle CRM On Demand offers a Web Service interface that allows customers to access their hosteddata 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 withCRM On Demand.

Introduction to Oracle CRM On Demand IntegrationOracle CRM On Demand is a comprehensive,scalable and fast-to-deploy CRM solution basedon the SaaS model. Pre-built record types andout of the box (OTB) functionality enablescustomers to begin leveraging CRM OnDemand as quickly as an account is created.The Web Services framework built into CRM OnDemand allows customers to integrate toexisting applications to support their businessprocesses and functional requirements.

To the right is a basic diagram depicting theCRM On Demand architecture.

Figure 1 – High-Level Integrated CRM Architecture

Page 3: Five Practical Solutions for Integrating with Oracle CRM On Demand

Five Practical Solutions for Integrating with Oracle CRM On Demand t 3

This white page introduces five practical integration solutions:

• Queue Manager

• Web Integration

• Embedded Web Applet

• Data Conversion

• Mail Response

Solution 1: QUEUE MANAGER

OverviewCRM On Demand offers a special web service called the Integration Event Queue. This web servicequeues all the messages, which follow a ‘first-in, first-out’ manner. The message is sent by a CRMOn Demand workflow when specific rules are met. These rules are configured in a workflow thatassigns an action to insert a message into the Integration Event Queue (IEQ). The IEQ and workflowfeatures enable a standalone application running on an integration server to manage data in CRMOn Demand.

This standalone application is called Queue Manager. Queue Manager can read the IntegrationEvent Queue at defined intervals and can obtain the record type name, row ID and workflow name,and then proceed with definedbusiness logic. Finally, the processdeletes the message from IEQ.Queue Manager fits in somescenarios when follow-up back-endoperations are required after a user’saction.

Figure 2 - Queue Manager Integration with CRM On Demand

Page 4: Five Practical Solutions for Integrating with Oracle CRM On Demand

Five Practical Solutions for Integrating with Oracle CRM On Demand t 4

Steps1. 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 > CreateIntegration Event. Configure this action to select the fields being monitored and sent to theIntegration Event Queue.

Page 5: Five Practical Solutions for Integrating with Oracle CRM On Demand

Five Practical Solutions for Integrating with Oracle CRM On Demand t 5

3. Develop and Deploy the Queue Manager Application

Queue Manager is usually designed as a standalone back-end application running on anintegration 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 Managerneeds to process the message sent from a workflow (i.e. every five minutes). There arescheduler tools that can be integrated with Queue Manager, such as Quartz written in Javaand Windows Scheduler written in .NET. Error reports with detailed data can be generated intolog files and then sent notification to administrators for troubleshooting and correction. Logfiles can be configured as daily archived logs or published at a web URL for easy download.

Best PracticesDeploy one Queue Manager instance to process one event queue. There can be more than one typeof event from different workflows as long as workflow name is part of the message.

Solution 2: WEB INTEGRATION

OverviewCRM On Demand offers powerful customization in the Admin global link. Administrators cancreate new custom Web Link fields and custom buttons in a web applet. These web links andcustom buttons enable CRM OnDemand to provide an entry forcustom web application out of CRMOn Demand. The custom webapplication can be triggered withparameters passed from the currentrow of the record type when a userclicks a web link or a custom button.Web integration is typically used inscenarios where user interaction isrequired. Figure 3 shows the flow ofa Web Integration with CRM OnDemand.

Figure 3 - Flow of a Web Integration with CRM On Demand

Page 6: Five Practical Solutions for Integrating with Oracle CRM On Demand

Five Practical Solutions for Integrating with Oracle CRM On Demand t 6

Details1. Configure web link or custom button

• Web link

Go to Admin > Application Customization > Record Type > Record Type Field Setup > NewField. Create a new field with type “Web Link”. Edit the Web Link and point the link to thecustom web application, with the parameters.

Sample of a Web Link:

Page 7: Five Practical Solutions for Integrating with Oracle CRM On Demand

Five Practical Solutions for Integrating with Oracle CRM On Demand t 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 buttonsand 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. Itcan be developed by Java, .NET or any other programming language. The integration servershould be available from the internet. Normally there will be a popup window after a userclicks the web link or custom button. If there is a user interface, it is recommended to buildthe popup page theme the same as CRM On Demand. If there is no user interface, it’s betterto have a progress bar if it takes a while to finish and then close itself automatically. Any errorwith detailed data should be outputted into log files and then send to administrators fortroubleshooting and correction. Log files can be configured as a daily archived log orpublished at a web URL for easy download.

Page 8: Five Practical Solutions for Integrating with Oracle CRM On Demand

Five Practical Solutions for Integrating with Oracle CRM On Demand t 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

OverviewWhile Web Integration introduces how to create a web applet in CRM On Demand, Embedded WebApplets leverage HTML tags <iframe> to create an embedded web applet in CRM On Demandpage. This approach allows the custom functions to behave the same as the original CRM OnDemand and provides a consistent user experience.

Embedded Web Applets apply to scenarios where you need to introduce a custom section in arecord type related section where the data in this section needs to be loaded together with therecord type page. Additionally, it allows a user to directly manage the data in this record type page.

Details1. 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.

Page 9: Five Practical Solutions for Integrating with Oracle CRM On Demand

Five Practical Solutions for Integrating with Oracle CRM On Demand t 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 servershould be available from the internet. Again, it is recommended to build the web applet themethe same as CRM On Demand. Any error with detailed data should be outputted into log filesand then send to administrators for troubleshooting and correction. Log files can beconfigured 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.

Page 10: Five Practical Solutions for Integrating with Oracle CRM On Demand

Five Practical Solutions for Integrating with Oracle CRM On Demand t 10

Solution 4: DATA CONVERSION

OverviewWhen 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. CRMOn Demand offers a data import function in the Admin global link, although this feature is not ableto import data automatically from the back end. The data import function requires administratorinvolvement.

Data Conversion is designed as a standalone application running on integration server with adefined schedule. The data conversion function reads data placed in the staging area from sourcesystems interface. Data format can be in various formats such as interface tables, flat files, and webservices.

Figure 4 shows the flow of Data Conversion integrating with CRM On Demand.

Figure 4 - Flow of Data Conversion Integrating with CRM On Demand

Page 11: Five Practical Solutions for Integrating with Oracle CRM On Demand

Five Practical Solutions for Integrating with Oracle CRM On Demand t 11

Details1. 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 thestaging area. The data format in the staging area is flexible, making both source systemextraction and CRM On Demand import convenient (e.g. interface table in database and flatfiles).

2. Develop the data mapping and conversion rules

A critical step in data conversion is to document the requirements around data mapping andconversion 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 onan 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 datasynchronization, data conversion is executed at defined time intervals determined by howquickly data conversion needs to synchronize data between source systems and CRM OnDemand. A number of scheduler tools are available in the marketplace to set up the datasynchronization process.

Page 12: Five Practical Solutions for Integrating with Oracle CRM On Demand

Five Practical Solutions for Integrating with Oracle CRM On Demand t 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 ofrecords processed, number of successful records, and number of failed records. Any errorsshould be outputted into log files then sent to administrators for troubleshooting andcorrection. Log files can be configured as a daily archived log or published at a web URL foreasy 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 theylog in to CRM On Demand.

Solution 5: MAIL RESPONSE

OverviewThe Service Request and Activity, Account, and Contact record types in CRM On Demand providethe core functionality of a lightweight CRM Call Center. Providing an approach to allow customersto 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 ([email protected]) and specific mail subject including the SR# to customer when an SR hasbeen 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 thismailbox. 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 newmail and move to another folder. Figure 5 shows the flow of a Mail Response integration with CRMOn Demand.

Page 13: Five Practical Solutions for Integrating with Oracle CRM On Demand

Five Practical Solutions for Integrating with Oracle CRM On Demand t 13

Figure 5 - Flow of a Mail Response Integration with CRM On Demand.

Page 14: Five Practical Solutions for Integrating with Oracle CRM On Demand

Five Practical Solutions for Integrating with Oracle CRM On Demand t 14

Details1. Configure workflow when a new SR saved

Go to Admin > Workflow Configuration > New. Create a workflow with an Action > CreateSend Mail.

Create the email template that it is sent to the customer. There should be a fixed pattern withthe SR# in the mail subject and the correct FROM email address provided to allow acustomer reply.

2. Develop and deploy the mail response application

Mail Response is typically designed as a standalone backend application that is running on anintegration 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 Responseneeds to process the new mail in the Inbox. Any Queue Manager errors should be reportedwith detailed data and outputted into log files sent to administrators for troubleshooting andcorrection. Log files can be configured as daily archived logs or published at a web URL foreasy 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.

Page 15: Five Practical Solutions for Integrating with Oracle CRM On Demand

Five Practical Solutions for Integrating with Oracle CRM On Demand t 15

SUMMARY

The five solutions covered in this paper are flexible and lightweight technical solutions that best fitthe integration architecture of Oracle CRM On Demand. While Web Services is a key to OracleCRM 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 aresatisfied.