首页 > SAP > HANA > SMP3.0学习笔记之十六 与非SAP后端系统集成之数据库篇
2019
08-27

SMP3.0学习笔记之十六 与非SAP后端系统集成之数据库篇

之前都是讨论如何使用SMP3.0集成SAP Netweaver
Gateway暴露出来的OData服务。对于非OData数据源,可以使用Integration
Gateway将其转换为SMP可以消费的OData服务。Integration Gateway的作用就是SMP用来适配各种非SAP
OData数据源的组件。通过下面的图可以了解Integration Gateway在SMP中位置:

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124549-42.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

另外,我还会使用到SAP
Netweaver Gateway Productivity
Accelerator(GWPA)。有关GWPA,可以参考:<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-38.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />
b)其他一些针对Integration
Gateway和各种移动平台的Toolkit.

例如使用Integration Gateway的Toolkit,可以将OData
Modeler开发的OData服务与非SAP后端进行邦定,例如JDBC、SOAP、JPA数据源等。

下面的例子尝试使用Integration
Gateway将后端MySQL的一张table暴露为OData服务,并且使用SMP3.0进行消费。这个例子将会使用到上面提到的Integration
Gateway,GWPA OData Modeler以及GWPA Toolkit for Integration
Gateway.

1.MySQL中创建一张表模拟后端数据源。
表名: airlines
字段: AirlineID和Name,均是Char类型
<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-52.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

然后向airlines中插入若干行记录,我这里插入1行:

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-93.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />


2.Eclipse中安装SAP
Netweaver Gateway Productivity Accelerator(GWPA)插件:

使用的URL是:<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-12.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

3. 在Eclipse中创建一个Service Implementation
Project

名字叫做FirstODataService:

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-18.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

在FirstODataService工程中增加一个OData Model:

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-62.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

Entity 名字:Airline. EntitySet名字:Airlines.
在该Entity中增加两个Properties:AirlineID和Name,类型是Edm.String.

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-77.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

4. 实现该OData Model:

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-19.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

并选择数据源:

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-35.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

选择数据源时,选择JDBC:

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-94.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

5. 修改Eclipse中有关SMP Integration Gateway的配置,使得我们可以将上面设计的OData
Service部署到SMP的Integration Gateway:

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-9.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

6.
将OData Service部属到Integration
Gateway:


<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-88.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

7.配置SMP Integration Gateway Cockpit
登录到SMP Integration Gateway Cockpit:
<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-56.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

配置OData Service(FirstODataService)的Destination为MySQL:

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-82.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

8.配置SMP的Security Profile

所有的Integration Gateway的OData Service都使用SMP中名为sap的Security
Profile。因此新建一个”sap”的Security Profile,为简单起见配置其Authentication
Providers为:”No Authentication Challenge”.

9. 激活Integration Gateway中的OData Service
在Integration Gateway
Cockpit中激活上面第6步发布的OData服务.此时点击该OData服务的 Open Service
Document可以看到刚刚发布的OData Service的Metadata:

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-3.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

还可以查看Airlines的数据:

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-58.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

10.测试
a) 在SMP中新建一个Application,名字叫做com.sap.myig.test. 其URL指向上面Integration
Gateway将MySQL Table转换成的OData服务的URL。
b) 使用postman创建一个连接,并获取APPCID:

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-67.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

c) 使用上面创建的APPCID获取Airlines数据:

<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190827124550-22.jpg" alt="SMP3.0学习笔记之十六与非SAP后端系统集成之数据库篇” />

上面就是使用Integration Gateway将后台数据库的表发布为OData
Service并且通过SMP进行消费的例子。后续我会尝试使用Integration Gateway将一个SOAP
Webservice发布为SMP可以消费的OData服务。

最后编辑:
作者:yangsen
本站为个人博客网站,全由我个人维护,我从事SAP开发13年,其它ERP开发7年,基本都是零售行业。本站记录工作学习的过程, 有SAP相关询问专、兼职工作可随时联系我。 有网站相关的问题可直接在文章下方留言,或者联系我。 邮件:yan252@163.com给我。 QQ:415402519

留下一个回复

你的email不会被公开。