Cúram WMS 提供以下功能:
- 分配 - 它可以处理复杂的分配逻辑,以便向用户分配工作。
- 一致性 - 它提供可改进结果一致性的过程自动化。
- 灵活性 - 它提供对过程的软件控制,从而可支持根据不断变化的业务需求进行重新设计。
- 可跟踪性 - 它提供操作执行时间、执行者以及给定过程所处阶段的直观表示。
- 可定制性 - 客户可以对应用程序提供的工作流程进行重新排序,以满足其过程需求。
但是,使用 Cúram 工作流程并非没有代价。决定使用工作流程来完成业务流程时,需要进行权衡考虑。必须将以下各点纳入考虑:
- 性能 - 制定工作流过程存在状态维护开销。
- 原子性 - 工作流程不具有原子性,因为每个步骤都可以在其自己的事务中执行。这就使得难以从稍后的事务中的失败进行恢复。
因为工作流程特别针对业务流程的自动化,所以在决定何时使用 Cúram WMS 来自动完成特定业务流程时应考虑以下准则:
- 在具备需求之前,不要进行任何设计。已记录的业务流程需求是考虑何时应用工作流程的先决条件。
- 当业务流程需要人工交互时,应考虑工作流程。
- 如果在不进行任何人工交互的情况下可以从头到尾自动完成某个过程,那么不应使用工作流程,因为在此场景中使用工作流程毫无益处。它不会在 API 直接调用上添加任何一致性、可定制性或可跟踪性,并且此类过程不包含任何需要分配的步骤。因此,除非存在能够在运行时对步骤进行重新排序的灵活性需求,否则不应考虑为此类场景使用工作流程。
- 当已为您提供业务流程中可自动完成的步骤的序列时,考虑为每个步骤提供 API,并将这些 API 调用编写到单个方法中,然后可以从工作流程调用该方法。