大体二月份的时候做过一个关于五个SAP系统间资金平摊传输的档次,使用到了RFC(Remote
Function
Call)技术。因为事先所有医疗-CRM相关接口开发的经验,以为自己对RFC很了解了,做起来会很顺畅,不想要么碰着了些难点。打算整治一下关于它们的情节,进一步深造。

大体一月份的时候做过一个有关四个SAP系统间资金平摊传输的类型,使用到了RFC(Remote
Function
Call)技术。因为之前所有医疗-CRM相关接口开发的阅历,以为自己对RFC很熟谙了,做起来会很顺畅,不想依然遭逢了些难题。打算整治一下有关它们的始末,进一步深造。

正文内容的严重性缘于是SAP的英文文档。会比较偏重基本概念上的东西,偶尔涉及实际的代码、配置。后续可能会依照自己的实在应用意况更新更详尽的牵线。

正文内容的主要源于是SAP的英文文档。会比较强调基本概念上的东西,偶尔涉及实际的代码、配置。后续可能会基于本人的实际采取情状更新更详细的牵线。

 

 

正文链接:http://www.cnblogs.com/hhelibeb/p/8066753.html

正文链接:http://www.cnblogs.com/hhelibeb/p/8066753.html

总述

对此SAP与SAP系统及SAP与非SAP系统里头的接二连三而言,远程函数调用(Remote
Function
Call,以下简称RFC)是一种标准的通讯情势,它可以兑现对长距离系统中函数的调用。

享有RFC类型都因此CPI-C或TCP/IP协议进行传输。
它们组成了一种Gateway通讯。

本文是对负有RFC变体的讲述,它们有着差其他表征和符合的施用情状。

总述

对此SAP与SAP系统及SAP与非SAP系统里面的连天而言,远程函数调用(Remote
Function
Call,以下简称RFC)是一种标准的通讯格局,它可以达成对长距离系统中函数的调用。

具备RFC类型都由此CPI-C或TCP/IP协议进行传输。
它们组成了一种Gateway通讯。

本文是对持有RFC变体的讲述,它们持有差其余特征和适合的选取境况。

同步RFC:sRFC

同步RFC(Synchronous
RFC,sRFC)是最基本的RFC形式。在sRFC调用中,调用者会等待远程被调用者的处理进程。

它的语法情势是:

CALL FUNCTION func DESTINATION dest. 

杰出的选用境况包蕴:

  • 销售:为分化系统成立采购订单(central sales)。
  • 销售:对于某个查询,在供应商系统里举行一个对于指定物料的可用性检查。
  • 物品管理:在另一个体系里对某个物料订单执行来源判断。
  • CRM/SRM:对SAP后端系统倡导某个物料的可用性检查。
  • CRM/SRM:在SRM组件中创制采购订单时,在会计集中核算中为你的本金中央举行预算检查。
  • 先生:向先生集中核算连串请求一个股本中央清单。
  • BW:调用BW组件(商业音信仓库)来呼吁一个特意的evaluation。

同步RFC:sRFC

同步RFC(Synchronous
RFC,sRFC)是最中央的RFC形式。在sRFC调用中,调用者会等待远程被调用者的处理进度。

它的语法形式是:

CALL FUNCTION func DESTINATION dest. 

首屈一指的利用处境包涵:

  • 销售:为不一样系列创设采购订单(central sales)。
  • 销售:对于某个查询,在供应商系统里推行一个对此指定物料的可用性检查。
  • 物品管理:在另一个系统里对某个物料订单执行来源判断。
  • CRM/SRM:对SAP后端系统倡导某个物料的可用性检查。
  • CRM/SRM:在SRM组件中创建采购订单时,在先生集中核算中为你的资金中央开展预算检查。
  • 会计:向先生集中核算种类请求一个资产中央清单。
  • BW:调用BW组件(商业音信仓库)来呼吁一个特地的evaluation。

异步RFC:aRFC

