本篇笔记开始对CPI开发工具中的标准对象进行介绍。本片笔记将介绍Participant组、Process组、Events组和Connectors组。
SAP CPI Palette Functions - 参与者、流程和事件
一、介绍
本篇笔记开始对CPI开发工具中的标准对象进行介绍。本片笔记将介绍Participant组、Process组、Events组和Connectors组。
二、Participant 参与者
1.介绍
该开发工具分类中有两个对象。分别Sender(发送方)和Receiver(接受方)。
在复杂的集成过程中,我们或许会使用到多个发送方和接收方。我们可以这两个对象中配置一些特定的属性。将发送方或接收方连接到启动项或任何其他对象(例如:请求、回复和发送)。之后系统将会让开发者选择适配器。
2.图示
三、Process 流程
1.介绍
这是CPI开发中最常用的组件之一。在这个分类中有三个对象。分别是Integration Process(集成流)、Local Integration Process(本地集成流)和Exception Sub Process(异常子进程)。
如果要换成我的理解的话,可以理解成是定义Function的工具。其中Integration Process(集成流)是该IFlow的Main方法,IFlow的所有流程和逻辑按照Integration Process(集成流)的顺序和流程进行运行。而Local Integration Process(本地集成流)则可以理解成定义的其他子函数方法。这些函数方法既可以在Integration Process(集成流)中被调用,也可以在其他Local Integration Process(本地集成流)中调用执行其中的流程和逻辑。
而Exception Sub Process(异常子进程)并不是一定到使用的流程,但如果需要使用,则在Integration Process(集成流)和Local Integration Process(本地集成流)内部使用。可以理解成是针对这个流程本身的异常异常处理。类似于代码中的Try Catch语句。
2.Integration Process 集成流
可以理解成Main方法,每个新建的IFlow部件都是从这个集成流开始执行的。
3.Local Integration Process 本地集成流
(1)介绍
当你的IFlow十分复杂且庞大时,可以将其中的部分流程封装成一个Local Integration Process 本地集成流。然后像调用Function一样在Integration Process中进行调用。
在 IFlow 中拥有任意数量的本地集成过程。您可以通过另一个调色板函数 PROCESS CALL 在主集成流程中调用本地集成流程。
在本地集成过程中,不能使用 SENDER 对象。此外,不能使用 Start 或 end message 事件。在本地集成流程中,只能使用 Start Event 和 End Event/Error End Event/Terminate Event。
(2)编写集成流
添加一个XML to JSON的转换器与内容修正符。
(2)添加PROCESS CALL
在需要调用本地集成流的位置添加一个PROCESS CALL来调用本地集成流。
选择流程调用。然后转到Processing页签,点击最下面的选择按钮,选择当前IFlow中需要调用的本地集成流。
4.Exception Sub Process异常子进程
和本地集成流与集成流不一样,异常子进程只能在前面两者内部使用。可以理解是针对前两个集成流的异常处理,所以需要使用在集成流中。
该流程用于捕获错误消息并在此后执行必要的流程,最常见的就是当在CPI端出现异常时通过异常处理流程向SAP或CPI的运维部门发送异常邮件。联系对应的运维人员对CPI端的异常进行处理。
四、Events 事件
1.介绍
这些事件对象基本都是消息的开始和结束的事件,而部分事件对象必须要在特定的集成流中使用。
- Start Message / End Message:只能在集成流中使用,不可以在本地集成流和异常子进程中使用。当从发送方接受消息时使用Start Message,当向接收方发送消息时使用End Message;
- Start Event / End Event:仅在本地集成流中使用。
- Error Start / Error End:只能在异常子进程中使用。如果 error end 结束,则不会将错误原因发送回源。
- Start Timer:定时器。必须从系统中提取数据或必须在指定的时间/间隔触发 Web 服务的情况下特别有用。使用计时器的通常模式是 – 内容修饰符后跟计时器。这是因为计时器不会在管道中创建有效负载。使用内容修饰符,您可以创建可发送到系统的请求有效负载。
- Terminate Message:终止消息将停止对消息的进一步处理。例如,您已在有效负载上定义了特定值。如果有效负载与这些值不匹配,则进程将终止。消息处理日志中显示的消息状态为 Completed,因为它已成功终止消息。
- Escalate End Event:如果有错误消息,使用该结束事件会将错误信息返回给发送给源。并且当前CPI的状态会被标记为escalated。
2.图示
五、连接器
用来指示IFlow中各个对象的执行流程。在开发界面中通常就是箭头。
六、删除
太过字面意思,以至于我不知道能在多介绍些什么内容。就是将想要删除的对象删除掉。但是一般不会使用工具栏中的删除按钮,都是选中要删除的对象,然后在右侧的弹框中点击删除按钮进行删除。
七、参考资料
SAP Cloud Platform Integration (CPI) Part 7 – Palette Functions 1 – Participants, Process, Events