工作流之大局勢
(2006
版
)
1.
引言
2004
年
9
月,筆者在網絡發布了《工作流之大局勢》的最初版本
(
http://blog.csdn.net/hongbo781202/archive/2004/09/26/117271.aspx
)
,技術界朋友們反響非常強烈:很多網站和博客做了轉載;在之后的約
1
年中,我的郵箱每天能夠收到超過
10
封朋友們的來信(由于時間和精力關系,約有一半的比較簡單的問題沒有回復,筆者對此深表歉意),到現在我仍然不時收到這樣的來信;我的博客上的留言也非常多,到寫稿時筆者看到該篇文章的最新留言時間是
2006-06-06 22:38:00?
。
但在技術發展日新月異的今天,一篇綜述性文章竟然能夠頑強地存活
2
年,讓我時刻心中緊繃一根弦:我該重新寫點什么了。于是,就有了今天的這篇《工作流之大局勢
(2006
版
)
》。
2.??????????
?;逝删謩?/span>
筆者在上次發文時,有把工作流按是否開源劃為大戶和寒門兩類。時至今日,我想大家都同意這樣的一個觀點:漠視開源是非??膳碌囊患虑椤K员疚闹胁辉侔催@樣的標準進行劃分,本人目前把工作流產品分為如下
4
大派別:?;逝桑镄屡桑杂膳?,融合派。下面先說?;逝删謩?。
2.1
?;逝煞种?/span>
??????
筆者最早知道四爺黨
OMG
是
6
年前學習
CORBA
的時候開始的,當時對
CORBA
抱著頂禮膜拜的心態,《
CORBA
》這門課程是我研究生階段唯一的每節課都去聽的課程。
2003
年做電信行業的軟件開發,才了解到
CORBA
的日漸沒落的行情。
CORBA
的兩大特點是:思想超前,極不實用。
OMG
的
Workflow Management Facility
也秉承了這兩大特點,在追求高效輕量的今天,它的沒落也就是順理成章的事情了。
??????
八爺黨
BPML
在?;逝杀揪吞幱诤軐擂蔚牡匚?,在長時間被太子黨和革新派圍攻后,基本上銷聲匿跡。
??????
太子黨
XPDL
是?;逝墒S嗔α孔顝姷狞h,雖然地位一步步削弱,但仍然在靠以前搜刮來的錢財和寶玉維持自己的生活。
2.2
?;逝扇宋?/span>
??????
上次的《工作流之大局勢》發表后,
OBE
很快就不見了影蹤;
Ofbiz
已經基本脫離了工作流領域,在該行業沒有什么發言權;下面專門說說
Shark
。
??????
筆者從
Shark
發展的早期就在國內力推它
,
有幸成為
Shark
工作流引擎在國內的主要推廣者之一。但我很快就看到了
Shark
的?;侍匦裕核枷氡J兀凰歼M取,排除異己。
Shark
是
Enhydra
系列產品中的一個,所以它的持久層采用了
Enhydra DODS
來實現?;旧蠜]有什么人來使用
DODS
,也沒有人了解它,而且它表現并不很優秀。在
Shark1.0
阿爾法版中,有外界人士提供了
Shark
的
Hibernate
實現;但
Shark
并不把該實現集成到產品中,也不計劃在將來的版本中轉向
/
支持
Hibernate
。這樣并不符合開源思想,也會在使用和推廣中出現很多問題。筆者在使用
Shark
時就花了一定的時間來研究學習
DODS
,本期望后續版本中會支持已經全球流行的
Hibernate
,但等來的是一次又一次的失望。
??????
《工作流之大局勢》發表后,
Shark
發展非常快,但我基本是在
Shark
發展的頂峰轉向其他的產品(當然也沒有忘記跟蹤它的發展情況)。
Shark
的版本更新比較慢,代碼的更新也沒有按照開源的方式來完成。
Shark
在
1.0
后直接發展到
2.0
,讓人大跌眼鏡。
??????
令人好笑的事情,是收到技術朋友的
mail
說,不知道到哪里下載
Shark
的最新版。我知道怎么樣去下載,但開始也是費了周折的。從這個也可以看出它從
1.0
后的發展太不職業化,讓人不放心。
Shark2.0
后,有很多組件不開源了,而且都是只有
DEMO
,如果要用,需要付費。因為不想付費的原因,有朋友準備重新下
1.0
來學習,結果又跌了一次眼鏡:
1.0
不知道上哪里去下了。
??????
雖然我們使用
Shark
開發的系統目前仍然在運行,雖然很多人因為我在《工作流
E
起來》開的
Shark
版塊知道了
HongSoft
這個名字,但我以后不準備再使用
Shark
。
3.??????????
革新派局勢
3.1
革新派分支
?????? WSCI
黨的幾個領導人物如
BEA/SAP/SUN
等均已經投靠到
BPEL
黨,
WSCI
基本上沒有了發展的空間。
?????? ebXML
黨只能在電子商務領域活動活動拳腳,由于它的體系結構的全面性,目前還有部分學術界人士在研究
ebXML
,但應該不會有很大起色。
?????? BPEL
在這兩年得到了大力的發展。
2002
年
8
月
9
日
,
BEA/IBM/MS
提出
BPEL
標準(從這里可以看出,
BEA
是個騎墻派,而
IBM/MS
則是強勢派,因為當時已經有了
WSCI
標準)。
2003
年
4
月
6
日
,
OASIS
組織用
WS-BPEL
的名字吸納了
BPEL
標準(
ebXML
也是該組織旗下的大將,
OASIS
開始并不同意接收
BPEL
)。
2003
年
5
月
3
日
,
SAP/SIEBEL
加入并共同推出
WS-BPEL1.1
版。
2003
年
5
月
16
日
,
SUN
和
ORACLE
見勢不妙,也加入了
BPEL
標準的領導者行列。
WSCI
被瓦解,而
WS-BPEL2.0
的草案也在當時被納入議事日程。
3.2
革新派人物
??????
革新派中的幾個領導者都是同時支持
BPEL
和非
BPEL
的,他們的產品并不獨立地實現
BPEL
,我們稱這樣的產品為融合派,融合派基本是以前的革新派中的大戶人家。本文的革新派指比較獨立的
BPEL
或者
ebXML
實現,這樣的產品基本是以前的革新派中的寒門。
??????
由于這些寒門沒有財力支持,發展都比較緩慢。
Open ebXML
處在不僅沒有財力,連關心的人都沒有的悲慘景地。
Twister
沒有很大起色。
ActiveBPEL
由于有后臺公司的支持,有一定的發展,但由于革新是個花錢的活,而且
Active Endpoints
沒有足夠的財力,所以
ActiveBPEL
發展也不迅速。
4.??????????
自由派局勢
自由派并沒有形成力量比較強大的黨,都是在小打小鬧,發展并不太好。
OsWorkflow
的版本更新也很慢,至今沒有一個象樣的流程定義工具,流程輔助功能也基本沒有。
OpenWFE
的關注點也少得可憐。
YAWL
在學術界有部分人在做研究,因為它是基于
PetriNet
實現的產品。
jBPM
被
jboss
收購后,
jboss
又被
redhat
收購,目前已經進入了融合派角色。
5.??????????
融合派局勢
融合派是新發展出來的派系,它的來源有兩個:一是革新派中的大戶人家,如
IBM
;二是自由派中的活力成員,如
jBPM
。下面以點帶面,分別討論。
5.1 IBM Websphere
系列產品
??????
說到
IBM
的業務整合野心,我們不得不提起
2002
年
IBM
的兩次收購。
2002
年
1
月,
IBM
用
1.29
億收購
CrossWorlds
軟件公司,宣稱要通過
CrossWorlds
公司的軟件來增強
IBM
的
WebSphere
中間產品線的自動商務處理程序。
9
月,
IBM
又收購了軟件制作公司
Holosofx,
并計劃將
Holosofx
的技術集成到自己的
WebSphere
商業集成軟件中。
??????
現在,
IBM
已經把
Websphere
作為整合的代名詞。
Websphere MQ Workflow
實現流程整合,
Websphere Business Integration Server
實現業務整合。而收購的兩個產品,改造為自己整合中間件的建模
/
管理
/
監控工具。
??????
使用過上面軟件的朋友都知道,這些產品都和
IBM
自己的其它產品比如:
Websphere MQ
或者
IBM DB2
有直接關系。比如,我們使用
MQ Workflow
,只能用
DB2
數據庫,不能用
Oralce
數據庫。
?????? IBM
的流程管理工具是市場上占有率最高的,約為
24%
。
5.2 BEA AquaLogic
系列產品
??????
我在
BEA
的
UG
活動
(
http://dev2dev.bea.com.cn/usergroup/2005111947.html
)
上知道
AquaLogic
產品線。
BEA
本身就是一個收購型公司,它收購的產品均為自己公司創造了巨大的財富和影響力。就在今年的
3
月
1
日
,
BEA
收購
Fuego
,
Fuego
的產品組合將加入到
BEA
的
AquaLogic
產品陣容中,將成為
BEA
新的
AquaLogic
商業服務互動產品線的基礎。
??????
在收購
Fuego
前,
BEA
已有的過程處理工具對面向服務技術并不是特別適合,而面向服務技術是
AquaLogic
的根基。
BEA
董事會主席兼首席執行官
Alfred Chuang
說,
BPM
細分市場是
SOA
軟件市場增長最快的部分。他說,把
Fuego
加入到
BEA
的
AquaLogic
產品線意味著
BEA
能夠供應集業務流程、應用和傳統環境于一身的統一的基于
SOA
的軟件。
??????
如果你準備參加
BEA
的
UG
活動,請記住向上第
3
行中的
Chuang
的名字,說不定可以拿到大的獎品,呵呵。
BEA
在流程管理工具方面的市場上占有率約為
15%
。
5.3 Microsoft Biztalk Server
??????
我沒有用過
Biztalk Server
,看了資料說它的市場占有率為約
17%
。
5.4 Oracle BPEL Process Manager
??????
不知道有多少人用過
Oracle
內帶的工作流工具,我是用過,但沒有什么感覺。至到
Oracle BPEL
發布后,才發現它的工作已經是非常超前了。
Oracle
在融合派中是最早推出
BPEL
編輯器和引擎的產商,功能全面而且非常的穩定,可惜的是
Oracle
公司的所有產品目前和開源沒有任何關聯。
5.5 jBoss jBPM Server
??????
在融合派中,目前只有
jboss jBPM
是開源產品。
jBPM
是從自由派發展而來,最初只實現了
jPDL
標準,本人在
2005
年寫過
jBPM
在傳統工作流技術方面與其他開源工作流產品的比較
(
http://blog.csdn.net/hongbo781202/archive/2005/02/28/304751.aspx
)
。
??????
我們看看
jBPM
的野心:
JBoss jBPM is a powerful workflow, BPM, orchestration (BPEL) and web application pageflow platform that enables the creation of business processes that coordinate between people, applications and services.
明眼人應該已經看出來,
jBPM
融合了
4
大功能:
Workflow
,
BPM
,
BPEL
,
PageFlow
。
?????? jBPM
本身是個功能全面的
Workflow Engine
,它自己有個
BPEL
擴展,采用
jboss Hibernate
實現,集成了
jboss seam
,規則引擎準備采用
jboss rules
,并準備集成
jboss Messaging
。
Redhat
已經收購了
jboss
,也就是說,以后你安裝好
redhat
,就可以直接使用
jBPM
提供的服務了。這樣的特性不得不讓人倒抽一口冷氣。
??????
本人從
jBPM2.0
開始就研究它的代碼,跟蹤技術發展情況,當時沒有想到它的發展能夠如此迅速。本人把
jBPM3.0
的引擎部分做了一些改造,也用到了一些特殊行業中。從
2006
年
1
月開始,陸續有幾個工作流項目軟件公司請我為他們做工作流的技術和使用培訓,我都是推薦的
jBPM
。這些公司中有的是使用過
Shark
后,沒有完全把握正確的產品開發方向的。在后續的項目情況跟進中,使用
jBPM
的均效果不錯。
6.??????????
國內局勢
6.1
工作流組織
國內工作流軟件公司其實是比較多的,但
99%
發展都不太好。工作流項目競爭激烈,公司層面也是按最初級的項目開發思路一個一個為用戶定制。這樣開發速度慢,成本高,也不能適應用戶需求多變的特性。
部分比較懂行的用戶會要求用工作流方式來開發,這樣逼迫部分公司采用工作流。有的公司會指定某個項目組成員:給你
2
周時間,研究某某引擎,學習怎么樣使用。這樣的效果可想而知。
我在給上海復旦金仕達做工作流培訓的過程中發現,醫療軟件行業很多公司對工作流能夠做什么不能夠做什么沒有基本的認識,工作流在該行業的應用還很少,復旦金仕達是行業中比較早的有工作流需求的公司,可能和他們公司在行業中的地位有關系。
華信郵電咨詢設計研究院有限公司研究發展中心的徐總是個對技術人員非常重視的人,他的很多對工作流技術的見解是連我這樣做了好多年工作流技術的人都自嘆弗如的。他們以前使用的是
Shark
引擎,現在在工作流和業務流程管理的結合方面有些比較不錯的工作,這個其實應該是工作流發展后的最主要的工作和最符合用戶高級需求的工作。
普元的
EOS
應該也算和工作流有一定關系,它有兩個特性是我比較認同的:構件化,圖形化。構件化在我而言應該是組件化,不完全是
EOS
的構件的概念。圖形化在
jBPM
的
GOP
中已經得到很好的體現。但有一點我認為普元沒有做好:人性化。這里的人性化并不指其他,而是吸引技術人員來使用本產品的意思。
EOS
得了一大堆獎,都是沒有用的東西,也就能夠寫在招標書中給人看看;但這樣的產品都有一個特點:最后是技術人員來使用。表面上是企業管理人員拍板決定買誰的產品,但本質上還是要看技術人員的(核心的那幾個技術人員)。后來,
EOS
做了很多親近技術人員的事情:在《程序員》這個靠近技術人員的地方做廣告,搞
EOS
產品體驗大賽等。但我認為效果都不好。我認為可行的思路是什么呢?
我在
2004
年和信雅達公司的石總交流的時候說過工作流產品開發方面自己認為可行的思路(當時我本人還不知道普元公司)。那就是組件化
+
圖形化
+
人性化
+
開源化。這里的開源化是指對部分組件開源,并且其他部分組件是技術人員可以自己擴展的。然后在這部分基礎上,組織產品體驗大賽(決不是掛個網頁在那里而已)。我很需要這個方面的討論,非常歡迎大家在這個方面和我進行討論,并可向我索取當時我給信雅達公司的石總發的
mail
中的這部分技術內容。
6.2
工作流人員
??????
可能與行業背景有關系,國內工作流技術人員的生存環境不容樂觀。公司層面一般以普通的技術來看待工作流技術,不認為這個是和行業認知密切相關的。所以很多朋友來
mail
或者在
QQ
群內討論就是很急的尋求什么什么技術,老板只給了
2
周時間等等。其實我認為工作流是一個技術的同時,更認為它是一個行業,是需要積累的。
??????
部分技術人員自己也有問題,只是浮在表面,不能深入進去,所以使用工作流都成問題。還有很多人,因為這個行業不好做,在做了很多年有了一定的經驗后,轉到其他行業的,不能堅持下去,非??上?。
6.3
國內開源工作流
?????? Willow
是
huihoo
組織下的開源工作流產品,當屬?;逝傻陌?,雖然文檔不多,我了解也不多,但我表示支持,希望國內的工作流技術和組織的發展都越來越好。
?????? AgileFlow
是本人發起的,為什么要做這樣一個產品,原因寫在這里:
http://blog.csdn.net/hongbo781202/archive/2004/11/02/163718.aspx
。為了支持國內的開源技術,我最初在
cosoft
申請建立了
AgileFlow
,但現在
cosoft
已經癱瘓,讓人無比的失望。我現在已經在
sourceforge
申請了
AgileFlow
的空間
(
http://sourceforge.net/projects/agileflow
)
,以后的代碼發布和版本更新將都到
sourceforge
來進行。
AgileFlow
的舊版是用來給工作流新人學習,快速入門,不會從
sourceforge
刪掉;而新版將是基于
jBPM
之上,實現一個產品,目標是提供給工作流項目實施人員,讓他們快速簡單地使用
jBPM
來為客戶服務。
??????
愿國內外工作流技術工作者都好
!
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????楊洪波(HongSoft)