我的新書《jBPM4工作流應用開發指南》出版了

內容簡介 - 序

隨着在現代企業管理中對於信息化、流程化的深度挖掘,具有業務流程管理(Business Process Management,簡稱BPM)的技術和思想已經成爲致力於全面掌控企業級應用系統人士“日常生活,居家旅行”的必備素質。

本書分3篇。

第一篇,概念篇——介紹工作流管理技術(也即BPM技術)的概念、起源和發展歷程。開源工作流選型,以及jBPM——這個迄今爲止最成功的Java開源工作流項目的“前世今生”。

第二篇,應用掌握篇——可以幫助您快速上手jBPM4、使用jBPM4開發企業流程應用,本篇包括:安裝和配置jBPM4、使用jBPM4圖形化流程設計器(GPD)設計流程、把流程部署到服務器上去、使用jBPM Service API控制流程、掌握jBPM流程定義語言(jPDL)、使用流程變量(variables)、使用流程腳本、爲簡單的業務配置jBPM。

第三篇,定製深入篇——將幫助您基於jBPM4這個強大的應用程序框架(Framework)打造屬於您自己獨特業務的“企業流程管理平臺”,本篇包括:jBPM4擴展研發先決條件、深入jPDL和jBPM Service API、升級jBPM3到jBPM4、流程虛擬機(Process Virtual Machine, PVM)原理、jBPM4架構思想、隨需而配jBPM4、使用異步工作執行器(Job Executor)、深入jBPM郵件支持、系統日誌、歷史流程處理原理、jBPM4與Spring framework集成、jBPM4與JBoss application server集成、中國特色工作流的jBPM實現。

另外,本書在附錄中列出了常用工作流術語的解釋說明,這可以幫助剛接觸工作流技術讀者快速獲得有效的參考。

本書結構條理清晰,實踐例程與理論思想緊密結合,詳實易懂,由淺入深,具有很強的參考性和實用性。

本書適合所有掌握JavaEE(Java企業級版本)開發技術的人員——無論是技術開發者、項目實施者、系統架構師,還是流程分析師、業務方案顧問,本書都適合您。

本書特色 - 前言

作者從2005年即開始在國內最大的企業應用軟件集團之一負責工作流引擎內核及其周邊系統的創造性研發工作,並因此獲得了2006年度北京市中關村科技園經濟技術創新標兵等榮譽。

隨着作者對工作流管理系統研究開發和實踐應用的深入,不僅從自主研發的工作流管理系統中獲得了大量“深入骨髓”的第一手體驗,而且由於工作原因從多家國內、國外的工作流產品中吸取、借鑑了衆多的第一線應用實戰經驗,這不僅涵蓋了多種商業工作流產品也包括衆多開源工作流產品。

因爲工作的機會,作者曾作爲RedHat JBoss產品應用架構師有幸深入的“解剖”了jBPM系列產品並且爲國內多個jBPM應用項目提供諮詢、培訓等服務。作者發現在許多優秀的工作流產品中已經實現了的設計、計劃實現的創意以及許多讓人忍不住“擊節叫好”的思想,都已經被jBPM系列產品做到了。當前,在Red Hat JBoss項目組工程師、架構師們的不懈努力下,jBPM已經發布了第4個大版本。最新的jBPM4進一步的克服了jBPM3的固有缺陷(這在書中會多次提到),並且更加“變本加厲”的增強和優化了jBPM——這個世界上首屈一指的開源工作流產品的功能。