异步RFC(Asynchronous
RFC,aRFC)类似与tRFC,用户在此起彼伏调用会话以前,不须求等待它们的完毕。不过,aRFC和tRFC之间也存在几点分裂的地点:

  • 当调用者开始一个aRFC的时候,被调用的服务器必须可以收起请求。aRFC的参数不会记录在数据库中,而是平昔发送给对方服务器。
  • aRFC允许用户与远程系统举行交互式对话。
  • 调用程序可以从aRFC接收结果。

您可以在当您须要树立和一个远端系统的连天、不过期望在调用RFC后不期望等待结果而是希望继续处理时采纳aRFC。aRFC也得以发送给相同的种类。在那种场合下,系统打开一个新的对话(窗口)。你可以在调用对话和被调用会话间切换。使用上面的说话开启一个aRFC:

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname

DESTINATION ...

EXPORTING...

TABLES ...

EXCEPTIONS...

 RECEIVE RESULTS FROM FUNCTION Remotefunction 用于一个子主次内接受aRFC的调用结果。能够行使以下收取参数:

  • IMPORTING

  • TABLES

  • EXCEPTIONS

附加项KEEPING
TASK
掣肘连接在接收处理结果后关闭。相关的长途上下文(滚动区域)保持可以选择的景观,直至调用者终止连接。

更多关于aRFC的消息方可从以下地点获得:

有关aRFC变体的叙说:

异步RFC:aRFC

异步RFC(Asynchronous
RFC,aRFC)类似与tRFC,用户在后续调用会话以前,不必要拭目以待它们的形成。不过,aRFC和tRFC之间也设有几点差其他地方:

  • 当调用者开端一个aRFC的时候,被调用的服务器必须可以吸纳请求。aRFC的参数不会记录在数据库中,而是径直发送给对方服务器。
  • aRFC允许用户与长途系统开展交互式对话。
  • 调用程序可以从aRFC接收结果。

你可以在当您须要树立和一个远端系统的总是、但是指望在调用RFC后不期待等待结果而是期待持续处理时采用aRFC。aRFC也得以发送给相同的连串。在那种意况下,系统打开一个新的对话(窗口)。你可以在调用对话和被调用会话间切换。使用上面的语句开启一个aRFC:

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname

DESTINATION ...

EXPORTING...

TABLES ...

EXCEPTIONS...

 RECEIVE RESULTS FROM FUNCTION Remotefunction 用于一个子顺序内经受aRFC的调用结果。可以利用以下收取参数:

  • IMPORTING

  • TABLES

  • EXCEPTIONS

附加项KEEPING
TASK
阻拦连接在吸收处理结果后关闭。相关的中远距离上下文(滚动区域)保持可以选择的场馆,直至调用者终止连接。

更加多关于aRFC的音信方可从以下地点得到:

关于aRFC变体的描述:

事务RFC:tRFC

在行使事务RFC( transactional
RFC,tRFC)的时候,被调用的函数模块在被调用系统中恰恰运行一次(Exactly Once)。

远端系统不须要在RFC客户端程序运行tRFC的时候可用。tRFC组件将被调用的RFC函数和有关数据存储在SAP系统的数据库里,包涵一个唯一的事情标识符(transaction
identifier,TID)。

借使调用发送了,接收系统却是宕机状态,调用会保留在该地队列中一段时间。调用对话程序可以在不等待远程调用成功/战败的景观下继续运行。即使接到系统在一段时间后依旧不可用,调用将被安排为后台作业运行。

tRFC使用后缀IN BACKGROUND TASK.

就和协办调用一样,参数
DESTINATION在长途系统定义了程序上下文。结果是,倘使您对一个destination重复地调用一个函数(或者一回性调用几个函数),则足以在同等的光景文中访问被调用函数的全局数据。。

系统会在表ARFCSSTATE和表ARFCSDATA中记录远程连接请求和它们的上上下下参数值。你可以应用事务SM58来查阅。当调用程序到达COMMIT
WORK
说话时,远程调用会被转化到给对方系统。

在两个COMMIT
WORK
中间,所有的享有同一个destination的tRFC属于同一个逻辑单元(LUW)。

tRFC处理流图示:

