SAP Web service (一)

Web Service:一种跨编程语言,跨操作系统平台的远程调用平台。

Web Service有SOAP和REST两种实现方式。

简介:

SOAP:简单对象访问协议(Simple Object Access Protocol ),是一种基于XML的协议,SOAP通用协议使用HTTP来发送XML格式的信息。

WSDL:Web Services Description Language是基于XML的用于描述web service以及如何访问的语言,简单说就是机器能阅读的一个正式描述文档而基于XML的语言,用于描述web services及其函数、参数、和返回值,

UDDI:通用描述、发现与集成服务,是一套基于web 的、分布式的、为web service提供、符合信息注册中心标准规范、以使别的企业能发现和访问的实现标准。

      关于web service的概念和原理,简单说,是基于SOAP传输协议,用WSDL描述、XML封装数据、的一套标准接口技术,由于其跨平台、跨防火墙、开发成本低、开发周期短等优势而被广泛应用,但也有局限性,包括传输负载大、没有统一的实现模型等。

RPC:Web services的设计风格,web services 就是基于HTTP协议的RPC,Remote Procedure Call,采用C/S服务器,发送请求到服务器端,执行后返回结果,。优点是跨语言跨平台,缺点是编译期无法排错,只有运行时检查。

REST 是一组架构约束条件和原则,描述了一种如何访问/使用HTTP服务的方式。(如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。)

OData 是REST设计风格的一种实现,OData和其他Restful风格的Web service在于,OData提供了了描述数据和数据模型的一个统一的方式。所以说,OData并非是一种新的通信技术,OData也属于Web Service。

restful与rpc风格分析一rest与rpc分析二

我们公司以往发布的web services应该是rpc风格的,但是网上也有SAP 发布restful风格的web的方法,我也一并贴出来,参考:

发布restful风格接口,有操作截图发布restful,http风格的web,有代码

我们现在常用的是PI,发布的一般都是restful风格的接口了。

SOAP与restful架构相比,由于在不断扩充,性能方面有所下降,操作上也更加复杂,restful由于其面向资源接口设计以及抽象简化了不良设计,最大限度利用了http协议的设计理念,特变适合效率要求很高,对安全要求不高的场景。(sap对效率要求很高)。

注:740版本之後不再支持WSCONFIG,WSADMIN,請使用SOAMANAGER,配置。

SOAP方式的Web Service

目前而言,SOAP是一套Web Service(WS)的比较完整的实现方案。

在以SOAP方式实现的Web Service中,SOAP协议和WSDL构成了Web服务的结构单元。

SOAP也即“简单对象访问协议(Simple Object Access Protocol)”,我们知道Web Service通过HTTP协议发送和接收数据,SOAP协议中增加了一些特定的HTTP消息头,来说明HTTP消息的内容格式。客户端按照SOAP的格式便可以通过Web Service调用位于远程系统上的服务。

WSDL也即“Web服务描述语言(Web Services Description Language)”,客户端可以通过WSDL了解这个Web Service所提供的功能,描述了Web Service中提供的函数、函数的输入参数和返回值。

简而言之,在SOAP方式实现的Web Service中,SOAP描述了“访问方式”,通过WSDL描述了“服务内容”,SOAP方式的Web Service是WS的一套完整的实现方案。

SAP系统中的SOAP方式Web Service

在SAP系统中,开发和消费SOAP方式的Web Service十分方便。

在SAP Netweaver平台上通过UDDI工具,可以将SAP已有的功能(例如RFC, BAPI等)直接封装成web service对象,供其他系统调用,或者通过实现类调用其他系统的web service,进而轻松实现SAP与其它系统的集成。

完成这一Web Service封装和消费,在SAP系统中主要通过T-code 'SOAMANAGER' 完成,对于ABAP开发人员而言,并不需要了解Web Service的封装细节,只要学会如何“发布”和“消费”web service即可。

REST方式的Web Service - OData

REST也即“表述性状态转移(Representational State Transfer)”,REST是一种HTTP服务的设计风格,描述了一套如何设计和访问HTTP服务的原则。

因此,相较于SOAP,REST并非是一个协议,仅是一种设计风格,并没有强制的约束力。

不同的设计者可以依据自己的实际项目和需求,设计REST风格的Web Service,也正是由于这种“各自为战”的Web Service实现方式,让REST方式的web service在性能和可用性上通常会优于依据SOAP发布的web service, 但由于在细节上没有太多约束,其统一性上不及SOAP。

OData是REST设计风格的一种实现,OData和其他Restful风格的Web service在于,OData提供了了描述数据和数据模型的一个统一的方式

因此,在一定程度上讲,OData方式的web service很好地解决了RESTful形式的Web Service在统一性上所面临的问题。

SAP系统中的OData

在SAP系统中,通过Gateway统一管理SAP 系统中的OData服务。

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

在SAP系统中,创建OData服务的事务代码为SEGW

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

因此,类似于SOAP形式的web service, 对于ABAP开发人员而言,并不需要了解Odata的封装细节,学会使用SEGW这个工具即可。此外,在SAP Fiori开发过程中,除了从backend发布OData服务,开发人员也可以直接将CDS发布OData服务。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值