【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

《流程的永恒之道》(序):模式是个什么东东?伟大的 Alexander 大师

  • 2014-04-28
  • 本文字数:3402 字

    阅读完需:约 11 分钟

“道可道,非常道;名可名,非常名。”这是我们老祖宗老子《道德经》中开篇的两句话,意思是:可以用语言描述的道,不是真正的道;可以用名字来命名的道,这个名字也不能形容妥当。其终极思想是,由于人的认识的局限性,我们所说的道,都只是真正道的一部分,无法窥见道的全貌。当然老子后来又在《清静经》中说:“吾不知其名,强名曰‘道’”。也就是说:“这个‘道’字虽然不肖,但我(老子)还是先把这个终极真理叫作‘道’好了。”

“道”,可作道理、途径、真理、方向、方法等解释。按照老子的说法,世界万物都有其本质和终极真理,但是“吾不知其名,强名曰‘道’”。在现代,人们已经把“道”作为事物的本质了。

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 )关注我们,并与我们的编辑和其他读者朋友交流。

2014-04-28 23:154273

评论

发布
暂无评论
发现更多内容

XnViewMP(图片浏览软件)绿色版

影影绰绰一往直前

软件测试/人工智能丨大语言模型LangChain

测试人

人工智能 软件测试

低代码开发:产品验证的破局之道

幂简集成

产品 工具 低代码 数字化 API

软件测试/人工智能丨GitHub Copilot: 改变编程体验的智能代码助手

测试人

人工智能 软件测试

软件测试/人工智能丨利用ChatGPT生成自动化测试脚本

测试人

人工智能 软件测试

OneCommander Pro(双窗口文件管理工具)v3.61.2 特别版

影影绰绰一往直前

使用acme.sh自动续期DV证书

为自己带盐

SSL证书 acme

支持原生鸿蒙操作系统的小程序容器框架

Onegun

鸿蒙 鸿蒙系统 小程序容器

Wipe Professional(系统垃圾清理工具)特别版下载

影影绰绰一往直前

SD-WAN可以加速视频会议吗?

Ogcloud

网络 网络加速 视频会议 SD-WAN

用友系列之YonBuilder低代码平台概论和基本使用

阿Q说代码

低代码 用友

Java中的泛型通配符传递类型参数

技术冰糖葫芦

API 接口

FQS:一种神奇的数仓查询优化技术

华为云开发者联盟

大数据 后端 华为云 华为云开发者联盟 华为云GaussDB(DWS)

面向对象编程,看这篇就够了

不在线第一只蜗牛

面向对象 依赖关系

2023年的PHP项目部署笔记。什么?还有人用PHP?

快乐非自愿限量之名

php 开发 项目

Syncovery Premium(备份数据和同步工具)特别版

影影绰绰一往直前

SecureCRT for mac:提升工作效率的利器

iMac小白

诚迈科技亮相OpenHarmony人才生态大会,共话校企协同育才

新消费日报

Navicat Premium 16 for Mac:一站式数据库管理解决方案

iMac小白

每日一题:LeetCode-48. 旋转图像

半亩房顶

面试 算法 矩阵 LeetCode 刷题

如何在Python中使用ChatGPT API处理实时数据

高端章鱼哥

Python ChatGPT

汉缆股份携手航天科技AIRIOT建设智慧工厂,加速数字化转型升级

AIRIOT

智慧工厂 物联网系统搭建

SD-WAN解决外贸企业网络问题

Ogcloud

网络 SD-WAN vpn MPLS 网络VPN

app开发

Geek_8da502

首届中国研究生操作系统开源创新大赛即将启动:开启创新之旅,推动开源繁荣

新消费日报

SD-WAN实现分公司与总部组网高效互联

Ogcloud

网络 SD-WAN 组网

量化交易与人工智能:技术的交叉引发金融市场的变革

不在线第一只蜗牛

人工智能 金融 量化交易

钱包开发:钱包基础设施赋能下一代 Dapp

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

Cockos REAPER(音频录制编辑软件)特别版下载

影影绰绰一往直前

Adobe Acrobat Pro DC 2023(PDF编辑软件)直装版下载

影影绰绰一往直前

华为鸿蒙系统:揭开全新操作系统的神秘面纱

EquatorCoco

鸿蒙 HarmonyOS

《流程的永恒之道》(序):模式是个什么东东?伟大的Alexander大师_语言 & 开发_辛鹏_InfoQ精选文章