因此,作者“忍不住”、也“不得不”將jBPM4這個優秀工作流產品的應用、開發技巧以及自己對工作流技術的經驗、體會編寫成書。從某種程度上來說,本書也是作者多年“工作流職業生涯”的一個里程碑和總結。

  • 對於想快速入門的企業流程開發人員來說:
    • 本書將使您快速瞭解什麼是工作流、BPM和jBPM,以及它們的發展歷程。當然,重要的是使您明白它們能爲企業信息化做什麼,開發人員該如何抉擇?
    • 本書從下載、安裝、配置jBPM4到流程設計、程序開發、單元測試、應用部署、調試運行,直至管理、監控、優化、擴展,使您掌握利用jBPM4開發企業流程的全生命週期過程。
    • 本書全面系統的爲您介紹jBPM4的Service API、活動和支持行爲,通過手把手的實例把jBPM4企業流程架構的思維植入您的腦中。
  • 對於已經在使用jBPM(包括jBPM3)開發的、並渴望把jBPM4“玩弄於鼓掌之間”的研發者來說:
    • 拋棄不盡如人意的、稍顯羅嗦的jBPM3,來盡情擁抱架構更爲優雅、更爲易用、更適於擴展的jBPM4吧!爲什麼不呢?
    • 本書的第三篇“定製深入”爲您精選了近年來衆多企業在“實際”使用jBPM過程中遇到的最棘手、最糾結的問題,這包括業內人士所謂的“中國特色工作流”的經典問題,根據作者的經驗,這些問題導致了大量jBPM項目選型、實施的流產乃至失敗……本書將以jBPM4設計者的理論思想爲前提,提出解決思路、方法乃至實戰例程。
    • 本書不失爲一條企業級應用架構師的進階之路,因爲jBPM4不僅僅是一個平臺(Platform),更是一個框架(Framework),它的代碼、它的設計無處不蘊含着世界頂級企業應用架構大師的精華思想。同樣的,因爲作者對jBPM設計理念的認同、優雅架構的努力追求,所以將力求在“定製深入”部分的介紹中爲您起到拋磚引玉的效果。
    • 本書亦可作爲jBPM4的工具手冊在您的計算機旁伴隨您進行企業流程研發之旅。

需要強調的是,本書中作者在介紹jBPM4的新功能時,會經常性的提到jBPM3與jBPM4的差異,以幫助廣大jBPM3的“鐵桿用戶”消除思維定式,快速把握新版本的變化、從根本思想上“升級”到jBPM4。同時也能讓第一次使用jBPM4的用戶體會到jBPM系列產品發展的“滄桑歷程”,知其然(新功能)亦知其所以然(爲什麼要變更或加強以前的功能)。

在這裏,必須要感謝電子工業出版社的編輯同志們,感謝審閱、評論本書的業內專家PCCW Solutions,senior consultant,Cyril;盛大在線公司,架構師,胡長城;搜狐福州分公司,Java架構師,林良益;中通軟聯信息科技有限公司,創始人兼首席架構師,馬越;GrapeCity集團技術管理組,高級架構師,王瑜;北京天大天科科技發展有限公司,首席架構師,吳俊;百度公司,軟件工程師,徐會生;TIBCO中國研發中心,開發部門經理,趙亮等同志,本書能夠面世與你們的辛勤工作和專業建議密不可分。

如果您對本書的內容有任何問題或反饋,歡迎通過電子郵件直接聯繫我:
[email protected]

《jBPM4工作流應用開發指南》書評

許久不曾買書,這本《jBPM4工作流應用開發指南》是我迄今爲止最期待的一本書。 本書循序漸進的介紹jBPM。從工作流的基礎知識開始,到最後的中國特色工作流的jBPM實現,讓人不睹不快。可以說,它是一本很好的jBPM參考手冊,能夠幫助到更多的人來學習和掌握jBPM。

陳勇

就職於北京拓爾思信息技術股份有限公司,java開發工程師

clip_image002

 

本人從六七年前就開始接觸工作流系統的設計與開發,一共參與過三套工作流系統的設計與開發過程,應用涵蓋了OA系統,行政審批系統,ERP系統。在這麼多年的工作流系統的設計與開發過程中,感觸頗多,其中有如下兩點是體會最深的:

1.從最開始只關注於一個個具體業務流程在自己設計的工作流系統中具體怎麼實現,後來漸漸關注工作流系統對企業整個業務流程重組(BPR)的巨大推動效應和對企業應用集成(EIP)的強有力支持,這個過程我用了五六年。《jBPM4工作流應用開發指南》的作者在第一章就對這點進行了深入的闡述,讓讀者在十來分鐘的時間內快速完成了這個認識的轉變,使後續的工作流系統的設計與開發者站在更高的起點去設計與開發適合於自己項目的工作流管理系統。

