Integrating ERP and CRM Applications with IBM WebSphere Cast Iron
IBM Redbooks Solution Guide
Published 22 January 2013
Authors: Jeff Cox
An integration solution must bridge the gap between the on-premise existing systems and new cloud applications, platform, and infrastructure, providing a rapid and easy-to-use method of setting up the integrations. IBM® WebSphere® Cast Iron® provides a solution that meets the challenge of integrating cloud applications with on-premise systems, cloud applications-to-cloud applications, and on-premise to on-premise applications. For example, the WebSphere Cast Iron solution can help to synchronize account records between an enterprise resource planning (ERP) system and a cloud-based customer relationship management (CRM) system.
With the WebSphere Cast Iron solution, you can integrate applications in days, freeing up scarce resources, maximixing cloud user productivity, and saving as much as 80 percent on integration costs.
Cloud computing has become a business evolution that is impacting all facets of business today, including sales, marketing, human capital management, supply chain, finance, manufacturing, quoting, ordering, service, support, and email. As each function moves to the cloud, it requires migration and integration. Additionally, each vendor that provides a cloud solution creates its own interface to the application. This fact creates a challenge in IT organizations of companies of all sizes and locations as they attempt to understand and then manage these unique application interfaces and integrate applications from cloud to cloud and cloud to on premise.
An integration solution must bridge the gap between the on-premise existing systems and new cloud applications, platform, and infrastructure, providing a rapid and easy-to-use method of setting up the integrations. IBM® WebSphere® Cast Iron® provides a solution that meets the challenge of integrating cloud applications with on-premise systems, cloud applications-to-cloud applications, and on-premise to on-premise applications, as shown in Figure 1.
Figure 1. WebSphere Cast Iron Cloud Integration
The WebSphere Cast Iron environment focuses on the business requirements, the applications, and the business user requirements, while removing the daunting complexity of integration.
Did you know?
The Carbon Disclosure Project estimates that by 2020, US organizations could save US$12.3 billion in energy costs and the energy equivalent of 200,000,000 barrels of oil by moving to the cloud. (Source: Cloud Computing – The IT Solution for the 21st Century, Carbon Disclosure Project Study, 2011: https://www.cdproject.net/en-US/WhatWeDo/Pages/Cloud-Computing.aspx)
By using WebSphere Cast Iron Cloud Integration for a simplified experience, midsized and large companies achieve the following benefits:
- Integrate in days. Companies can connect their hybrid world of private clouds, public clouds, and on-premise applications in days due to the simple “configuration, not coding” approach. WebSphere Cast Iron Cloud Integration also offers a comprehensive set of preconfigured Template Integration Processes (TIPs) for the most common integration scenarios between popular cloud and on-premise applications. These TIPs eliminate the need to build integrations from scratch and further accelerate their implementation times.
- Save as much as 80 percent. The configuration-based approach and TIPs help companies reduce integration costs by much as 80 percent compared to custom code. Built-in connectivity to common applications reduces maintenance costs of hand-coding changes as the application providers update their APIs. Built-in exception handling and error notifications significantly reduce monitoring and management costs. In addition, companies can sometimes reduce licensing costs to back-office applications for cloud users by providing real-time access to this information in the cloud.
- Free up scarce resources. The visual user interface (UI) and the simplified configuration experience reduce the need to use expert resources for cloud "plumbing" projects. They also allow companies to reallocate these expert resources on more strategic innovation-oriented integration projects.
- Maximize cloud user productivity. With WebSphere Cast Iron Cloud Integration, cloud users no longer waste precious time logging on or searching in multiple applications to access critical business information. Instead, they get real-time visibility of data in the cloud and maximize their productivity. Because of this productivity enhancement, user adoption increases and companies can maximize the value of their investments in cloud applications.
One type of integration where WebSphere Cast Iron is of benefit is to synchronize account records between an enterprise resource planning (ERP) system and a cloud-based customer relationship management (CRM) system. For example, you just procured the CRM system (such as from salesforce.com) and need to synchronize your master list of customers and other business critical data with your ERP system (such as from SAP). The challenge is to accomplish this necessary integration without embarking on a lengthy, costly, and complex project cycle that requires specialized skill sets and multiple moving parts to install and maintain.
The WebSphere Cast Iron solution (shown in Figure 2) provides an approach to integrating applications that does not require any programming knowledge. You can build integration flows in WebSphere Cast Iron Studio, which is a graphical development environment that is installed on a personal computer (PC). With WebSphere Cast Iron Studio, you create an integration project that contains one or more orchestrations. Each orchestration is built with several activities that define the flow of data. You can define the details of an activity from the configuration panes within WebSphere Cast Iron Studio.
Figure 2. WebSphere Cast Iron solution
A project contains all of the assets that are required for the orchestrations to run, including any file schemas, Web Services Description Language (WSDL) files, and functions. The project also defines connectivity to the sources of data, the endpoints. WebSphere Cast Iron contains many built-in connectors to applications (for example SAP), databases, and web services that make connecting to these endpoints straightforward.
A simulated runtime environment is within WebSphere Cast Iron Studio to enable unit testing of the orchestrations with visibility of all data at all points. After you test the project, you can publish the project to the run time, where you can then manage and monitor the project. A browser-based interface, the Web Management Console (WMC), can manage all functions on the run time.
WebSphere Cast Iron also provides Template Integration Projects (TIPs) that encapsulate a specific integration use case between specific endpoints and that include preferred practices. You can download these TIPs from the WebSphere Cast Iron community and modify them to fit your precise needs.
Figure 3 shows the overall architecture of WebSphere Cast Iron for integration between SAP and salesforce.com.
Figure 3. Architecture of the integration between SAP and salesforce.com
WebSphere Cast Iron performs integration by using orchestrations that are built by using the WebSphere Cast Iron Studio and deployed to one of the WebSphere Cast Iron run times (integration appliance or WebSphere Cast Iron live). Orchestrations consist of a flow of activities that perform the integration function. Figure 4 shows WebSphere Cast Iron Studio with an orchestration open in the workspace.
Figure 4. Orchestration using WebSphere Cast Iron Studio
WebSphere Cast Iron provides activities that are specific to SAP and salesforce.com (see the activities on the right side in Figure 4). These activities provide the access and functions to retrieve and update data from SAP and salesforce.com. In the orchestration, activities map fields from SAP to salesforce.com (as shown in Figure 5) and from salesforce.com to SAP (not shown).
Figure 5. SAP to salesforce.com field mapping
Usage scenarios for bidirectional account synchronization
The following scenarios demonstrate an example integration to synchronize account records between an ERP system (in this example, SAP) and a CRM system (in this example, salesforce.com)
A company has an SAP1 ERP system and just bought salesforce.com CRM as their CRM system in the cloud. The CRM system is intended to be used by the call center and the sales teams to communicate with their customers. To work with the CRM system, account data is needed. This account data is available in SAP but must be transferred into salesforce.com. Similarly, customer information that is available in salesforce.com must be transferred to SAP. WebSphere Cast Iron Cloud Integration is used to keep the data of the two systems synchronized.
Scenario 1: Synchronizing customer data
The account data is available in SAP but must be transferred into salesforce.com as shown in Figure 6. In this scenario, an orchestration is used to synchronize new and updated customer data from SAP into salesforce.com.
Figure 6. Synchronizing new and updated customers from SAP to salesforce.com
In SAP, the companies are called accounts. In salesforce.com, the customers are called customers. To synchronize data between these two systems, a new custom field is defined for the Account object in salesforce.com. This new field is called ExtAccountID_c and contains the SAP customer number in the format SAP_xxx. The orchestration uses this field to validate that the salesforce.com account has a corresponding SAP customer.
Figure 7 shows the orchestration to synchronize from SAP to salesforce.com. Template Integration Project T0037 is used as a starting point for this orchestration. TIPs are accessible in the WebSphere Cast Iron Template Repository that is available for every WebSphere Cast Iron customer.
Figure 7. Orchestration overview for SAP to salesforce.com
The orchestration involves the following steps:
- The orchestration starts with an HTTP Receive Request activity that listens for incoming requests.
- An SAP Customer Search Business Application Programming Interface (BAPI) function takes the country, the sales organization, and a search flag as input and returns a list of SAP customer numbers for these criteria.
- The orchestration loops through all the customer numbers in the list. It uses the SAP BAPI with the Customer object and the GetDetail2 method to get the customer details. The search returns an element with the SAP customer information.
- The returned SAP customer record is validated to ensure that the number of CUSTOMER records returned is greater 0.
- The orchestration inserts or updates the customer information in salesforce.com. A function, called upsert, is provided by salesforce.com. This function does an insert if the object is a new account. Otherwise, it does an update. The decision about whether an account is new is made based on a primary key, the custom ExtAccountID__c field.
Scenario 2: Synchronizing from salesforce.com to SAP
The same company decided to allow users in salesforce.com to modify customer data, such as addresses, and have that data synchronized to SAP as shown in Figure 8.
Figure 8. Synchronizing customer data from salesforce.com to SAP
In this scenario, an orchestration synchronizes account data from salesforce.com to SAP. This scenario updates accounts in SAP only if the account exists in SAP. Figure 9 shows how the orchestration looks now.
Figure 9. Salesforce.com to SAP orchestration overview
The orchestration entails the following steps:
- An HTTP request for synchronization is received. The intent is not to synchronize all records from salesforce.com, but only those records that were changed (created or updated) since the last synchronization occurred. The time of the last synchronization is delivered within the HTTP request as part of the body. The entire synchronization process might take longer than the HTTP Request timeout. Therefore, a customized response is sent that tells that the request was received.
- The salesforce.com accounts that were updated and need to be synchronized are retrieved with salesforce.com. Only a subset of the fields in the salesforce.com accounts is selected for synchronization, and only accounts that were updated since the time specified in the HTTP request are synchronized.
- The orchestration uses the ExtAccountID_c custom field in salesforce.com to validate each account that is retrieved to determine whether it corresponds to an existing SAP account. Only existing SAP accounts are eligible for updates.
- Updates to records in SAP require including a set of mandatory data, such as sales organization, name, city, postal code, street, country language, and currency. Although most of the data is available in salesforce.com, some data is not available and must be read from SAP to augment the data to be used in the final update. The orchestration uses BAPI calls to retrieve this additional information from SAP for each salesforce.com account that is being held for synchronization.
- When all of the required data is received, the orchestration updates SAP.
You can develop integration by using a "configuration, not coding" approach and deploy it in the following form factors, each providing the same functions:
- WebSphere DataPower® Cast Iron Appliance XH40: A self-contained physical appliance that provides everything needed to connect cloud and on-premise applications. Built on market-leading IBM technology, the appliance can be installed and managed within a local data center.
- WebSphere Cast Iron Hypervisor™ Edition: A virtual appliance that can be installed on your existing servers by using virtualization technology. It provides the same functions as the physical appliance.
- Cast Iron Cloud2: A complete multitenant cloud to connect cloud and on-premise applications. By using Cast Iron Cloud2, you can design, run, and manage integrations in the cloud without any infrastructure footprint onsite.
Linux Fedora and various Microsoft Windows operating systems, in addition to Intel x86-32 and x86-64 hardware, are supported to a varying degree by parts of the product. For more information, see the system requirements for WebSphere Cast Iron Cloud Integration at:
This product is available only through IBM Passport Advantage®. Table 1 lists the components of IBM WebSphere Cast Iron.
Table 1. Ordering part numbers and feature codes
|Program name||Product ID|
|IBM WebSphere Cast Iron Live |
|IBM WebSphere Cast Iron Live|
|IBM WebSphere Cast Iron Express||5725-E61|
|IBM WebSphere Cast Iron Hypervisor|
|IBM WebSphere Cast Iron Hypervisor |
|IBM WebSphere DataPower Cast Iron Appliance XH40||Various machine types and models|
For ordering information, see the IBM Offering Information page at:
On this page, enter WebSphere Cast Iron Hypervisor, WebSphere Cast Iron Live and Express, or WebSphere DataPower Cast Iron Appliance XH40, select Announcement letter, and then click Search. On the next page, narrow your search results by geography and language.
For more information, see the following documents:
- Getting Started with IBM WebSphere Cast Iron Cloud Integration, SG24-8004
- IBM WebSphere Cast Iron Introduction and Technical Overview, REDP-4840
- The IBM Offering Information page (announcement letters and sales manuals)
- WebSphere Cast Iron Cloud Integration
- Cast Iron Express
- WebSphere Cast Iron Cloud Integration prerequisites
- IBM WebSphere Cast Iron Version 6.1 Information Center
- IBM Support Portal
- IBM Fix Central
- WebSphere Cast Iron Cloud integration Fixpacks
- WebSphere Cast Iron Cloud integration Community page
- Salesforce implementation considerations
Others who read this publication also read
This material has not been submitted to any formal IBM test and is published AS IS. It has not been the subject of rigorous review. IBM assumes no responsibility for its accuracy or completeness. The use of this information or the implementation of any of these techniques is a client responsibility and depends upon the client's ability to evaluate and integrate them into the client's operational environment.
Follow IBM Redbooks
Follow IBM Redbooks