1. 背景介绍
RESTful是一种网络应用程序的设计风格和开发方式。REST是Representational State Transfer的简称,中文翻译为“表述性状态转移”。单从定义上来理解REST可能并不是很好理解,对于刚刚接触这一概念的同学,可以将REST理解为一种设计风格,它描述了一个架构样式的网络系统,比如 web 应用程序。
SAP支持ABAP语言构建RESTful的应用程序,使用ABAP RESTful编程模型可以快速开发SAP Fiori应用程序,或是web服务接口。
2. 原理与架构
SAP的ABAP RESTful Programming Model提供了一套标准的架构,使用这套架构可以非常方便地开发端到端的应用程序,而且天然具有RESTful的特性。其架构图如下:

这套架构包含3层:
* Data Modeling & Behavior: 数据模型 & 行为层;在这一层主要完成“CDS数据建模”,“模型行为定义”,以及“行为实现”三项工作。
- 基于CDS(Core Data Services)的数据建模在此就不过多的解释,CDS是利用HANA高性能的一个有力工具;
- 行为定义(Behavior Definition)简称BDEF,其使用的BDL(Behavior Definition Language)完成,用来支持业务模型的各种操作,例如CREATE,UPDATE,DETETE等行为,行为定义主要是服务于这个应用程序的各种事务操作。
- 对于各种“行为”的实现逻辑,是通过ABAP代码来实现的,也即实现ABAP对应Class中的各种对应的方法,例如CREATE,UPDATE,DETETE等。
* Business Service Provisioning: 业务服务准备层;在这一层主要完成各种“服务”的定义的和实现。
- Service Definition:服务定义,也即是对上一步中数据模型的映射,有哪些数据和行为是需要以“服务”的形式暴露出来。
- Service Binding: 在服务绑定中,会完成具体“协议protocol”的实施,以及确定具有提供给consumer的服务类型。(一个Service Definition可以有一个或多个Service Binding)。
* Service Consumption: 服务消费层;在这一层,各种暴露出来的服务以OData的形式提供给Fiori或者其他前端应用程序进行使用。
3. 建立模型&发布服务
数据建模层的Core Data Services(CDS)的实现是基于底层的数据库表,在CDS层可以使用并直接操作数据库表中的原始数据;
在服务准备层,可以进一步通过CDS Project View将于前台应用程序相关的字段暴露出来,在Projection View中,可用通过UI annotation“注解” 来控制具体字段在的前台UI的显示方式。
通过Service Definition,可以进一步定义哪些数据会被暴露成具有的Business Service。
通过Service Binding,可以绑定一个定义好的service到一个CS(Client-Server)架构的通信协议,例如我们所熟知的OData。同时,使用Service Binding可以完成SAP Fiori Element的预览,在预览中看到应用呈现的具体效果。
至此,我们已经介绍了从底层DB table建模开始到服务发布的过程,通

本文介绍了RESTful概念,阐述了SAP的ABAP RESTful编程模型,包括其三层架构、数据建模与服务发布过程,还说明了行为定义与增强方法。此外,给出了代码实现过程、SICF服务配置、Postman测试及token使用的具体步骤,可助开发者轻松创建应用。
最低0.47元/天 解锁文章
1957

被折叠的 条评论
为什么被折叠?



