SAP Gateway与OData用法简介

本文将分别从基础原理和实际应用两个角度介绍SAP Gateway与OData相关的知识点。

1 相关的事务代码(t-code)

  • SEGW - SAP Gateway Service Builder
  • /IWFND/MAINT_SERVICE - Activate and Maintain Service
  • /IWFND/GW_CLIENT - SAP Gateway Client
  • /IWFND/ERROR_LOG - SAP Gateway Log
  • SICF - Edit HTTP Service Hierarchy

2 基础原理

2.1 OData

有关OData(Open Data Protocol,缩写OData)的官方定义和解释可参见其官方网站。对于使用OData的开发人员而言,可以将OData服务简化理解为一个URI(Uniform Resource Identifier)统一资源标识符,它是一种满足RESTful设计风格的Web服务。

URI的形式如下:
SAP Gateway与OData用法简介_第1张图片
可以知道,通过OData这种方式,我们可以将一个数据源、服务发布成一个public的URI,因此对于服务的使用者(Consumer)而言, 其并不需要关系OData背后的具体开发语言或技术,其只需要满足HTTP通信协议即可。

2.2 HTTP

互联网上的HTTP协议,即Hyper Text Transfer Protocol超文本传输协议,它也是OData服务的通信协议,通过HTTP将服务器上的信息以超文本的形式,传送到浏览器,或相关满足HTTP协议的软件。

需要注意的是,不仅仅是浏览器(Browser)可以解析HTTP请求,任何满足HTTP协议的软件也可以通过这种协议来进行通信(SAP Fiori APP就是通过OData的形式,以HTTP通信协议实现前台UI和应用服务器 Application Server通信的)。

这种基于HTTP的应用,我们也可以将其称之为Web应用程序。
SAP Gateway与OData用法简介_第2张图片

2.3 SAP Gateway

SAP Gateway是SAP Netweaver平台上的一个组件,用于集中管理OData相关的功能,实现SAP系统与外部设备、平台、应用的集成。我们可以通过SAP Gateway来创建并发布相应的OData服务。

创建OData服务的事务代码为SEGW

通过SEGW,我们可将SAP系统内的数据库表、RFC等以OData的形式发布出去,供Web App使用。

通常来讲。SAP Gateway的部署方式可以有三种 -

1)Hub Deployment: Development in the Backend system

这种方式的意思是,将SAP Gateway部署在一个单独的系统上,所有OData的创建开发动作在后台系统(Backend System)完成,但OData的注册和发布在Gateway系统完成。Gateway系统与Backend系统通过RFC进行连接。

这种方式的优点在于,可以将OData服务统一管理,所有的OData service都集中在Gateway中。

SAP Gateway与OData用法简介_第3张图片
2)Hub deployment: Development in the Hub

这种方式是指,OData的开发动作和发布动作都在Gateway系统完成。这种方式的好处在于,所有Backend系统都不需要安装Gateway相关的组件。如果无需在后台系统开发相关的服务,则可以采用这种方式。
SAP Gateway与OData用法简介_第4张图片

3)Embedded Deployment

第三种方式是嵌入式部署,也即将SAP Gateway直接部署在相关的Backend系统上。这种方式的优点在于减少RFC通信损耗,因为Gateway并非一个独立的系统,而是直接集成在后台系统上。

如果仅仅有一个后台系统,或仅仅是OData的测试,则可以考虑采用这种方式的部署模型。
SAP Gateway与OData用法简介_第5张图片

3 用法简介

通常来讲,发布和维护一个OData service,主要通过以下几个Transaction完成。
1)通过SEGW来完成OData的创建工作;
2)通过 /IWFND/MAINT_SERVICE 来在Gateway上激活注册这个OData service;
3)通过 /IWFND/GW_CLIENT 可以在SAP Gateway Client上直接对OData进行相关的测试工作;
4)通过 /IWFND/ERROR_LOG 可以查看到所有在调用OData服务过程中的错误信息(包含前台error或后台error) 。

你可能感兴趣的:(SAP Gateway与OData用法简介)