SAP RFC介绍:关于sRFC,aRFC,tRFC,qRFC和bgRFC

使用到了RFC(Remote,使用到了RFC(Remote

大致5月份的时候做过一个关于四个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处理流图示:

图片 1

您可以在某些景况下使用应用tRFC,比如,对于须要在业务的分裂阶段更新相关数据库表的纷纭的处理进度。

tRFC会确保所有的安排更新在先后到达COMMIT WORK语句时被执行。

(注意:tRFC的概念中无法有任何EXPORT参数,因为调用程序中若是有IMPORT参数,就会招致语法错误。别的,你也不可以对推行回调的次第开展异步调用)

系统可用性:

万一远程系统不可用,SAP系统会将报表RSARFCSE布署为后台作业,并将相关的业务ID作为变式,再拓展处理。这几个表格程序会再也地被调用,直到它成功地延续对方系统为止。

当被布置为后台作业时,RSARFCSE自动地以一个时日间隔运行(默许是每15秒钟运行五遍,最多品尝30次)。你可以经过抓实程序SABP0000和SABP0003来自定义该时间距离。

经过SM59计划destination,选用一个destination并且选取编辑->TRFC选项,在那边定义连接尝试次数上限和再次连接尝试的小运间隔。

图片 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处理流图示:

图片 3

您可以在少数景况下使用使用tRFC,比如,对于急需在作业的两样阶段更新相关数据库表的纷纭的处理进度。

tRFC会确保所有的安顿更新在先后到达COMMIT WORK语句时被执行。

(注意:tRFC的概念中无法有任何EXPORT参数,因为调用程序中如果有IMPORT参数,就会造成语法错误。别的,你也不能够对推行回调的次序开展异步调用)

系统可用性:

只要远程系统不可用,SAP系统会将报表RSARFCSE布置为后台作业,并将相关的事情ID作为变式,再开展处理。那个表格程序会再也地被调用,直到它成功地延续对方系统甘休。

当被布署为后台作业时,RSARFCSE自动地以一个时日间隔运行(默认是每15分钟运行一回,最多品尝30次)。你可以由此抓好程序SABP0000和SABP0003来自定义该时间距离。

经过SM59布局destination,选拔一个destination并且选拔编辑->TRFC选项,在此处定义连接尝试次数上限和另行连接尝试的日子距离。

图片 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能够看作外向队列(由调用系统种类化)处理,或者是内向队列(由被调用系统连串化)。

* *

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

图片 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可以看做外向队列(由调用系统系列化)处理,或者是内向队列(由被调用系统体系化)。

* *

以下是二种工作数据传输的情景(为何图片中的文字是德文?):

图片 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)就足以找到它们中间的信赖关系。在仓储数据的时候必要交给的额外努力,则足以在很大程度上由数据库设计中的高功能算法和优化补偿。

各种客户端定义一定数额的活跃安插,并且并行处理队列负载,固然目的系列的负载会在一个较短的时光间隔后被确定,但是也因此会愈来愈纯粹。

单元和队列的删除程序

和传统的程序分化,若是有任何单元或队列被删去,依赖依然会保持。因为单元会被先打上标记,并且在那事后只是被调度程序删除。

图片 7

如图,在剔除了Unit4之后,Unit6只能够在Unit3之后运行,因为Unit4唯有在调度程序处理过Unit3之后才会被剔除。借使您剔除掉queue2,那么会爆发下边的情形:

图片 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)就可以找到它们中间的借助关系。在仓储数据的时候必要交给的额外努力,则可以在很大程度上由数据库设计中的高效能算法和优化补偿。

各种客户端定义一定数量的活跃安顿,并且并行处理队列负载,固然目的体系的负载会在一个较短的时日距离后被确定,可是也就此会越加可看重。

单元和队列的删除程序

和价值观的次第不一样,假如有此外单元或队列被去除,看重如故会维持。因为单元会被先打上标记,并且在那之后只是被调度程序删除。

图片 9

如图,在剔除了Unit4之后,Unit6只好在Unit3之后运行,因为Unit4唯有在调度程序处理过Unit3之后才会被删去。如若你剔除掉queue2,那么会爆发下边的意况:

图片 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远程调用