域名解析_斗破苍穹全集百度云_怎么买

云服务器 虚拟云 浏览

小编:导言 大家都知道云应用是当今的热门话题。在商务旅行领域,Concur是基于云计算的旅行和消费解决方案的市场领导者。难怪在SAP迈向云时代的过程中,SAP最近收购了Concur。 在集成领域

导言

大家都知道云应用是当今的热门话题。在商务旅行领域,Concur是基于云计算的旅行和消费解决方案的市场领导者。难怪在SAP迈向云时代的过程中,SAP最近收购了Concur。

在集成领域,Concur提供了一套丰富成熟的RESTful API。在线API文档非常丰富,它还提供了一个基于web的UI来测试这些API,而无需任何外部工具或创建自定义程序。

Concur的关键集成领域之一是标准会计摘要(SAE)的生成。一旦在Concur上批准了业务费用,就可以生成已批准费用的摘录,并将其输入支付系统。就SAP而言,这通常会作为总账/应付账款过账集成到ECC的财务模块中。此时,没有用于与Concur集成的预打包PI/PO内容。希望通过此次收购,SAP将提供与SuccessFactors和Ariba类似的预打包内容。

在本博客中,我将分享我在PO的BPM上开发的以集成为中心的流程的经验,以从Concur提取SAE文件。Concur的RESTful API的使用是通过Advanto的REST适配器实现的,因为它需要OAuth 2.0身份验证方法,而OAuth 2.0身份验证方法在SAP自己的REST适配器上还不可用,而SAP自己的REST适配器在项目时间表期间还不可用(最近在PO 7.4 SP10发行版中宣布)。博客的重点将放在解决方案的高层次概述上,不会对实现的每个步骤进行太多的详细说明。

标准会计提取流程

为了从Concur中提取SAE文件,需要依次执行4个不同的API。因此,它不能通过PI中的单个无状态集成场景来实现。它需要一个有状态的过程,理论上可以通过ABAP程序实现,但是,它非常适合在BPM中建模,因为不涉及任何业务逻辑。

以下是通过Concur的extract Web Service提取SAE文件所需的步骤顺序:

注意:如果提取定义始终相同,则可以跳过步骤1,因此,步骤2总是使用相同的定义ID。

挑战

虽然在BPM中实现步骤的顺序相对简单(按顺序执行每个步骤),但要实现健壮的解决方案,存在各种挑战。

1。重试机制

步骤3必须无限期重复,直到同步调用返回的状态完成。根据Concur系统的负载和资源可用性,这可能快到1分钟,也可能长到3-4小时!因此,实施了多层重试间隔,因此该步骤不会每分钟重复一次,因此不必要地消耗PO系统上的资源。

2。BPM Process Starting Trigger

除了上面列出的RESTful API之外,我还添加了一个对ReportDigests API的调用,作为触发BPM启动的第一步。此API检查Concur中是否有任何批准的费用。如果没有批准的费用,云服务器市场,云数据库开发,BPM将正常终止,无需进一步执行Extract API。

此第一步由发送方REST通信信道以轮询模式触发,轮询频率为每小时。

3。步骤2(提取后作业启动)的异常处理

一旦特定定义的提取作业已提交到Concur系统,它将在Concur中排队等待可用资源。Concur不允许同一定义的多个作业同时排队。因此,如果已经提交了一个长时间运行的作业,则步骤2的后续调用将返回一个应用程序错误。为与此步骤关联的错误消息定义了一个边界事件,以捕获应用程序错误。如果出现错误,BPM将路由到异常路径触发电子邮件通知并正常终止。

4。通过减少有效负载大小来优化BPM流程上下文

完成步骤4检索生成的提取文件后,web服务调用的响应将返回给BPM流程。响应可能包含大量有效负载,从而增加BPM进程上下文的内存使用。避免将大型响应负载加载到BPM流程中的一种方法是使用Claim-Check集成模式,如下面的博客所述。但是,我的系统位于较低的SP上,因此不可用。

SAP Process Orchestration中的Claim Check增强功能

使用了另一种方法,将响应负载压缩并编码为Base64字符串。Base64内容存储在XML负载的以下字段中。正是这个XML负载返回到BPM流程。此转换通过步骤4的响应流上的Java映射来执行。

这样,加载到BPM中的有效负载的大小约为原始有效负载大小的10%——减少了90%!

5. 提取作业的多个文件

根据Concur中配置的提取定义,可以将多个文件作为提取作业的输出。如果有多个文件,步骤4的响应负载将是一个包含多个管道分隔文件的Zip文件。

为了在提取中处理多个文件,开发了一个自定义Java映射来解压缩文件并从Zip存档中的每个文件创建附加附件。以下文档介绍了该解决方案。

Java映射:解压缩文件并创建附加附件

参考

因为这是我第一次在NW BPM上开发,与以前在PI双堆栈系统上的ccBPM开发相比,以下SCN文章非常有助于缩短在NW BPM中开发以及实施高级错误处理的学习曲线。

用于系统到系统消息编排(包括将ccBPM迁移到NW BPM)的NetWeaver BPM

以集成为中心的流程-BPM中的高级异常处理

附录

下面是BPM流程的完整图。

嗨,租云服务器,谢谢你的博客。

我们正在构建SAE流程。

我们停留在最后一步4,我们从concur extract file API得到的SAE文件作为响应,我们的要求是写入文件服务器。

我们在响应映射中使用java映射,但是我们没有得到REST适配器到映射程序的响应,步骤4的输出为空。

但是我们可以在通道日志中看到来自concur的响应。

请提供更多关于您如何处理以及在响应映射中使用的入站结构的详细信息。

请分享在响应映射中使用的逻辑增量步骤和重试计数器的初始化。

我们当前的SAP PO版本是SAP PI 7.31 SP08。

请您通过邮件分享更多详细信息。

我的邮件Id-:narayana.bommareddy公司@gmail.com

感谢和问候

Narayanareddy B

感谢您的博客。我可能不同意以下观点:

Concur的RESTful API的使用是通过Advanto的REST适配器实现的,因为它需要OAuth 2.0身份验证方法,这在SAP自己的REST适配器上还不可用。

事实上,OAuth身份验证方法在SAP的REST适配器中可用。

Hi Sridhar

感谢您的评论。如果你查一下这个博客的日期,这是在Alexander Bundschuh于4月13日在下面的博客中宣布OAuth 2.0在最新的SP中可用之前写的

SAP Process Orchestration 7.31 SP15/7.4 SP10中的新增功能

即使是SAP Help Portal中7.4 SP10的发行说明也没有指出OAuth 2.0可用。

SAP Process Integration-SAP中的新增功能NetWeaver 7.4(发行说明)-SAP库

无论如何,我已经更新了声明,以反映OAuth 2.0在项目时间表期间不可用,这导致我们选择Advantco REST适配器-这也是我们的SAP客户主管提供的建议。

Rgds

Eng Swee

Hi Narayanareddy

您可以初始化重试计数器只需在开始步骤的输出映射中将其设置为0。

增量步骤是一个可选功能,它只是一个内部计数器,仅用于记录目的。我建议你跳过实现这个特性。

当前网址:http://vmchk.cooou.com/tutorials/104920.html

 
你可能喜欢的: