[原创]工作流与业务流程
在试用Biztalk 2000的时候,学会一个单词Orchestration,中文解释为流程。后来接触一些客户和开发人员,通常将审核这样的过程解释为流程,我也曾经困惑过蛮长一段时间,也影响到很难对这些领域提出合适的解决方案。实际上,有时候还真的蛮难区分的,而且似乎在标准和实现方式下有交叉或相似之处。下面谈谈我的一些认识。
向会签,审批这样的过程,通常叫做工作流(Work Flow),如果有人员的参与,可以称为Human Work Flow,也可以用来实现特定的一些工序,比如工程的各个步骤,我通常理解为在一个系统内实现的,由不同角色合作完成一项任务的过程,最常见的应用就是OA流程。在微软的WWF中,认为工作流有两种最基本的模式,顺序(Sequential)和状态机(State Machine)。
业务流程,英文叫Business Process,也有叫做Orchestration,通常用来联系整合业务活动,往往由多个系统参与,最近几年,非常火爆的BPM(Business Process Management)就是针对这一方面的。
从标准上看,工作流标准组织(WfMC)的XPDL是主流的工作流描述语言的标准,而OASIS的BPEL和JCP的(PD4J)应该是业务流程描述语言的两大流派,但也不是完全的,似乎也都有相互交叉的解决方案。
在工具的支持上都是大把,基本上集成中间件都是支持BPEL的,Java平台的集成中间件也会支持PD4J,而xpdl在OA系统中占有统治地位。
这两者一般都会有图形化的设计工具支持,目的也都是解耦业务逻辑和代码逻辑。可以注意到在微软的Biztalk 2004中有支持Human workflow的部分,而在biztalk 2006上,这部分工能交给了WWF。
关于这方面的讨论很多,一家之言,仅供参考,总之最终目的是达到松耦合,易于用户参与的效果。
推荐到鲜果:


评论