Tải bản đầy đủ (.pdf) (10 trang)

CRM On Demand Recommended Practices Integration, The Oracle Advantage phần 1 doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1008.26 KB, 10 trang )

CRM On Demand Recommended Practices:
Integration, The Oracle Advantage

An Oracle White Paper
Updated 9/13/2011






Recommended Integration Practices for Oracle CRM On Demand
Introduction
Today‟s companies are struggling with a simple, yet fundamental problem. They need to understand their customers!
Historically organizations approached their marketplace from a “go to market” product point of view which, whilst
maintaining a holistic view of each particular product line, fragmented the customer information across numerous
information silos. In today‟s global economy, the relationship with the customer is key. Fail to understand your
customer, predict his needs or differentiate yourself through the value he sees in your services, then they will move
on.
This trend of shifting from a product centric organization to
a customer focused one is often the driving force behind the
majority of purchases of CRM solutions today. However, in
order to gain a complete understanding of a customer‟s
relationships & hierarchies both within your organization
and outside, you need more than an isolated CRM platform;
you need an integrated environment that leverages all
customer related information to drive and provide value
into each and every interaction and transaction.
Oracle and Siebel (the pioneer of Customer Relationship Management systems) have been helping customers, many
of them the largest global organizations in the Fortune500, on this journey towards customer centricity. Our
experience has taught us that integrating to CRM is not always that simple; typically organizations suffer with data


quality issues. Many CRM projects have overrun or failed to deliver on expected value due to a failure to plan for, or
include capabilities that improve the customer data quality.
CRM’s role in Enterprise Data Quality
As part of a CRM integration strategy it is easy to include processes that will increase the accuracy and completeness
of customer information, ensuring consistency across all operational systems. But this requirement, as part of a
companies overall data quality strategy, must be planned for from the beginning for the overall CRM project to be
successful. When considering tools and approaches for integration, more often than not, CRM projects look at the
problem through small point to point use cases, choosing technologies and solutions focused on specific integration
approaches that cannot scale to meet the requirements of Enterprise Data Quality. Sadly, this typically causes CRM
to become yet another cause of stand alone data within the corporation, rather than enabling it to become a key agent
in driving data accuracy and value. Getting this right through both the selection of the integration architecture and
the implementation strategy, in the long term drastically reduces the costs associated with data management.
Modern strategic objectives require companies to create a single view of the customer, and clearly taking a customer
centric approach that enables CRM to be intrinsic within all enterprise processes is where the most value can be
made. Sharing data in a holistic manner drives expansion in customer insight, enabling all areas of the business to
make informed decisions during customer interactions, and to proactively recognize and then manage specific
customer events in order to protect and maximize their value to the business.

Vendor Lock-in ?
However, delivering integration for CRM is not always that simple. There is a huge amount of confusion in the
marketplace as to which of a vendors own tools are the best to use. Some of the principles behind these sales
strategies are more to do with vendor lock in, than delivering the right solution for the customer. Another challenge
customers face is that typically, CRM vendors simply provide integration points, proprietary development
environments and coding rules, which leave the customer taking all the risk to actually make it work. Each customer
approaches the problem from their own standpoint meaning that every customer is trying to re-invent the perfect
solution. Simply put, there are many ways to fail or add inefficiency into an integration process, and if you make the
wrong choice of solution at the beginning. This can lead to poor performance and scalability at a later date when it
matters most.
It is easy to assign integration projects in isolation without considering the bigger picture. This results in the growth
of point to point integration redundancy increasing TCO, and because only a few developers are involved in the