www.997755.com 1

你可以在好几景况下采用应用tRFC,比如,对于必要在工作的例外等级更新相关数据库表的繁杂的处理进度。

tRFC会确保所有的安插更新在程序到达COMMIT WORK语句时被实践。

(注意:tRFC的概念中不能有任何EXPORT参数,因为调用程序中只要有IMPORT参数,就会促成语法错误。其它,你也不得以对推行回调的主次举行异步调用)

系统可用性:

如果远程系统不可用,SAP系统会将报表RSARFCSE安插为后台作业,并将相关的业务ID作为变式,再拓展处理。这一个表格程序会重新地被调用,直到它成功地接连对方系统截止。

当被布署为后台作业时,RSARFCSE自动地以一个时辰距离运行(默许是每15分钟运行一次,最多品尝30次)。你可以经过提升程序SABP0000和SABP0003来自定义该时间距离。

经过SM59配备destination,拔取一个destination并且选取编辑->TRFC选项,在此处定义连接尝试次数上限和再度连接尝试的时光间隔。

www.997755.com 2

只要在品尝指定的次数后照旧不足抵达相应的系列,系统会甘休调用RSARFCSE,并写入状态CPICERR至表ARFCSDATA中。在另一个指定的时日后(默认是8天),在表ARFCSSTATE内的条目也会被删去。当然也可以定制那一个时间,或者手动在SM59起始相应的事情条目。

tRFC的缺点:

  • tRFC独立地处理所有LUW。依照激活的tRFC数量,程序有可能会鲜明地回落调用系统和被调用系统的习性。
  • 其余,在行使中定义的LUW的调用顺序是不能够收获有限支持的。由此不可能确保事务会依据使用期望的依次运行。tRFC唯一能担保的唯有:所有LUW都会或早或晚地被传输。

可以在此处查看tRFC语句的讲述:

CALL FUNCTION IN BACKGROUND
TASK

事务RFC:tRFC

在应用事务RFC( transactional
RFC,tRFC)的时候,被调用的函数模块在被调用系统中正好运行一次(Exactly Once)。

远端系统不需求在RFC客户端程序运行tRFC的时候可用。tRFC组件将被调用的RFC函数和有关数据存储在SAP系统的数据库里,包括一个唯一的事务标识符(transaction
identifier,TID)。

如若调用发送了,接收系统却是宕机状态,调用会保留在当地队列中一段时间。调用对话程序可以在不等待远程调用成功/失利的气象下一连运行。如若接收系统在一段时间后照旧不可用,调用将被布置为后台作业运行。

tRFC使用后缀IN BACKGROUND TASK.

就和一起调用一样,参数
DESTINATION在中远距离系统定义了先后上下文。结果是,借使您对一个destination重复地调用一个函数(或者一遍性调用多少个函数),则足以在同样的光景文中访问被调用函数的全局数据。。

系统会在表ARFCSSTATE和表ARFCSDATA中记录远程连接请求和它们的万事参数值。你可以动用事务SM58来查阅。当调用程序到达COMMIT
WORK
说话时,远程调用会被转化到给对方系统。

在两个COMMIT
WORK
以内,所有的有所同一个destination的tRFC属于同一个逻辑单元(LUW)。

tRFC处理流图示:

www.997755.com 3

您可以在好几意况下行使使用tRFC,比如,对于急需在事情的不比阶段更新相关数据库表的扑朔迷离的处理进度。

tRFC会确保所有的布署更新在先后到达COMMIT WORK语句时被实践。

(注意:tRFC的概念中不可以有任何EXPORT参数,因为调用程序中假诺有IMPORT参数,就会招致语法错误。别的,你也不得以对实施回调的程序进行异步调用)

系统可用性:

比方远程系统不可用,SAP系统会将报表RSARFCSE安排为后台作业,并将有关的事体ID作为变式,再开展拍卖。那个表格程序会再也地被调用,直到它成功地三番五次对方系统为止。

当被布置为后台作业时,RSARFCSE自动地以一个光阴距离运行(默许是每15分钟运行三回,最多尝试30次)。你可以透过增强程序SABP0000和SABP0003来自定义该时间间隔。

