工作流模式

工作流模式是在软件工程或业务流程工程领域定义的一种特殊形式的设计模式。工作流模式专门指与工作流应用程序开发相关的反复出现的问题和经过验证的解决方案,特别是,更广泛地说,是面向流程的应用程序。

概念

工作流模式是节约开发的概念。它们的使用应遵循简化维护和减少建模工作的策略。工作流程是实时执行的。控制机制必须支持典型的工作节奏。设计模式必须延迟工作流的执行。

范德阿尔斯特分类

一个著名的工作流模式集合是由WilvanderAalst等人提出的。(2003)在他们的论文工作流程模式中。与2000年2月发布的早期版本。这组模式集中于面向流程的应用程序开发的一个特定方面,即描述工作流/流程中活动之间的控制流依赖关系。这些模式分为以下几类:

另一种分类

工作流模式的另一种分类如下:独立/池化,其中计划工作的每个组件都独立于其他组件完成,并且没有组件对任何其他组件有特定的依赖关系。一个例子是工作人员在柜台服务-Raoul可以为排队的顾客服务,而无需等待Jamie为排队的顾客服务。顺序的,其中计划工作的每个组件都依赖于前面的组件。在这种情况下,前面的组件通过后续组件控制工作流的推进。一个例子是在一条生产线上——在Veronica将散热器安装到位之前,Betty无法将散热器盖固定到ModelTFord上。相互依赖/网络化其中计划工作的每个组成部分都依赖于一个或多个正在完成的其他组成部分。在这种情况下,前面的组件通过后续组件控制工作流。一个例子是一个项目团队——莎拉必须等待凯文和乔治完成几项任务,然后她才能执行她的任务。

工作流模式

其他观点

工作流模式不限于控制流。其他(工作流)模式集合包括:

  • 资源模式,
  • 数据模式,
  • 异常模式,
  • 服务交互模式。
  • 并行性和流水线模式。

这些模式集合已用于评估各种工作流流程,包括商业(Websphere、OracleBPEL、Staffware、SAP工作流、WindowsWorkflowFoundation等)和开源。

实现模式的工作流系统

  • Tavaxy是一个基于云的工作流系统,它实现了一种基于模式的方法,以实现Galaxy和Taverna之间的互操作性,这两个工作流引擎在生物信息学领域很流行,
  • YAWL,另一种工作流语言,
  • Cameleon(编程语言),基于工作流的函数式编程图形语言。
0

点评

点赞

相关文章