官术网_书友最值得收藏!

前言

創(chuàng)作背景

對(duì)于OA內(nèi)部辦公系統(tǒng)、ERP系統(tǒng)、審批系統(tǒng)等經(jīng)常需要大量的使用工作流,而Activiti框架可以更好地輔助開發(fā)人員解決實(shí)際工作中遇到的流程問題,因此Activiti的重要性不言而喻。

很多朋友在實(shí)際項(xiàng)目開發(fā)中意識(shí)到了Activiti的重要性,也看了相關(guān)的書籍和資料,但是常聽到這樣的抱怨Activiti的書我看了不少,覺得看懂了,但就是不知道如何更好地?cái)U(kuò)展以及改造Activiti,更不知道如何對(duì)其進(jìn)行性能優(yōu)化,達(dá)不到技術(shù)解決實(shí)際需求。

其實(shí)不難看出,造成這樣的情況歸根結(jié)底在于:這些朋友對(duì)于Activiti缺少架構(gòu)方面的了解,缺少底層實(shí)現(xiàn)細(xì)節(jié)的認(rèn)識(shí),認(rèn)為只使用Activiti提供的API就足夠項(xiàng)目開發(fā)了,其實(shí)還差得很遠(yuǎn),并沒有從更高層次來理解和認(rèn)識(shí)Activiti,沒有“真正”讓Activiti框架開足馬力來為項(xiàng)目服務(wù)。正所謂了解其本質(zhì),掌握其原理才能更好地讓Activiti框架為自身項(xiàng)目服務(wù),而不是成為項(xiàng)目中的黑匣子、絆腳石。

市面上及網(wǎng)絡(luò)上有不少Activiti方面的書籍,但對(duì)于一般的開發(fā)朋友而言,要么太深,不能撥云見日,要么太淺,看了跟沒看沒有什么區(qū)別,再次遇到類似的問題還是無從下手,其根本原因還是講得太淺、不成系統(tǒng),與企業(yè)開發(fā)脫軌。

對(duì)于所有想要深入學(xué)習(xí)Activiti框架的朋友,其實(shí)需要類似這樣的書籍。

■ 講解深入淺出、淺顯易懂。

■ 實(shí)例來自實(shí)際的企業(yè)級(jí)項(xiàng)目開發(fā),而不是來自虛擬的場景。

■ 對(duì)于Activiti框架提供的功能,在開發(fā)過程中覺得部分功能不太好,可以靈活地?cái)U(kuò)展框架。

■ 深入講解Activiti的內(nèi)部實(shí)現(xiàn)機(jī)制以及運(yùn)行原理。

■ 一本“干貨”書。

這也是本書創(chuàng)建的目的,授人于魚不如授之于漁,希望能夠幫助更多的朋友更好地合理運(yùn)用、擴(kuò)展以及優(yōu)化Activiti,而不是僅僅局限于使用框架提供的API。因?yàn)闀?huì)用僅僅是入門而已,精通則是另一個(gè)層面的問題。

有過多年的開發(fā)經(jīng)驗(yàn)以及一年的沉淀和準(zhǔn)備最終成書,我們可以這樣說:這是一本深入講解Activiti的書,這是一本干貨書,不僅有源碼的講解,還有基于源碼講解基礎(chǔ)之上的實(shí)戰(zhàn)講解,這是一本誠意十足的書,這是一本深入講解Activiti內(nèi)核的書,這是一本真正的企業(yè)級(jí)實(shí)戰(zhàn)書,敬請(qǐng)您研磨、品評(píng)鑒定。

本書的試讀人員包括:在校大學(xué)生,1~10年的工作人員,職位覆蓋中高級(jí)程序員、項(xiàng)目經(jīng)理、系統(tǒng)架構(gòu)師、總監(jiān)、技術(shù)部經(jīng)理和總經(jīng)理等。

試讀結(jié)果反饋:工作2年以下的開發(fā)人員,基本上都可以看明白,還需要認(rèn)真研磨和消化吸收;工作2~5年的朋友,原來Activiti還可以這樣用,真是滿滿的干貨,達(dá)到了本書寫作的目的和意圖;工作5~8年的朋友,可以借鑒Activiti中的設(shè)計(jì)思想并運(yùn)用到實(shí)際項(xiàng)目開發(fā)中;工作8~10年的朋友,這不僅是一本講解如何使用Activiti的書,還講解了Activiti框架的技術(shù)選型和架構(gòu)思想的書,一本物有所值、貨真價(jià)實(shí)的書。