2.在中國進行工作流系統的開發尤其不易,特別是政府與國企使用的工作流系統。用戶提出的許多“非常有理”的特色功能往往會讓工作流系統的設計與開發者焦頭爛額,難以在工作流系統的規範性與用戶要求的“靈活性”之間加以取捨。很顯然《jBPM4工作流應用開發指南》的作者實戰的經驗非常豐富,明確在本書中提出了在jBPM中對中國特色工作流的實現進行了詳細的說明。

所以《jBPM4工作流應用開發指南》這本書在理論認識,設計思想與具體分析,細節實現這兩個頂點上有比較好的平衡,充分體現了作者在工作流管理系統設計與開發上的功力。

Cyril

就職於PCCW Solutions,senior consultant

clip_image002

 

終於盼來胡奇的新作 《jBPM4工作流應用開發指南》出版上市。在作者剛剛着手開始寫書的時候,我們倆就針對大綱內容有過探討,當時定的基調就是“實用”。

“實用”的本質就是“實戰經驗的總結和抽象”。特別對於工作流應用來講,看似就是幾個節點的連接和組合,但是實際卻是變化多樣,不同的行業領域或應用場景之間的差異性太大,而需求又特別繁雜。這也是爲什麼很少有一款工作流產品能夠適應所有行業的。有的工作流產品主要面向政務辦公中的公文處理流程;有的則面向電信業務的高性能處理流程;有的則面向應用系統過程集成的處理流程;有的則是面向製造業中高度自動化控制流程……

在這種情況下,工作流產品要想在“簡單易用”和“靈活擴展”之間找到平衡就非常難。但Tom先生(jBPM的創造者之一)卻完成了這個壯舉,締造了精美小巧的jBPM。在jBPM中,除了過程調度這一核心模塊無法擴展以外,幾乎流程相關的所有點都可以擴展:活動類型、活動執行方式、事件行爲、Spring整合、存儲等等部分。所以開發者可以很容易基於jBPM構建出自己特色的流程框架,以滿足特殊業務領域模式。本書中,胡奇用了幾個章節的內容,爲讀者詮釋瞭如何基於jBPM構建屬於自己的工作流平臺。

提到jBPM4,就不能不提到PVM(Process Virtual Machine, 流程虛擬機)。PVM是新一代流程引擎架構設計理念,而這是由Tom先生在jBPM4中首創的,現在這種PVM設計理念在越來越多的開源和商業工作流或BPM產品中體現出來,比如Orchestra BPM、Oralce BPM Suite 11g、Activiti BPM等。在書中,胡奇爲大家詳細詮釋了PVM的原理和jBPM4的實現,值得參考閱讀。

jBPM本身是一款開源的工作流和BPM組件,但如何真正結合實際應用需求和場景,把jBPM運用好卻是個很大的挑戰。在現實中,因爲開發人員的實施經驗不足,jBPM專業開發人員稀少,指導參考資源匱乏,對項目實施質量和進度影響頗多,甚至部分項目失敗。而在本書中,胡奇不僅對jBPM做了深入透徹的介紹,並分享了自己多年的jBPM成功實施經驗,爲大家工作流應用項目實施提供了寶貴經驗借鑑,很值得參考學習。

胡長城

就職於盛大在線公司,負責盛大開放平臺的整體架構,近十年的工作流研發實施諮詢經驗

clip_image002

 

翻開這本書的目錄,從對工作流理論發展的理解到jBPM4的設計思想,從Step By Step的圖示化安裝指南到特定的“中國式企業應用”場景案例 ;從簡單的基於web頁面設計器的流程定製,到與Spring、JMS的複雜整合。對讀者而言,該書做到了一步一步帶入門,而後逐漸展開視野、深入機理,使人“知jBPM然,也知其所以然”。

