文章
· 五月 15, 2023 阅读大约需 4 分钟

第五章 介绍Productions - 业务流程和业务逻辑

第五章 介绍Productions - 业务流程和业务逻辑

业务流程和业务逻辑

本章描述业务流程中支持的逻辑种类。

介绍

业务流程是production的中间部分。它们接受来自production内部主机类(业务服务或业务流程)的请求,然后处理请求或将它们转发到production内部的其他主机类进行处理。

建议在production中进行以下分工:使用业务服务从生产外部接收输入并将其(作为消息)简单地转发到production中。使用业务流程来处理任何需要的业务逻辑。使用业务操作从生产内部接收消息,并简单地为生产外部的目的地生成输出。也就是说,将业务逻辑集中在业务流程中。

因此,IRIS 为业务流程中的复杂逻辑提供了广泛的支持,并且该逻辑可以由非技术用户定义。

首先,业务流程可以包含自己的复杂逻辑。它还可以使用以下可重复使用的物品:

数据转换计算消息内容并将更改应用到消息内容。

业务规则在决策点更改业务流程的行为,或根据消息类型、消息内容或消息来源将消息发送到特定目的地。

IRIS 提供的工具使非技术用户能够定义业务流程、数据转换和业务规则。这些用户无需编程或绘图技能即可直观地查看和编辑逻辑。

请注意,业务流程、数据转换和业务规则中可用的较低级别选项之间存在重叠。有关比较,请参阅 Developing Productions 中的“业务逻辑工具的比较”。在决定如何组织逻辑之前,有必要查看这些选项。

业务流程的类型

IRIS 提供以下一般类型的业务流程:
- BPL 流程,基于类 Ens.BusinessProcessBP。要创建这些流程,可以使用专供非技术用户使用的图形编辑器。此编辑器在管理门户和 Studio 中可用。请参阅开发 BPL 流程。

这些流程的名称来自 BPL(业务流程语言),这是 IRIS 用于表示其定义的基于 XML 的语言。

  • 路由进程,基于类 EnsLib.MsgRouter.RoutingEngineEnsLib.MsgRouter.VDocRoutingEngine

IRIS 提供一组类来路由特定类型的消息。以下书籍指出了用于不同类型消息的路由过程:

Message Type See
EDIFACT Routing EDIFACT Documents in Productions'
X12 Routing X12 Documents in Productions'
XML Routing XML Virtual Documents in Productions'

要使用这些类,通常不需要编码。然而,有必要提供一组业务规则,本章稍后将介绍。

  • 自定义业务流程,基于类 Ens.BusinessProcess 。请注意,前面列出的所有业务流程类都继承自此类。在这种情况下,需要使用支持的 IDE(例如 Studio)来开发自定义代码。

EnsLibDemo 包提供了许多示例。

有关定义自定义业务流程的信息,请参阅开发产品中的“开发业务流程”。

产品可以包括这些业务流程的任意组合。

下面显示了 BPL 业务流程的部分示例,如 BPL 编辑器中所示:

数据转换

数据转换创建一条新消息,它是另一条消息的转换。可以从业务流程、另一个数据转换或业务规则调用数据转换。

当转换一条消息时,数据转换会换掉旧的消息主体对象(源)并将其交换为新的对象(目标)。在此过程中发生的一些转变可能包括:

  • 将源属性的值复制到目标属性。
  • 使用源上的属性值执行计算。
  • 将计算结果复制到目标上的属性。
  • 将文字值分配给目标上的属性。
  • 忽略源上与目标无关的任何属性。

数据转换是基于 Ens.DataTransform或其子类 Ens.DataTransformDTL的类。

  • 如果使用 Ens.DataTransformDTL,则转换称为 DTL 转换。要创建这些转换,可以使用专供非技术用户使用的图形编辑器。此编辑器在管理门户和 Studio 中可用。有关详细信息,请参阅开发 DTL 转换。

这些转换的名称来自 DTL(数据转换语言),这是 IRIS 用来表示其定义的基于 XML 的语言。

  • 如果 Ens.DataTransform,则转换是自定义转换。在这种情况下,必须使用受支持的 IDE,例如 Studio。有关定义这些的信息,请参阅开发产品。

下面显示了一个示例 DTL 转换,如在 DTL 编辑器中所见:

业务规则

业务规则(也称为业务规则集)可以返回值、转换数据或两者。可以从业务流程或其他业务规则中调用业务规则。

业务规则是基于 Ens.Rule.Definition 的类。在管理门户中定义这些内容,该门户为非技术用户提供了一个可视化编辑器。下面显示了一个部分示例,如本编辑器中所示:

讨论 (0)1
登录或注册以继续