使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数

简介: 使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数

最近Jerry接到一个原型开发的任务,需要在微信里调用ABAP On Premise系统(SAP CRM On-Premise)里的某些函数。具体场景和我之前的公众号文章 Cloud for Customer和微信集成系列教程 描述的场景类似。


区别之处在于Cloud for Customer(C4C)是一个云解决方案,其OData Service/Web Service能够直接被Internet网络上的其他应用消费。而我最近要做的原型开发,需要消费的函数位于部署在Corporate Network里的ABAP On-Premise系统里,无法直接被Internet应用消费。


为了确保Internet应用能够访问Corporate Network系统里的服务,我们需要用到SAP Cloud Connector, 作为一个沟通桥梁。


这篇文章我假设的场景是:开发一个Java Web应用,部署在SAP Cloud Platform(云平台)上。用户在手机微信里访问该应用,调用ABAP On-Premise系统里的函数。


这个场景的主要实现步骤:


下载安装并配置Cloud Connector。Cloud Connector需要和ABAP On-Premise系统同样位于Corporate Network。


在SAP云平台上完成必要配置,同Cloud Connector建立连接。


开发Java Web应用,部署到SAP云平台。


架构图如下所示。

image.png

1. Cloud Connector的安装与配置

下载地址

image.pngimage.pngimage.pngimage.png在这个界面创建从虚拟系统(virtual system)到ABAP On-Premise系统的一个映射关系。我创建的虚拟系统名称为my-backend-system, 映射到一个SAP内部ABAP系统AG3。访问协议(Protocol)指定为RFC。点击检查按钮,如果ABAP系统的信息维护无误,该ABAP系统的状态会被标记为Reachable(可访问)。


Function Name为STFC,Naming Policy为Prefix,意为AG3系统里所有以STFC开头的函数均能通过该Connector实例被访问。

image.pngimage.pngimage.pngimage.png3. 开发Java应用,使用第2步创建的Destination

该Java应用的全部源代码在我的github上:


这里只讲解核心代码:


(1) 第28行根据Destination名称拿到其实例,名称在第2步SAP云平台的配置里指定。

(2) 第31行,拿到ABAP函数STFC_CONNECTION的句柄。

(3) 第35行,拿到用户从浏览器url里传进来的输入值。

(4) 第38行,将从第35行拿到的用户输入赋给STFC_CONNECTION的输入参数REQUTEXT。

(5) 第42行,执行ABAP函数。

(6) 第45, 46行,得到ABAP函数执行结果。

image.pngimage.pngimage.pngimage.pngimage.png


相关文章
|
1月前
|
JavaScript 前端开发 Java
Java Script中的函数原型是什么
Java Script中的函数原型是什么
11 0
|
1月前
|
存储 Java 数据库
Java代码居然能搭建二手交易平台
Java代码居然能搭建二手交易平台
18 0
|
1月前
|
中间件
什么是 SAP CRM 系统里的 Initial Download
什么是 SAP CRM 系统里的 Initial Download
23 0
|
5天前
|
JavaScript Java 测试技术
基于Java的在线日语培训平台的设计与实现(源码+lw+部署文档+讲解等)
基于Java的在线日语培训平台的设计与实现(源码+lw+部署文档+讲解等)
23 0
|
5天前
|
JavaScript Java 测试技术
基于Java的驾考自主学习预约平台的设计与实现(源码+lw+部署文档+讲解等)
基于Java的驾考自主学习预约平台的设计与实现(源码+lw+部署文档+讲解等)
17 0
|
5天前
|
JavaScript Java 测试技术
基于Java的宠物服务平台的设计与实现(源码+lw+部署文档+讲解等)
基于Java的宠物服务平台的设计与实现(源码+lw+部署文档+讲解等)
16 1
|
5天前
|
JavaScript Java 测试技术
基于Java的直播电商交流平台的设计与实现(源码+lw+部署文档+讲解等)
基于Java的直播电商交流平台的设计与实现(源码+lw+部署文档+讲解等)
13 0
|
6天前
|
JavaScript Java 测试技术
基于Java的课程在线教学平台的设计与实现(源码+lw+部署文档+讲解等)
基于Java的课程在线教学平台的设计与实现(源码+lw+部署文档+讲解等)
26 0
|
8天前
|
存储 数据可视化 安全
Java全套智慧校园系统源码springboot+elmentui +Quartz可视化校园管理平台系统源码 建设智慧校园的5大关键技术
智慧校园指的是以物联网为基础的智慧化的校园工作、学习和生活一体化环境,这个一体化环境以各种应用服务系统为载体,将教学、科研、管理和校园生活进行充分融合。无处不在的网络学习、融合创新的网络科研、透明高效的校务治理、丰富多彩的校园文化、方便周到的校园生活。简而言之,“要做一个安全、稳定、环保、节能的校园。
33 6
|
9天前
|
JavaScript Java 测试技术
基于Java的校园二手交易平台的设计与实现(源码+lw+部署文档+讲解等)
基于Java的校园二手交易平台的设计与实现(源码+lw+部署文档+讲解等)
23 0