Currently Being Moderated

Introduction

The integration of SAP HANA with SalesForce.com (SFDC) will provide an unique solution that will harness the user experience of SFDC with real time analysis of data using SAP HANA. In this blog we explain the POC developed using SalesForce adapter provided by SAP Business Object Data Services (BODS) to extract information from SalesForce.com, normalizing and storing the data in SAP HANA and expose processed data via SAP HANA Extended Application Services Server (XS Server).

 

Business Value 

Statistical analysis of the customer data will help business pinpoint the inconsistencies and take corrective action. It will also help track customer behavior; identify trends and potential business opportunities. SAP HANA provides statistical functions as part of Predictive Analysis Library (PAL). These statistical functions can be used to analyze customer data from SFDC and develop a statistical control process to support client’s business objective.

 

Steps to integrate SAP HANA with SalesForce.com

 

In addition to the data analysis the other steps that go into building this solution are:


  1. i. Importing data from SFDC into SAP HANA
  2. ii. Storing the data in a normalized way in HANA database
  3. iii. Exposing the analyzed data for consumption by other applications

There are multiple options available to import data from SFDC into SAP, in this blog we focus on SalesForce adapter provided by SAP BODS as –

  • Data can be formatted as required in HANA Database in BODS.
  • Browse SFDC metadata from the BODS Designer
  • Set up a fully automated process for SFDC integration
  • The solution developed will take relatively less development effort

 

SAP HANA XS Server provides the 3 options for web clients to consume data –

  • OData webservice  
  • XML for Analysis (XMLA) webservice 
  • Web based UI developed using SAPUI5.

 

The diagram below shows the components and dataflow for HANA to SalesForce integration.

 

image001.png

Importing data using BODS Sales Force Adapter

 

To use the Adapter for Salesforce.com from SAP BusinessObjects Data Services please follow the following steps.

 

  1. Install SAP BusinessObjects Data Services version 12.0.0 or later. The Salesforce.com adapter is installed automatically with this version.
  2. Configure the Job Server local for adapter management.
  3. Configure the SAP BusinessObjects Data Services Adapter for Salesforce.com interface.
  4. Create adapter datastore
  5. Import metadata from SalesForce
  6. Use imported metadata to create dataflow

 

Develop OData WebService using HANA Extentded Application Service


OData is a resource-based Web protocol for querying and updating data that maps the persistence model to consumption models. An OData application running in SAP HANA XS can be used to provide the consumption model for client applications exchanging OData queries with the SAP HANA database.

OData enables clients to consume authorized data stored in the SAP HANA database. OData defines operations on resources using RESTful HTTP commands (for example, GET, PUT, POST, and DELETE). Data is transferred over HTTP using either the Atom (XML) or the JSON (JavaScript) format.

 

Given below are steps to create an ODATA Webservice for HANA XS Engine:

 

  1. Create analytical view or calculation view to be exposed as ODATA Web Service - Using Modeling perspective created Analytical view AN_ORDERS in package xsandas3.

image003.png

2.     Create a XS Project -  A new XS Project – xs_order_prj created using Development Perspective.

 

a) Create a new project

image006.jpg

b) Select project type as – XS Project

image008.png

c) Project xs_order_prj is created with location in workspace folder xsandas3.

Please note the default location option is unchecked.

The workspace folder name is same as the package where the analytical view was created.

image009.png

d) The project- xs_order_prj that was created in the above step needs to be shared. It was shared by right clicking the project name and selecting Team -> Share project option.

image010.png


 

3.     Set up ODATA Service files - Application descriptor (.xsapp) and application access (.xsaccess) files created.

          Application descriptor (.xsapp) is a blank file.

a) Right click on project created and use New -> File option to create .xsapp, .xsaccess and order.xsodata files.

 

image011.png

b) Application access (.xsaccess) file is created as shown below. This file is used define what is to be exposed as web service and who has access.

 

 

image012.png

c) Create file order.xsodata to expose the analytical view – AN_ORDERS as a web service. The ODATA Service is defined as –

service {

       "xsandas3/AN_ORDERS.analyticview" as "orders1" keys generate local "GID" aggregates always;

 

}

 

image015.jpg


 

4.          Commit and activate service – Commit and activate the .xsapp, .xsaccess and order.xsodata file.

image016.png

 

 

After the files are committed and activated successfully the orange bubble icon appears

 

image017.png

 

5.     Testing  Odata Services  - OData webservices provide multiple parameters and syntax to support multiple operation such as retrieving the metadata definition, apply filter, selecting a subset of record.

 

ODATA URL: The ODATA URL is based on the server name, instance number of the HANA system, package name, xsodata filename and entity set name.

The actual server name, instance number, package and xsodata filename can be replaced in the URL http://<servername>:80<instance number>/<package>/<xsodata filename> to determine the URL string. 

 

The below table provides sample URLs and output assuming server name is acmecorp.com, instance number is 00, package – xsandas3xsodata filename is order.xsodata and entity set name = orders1    . 

 

Operation

URL and Output

Retrieve Metadata

http://acmecorp.com:8000/xsandas3/order.xsodata/$metadata

 

image018.png

Get records in JSON format

http://acmecorp.com:8000/xsandas3/order.xsodata/orders1?$format=json

image020.png

Get records in atom format

http://acmecorp.com:8000/xsandas3/order.xsodata/orders1/

 

image022.png

Apply filter

http://acmecorp.com:8000/xsandas3/order.xsodata/orders1?$filter=startswith(CUSTOMER,'901')

image025.png


Building SOAP based web service using XMLA

 

XMLA enables the exchange of analytical data between a client application and a multi-dimensional data provider working over the Web, using  SOAP based web service. Implementing XMLA in SAP HANA enables third-party reporting tools that are connected to the SAP HANA database to communicate directly with the MDX interface.  I will provide details regarding building a XMLA service in next edition of my blog.

 

Accessing Webservice in SalesForce.com

 

Salesforce.com provides APIs that support both SOAP and REST based webservice. The Webservices defined in HANA can easily be accessed and consumed.

 

Reference Links -

BODS Sales Force adapter guide - http://help.sap.com/businessobject/product_guides/sboDS41/en/sbo41_ds_salesforce_en.pdf

 

 

SAP HANA Developer Guide –

http://help.sap.com/hana/hana_dev_en.pdf

 

Contribution

The following team developed the POC and the blog:

  • Joseph Chavadiyil, Deloitte
  • Anubrat Das, Deloitte
  • Mohammad Ashraf, Deloitte

Comments

Actions

Filter Blog

By author:
By date:
By tag: