SAP数据交换技术的详细介绍
SAP数据交换技术的详细介绍
SAP数据交换技术相关名词通俗释意
随着IT架构复杂度的日益提高,SAP系统也逐渐由以往的一套R/3打天下愈来愈向分布式多系统发展,同时也更加注意与其它非SAP系统的互联。在SAP相关技术发展历史上,出现了许多集成及数据相关的技术及名词,种类之繁多,足以令人望而生畏。^_^
XI, BC, MiddleWare, RFC, aRFC, sRFC, tRFC, qRFC, ALE, IDOC, BDOC, sBOC, mBOC, A2A, B2B, BAPIMTCS…
以上这些名词,只要是接触过SAP的人或多或少应该都听说过,下面我就对它们来逐一进行介绍(基于相关性原则,我对它们进行了简单的分组。并且我假设本文的读者都已经基本了解各种常见的相关国际标准,如HTTP, HTTPS, XML等。)
MiddleWare、BC、XI
MiddleWare是SAP中间件技术,注意在这里的中间件并不是指象Websphere, Weblogic或是SAP NetWeaver那样的中间件平台。MiddleWare主要用于SAP系统与SAP系统之间的互联,如SAP R/3与SAP CRM之间。它可以实现一种类似“即插即用”系统互连,两端系统中都已经内置了相关的预置模块。这种预置模块在SAP CRM系统中叫Adapter,在R/3中是Plug-In。
-―――――――――延伸解释:
Adapter是一种接口程序,用于转换接收或输出时的数据。在SAP CRM系统中预置有很多种不同的Adapter,如R/3 Adapter、BW Adapter、APO Adapter等等,用于连接不同的系统;
相应的在R/3系统中有Plug-In来提供与CRM中Adapter类似的功能,只是它需要另外安装,但从ECC6.0版本之后不再需要单独安装;
Plug-In是指SAP系统中为了提供某项特定功能,在已经安装好的主系统之上又添加安装的组件。它与IS(Industry Solution)以及Patch(补丁包)都被叫做Add-On。)
―――――――――――
BC(Business Connector)
BC被开发用于接连SAP与非SAP系统,这种连接通常是经过Internet的远程连接方式。BC被安装在SAP系统上,这咱连接通常是基于HTTP/XML标准的服务。
XI(eXchange Infrastructure)
XI是SAP开放式集成平台NetWeaver的核心组件之一,它综合并发展了MiddleWare以及BC两种接连方式。但MiddleWare以及BC提供的主要是应用系统与应用系统之间的一对一连接,因而在多个系统互接时系统集成复杂度会急剧上升(需要连接N*(N-1)次)。而采用XI做为中心Hub的星形连接方式时,所有要连接的系统只需与XI做一次连接即可。在XI中是把所有由源系统传来的数据格式转换成XML格式进行处理,判断其目标系统并将数据再由XML转换成为目标系统所需要的格式进行输出。
――――――――――延伸解释:
A2A,是指Application to Application。它通常是指企业内部的系统集成,这种集成可以由XI或Middleware来实现。
B2B,是指Business to Business的连接方式。它通常是指企业与企业外部尤其是通过Internet来进行的系统集成。这种集成可由XI或BC来实现。
――――――――――
另:当前SAP建议客户采用XI来替代BC,而MiddleWare由于其简单可靠,尤其在用于少量SAP系统之间互联时极为方便,因而仍被推荐使用。
(本文首发于许坤的博客http://blog.xukun.com ,欢迎转贴,但请注明出处,谢谢!)
RFC(Remote Function Call)
RFC是SAP基于国际标准CPI-C(Common Programming Interface for Communication)之上修改开发的一种SAP专有通信协议,用于在不同系统间进行功能调用。即在A系统中某段程序执行过程中可以调用B系统的某个功能块,在调用结束后获得结果并返回A系统继续执行原程序其余部分。
sRFC( synchronous RFC)是RFC的第一个版本,它要求连接的双方是同步的工作方式,即都是在可用状态才能够实现成功调用。
aRFC(asynchronous RFC)这种RFC可以实现异步的RFC调用方式,它可以进行多个并发调用,并且不要求被调用系统的可用状态。发出调用系统会一直尝试直到获得被调用系统的应答。
tRFC(transactional RFC)是对aRFC进行相关技术改进后的一个RFC版本,现在aRFC基本上已经停用。
qRFC(queue(d) RFC)是tRFC的一个增强版本,它保证了所传输数据的处理次序。
IDOC(Intermediate Document)
是在不同系统间进行数据传输的SAP数据格式。它根据所传输信息的内容不同分成不同的类型(Type),如类型ORDERS传输采购订单而ORDRSP用于传输订单的确认。IDOC通常用于ALE环境中。
RFC是跟HTTP/HTTPS类似的概念,而IDOC跟XML相类似。
ALE(Application Link Enabling)
只是SAP描述松散多系统互接环境的一下概念,要实现ALE可以同时使用多种交互模式,同步的、异步的;以及多种协议及数据格式,如HTTP+XML、RFC+IDOC等等。
BAPIMTCS
BAPIMTCS跟IDOC一样,也是用于系统间的数据传递格式,以MiddleWare方式连接的如R/3与CRM系统之间就是采用BAPIMTCS而非IDOC的数据格式进行传输。但BAPIMTCS格式的数据在传入CRM或R/3后还要转成其它的数据格式才能被系统处理,如在CRM系统中被将被转成BODC。
BDOC(business document)
BDOC虽然跟IDOC名字差不多,但它并不用于系统间数据的传递。BDOC仅被用在SAP CRM系统内部作为数据处理的格式,BDOC的类型(Type)可以有很多种:如某些Abap表的集合、移动客户端的记录集、一个XML表单或是一个IDOC等。
SAP提供了以下两种主要的BDOC类型(用户也可根据需要定义自己的BDOC类型):
sBDoc(synchronization BDoc)
用于CRM系统有关移动客户端的数据处理。
mBDoc(messaging Bdoc)
用于CRM中来自或准备发往R/3系统的数据的处理。
注1:此文以通俗化的方式解释一些SAP技术名词,作者水平所限,不保证所涉及内容的完全正确及完整。如果有进一步了解的兴趣,敬请访问SAP公司在线知识库:http://help.sap.com
注2:文中提到的R/3均用来指代SAP的ERP系统,现在R/3的最新版本被称为ECC(ERP Central Component);文中的CRM均指的是SAP的CRM产品。