actual integration coding, this drives the expertise and control into the hands of the few, typically driving up the costs
and risks involved. Additionally, if the integration development platform is delivered in a hosted basis, this adds risk
to integration stability because you have no control of platform upgrades and the integration failures is can cause.
Also for many enterprise companies, integration is seen as a core system and cannot be susceptible to the downtime
based on typical hosted service level agreements, so this should be considered when making the decision on which
approach to take.
There is huge uncertainty being created today in the
world of software as a service and in particular how it
relates to the delivery of CRM solutions. Certain
solution providers in the industry identify add on
development platforms, complementary to the CRM
solution as being the ideal solution for solving every
historical challenge in the CRM solution space. In
situations where the completeness of the CRM model,
or its industry support, is not adequate enough,
vendors have sought to introduce these platforms to
fill the gap, but rather than follow the Industry
Standard approach to delivering application platforms,
they seek to introduce a level of proprietary coding
that makes it harder for customers to move to other
solutions or platforms in the future.
DIY CRM?
Using a development platform to develop required functionality for the CRM platform was an approach taken by
Siebel in the early days, but this was soon discovered to drive up the TCO of CRM projects. With some SaaS CRM
vendors, self building your CRM solution is clearly a requirement as essentially the product does not meet the needs
of the industry or business when it is initially delivered as a service. The customer is provided with a tools
framework within which they are expected to leverage custom objects to configure basic CRM functionality in order
to bolster the breadth of the product. Whilst initially this may be seen as a mandatory requirement for business
flexibility, it typically falls a lot short of delivering on the business needs as huge expense is required to analyze
requirements and develop the solution with typically high levels of failure. It is often understood that re-engineering

already existing flawed processes does not always deliver business value, but this typically becomes the underlying

trend of self build CRM solutions. The Oracle CRM On Demand model which leverages all of the rich data model
and object services available from within the original Siebel market leading CRM platform drives instantly higher
levels of business value because the Siebel CRM On Demand platform provides such a wealth of functionality out of
the box.
Middleware approaches and integration is always seen as a complex, risky and costly problem to solve. It is
recognized that so many times, traditional approaches to integration and software development have clearly imposed
such huge cost cycles and maintenance that their must be a better way. Positioning these hosted development
platforms as also being the answer to the integration challenge can introduce even more risk and duplication into the
work being undertaken by the CRM project team. Firstly, hosting introduces a distance factor to the access and
assembly of data for integration, which experience has shown us is better facilitated locally for performance. Latency
is the bane of nearly every integrated project, and relying on formulation and aggregation of data having to take place
across the internet within an environment which cannot be tuned for specific processes, risks huge performance
issues. With integration, the key to cost reduction is re-usability. Developing integration code which is purely
targeted at the CRM platform and typically proprietary in nature tends to make it less re-usable, driving up needless
duplication. A platform as a service and its utility bill approach to payments may initially provide some costs savings
over traditional middleware purchases, but quite often finance packages and use over time means that in the end they
are more expensive. It should be recognized that in essence, whether the platform is hosted or not plays such a small
part in the overall huge costs incurred for these types of projects that it is an irrelevant factor. For small companies
with little existing infrastructure and small volumes of integration, clearly these hosted development platforms can
provide value. Within the Enterprise business space however, better alternatives exist that take advantage of existing
investments, leverage new techniques, industry standards and approaches to ensure costs are reduced and the risks
managed.
This paper identifies the advantages and
disadvantages of each integration approach available
today, presenting some of the architectural thinking
that should be considered when deciding how best to
integrate with a SaaS CRM platform. It identifies how
the use of open, industry standard tools and

approaches can drive down the cost of integration
and also how Oracle‟s Application Integration
Architecture, one innovative solution to application
system integration, addresses reducing the research
and development efforts and costs associated with
this, one of today‟s, most critical business problems.
Consuming Customer Data Information within Oracle CRM On Demand
Before we look at the alternative approaches to integration we should understand the functionality that exists within
CRM On Demand for consuming information from other systems in order to deliver a comprehensive CRM
environment to its users. Each SAAS CRM vendor has a series of integration constructs and configuration options
which are similar in nature. Although it is only fair to conclude that as CRM On Demand‟s heritage combines: the
market leading knowledge from Siebel on integrating into a CRM Platform, with the No 1 integration and
middleware experience from Oracle; its ability to address these challenges is seen as market leading by many!

As an overview, CRM On Demand allows you to achieve the following typical integration requirements:

 Build Mashups within CRM on Demand of
multiple data sources
 Build Mashups of CRM on Demand data within
external web sites like Google or private portals
 Make calls out to external applications
 Provide complete Create, Read and Write access
to data via SOAP
 Notify external applications of events in CRM
