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

差不多十一月份的时候做过一个关于五个SAP系统间资金分摊传输的序列,使用到了RFC(Remote
Function
Call)技术。因为事先所有医疗-CRM相关接口开发的阅历,以为自己对RFC很熟练了,做起来会很顺遂,不想要么蒙受了些难点。打算整治一下关于它们的始末,进一步深造。

约莫11月份的时候做过一个关于三个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远程调用

 

 

admin

网站地图xml地图