Open Data Web Service
截至目前,SAP-Solution 推荐以 OData 方式提供 REST-ful Service。
Netweaver 7.4 之后的版本可以直接使用 OData 服务。
7.4 之前的版本需要升级 GW_CORE、IW_FND 和 IW_BEP 三个核心组件。
ABAP Rest full Programming model
主要有3个关注点:
1. 开发工具:ABAP Development Tools in Eclipse ( SAP ADT )
2. 建模工具:SAP Core Data Service ( SAP CDS ),开发语言 ( ABAP, JAVA, JavaScript )
3. 日趋完善的开发框架
SAP-Solution
1. SAP Netweaver 环境检查
2. Open Data Web Service (>= SAP Netweaver 7.4)
3. Open Data Web Service (< SAP Netweaver 7.4)
4. Open Data Web Service 测试工具 (Postman, SOAP UI)
5. Enjoy your prototype
1.1 SAP 已部署安装的软件组件版本
1.2 SAP 已安装的解决方案版本
当 SAP Netweaver 组件版本大于或等于 7.4 时,可以直接配置相关 SAP Gateway 组件,并激活 相关的 SAP OData 服务,从而实现 SAP ERP 与外部信息系统进行通讯的需求。
2.1 激活 SAP Gateway 功能 ( T-CODE: SPRO )
2.2 创建一个 SAP System Alias ( 系统别名 )
2.3 创建一个 Gateway Alias ( 网关入口别名 )
2.4 激活 SAP OData 服务节点( Odata for SAP Products )
2.5 测试 SAP OData 服务是否激活成功。( T-Code: SEGW )
2.6 SAP Netweaver Gateway Client ( demo data with XML format )
Plant test data ( XML format )
2.6.1 Call Browser ( HTTP, HTTPS )
2.6.2 Basic user authorization
2.6.3 Test Data with XML format in Google Chrome
2.6.4 Test Data with JSON format in Google Chrome
2.7 SAP Netweaver Gateway Client ( demo data with JSON format )
Plant test data ( JSON format )
3.1 SAP ICF ( Internet Commincation Framework )
当 SAP Netweaver 组件版本小于 7.4 时,可以将 SAP 应用程序服务器 (Application Server)作为 HTTP 服务提供者。
此时,需要定义一个类;这个类必须实现 IF_HTTP_EXTENSION 接口。
IF_HTTP_EXTENSION 接口只有一个方法 HANDLE_REQUEST。自定义的这个类必须实现 HANDLE_REQUEST 方法。HANDLE_REQUEST 方法的 SERVER 参数是一个 Http Server 对象 (类型为 ICF 框架的 IF_HTTP_SERVER 接口)。
Http Server 对象具有的属性和方法对请求和响应进行处理。
然后使用 SICF 事务码创建服务,并且将处理器(Handler)设定为自定义类。外部环境中客户端就可以访问这个定制HTTP服务。( 已发布并激活 )
3.2 创建一个HTTP 通讯服务类 ( T-CODE : SE24 )
HTTP Framework (HTTP Interface) HTTP Request Handler
Called for request handling for each incoming HTTP request
Handling the requests from Client.
Response the result to client.
3.3 使用 T-CODE: SICF 在 default_host/sap 节点下面创建子节点。( 激活并测试 )
3.4 SAP ABAP 2 JSON 工具类 ( T-CODE: SE24 )
ZUI2_JSON ( DESERIALIZE vs SERIALIZE )
ZUI2_JSON ( DESERIALIZE )
ZUI2_JSON ( SERIALIZE )
4.1 Postman ( The Collaboration Platform for API Development )
4.2 What is Postman ?
4.2.1 Basic Auth in Postman
4.2.2 HTTP response in Postman
4.3 SoapUI ( Accelerating API QualityThrough Testing )
4.4 More about SoapUI
5. 1 Enjoy your prototype. ( Demo )
5.2 Blog party
ZFiori Studio Snapit
Reference:
Quick Starter Configuration Guide – SAP Gateway
RESTful DEMO 一:SAP 如何提供 RESTful Web 服务
One more ABAP to JSON Serializer and Deserializer