透过SM59安排destination,接纳一个destination并且选用编辑->TRFC选项,在那里定义连接尝试次数上限和重新连接尝试的光阴世隔。

www.997755.com 4

如若在品尝指定的次数后照旧不足抵达相应的连串,系统会为止调用RSARFCSE,并写入状态CPICERR至表ARFCSDATA中。在另一个指定的时刻后(默认是8天),在表ARFCSSTATE内的条款也会被去除。当然也足以定制那么些小时,或者手动在SM59起步相应的事情条目。

tRFC的缺点:

  • tRFC独立地拍卖所有LUW。依据激活的tRFC数量,程序有可能会强烈地降落调用系统和被调用系统的属性。
  • 别的,在应用中定义的LUW的调用顺序是不可以获得保险的。由此不可以担保事务会根据使用期望的逐一运行。tRFC唯一能保障的唯有:所有LUW都会或早或晚地被传输。

可以在此间查看tRFC语句的叙述:

CALL FUNCTION IN BACKGROUND
TASK

队列RFC:qRFC

队列RFC(queued Remote Function
Call,qRFC)是tRFC的一个增加。它同意你将八个tRFC调用系列化为一个种类。

qRFC调用会首先被函数模块TRFC_SET_QUEUE_NAME举行连串化处理,然后这么些调用被一个tRFC举行实际的dispatch。

qRFC可以看作外向队列(由调用系统连串化)处理,或者是内向队列(由被调用系统系列化)。

* *

以下是二种业务数据传输的情状(为啥图片中的文字是德文?):

www.997755.com 5

场景1:tRFC

该现象适用于数据互相间独立发送的处境。系统1中留存一个调用应用(client)使用tRFC连接系统2中的被调用应用(r
server)。在这一场景中,数据由tRFC传输,意味着发送到目的连串的函数模块调用会被担保只运行一遍。你不能够定义函数模块运行的一一和岁月。倘若传输进程中发出了错误,系统会安插一个后台作业,在15分钟后再也发送函数模块调用。

场景2:带有外向队列的qRFC

在这场景中,发送系统应用一个生动活泼队列来系列化被发送的多少。那代表发送系统的活泼队列包涵着存在依靠关系的函数模块调用。当数码发送时,会维持确定的相继,并且调用会以正好三次且有序的不二法门(exactly once in order)发送给目的种类。

只顾:目的体系处理时不须求变更qRFC的次第,然则,它必须开启tRFC功能。

气象3:带有内向队列的qRFC(以及活跃队列)

在这几个境况下,不仅发送系统(client)有外向队列,目的连串也有内向队列。借使qRFC存在有内向队列,那也意味着它在发送系统上必然存在外向队列。内向队列在一段时间里只可以处理系统资源允许处理的函数模块调用数量。它可以预防服务器被一个客户端阻塞。唯有在劳动体系独立存在一个内向队列的场所是无法存在的,因为急需在客户端系统存在外向队列,来安装顺序并阻挠单独的运用阻塞客户端系统的全套工作经过。

越来越多相关消息可知:

队列RFC:qRFC

队列RFC(queued Remote Function
Call,qRFC)是tRFC的一个扩充。它同意你将多少个tRFC调用系列化为一个体系。

qRFC调用会首先被函数模块TRFC_SET_QUEUE_NAME举行系列化处理,然后那么些调用被一个tRFC举办实际的dispatch。

qRFC可以用作外向队列(由调用系统种类化)处理,或者是内向队列(由被调用系统体系化)。

* *

以下是三种业务数据传输的光景(为什么图片中的文字是德文?):

www.997755.com 6

场景1:tRFC

这场景适用于数据互相间独立发送的状态。系统1中存在一个调用应用(client)使用tRFC连接系统2中的被调用应用(r
server)。在本场景中,数据由tRFC传输,意味着发送到目的系列的函数模块调用会被有限支撑只运行一遍。你不可以定义函数模块运行的逐条和岁月。假使传输进程中暴发了错误,系统会陈设一个后台作业,在15秒钟后再行发送函数模块调用。