On Demand
 Integrate CRM On Demand with Outlook and
Notes
 Integrate to desktop products such as Word and
Excel
 Integrate with applications on the desktop

 Take advantage of prebuilt integration tools and
methodologies
Mashups
In web environments the term mashup refers to a web application that combines data from more than one source
into a single integrated tool. In CRM on demand this can involve the combining of various sources of customer
information to deliver a comprehensive view. Content used in mashups is typically sourced internally for data such as
account records, transaction history, asset details or from a third party for business information from sources such as
Yahoo and Reuters via public interfaces. Methods of sourcing content for mashups include Web Service API‟s, Web
feeds (e.g. RSS or Atom), and even screen scraping. Public examples of mashup environments include: Yahoo,
Amazon, eBay, and Google. Leveraging this concept and the power of mashups within the CRM On Demand
environment simplifies the integration challenge, quickly delivering value to the end users.
Mashups within CRM on Demand are
differentiated from simple embedding of data
from another site to form compound UI‟s. A
CRM solution that simply embeds a map or a
YouTube video for instance is not a mashup.
CRM On Demand supports accessing and
delivering mashed up information in context and
relevance, increasing the value of the capability
and the information delivered to the user. For
example if you embed a Google Map within
CRM On Demand, you can pass context and
data that enables the map to highlight a
customer‟s locations, or the location of all the
customers for a particular agent.
However, the power of mashups is not just within the inbound integration arena with CRM On Demand. Easy
administration tools enable you to identify elements of information from the system that you wish to display within
an external application and generate the code your developers would need to embed in order to achieve the results.

Where the content being integrated within the CRM On Demand would

benefit from a larger amount of screen real-estate, application screens can be
embedded on their own tab to blend them seamlessly into the CRM
dashboard, ensuring their role as part of the overall process is seen as
complimentary to the entire user experience.

Supporting RSS Feeds
RSS, or Really Simple Syndication is a family of standardized Web
feed formats used to publish frequently updated information such as
blogs, news headlines, rich media and other types of data. CRM On
Demand includes a native applet type for reading and aggregating
RSS feeds. By using multiples of these applets onto a CRM screen it
is easy to provide an aggregation of a number of different RSS
sources into the world of CRM, relevant to a customer, your
business or your competition.
Making Calls out to an External Application
If, as part of a particular business process, the flow needs to move over to
another application, then this is achieved in CRM On Demand using a simple
control known as a Web Link. Business reasons for this may be because their
is a need to interact with the child applications menu‟s and process controls
and their interaction would seem alien within the CRM On Demand
framework. For this integration concept it is easy to pass context as control is
passed, identifying if you want the child application to open its own window or
take over the current one. Typical uses of this would be to query a back office
platform for a list of the latest transactions on an account or to obtain customers latest orders.
Web Tabs, Applets, and Links are all useful for triggering processing in an external application and CRM On
Demand uses Web Service standards such as “REST” URLs from external applications to support this requirement.
In many cases the called application can then perform specialized processing based upon the URL call. If the called
application requires additional data that cannot be included in the URL call, then typically the best practice is to have
the called application retrieve any additional information it needs from CRM On Demand via the web service API‟s.
These approach subsequently can support any process updates required to the CRM data as part of the integration

calls. Examples of processes that drive this type of interaction are:
1) Synchronize new account creation between applications: The initial customer information is entered into
CRM on Demand and the create account link pressed. The required call is made to the back office system
and the process initiates to create the account. Additional customer data is requested from CRM to complete
the transaction in the back office system and the Account Id is updated back to CRM On Demand at the
end of the process.
2) Trigger Quote to Order processing: The request to raise a quote and order is passed to the appropriate
systems which in turn request customer and product information from the CRM On Demand system in
order to process. Quote and Order status is often updated within the CRM On Demand system over time to
maintain the customer profile and enable the agent to be informed at all times.

