“道可道,非常道;名可名,非常名。”这是我们老祖宗老子《道德经》中开篇的两句话,意思是:可以用语言描述的道,不是真正的道;可以用名字来命名的道,这个名字也不能形容妥当。其终极思想是,由于人的认识的局限性,我们所说的道,都只是真正道的一部分,无法窥见道的全貌。当然老子后来又在《清静经》中说:“吾不知其名,强名曰‘道’”。也就是说:“这个‘道’字虽然不肖,但我(老子)还是先把这个终极真理叫作‘道’好了。”
“道”,可作道理、途径、真理、方向、方法等解释。按照老子的说法,世界万物都有其本质和终极真理,但是“吾不知其名,强名曰‘道’”。在现代,人们已经把“道”作为事物的本质了。
C. 亚历山大 [1] 在其著作《建筑的永恒之道》一书中说:“建筑或城市只有踏上了永恒之道,才会生机勃勃。”亚历山大在书中描述了 253 个建筑模式,并首次提出了“模式语言”一说,算是“模式语言说”的开山鼻祖了。他曾领衔撰写了 5 卷关于建筑设计的丛书 [2],其中前两本《建筑的永恒之道》和《建筑模式语言》最为知名。
很多的技术人员和非技术人员都听过模式,例如管理模式、思维模式、商业模式、建筑模式、设计模式等等,对它有着无限的迷恋。很多行业与领域里也都有模式一说。在软件领域,大名鼎鼎的面向对象的 23 种设计模式更是无人不知,无人不晓。那么,到底什么是模式呢?
模式(pattern)是解决某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,就是模式。它是一种指导,是一种解决某类问题的最佳实践。借助于模式,我们可以利用前人的经验和智慧,做出优良的设计方案,达到事半功倍的效果。模式语言则是模式对应于那些使建筑美妙的深刻观察的模式集合,是对如何建造的认识的总和。建筑的永恒之道正在于建筑模式,在于我们对建筑的认知达到一致,即拥有共同的模式语言。
一点题外话:
按照《建筑的永恒之道》的说法,在古代,农民都是自己造房子,他们自己都有模式的直觉;在工业化时代,人们以为自己不能设计,必须倚靠设计师,而设计师也耽迷于流行的模式而设计出没有活力的东西。所以我们缺少的是模式之道,或者说不知道怎样鉴别什么是有“活力”的模式。如今的软件领域何尝不是如此?我们就见过很多牛逼哄哄、所谓的架构师和设计师,他们讲起模式来一套一套的,但是设计出的软件架构奇烂无比,有的甚至不会将架构转换为框架,实在是比古代的农民差远了。我们认为,做软件的同仁们,如果你想真正地成为一个优秀的架构师或设计师,《建筑的永恒之道》这本书是必读的。它告诉了你什么是道,模式之道。这个道才是灵魂,才是核心。这个道是使之“有活力”,而不是生搬硬套。如果有时间再读读第二本《建筑模式语言》。最后还有个小提醒,优秀的架构师、设计师不是读了几本大师的著作就能成就的,他们也是在 “理论—实践—总结—再理论—再实践—再总结”这样的长时间循环中磨练出来的,而且我们认为这个时间至少要 7-8 年以上。
在《建筑模式语言》一书中,C. 亚历山大将模式分为三个部分:
- 首先是此类问题所在的上下文(Context),即当前模式所面对问题的周围环境和状况,也就是说,模式在什么状况下发生作用;
- 其次是动机(Motivation),即此模式的目的或预期的目标是什么;
- 最后是解决方案(Solution),即为达到预期目标或解决此类问题所采用解决方案的核心。
通过上述描述,我们可以得出结论,模式实质上就是从不断重复出现的事件中发现和抽象出的规律,是解决问题所形成经验的高度归纳总结。只要是一再重复出现的事物,就可能存在某种模式。而当一个领域逐渐成熟时,自然而然就会出现这个领域的模式。借助亚历山大的模式理论,GOF 在软件领域提出了 23 种设计模式。同样,在流程领域也自然而然地出现了“工作流模式”。
本书的名字《流程的永恒之道》套用了亚历山大的经典名言:“流程只有踏上了永恒之道,才会生机勃勃。”那么流程的永恒之道是什么呢?在本书中,我们将会依次为读者讲解三个永恒之道。本章首先讲述第一个永恒之道,即流程万变的永恒之道——工作流模式。
工作流模式作为流程的灵魂,是时间无关的(timeless),它与人、文化相关,不会随着时间和新技术的发展而落后,因此可以称之为永恒的。道德经又曰:“道生一,一生二,二生三,三生万物。”把这句话套用在工作流模式上非常准确,工作流模式可以生一,生二,……,最后生万物,演化出无数个不同模式组成的流程。可以说,没有工作流模式就没有流程,工作流模式是流程万变的永恒之道。接下来,我们就围绕工作流模式展开,看看流程万变的永恒之道——工作流模式是怎样来生一、生万物的。
工作流模式的发展历程及分类
在上一节,我们了解了模式,根据模式的通用定义,我们在此给出工作流模式的定义:工作流模式是解决流程类问题的方法论,是解决流程问题的最佳实践。工作流领域同样存在着大量的不断重复出现的事件,从这些事件中发现和抽象出规律,并找到解决这些重复问题的解决方案,对这些问题及其解决方案进行归纳总结,就形成了各种各样的工作流模式。
1999 年,由荷兰埃因霍温大学的 Wil van der Aalst 教授 [3] 与昆士兰大学的 Arthur ter Hofstede 教授联合创立了 Workflow Patterns Initiative,并提出了工作流模式的概念。他们的研究报告于 2000 年在以色列埃拉特举行的 CoopIS 大会上正式发布 [4]。 两位教授一共总结了 21 种工作流模式 [5](其实是指 21 种控制模式)。2004 年,Nick Russell 教授加入了 Workflow Patterns Initiative,并扩展提出了工作流数据模式和资源模式。2005 年扩展出了异常模式,2006 年工作流控制模式被扩展到了 43 种模式 [6]。经过这样的发展,工作流模式被分为了控制模式、资源模式、数据模式、异常模式四大类。
接下来,我们以 2000 年初江南市房管局的“实现房改购房审批流程的自动化,并可以灵活变化”这个业务需求为例,描述工作流模式在具体应用中的实现过程。图 3.1 给出了房改购房审批流程的组成结构。
图 1 房改购房审批流程
从图中可以看出,整个房改购房审批流程由“受理”、“初审”、“公告”、“复审”、“查封核查”、“制证”、“收费”、“发证”等多个环节组成。该流程有明确的作战目标,就是给购房改房的申请人发放“购房证”,其中的每个环节都可以看作是一个作战活动。
这些作战活动的组成是有一定规则的,例如串行、分支、并发等规则,这些规则还有可能经常变化。对于这些规则,在工作流技术中是由“控制模式”来负责的。控制模式负责控制作战活动的组成与流转。
在接下来的两篇文章将分别讲述工作流控制模式中的串行、并发分裂、并发汇聚、单选分裂与单选汇聚几个模式。本系列文章总共 8 篇,工作流模式 3 篇文章,BPM 的生命周期 3 篇文章,流程治理方面 2 篇文章,具体如下:
工作流模式相关:
《流程的永恒之道》(序):模式是个什么东东?伟大的 Alexander 大师;
《流程的永恒之道》(一):控制模式之串行、并发分裂及并发汇聚模式;
《流程的永恒之道》(二):控制模式之单选分裂与单选汇聚模式;
BPM**** 的生命周期相关:
《流程的永恒之道》(三):BPM 的生命周期之设计四步曲;
《流程的永恒之道》(四):BPM 的生命周期之执行阶段;
《流程的永恒之道》(五):BPM 的生命周期之优化阶段;
流程治理相关:
《流程的永恒之道》(六):战略与 BPM 之间鸿沟的出现与分析;
《流程的永恒之道》(七):战略与 BPM 之间鸿沟的填补—引入 BPM 治理;
[1] C. 亚历山大是一位实践经验丰富的建筑师和营造师,加州大学伯克利分校建筑学教授,环境结构中心的负责人,曾获得美国建筑师学会颁发的最高勋章。
[2] 《建筑的永恒之道》、《建筑模式语言》、《俄勒冈实验》,《城市设计新理论》,《住宅制造》5 卷丛书。
[3] Wil van der Aalst 教授不仅是 Workflow Patterns Initiative 组织的创建者,还与 Kees van Hee 教授合著了 _WorkFlow Management-Models,Methods,and Systems_(2002 年,麻省理工学院出版社)一书。其中文版《工作流管理 - 模型、方法和系统》由清华大学出版社于 2004 年出版。
[4] http://coopis.sjtu.edu.cn:8080/cisg/。
[5] http://is.ieis.tue.nl/research/patterns/patterns.htm。
[6] 参见本书附录 I,工作流控制模式
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论