场景2:带有外向队列的qRFC

在这一场景中,发送系统接纳一个活跃队列来连串化被发送的数目。那象征发送系统的外向队列包涵着存在依靠关系的函数模块调用。当数码发送时,会维持确定的各样,并且调用会以正好五回且有序的措施(exactly once in order)发送给目标种类。

在意:目的种类处理时不需求变更qRFC的逐一,不过,它必须拉开tRFC作用。

此情此景3:带有内向队列的qRFC(以及活跃队列)

在这几个情景下,不仅发送系统(client)有外向队列,目的种类也有内向队列。要是qRFC存在有内向队列,那也意味着它在发送系统上必然存在外向队列。内向队列在一段时间里只可以处理系统资源允许处理的函数模块调用数量。它可以避免服务器被一个客户端阻塞。唯有在服务种类独立存在一个内向队列的气象是不容许存在的,因为急需在客户端系统存在外向队列,来设置顺序并堵住单独的使用阻塞客户端系统的万事办事进度。

更多相关音讯可知:

后台RFC:bgRFC

后台RFC:bgRFC

使用

bgRFC(Background Remote Function
Call)允许被调用程序稍晚一些接收数据,而不是共同接收。接收数据的时候,要求保险数据只现出五回且无序(
transactional) 、或者只出现三遍且有序(queued)。

行使bgRFC举办异步调用,会有如下优势:

  • 在同一个SAP系统内(同一个系统ID,同一个client):解耦,同时提供了并行化能力。负载会分布在该种类的可用的应用服务器上。这一个bgRFC场景被看作一个内向程序。

  • 在八个远程SAP系统间:解耦,并且经过可以达成应用或工作场景的物理细分。异步调用的结果是,调用者和被调用者的应用服务器的机要特性差距可以获取平衡。记录工作在调用系统中形成。那些情景是一个生动活泼程序。

  • 三个程序结合为外-内程序:该方法得以获取全套优化增选的优势。但是,假使你挑选了如此做,数据会被记录四次,两回是调用者(外向处理)、两次是被调用应用(
    内向程序的更加类型)。那导致数据库、应用服务器会有相当的负责。

bgRFC使用队列社团分歧的调用。当一个调用同时被停放在多少个种类的时候,系统会为那几个队列成立着重。那带来了一个同步点(synchronization
point),类似于锁。

若果一个调用处于看重队列中,那么当且仅当它身处信赖队列的最上层时,它才会被拍卖。

对于同一个destination,不得以将bgRFC和tRFC、qRFC结合起来使用。不过,对于分裂的destination,你可以定义你想利用的简报类型。

语法:

 CALL FUNCTION 'function_name'

IN BACKGROUND UNIT unit

          EXPORTING ... 

 

使用

bgRFC(Background Remote Function
Call)允许被调用程序稍晚一些接收数据,而不是联名接收。接收数据的时候,须求保障数据只现出五次且无序(
transactional) 、或者只出现五次且有序(queued)。

选拔bgRFC举行异步调用,会有如下优势:

  • 在同一个SAP系统内(同一个种类ID,同一个client):解耦,同时提供了并行化能力。负载会分布在该系统的可用的应用服务器上。这些bgRFC场景被视作一个内向程序。

  • 在八个远程SAP系统间:解耦,并且通过可以兑现接纳或业务场景的大体细分。异步调用的结果是,调用者和被调用者的应用服务器的重中之重特性差距足以拿走平衡。记录工作在调用系统中成功。那个境况是一个活跃程序。

  • 四个程序结合为外-内程序:该形式得以取得任何优化增选的优势。不过,即便您拔取了这么做,数据会被记录五遍,三遍是调用者(外向处理)、三回是被调用应用(
    内向程序的特殊系列)。那造成数据库、应用服务器会有额外的负担。

bgRFC使用队列社团不相同的调用。当一个调用同时被停放在多个种类的时候,系统会为那一个队列创制依赖。那带来了一个同步点(synchronization
point),类似于锁。