The strength of CRM On Demands Web Service support
CRM On Demand has full capabilities to generate WSDL for configured records not just out of the box data. The
API‟s support Full Create / Read / Update / Delete (CRUD) access to all data records and provide support for
handling Complicated Parent-Child relationships. Access to the Web Service API‟s is session-based for security and
performance, requiring authentication with a valid sign in id and password. Transmission of information is then
secured over HTTPS, leveraging full support of standards-based XML/SOAP message formats, with all
communications encrypted with Secure Sockets Layer (SSL) minimum 128-bit encryption. Having to authenticate
access to the web service ensures that all data visibility and access is the same as if the user was accessing through
the UI. Further validation is made with permissions being re-checked every time data is accessed to ensure visibility
and security rules are maintained at all times.
These rich API‟s do not just support CRM transaction data such as customer data, activities etc, but also provide
support for user data to allow for example, automated provisioning of new users, deactivating old users, and
monitoring usage, password setting, etc. Finally a full audit trail of web service calls is available to the company
administrator in order to monitor activities and transactions.
Outbound Event Notification
CRM On Demand includes a mechanism that enables the application to message external applications about events.
For guaranteed delivery, the events remain on the queue until they are received by the external application, ensuring
no loss of events if the external application is down.
The notification events are generated by

the CRM On Demand workflow
environment and can be based upon both
events (e.g., record updated) and
conditions (e.g. order status =
“committed”). One advantage of this
approach over and above solutions where
a synchronous call is made to a company‟s
internal environment from the SAAS
platform is that it does not require the
customer to open a hole in their firewall
for CRM On Demand to gain access.
The precise mechanism used enables the customer‟s application or middleware server to make a web services call to
CRM On Demand to pull events from the queue. The events may then require additional requests to the web service
API‟s for more information depending on the type of transaction/action required.
Whilst in this section we have detailed how easy it is to consume, post and retrieve information from the CRM On
Demand solution this typically only represents some 10-25% of the integration challenge. More often than not the
complexity and challenge comes from obtaining, cleansing and formatting the information from existing corporate
solutions in order to present it to CRM On Demand, or translate CRM structured data back into a corporations
existing platforms. The following sections cover the choices and architectural considerations that should be reviewed
when deciding on the various approaches to follow in order to address this challenge.

Approaches to Integration for SaaS CRM Platforms
In today‟s emerging marketplace for Software as a Service, we recognize the emergence of two basic approaches to
formulating and delivering information for SaaS CRM data integration, namely;
 Data formatting and functional control is hosted off-premise (External)
 Data formatting and functional control is hosted on-premise (Internal)
The decision to which approach is most appropriate for an organization is typically driven by the following
considerations:
 The characteristics of the enterprise
 The volume of data and complexity

 The security profile of the information
 The availability of existing IT assets and the desire for re-use
 The required use and re-use of data and function within other processes and systems
 System performance
 Cost and Complexity
Technically it is possible use both approaches (External/Internal) for SaaS data integration. But once an enterprise
reviews the considerations, the decision typically polarizes the choice to one approach.
External Hosted Development Platforms
Scenario: Data is required for a UI or
CRM business process.
In a distributed environment where
customer data is distributed across the
enterprise, the challenge exists in
formatting data for use in the UI or
business process. This is especially
required where existing services only
exist to extract data streams. Typically
these data streams need to be submitted
for further processing in order for the
data to be assembled in a logical
sequence that: matches the CRM
application goals and is correctly
formatted for the UI or process.
In this example, a request for customer data from an existing on-premise system is initiated from a SaaS CRM system
using an Externally Hosted development platform. As procedural logic flows and constructs on the development
platform are being used to format the information the request typically has to route through the following process:
1. Internal data UI Page is built and sent to browser
2. Request for external data instantiates request to external development platform
3. External development platform calls for required data from target system(s)
4. System(s) respond with data streams

5. External development formats data streams into UI layout and presents back to requesting UI browser
It is clear that this approach requires relatively high volumes of global network traffic, and therefore has the potential
for issues to arise with latency and response times. This approach also typically requires firewall policy changes and