作者的對工作流模型,尤其是BPM的理解,功力十分深厚。他以適合於中國學生理解的思維方式,爲讀者解讀了jBPM設計,展現了jBPM4的API的全景視圖。更難得的是,書中的“中國特色工作流的jBPM實現”這一章節非常精準的直擊目前中國企業信息化過程在工作流系統上經常遇見老大難問題,讓人讀後拍手稱快。

不是所有的書籍都能從工作流的基礎概念講述到開發中遇到的現實問題的,這本書做到了。它既適合剛剛接觸流程引擎的初學者入門,又適合於對jBPM3/4有一定使用基礎,需要深入學習的在職從業人員。它是本人所讀到的國內相關書籍中對jBPM4描述最爲全面、最爲深入的作品之一。

林良益

就職於搜狐福州分公司Java架構師,負責網絡搜索與SNS底層框架設計
開源項目 《IKAnalyzer中文分詞器》、《IKExpression表達式解析器》 作者

clip_image003

 

jBPM作爲歷史最悠久,功能最強大的開源工作流引擎一直擁有者國內外廣泛的使用羣體。2005年我在美國時因爲第一次在大型企業應用中使用了jBPM與SEAM技術還得到了jBPM團隊所在的JBoss公司2006年度世界創新獎。2007年回國與本書作者成爲同事後我們一起爲國內大量客戶進行了有關工作流引擎的諮詢工作。那時候書作者就開始不斷總結客戶所面對的問題與需求,並一直想把jBPM真正結合本土業務特色發揚光大。如今本書終於問世,過去一直纏繞着衆多國內程序員的一些如回退、會籤、自由流等“中國特色”的問題都通過jBPM4有了明快的解決之道。多年來jBPM工作組與書作者共同的厚積薄發恰如其時地爲國內程序員在實際工作中快速應用開源技術又提供了一個寶貴的武器。

馬越

就職於,中通軟聯信息科技有限公司,創始人兼首席架構師
http://www.jbosschina.org 社區創始人;2006年 Red hat/JBoss 世界創新大獎獲得者
美國10年大型商業軟件構架經驗;第一個將 Seam 及 jBPM 框架引入大型企業應用的開拓者

clip_image003

 

熟悉企業應用開發的人都知道, 工作流是企業應用開發中的一個核心概念. 從辦公自動化領域的公文審批到跨企業的異構系統集成, 背後都可以見到工作流的身影. jBPM作爲一套開源工作流產品, 已在各個行業得到了廣泛深入的應用, 其工業標準的品質也已成爲開源世界中的範例之一。

本書作者具有堅實的工作流理論基礎, 同時又具備豐富的基於jBPM的系統設計和開發經驗. 更難得可貴的是, 作者能夠很好的將理論知識與軟件開發實踐結合起來。通過對理論的講述切入實踐, 然後通過對實踐的講解進一步鞏固理論, 進而引發讀者思考如何根據理論進一步擴展實踐。與此同時, 本書還就國內工作流應用的特點, 結合jBPM產品給出了自己解決方案。 這些來自開發一線的實踐積累和經驗總結, 對於讀者來說無疑具有寶貴的價值。

另一方面, 針對某一軟件產品的介紹性書籍往往容易被寫成一本介紹如何使用該產品的操作指南, 冷冰冰的操作步驟描述, 再加上直接從外文資料上截取下來的翻譯內容, 讓人閱讀起來覺得了無生趣. 而本書作者可以說在提高閱讀體驗方面花了很大心力。語言樸實, 描述準確, 包括設計演示場景和示例的時候, 也是儘量考慮到讀者的知識背景和閱讀體驗. 介紹理論的時候不顯得枯燥, 描述操作的時候不覺得繁瑣, 無論是初次涉及到工作流概念的新手, 還是有一定工作流經驗的設計師, 都能從本書中有所收穫。

王瑜

就職於GrapeCity集團技術管理組,高級架構師

clip_image002

 

首先十分感謝作者給我這個機會在他的作品即將問世之前作一些感想,也正好讓我能在忙碌中抽空回顧一下這麼多年在技術平臺方面走過的路以及在workflow方面的點點滴滴。因爲本書是介紹jBPM的專業書籍,所以我談不上給些什麼評論。只是從對作者的印象和對書中內容引發一些思考和回味分享給大家。

