Service Mash-up in Integration Gateway – It’s Simpler Than You Think
Integration gateway is a component in SAP Mobile Platform 3, it converts different types of protocols to Odata protocol. Currently it supports SOAP, JDBC, JPA, ODC and REST (read and query). This example is on how to mashup multiple backends and create an Odata service using Integration Gateway.
- SAP Mobile Platform 3.0 SP05 Developer Installation
- Eclipse Kepler
- SAP Mobile Platform Eclipse Plugins. Available from the SAP eclipse update site: https://tools.hana.ondemand.com/kepler
- HSQLDB (jdbc)
Steps to Create Project
- Open Eclipse and select File > New > SAP Mobile Platform Odata Implementation Project.
- In the pop up window provide the project name “ServiceMashup”.
- Select Target Runtime Server as “SAP Mobile Platform 3.0 SP5”. Click Next.
- Enter Model name as “model”. Then click on Finish. It creates the ServiceMashup project in the workspace.
- Create entity types CustomerObj and Article, and a complex Type Price.
Note that datatype of ID in CustomerObj is integer (edm.Int16) and BIRTHDATE is Datetime (edm.datetime).
I have followed the existing examples Integration Gateway with JDBC and Integration Gateway with SOAP as a source for this blog. So in this blog I am not explaining how to set up HSQLDB. Copy and paste JDBC driver package (hsqldb.jar file) from ..\hsqldb-2.3.2\hsqldb\lib to C:\SAP\MobilePlatform3\Server\pickup .
Define Data Source
- From the Project Explorer right click on model.odatasrv file > Select Data Source.
- Choose Entity Set “model.default.CustomerObjSet”
- Select Query from Operations and select JDBC as Data source. Click Finish.
- Right click on model.odatasrv file > Select Data Source.
- Choose Entity Set “model.default.ArticleSet”
- Select Query from Operations and select SOAP Service as Data source.
- Click Next.
- Browse WSDL file (http://www.predic8.com:8080/material/ArticleService?wsdl) stored in local machine and select the operation “getAll”.
- Click Finish.
- Expand model.odatasrv file > Right click on Query > Define Response Mapping. Define mapping as below.
- Save the project. Right click on the project and deploy it to SMP server.
SMP Server Configurations
- Login to Gateway management cockpit (https://<smpserverhost>:8083/gateway/cockpit).
- Click on Destinations > New Destination.
- Provide HSQLDB details.
- Click on Service > SERVICEMASHUP.
- From service details screen, choose Assign Destinations for Entity Sets.
- Click on Add Destination > Choose DestHSQLDB.
Testing Odata Service
- Click on Open service document
- Add collection CUSTOMER with service document to pull data from JDBC.
- Add collection ArticleSet to pull data from SOAP service.