exposes volumes of corporate data across the internet. As further functionality is developed, records in context as a
user scrolls through a list, or (Create, Read, Update, Delete etc) then these factors are further exacerbated.
There is an additional complication associated with some of these hosted development platforms based on the fact
that although, most of them will claim to be Java, typically they are proprietary derivatives of Java development
platforms that are deficient in capability and have limitations requiring work-a-rounds. A non-standard based
approach requires additional training, specialized developer resource, which all contributes to driving up costs and
forcing vendor lock-in.
An external development environment is strategically suited to organizations that:
 Have limited investment in infrastructure and in-house development strategies
 Have minimal functional and data requirements that can be easily maintained during vendor upgrades
 Do not want to share integration assets (data & function) with other corporate solutions
Hosted Middleware Platforms from Oracle
There is however an option to have Oracle host a middleware development platform for our customers alongside the
CRM On Demand operations environment to achieve the delivery of a “Platform as a Service.” Our Austin Data
centre has years of experience in hosting these capabilities for our customers alongside its ERP, HCM and SCM
hosting services. As you will find later in this document, Oracles technology for Integration and Middleware
processing is based on Open Industry Standards, so this would add considerable benefits to enterprise companies
considering this type of requirement, however the data, performance and suitability issues already detailed with
regard to this approach would still be a concern. Company evaluation teams should be cautious of this approach
when the majority of back office solution platforms that need to be interacted with exist within the customers own
organization and firewall.
Internally Deployed Development Platforms
The same example is used for comparative illustration:
Scenario: Data is required for a
UI or CRM business process.
In a distributed environment where

customer data is distributed across
the enterprise the challenge exists in
formatting data for use in the UI or
business process especially where
existing services exist to extract only
data streams. These data streams
need to be submitted for further
processing in order that they are
correctly formatted for the UI or
process.
A request for customer data from an existing on-premise system initiated from a SaaS CRM system has to route
through the following process:
1. Internal data UI Page is built and sent to browser
2. UI instantiates a Service call to an internal web based data provider service
3. Internal service responds with formatted content – browser displays content

This approach minimizes global network traffic, and bypasses external latency and network performance issues. As
CRUD functionality expands, the development environment does not introduce significant further complexity when
compared to an external environment. This is especially valuable as an argument when existing integration assets can
be and should be used (e.g. IBM Websphere, Oracle Fusion etc…). Significantly, this approach does not expose high
volumes of corporate data to the internet and so carries a proportionately reduced risk of exposure and data leakage.
Oracle CRM On Demand recommends and adopts the internal development environment approach as a
recommended method for preparing and delivering information for integration into our applications. This approach
is based on our fundamental objective that the Oracle CRM On Demand platform has been tailored to meet the
demands of customers with sophisticated CRM requirements and with demands and characteristics above and
beyond those of SMB, so local aggregation of data makes logical sense and can typically leverage existing assets.
Additionally Oracle includes a framework for consumption of raw data content based on Industry Standard
solutions:
 RSS sources including:
o Web development environments e.g.: PHP

o Middleware solutions egg: Websphere
o RSS Generators e.g.: RSSBUS
 Google Gadget or Yahoo Widget technology to:
o Frame data in a rich UI component framework
o Consume data outside of CRM On Demand
If existing data feeds are already structured for web consumption in an existing page, applet of portlet format, then
CRM On demand Web applets and Web Tabs Integration framework allows easy use within the application.
Existing Assets
Large organizations typically have already decided on a strategic approach to enterprise integration and have made
significant investments both in infrastructure assets and people. Consequently there is a strong desire to maximize
the use of these integration assets and to develop an organizational consistency using these tools. A strong re-
usability model is often created based on existing integration tools and the best practice knowledge and
organizational expertise. The introduction of an external development platform challenges the re-usability model
fundamentally by introducing yet another integration solution into the organization. A more appropriate approach
and one that follows both organizational strategy and re-usability models is to develop open standard based
integration services on the strategic middleware already adopted by the enterprise, allowing consumption and re-use
across the enterprise.
Middleware Data Level Integration
SaaS puts additional demands on enterprise integration, by
extending the scope of data that can be sent over the corporate
firewall. By leveraging existing middleware solutions within the
Enterprise, organizations can create an architecture that
minimizes this requirement.
There are two approaches to integration with middleware, each
with a capability maturity that underpins the value they can
deliver to the business. Using an SOA and re-usability model
within existing Middleware environments will deliver additional
value to the CRM model as well as other domains of the

×