首先就要從我跟作者如何相識的初次合作談起了。記得那應該是2005年,我們在經歷了2年多搭建面向ERP項目的研發平臺初具規模。正在10多個大型項目中服務。當時從底層技術框架、代碼生成工具、組織權限等等諸多技術問題都得到充分的考慮和解決。當然肯定少不了對workflow業務的解決。當時我們選用的WfMC的XPDL語法,從引擎、設計器、監控器、模擬器、組織模型全套都實現了。最初因某些項目原因採用的.net,後遷移到java平臺下,並且以hibernate作存儲,也是採用的微內核和狀態機的設計思路。提供了一整套的API(類似jBPM等主流工作流引擎提供的方式)。但在幾個大項目實際使用中發現這種純粹API二次開發的方式,基於封閉工作流系統無法高效地支撐業務快速開發及流程仿真重組。

對業務系統快速實施有價值的是整合了組織定義、流程定義、業務表單定義、業務數據權限定義工具等等全集成的定製系統,不用通過編寫代碼業務需求人員通過已經的拖拽即可完成各種層級集團應用的定義。並適當設置一定的業務腳本即可完成業務系統的定義。所以我們在2005年6月啓動了這件事情,基於已有的組織權限,工作流基礎上加入業務表單定義及整合的設計定義功能。然後在公司內部到處挖人,我習慣於以技術geek的方式在公司內部到處引誘人,都是先通過非正式的方式從技術角度找到有想法感興趣的人,然後再用各種手段搞到這個人加入。

記得那個時候遇到一個意氣風發滿懷抱負的年輕小夥子給我留下了深刻的印象。他剛剛做完一個電信的項目,愛好非常廣泛,js很好,也會flash,想法特別多,手特別快。所以我就通過各種手段搞到這個傢伙加入我們,那就是年輕時的作者。很快他先搞定了業務表單定義的技術攻關,可能當時我們是最早使用XmlHttpRequest的(AJAX的核心),然後基於workflow如何接收表單傳遞過來的數據,然後接手了整個workflow的優化及實現各種變態的中國特色的工作流需求。我們在10月左右發佈了一個完整的版本,支持了上面講到的那些功能。現在回頭看看大家都很神奇,10個人不到3個月就搞定了這麼複雜的東東,也許換到今天開源技術如此成熟可能都未必能做到。之後這個傢伙就一定要堅持在專業方向堅持workflow爲方向不斷成爲專家。

再一晃就是多年以後的事情了,我也從搭建ERP研發平臺到互聯網SNS大型數據平臺又轉回到專屬行業ERP產品平臺。不論管理大型團隊多少年,始終秉承着對技術的癡迷,從未放棄對任何技術細節的關注,而也越來越推崇中庸推崇妥協。

這期間我們有過斷斷續續的聯繫,也曾經爲一些點子一起瘋狂一起興奮。不過終究沒有找到合適的機會再次合作。收到作者的邀請時,十分地受寵若驚,當時手頭的事情也特別多。而且類似的書我也見的特別過,不外乎就是英翻中,所以就根本沒放在心上。直到後來拿到作品仔細閱讀了一番,漸漸地能體會和重現這個傢伙幾年的歷程。一直在專業(workflow)的道路上滋滋以求。

當然文中難免大量資料的複製,但是能花大量心血組織起來如此詳實全面的介紹已實屬不易。而且加上了這傢伙從當年我們一起做流程系統時的經驗和他在jBPM系列產品應用實施上多年的諮詢經歷.

最近我也在平臺中的多處集成了jBPM用於解決傳統審批流,跨業務域集成BPM,以及ETL流等等,當然不會孤立使用workfow,肯定是結合ESB,MDA,規則引擎等等一起使用。一直想給大家從概念到workflow的歷史,再到如何運用jBPM解決各種問題等等有一個全面的講解,正好拿到額這本書,省了我很大的氣力了。