本書體系結(jié)構(gòu)

本書旨在深入學(xué)習(xí)Activiti的內(nèi)部處理機(jī)制。由淺入深、由易到難地對(duì)Activiti源碼展開系統(tǒng)地講解和擴(kuò)展,并對(duì)框架中的部分缺陷進(jìn)行修正,從而可以使讀者更加靈活地運(yùn)用和改造Activiti。

第1章 介紹Activiti環(huán)境搭建、設(shè)計(jì)器的安裝、源碼的獲取和編譯。

第2章 詳細(xì)講解流程配置文件的創(chuàng)建方式,流程引擎的架構(gòu)、流程引擎配置類和流程引擎的創(chuàng)建內(nèi)部實(shí)現(xiàn)機(jī)制,配置器的使用以及注意事項(xiàng),流程引擎的管理以及流程引擎生命周期監(jiān)聽器的使用。

第3章 講解流程資源的部署、各種部署方式以及BpmnModel與流程文檔之間的轉(zhuǎn)換和格式校驗(yàn)。

第4章 濃墨重彩地講解流程文檔解析原理和架構(gòu)思想,包括文檔轉(zhuǎn)換器、流程元素解析、外圍元素解析、根元素解析、流程元素解析、擴(kuò)展元素解析、子元素解析、連線元素、黑名單機(jī)制以及元素解析器的架構(gòu)設(shè)計(jì)。

第5章 詳細(xì)講解自定義元素的解析,包括自定義元素的解析原理、自定義元素的存儲(chǔ)、黑名單元素以及非黑名單元素解析實(shí)戰(zhàn)。

第6章 介紹事件轉(zhuǎn)發(fā)器的內(nèi)部實(shí)現(xiàn)機(jī)制,包括事件轉(zhuǎn)發(fā)器的初始化、架構(gòu)、注冊(cè)方式,日志監(jiān)聽器的使用和擴(kuò)展,日志清洗器的架構(gòu)和自定義日志清洗器的使用。

第7章 深入剖析流程文檔部署的內(nèi)部實(shí)現(xiàn)機(jī)制,包括內(nèi)置部署器的使用、部署命令以及自定義部署器實(shí)戰(zhàn)。

第8章 講解流程定義緩存的使用,包括自定義緩存處理類、節(jié)點(diǎn)緩存(新特性)的使用和Bug修復(fù),以及配置器的高級(jí)使用技巧從而可以使流程信息徹底動(dòng)態(tài)化。

第9章 講解定時(shí)器的使用、運(yùn)行原理以及自定義作業(yè)處理器實(shí)戰(zhàn)。

第10章 講解流程虛擬機(jī)的內(nèi)部處理機(jī)制,包括對(duì)象解析器架構(gòu)、自定義對(duì)象解析器、無縫入侵虛擬機(jī)以及操作表達(dá)式。

第11章 講解監(jiān)聽器原理,包括監(jiān)聽器的生命周期,內(nèi)置記錄監(jiān)聽器,歷史解析器的架構(gòu)設(shè)計(jì),監(jiān)聽器的觸發(fā)時(shí)機(jī)和監(jiān)聽器代理類、自定義全局監(jiān)聽器的實(shí)現(xiàn)和字段注射模式(新特性)。

第12章 講解Activiti中使用的命令模式,包括職責(zé)鏈模式,事務(wù)處理、事務(wù)上下文、事務(wù)監(jiān)聽器以及同步事務(wù)。

第13章 講解流程虛擬機(jī)運(yùn)轉(zhuǎn)的整個(gè)過程以及各種原子類的功能邊界和職責(zé),包括異步與非異步節(jié)點(diǎn)處理和忽略節(jié)點(diǎn)功能。

第14章 講解各種活動(dòng)行為類的原理,包括排他網(wǎng)關(guān)行為類、自定義行為類,任務(wù)節(jié)點(diǎn)處理人多元化、多維度的處理,忽略節(jié)點(diǎn)使用誤區(qū)以及Bug修復(fù)、子流程業(yè)務(wù)鍵Bug修復(fù)。

第15章 講解MyBatis框架在Activiti中的使用,包括初始化數(shù)據(jù)源、數(shù)據(jù)訪問層關(guān)系分析,自定義Mapper實(shí)戰(zhàn),Session架構(gòu)、SessionFactory架構(gòu),SQL語句適配器、SQL執(zhí)行id值生成規(guī)則,實(shí)體管理類,樂觀鎖,會(huì)話緩存的構(gòu)建以及刷新過程。