假如一个调用处于看重队列中,那么当且仅当它放在看重队列的最上层时,它才会被拍卖。

对此同一个destination,不可以将bgRFC和tRFC、qRFC结合起来使用。不过,对于差其他destination,你可以定义你想使用的报导类型。

语法:

 CALL FUNCTION 'function_name'

IN BACKGROUND UNIT unit

          EXPORTING ... 

 

集成

从qRFC转换为bgRFC的应用程序,必须援救创立qRFC中的队列与bgRFC中的队列之间的暂时链接的迁徙方案。通过那样的方案,可以有限支撑科学的体系顺序,就算是在从qRFC变为bgRFC的时刻。

在意:从bgRFC改回qRFC是不容许的。

在SAP NetWeaver Release
7.11以及更高的本子上,bgRFC也足以和basXML(二进制ABAP种类化XML)通讯协议一起利用。

集成

从qRFC转换为bgRFC的应用程序,必须援助创建qRFC中的队列与bgRFC中的队列之间的临时链接的迁徙方案。通过如此的方案,可以确保科学的连串顺序,固然是在从qRFC变为bgRFC的时刻。

留意:从bgRFC改回qRFC是不容许的。

在SAP NetWeaver Release
7.11以及更高的版本上,bgRFC也可以和basXML(二进制ABAP连串化XML)通讯协议一起行使。

架构

传统的qRFC模型唯有在数额被RFC调度程序处理的时候才探测各类独立单元之间的借助关系。对于每个destination,外向调度程序都会张开一个调度程序来拍卖那一个destination的数量。

与之绝对的是,bgRFC的借助关系在多少存储的时候就决定了。通过那样做,RFC调度程序可以五次性找到所有的必要被拍卖的单元,并且通过最小的全力(minimum
effort)就足以找到它们之间的看重关系。在存储数据的时候必要交给的附加努力,则足以在很大程度上由数据库设计中的高功用算法和优化补偿。

各种客户端定义一定数额的活跃安插,并且并行处理队列负载,即使目标种类的负载会在一个较短的时日间隔后被确定,可是也因此会越来越规范。

单元和队列的删除程序

和价值观的顺序分裂,若是有其它单元或队列被去除,依赖如故会维持。因为单元会被先打上标记,并且在这将来只是被调度程序删除。

www.997755.com 7

www.997755.com,如图,在剔除了Unit4之后,Unit6只能够在Unit3之后运行,因为Unit4唯有在调度程序处理过Unit3之后才会被去除。借使你剔除掉queue2,那么会发出上边的场所:

www.997755.com 8

Unit6会在Unit2然后运行,所有选定的unit都会被调度程序删除。

在意:删除队列或者单元总是有着高风险的。在大家的例子里,它会招致Unit6蒙受错误,或者造成目的种类的数据库不平等,因为它的前提Unit4因为被删去而并未运行。

Gateway:Gateway是另一个秘密的品质瓶颈,在bgRFC中,它也收获了优化。bgRFC中的新的定义是会调剂在一台应用服务器上还要运行的外向调度程序的最大数量,也会调剂全部RFC调度程序可用的最亚松森接数。那一个界定会维护本地的Gateway使之不至于过载。

各种发送系统的相互的外向调度程序数量和它们的最艾哈迈达巴德接数也是可布署的,由此对于destination的Gateway也设有过载爱戴。

特性的影响:新bgRFC落到实处的优化在高负荷、多依赖的情事下尤其显明。首次运行的时候,线性对数可伸缩性(a
linear logarithmical
scalability)的RFC数据处理成为可能(视系统包容性而定)。

函数队列的事务特性使得,在处理单独的单元时,bgRFC不太不难取得斐然的属性进步,可是在应用越来越多或者更快的硬件的时候,则足以明显进步吞吐量。限制因素会是数据库的习性和这么些单元的处理速度。

别的,新的API也是优化的一有些。一些剩下的函数被移除,某些旧的API也不再行使。那使得相关的劳作更是平缓和有作用,缩短协助团队和支付公司的工作量。

