OData是一种非常简单的接口协议,它有着简单的结构以及简单的操作方式。当我们提及接口的方式,目前首推的是RESTful,REST是Representational State Transfer的缩写,它是一种轻量的接口方式(和传统的SOAP的接口方式相比)。注意,REST不是协议,只是开发接口中的术语,这种接口方式有以下一些特点:
无状态交互(Statelessness)
请求不会在服务端存储,任何的请求包含了所有服务所需要的信息。
可缓存(Cacheability)
请求的返回信息可以定义是否需要缓存。
层级系统(Layered System)
客户端不清楚访问的最终系统,有可能是直接连接,也可能是中间系统。
统一接口(Uniform Interface)
统一的接口方式可以将客户端和服务端解耦。
按需编程(Code on demand)
服务可以根据客户端传输的请求内容定制化。
REST请求的通用操作:
GET
客户端从服务端获取数据。
POST
客户端传送信息给服务端进行创建的操作或者修改的操作。
PUT
客户端传送信息给服务端进行创建的操作或者修改的操作。
DELETE
删除服务端的数据操作
PATCH
更新某一条数据中的某个属性。
OData是Open Data Protocol的缩写,是一种基于REST的数据访问方式。目前这种协议有微软进行维护和发布。
详细的OData的介绍请参考:www.odata.org
数据多样性存储
在一个服务里面可以定义多种数据的存储。
向下兼容
客户端和服务端可以使用不同版本的OData服务,每个服务都可以向下兼容。
REST原则
遵循上文中提到的REST原则。
容易扩展
如果需要额外的服务,应该能够进行简单的扩展。
简单
如果需要实施OData服务,需要完成以下四个部分:
OData模型
定义数据结构,一般发生在后端系统。
OData协议
支持CRUDQ(创建,读取,修改,删除,查询)功能,数据的传输可以使用XML或者JSON。
OData客户端库
保证了客户端能够使用库函数方便的访问OData服务。注意,客户端库并不是必须的,但是尽量有,这样可以节省大量的编码工作。
OData服务
可以最终被客户端访问的服务。
以上两种文档包含了:
创建
HTTP请求类型: POST
成功返回:201
读取(包括单条读取-read_entity,多条读取read_entityset)
HTTP请求类型:GET
成功返回:200
更新
HTTP请求类型:PUT
成功返回:204
删除
HTTP请求类型:DELETE
成功返回:204
查询
HTTP请求类型:GET/POST
成功返回:200/201
查询操作清单:
操作 | 查询方式 |
---|---|
筛选 | $filter |
排序 | $orderby |
客户端换页 | $top,skip,inlinecount |
数据量 | $count |
嵌入内容 | $expand |
格式化 | $format |
SAP对于标准的OData进行了扩展,特别是在对于字段属性定义上,如果熟悉SAP系统的人都知道SAP系统表中的字段定义往往很难理解,SAP的扩展中就包括了使用字段的描述作为OData的属性进行命名。
SAP对于OData的支持扩展包括:
OData在SAP各种产品中的使用:
本文简单的过了一下OData,也大概看了一下SAP中OData的使用,在接下来的一篇文章中会介绍Gateway的基本架构。
原文:https://www.cnblogs.com/yjyongil/p/11049688.html