第16章 實(shí)現(xiàn)高并發(fā)id生成器,講解了變量類型的原理以及自定義變量處理類、ServiceLoader方式注入配置器,任務(wù)的認(rèn)領(lǐng)、歸還、代理任務(wù)、會(huì)簽的實(shí)現(xiàn)(加簽、退簽和減簽),節(jié)點(diǎn)跳轉(zhuǎn)(常規(guī)節(jié)點(diǎn)、分支節(jié)點(diǎn)和會(huì)簽節(jié)點(diǎn)),會(huì)簽自定義權(quán)重實(shí)戰(zhàn),接管Activiti(映射文件、自定義部門實(shí)現(xiàn)、擴(kuò)展任務(wù)節(jié)點(diǎn)參與者表和自定義代辦SQL),接管實(shí)體管理類。

本書約定

本書在講述過程中,有如下約定:

? 引擎與流程引擎是等價(jià)的。

? 如無特殊說明,文檔均指流程文檔。

? 虛擬機(jī)默認(rèn)指的是流程虛擬機(jī)

? 本書的程序、實(shí)例均在JDK1.6中運(yùn)行,使用的數(shù)據(jù)庫為MySQL。

聯(lián)系作者

本書的創(chuàng)作過程中可謂異常艱辛,由于Activiti內(nèi)容涵蓋面比較廣泛,涉及的知識(shí)點(diǎn)非常之多,再加上Activiti框架中自身的一些缺陷和Bug,因此為了能夠讓全書更加清楚、更加準(zhǔn)確地闡述,筆者經(jīng)歷了許多不眠之夜。由于寫作水平有限,本書不足之處在所難免,望讀者諒解。更期待各界高手、專家就不足之處賜教。

為此,如果讀者有任何的疑問或者建議,非常歡迎大家加入QQ群475458061,一起探討學(xué)習(xí)。我期待與大家一起交流學(xué)習(xí)、共同進(jìn)步。同時(shí)也希望大家可以關(guān)注我的博客:http://www.shareniu.com/

真誠致謝

創(chuàng)作的過程是痛苦的,持續(xù)的時(shí)間也遠(yuǎn)遠(yuǎn)超乎我的預(yù)期,本以為自己對(duì)Activiti已經(jīng)了如指掌,但在寫作的過程中還是會(huì)遇到各種各樣的問題,幸運(yùn)的是自己咬牙堅(jiān)持下來了。

首先要感謝清華大學(xué)出版社的員工,本書的策劃編輯,他們是我見過的最好的出版人,對(duì)本書從選題到出版的各個(gè)環(huán)節(jié),都給予大量的指導(dǎo)和幫助,這對(duì)我的一生都有幫助。

其次要感謝我的妻子,一個(gè)產(chǎn)品經(jīng)理,從產(chǎn)品的角度來讓本書內(nèi)容的層次感更加的清晰和人性化。她始終不辭辛勞,毫無怨言地對(duì)我照顧有加,才能我有更多的時(shí)間用來創(chuàng)作。

然后要感謝鄭州輕工業(yè)學(xué)院張志鋒教授、靳喜軍、曾維林、李志、寇成星、張霞等在整個(gè)編寫過程中給予的支持和幫助。

接下來,感謝家人、感謝朋友、感謝北京的明媚陽光和漫天風(fēng)沙以及熙熙攘攘的回龍觀,總之感謝一切。

最后,提前感謝購買本書的朋友們,您的支持信任是我們繼續(xù)前進(jìn)的動(dòng)力。

冀正

2017年5月

主站蜘蛛池模板: 永州市| 房产| 马山县| 长乐市| 新营市| 二连浩特市| 深州市| 四会市| 永寿县| 松阳县| 乌恰县| 洪泽县| 阿拉尔市| 弋阳县| 大关县| 科技| 德清县| 甘肃省| 来凤县| 潞西市| 平安县| 长治市| 漠河县| 昌黎县| 乐安县| 雷州市| 那坡县| 宿州市| 通化市| 南开区| 台湾省| 萨嘎县| 十堰市| 麟游县| 永仁县| 宜丰县| 洛南县| 尼玛县| 德兴市| 类乌齐县| 德兴市|