越来越多新闻:

越多关于bgRFC的音信, 请看:

架构

观念的qRFC模型只有在多少被RFC调度程序处理的时候才探测各类独立单元之间的着重性关系。对于每个destination,外向调度程序都会开启一个调度程序来拍卖那个destination的数目。

与之相对的是,bgRFC的重视性关系在数量存储的时候就决定了。通过那样做,RFC调度程序可以五回性找到所有的内需被拍卖的单元,并且通过最小的大力(minimum
effort)就足以找到它们之间的借助关系。在储存数据的时候须要付出的附加努力,则足以在很大程度上由数据库设计中的高成效算法和优化补偿。

各类客户端定义一定数额的外向安插,并且并行处理队列负载,即使目的连串的负载会在一个较短的岁月间隔后被确定,可是也为此会越发纯粹。

单元和队列的删除程序

和历史观的次第分裂,假若有其余单元或队列被删除,看重如故会维持。因为单元会被先打上标记,并且在那之后只是被调度程序删除。

www.997755.com 9

如图,在剔除了Unit4之后,Unit6只好在Unit3之后运行,因为Unit4只有在调度程序处理过Unit3之后才会被删除。如果您剔除掉queue2,那么会生出下边的事态:

www.997755.com 10

Unit6会在Unit2从此运行,所有选定的unit都会被调度程序删除。

留神:删除队列或者单元总是有着高风险的。在我们的例证里,它会促成Unit6境遇错误,或者造成目的连串的数据库不均等,因为它的前提Unit4因为被删除而并未运行。

Gateway:Gateway是另一个私房的性质瓶颈,在bgRFC中,它也收获了优化。bgRFC中的新的概念是会调剂在一台应用服务器上同时运转的活泼调度程序的最大数目,也会调剂全体RFC调度程序可用的最洛桑接数。那几个界定会爱慕本地的Gateway使之不至于过载。

每个发送系统的相互的外向调度程序数量和它们的最利兹接数也是可配置的,因而对此destination的Gateway也设有过载爱护。

品质的影响:新bgRFC落到实处的优化在高负荷、多爱护的场馆下更加显明。首次运行的时候,线性对数可伸缩性(a
linear logarithmical
scalability)的RFC数据处理成为可能(视系统包容性而定)。

函数队列的业务特性使得,在处理单独的单元时,bgRFC不太简单取得显明的习性进步,不过在应用越多照旧更快的硬件的时候,则可以肯定进步吞吐量。限制因素会是数据库的品质和那些单元的处理速度。

此外,新的API也是优化的一片段。一些剩余的函数被移除,某些旧的API也不再动用。那使得相关的劳作进一步平整和有功能,收缩援救团队和开发社团的工作量。

越多音信:

更多关于bgRFC的音讯, 请看:

地点数据队列:LDQ

当地数据队列(Local Data Queue
)是一种特其余RFC通信。在那种应用情状下,系统不会积极性发送数据。相反,依照拉取规则,系统会把数量存储在本地,直到被外表系统调用(比如移动装备)。

LDQ可以代表原先由qRFC在不发送场景下提供的效率(qRFC No
Send)。相比较之下它提供了更有功用的数据模型。

越多内容:

Local Data Queue
(LDQ)

本地数据队列:LDQ

地方数据队列(Local Data Queue
)是一种特其他RFC通讯。在那种使用景况下,系统不会积极性发送数据。相反,根据拉取规则,系统会把多少存储在该地,直到被外表系统调用(比如移动设备)。

LDQ可以代表原先由qRFC在不发送场景下提供的成效(qRFC No
Send)。比较之下它提供了更有功用的数据模型。

越多内容:

Local Data Queue
(LDQ)

名词对照

scheduler:调度程序

outbound  queue:外向队列

inbound queue:内向队列

 

连锁文章:ABAP
RFC远程调用

 

 

名词对照

scheduler:调度程序

outbound  queue:外向队列

inbound queue:内向队列

 

连锁小说:ABAP
RFC远程调用