這幾年IT業內浮躁風氣、快餐文化盛行,用過Spring、Struts、jBPM就敢說自己是架構師。而很少有人能夠踏踏實實潛心研究各種技術的根源,爲什麼要這麼設計,如何擴展更爲有效。從我們做平臺的人角度來看簡單會用沒什麼,關鍵是能理解精髓並擴展或改造纔是本事。

像作者這樣致力於在國內傳播workflow的模型,讓更多的人少走彎路,快速上手。並不斷將多年研究的心得和成果同大家分享的人太少了,國內太少這種人了。也許這本書可以爲不少人提供瞭解jBPM的素食套餐。尤其本書中第20章《中國特色工作流的 jBPM實現》十分具有實戰意義。特別值得國內使用jBPM做應用的人們參考的最佳實踐。

筆觸於此,擡眼已很晚了,一氣呵成就先寫這麼多。讓我們一起讀完全書後再回來一起思考和回味下面這兩個問題吧:

有想法、專注、願意分享的年輕人,我們應該有怎樣的IT人生?

業內規範的演化進步,我們又會遭遇怎樣的IT進程?

吳俊

就職於北京天大天科科技發展有限公司,首席架構師

clip_image003

 

很高興向大家推薦《jBPM4工作流應用開發指南》這本書,jBPM是目前國內公司使用最多的開源工作流引擎,不過雖然越來越多公司選擇將jBPM加入自己的項目或產品中,卻發現總是被同樣的問題絆住手腳。這本書爲尚未接觸過工作流領域的同仁們開啓了大門,它以淺顯易懂的文字,循序漸進的介紹了流程領域的應用知識,並提供了實例輔助大家的學習,最後還特別針對國內的特殊流程需求提出了對應的解決方案,幫助大家快速越過這些障礙。

徐會生

就職於百度公司,軟件工程師
http://www.family168.com/ 站長

clip_image002[2]

 

對於企業級IT應用系統而言重要的內容是業務活動流程,人員組織架構,業務數據標準定義。工作流軟件幫助企業應用開發者方便地處理實現以上三個部分的內容,可以使用圖形化流程編排的方式定義業務流程,定義企業內部組織結構,人員角色和角色關聯的工作任務,在流程中連接企業內部的其他系統,讓標準的業務數據流在企業內部的各個系統中流轉,完成企業運作的各項工作。

類比編程實現函數的數據處理流程, 使用工作流軟件工具編排實現業務處理流程是企業應用開發者必須具備的一項技能。隨着企業應用系統複雜度的不斷提升,只提三尺編程之劍,是無法縱橫於軟件江湖的。每一個在企業應用領域的技術工作者需要更先進更強大的技術來武裝自己。工作流是企業應用中非常重要的技術,學習瞭解這門技術,包括概念,功能,發展過程,基本原理,技術標準,產品工具的使用,開發技能和經驗共享等,就是一項緊迫的任務了。

學習需要深入本質,舉一反三。我們不需要學習所有主流工作流軟件, 選擇一個規模適度(不要像IBM軟件套件那麼讓人生畏 )、應用廣泛、代碼開源的產品來切入,這是個明智的選擇。本書適合於想學習工作流技術,並且將使用JBPM來做應用開發的讀者來閱讀學習。對於從事工作流產品開發者來說也可以從第1、12、13、20章讀到一些自己感興趣的內容。如果說JBPM是開發企業工作流系統的利器,那麼只有開發者熟練掌握了這個工具才真正有用。本書就是個很好的選擇,來幫助你瞭解學習和掌握這門技術和相關工具。不只侷限於對工具使用的介紹,本書將會告訴你這項技術的方方面面,開啓一扇步入工作流領域大門,引導你獲悉內功本質,熟練操作招式,在之後的企業應用開發過程中把這項技術用的好,用的準。

趙亮

就職於TIBCO中國研發中心,開發部門經理

clip_image002[2]

 

China-Pub
http://www.china-pub.com/197114

百度百科
http://baike.baidu.com/view/4484248.htm

51CTO
http://book.51cto.com/art/201009/228697.htm

JavaEye
http://www.javaeye.com/topic/771360

開源中國社區
http://www.oschina.net/bbs/thread/11535

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章