freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

揭秘jbpm流程引擎內(nèi)核設(shè)計思想及構(gòu)架-wenkub

2023-04-23 23:33:37 本頁面
 

【正文】 點運行到另一個節(jié)點。但本文的主旨不是告訴大家“jBpm是如何設(shè)計引擎內(nèi)核的”,而是以jBpm為例,來介紹“引擎內(nèi)核”。但這絕不是兩個獨立的問題,“引擎的抽象”的好與壞,直接影響到“引擎的應(yīng)用”的可復(fù)雜度和可支持度,當(dāng)然我們也不能否認(rèn),“引擎的應(yīng)用”問題也是一個很復(fù)雜的問題?!@就是引擎內(nèi)核所關(guān)注的根本問題。 但很可惜,至今尚未有一本專門的書籍來論述“過程建模方法”的,或者說如何利用這些既有的“過程建模方法(諸如FSM、PetriNet、EPC、Activity Diagram等等)”來解決流程問題。 很顯然,要想設(shè)計出一套結(jié)構(gòu)優(yōu)良的引擎內(nèi)核,首要條件就是:明白什么是引擎內(nèi)核。按照其參考手冊,可以很容易在eclipse開發(fā)環(huán)境中建立項目,效果圖類似如下:3 什么是流程引擎內(nèi)核? 我比較推崇“微內(nèi)核的流程引擎構(gòu)架”,并在最近兩三年內(nèi)寫了兩篇探討此方面的文章:第一篇是寫于05年7月份的《微內(nèi)核流程引擎架構(gòu)體系》,第二篇是07年7月份的《微內(nèi)核過程引擎的設(shè)計思路和構(gòu)架》(受普元《銀彈》雜志約稿所寫,尚未對外公開)。所以本文認(rèn)為你已經(jīng)具備了如下基本工作流知識:(1)初步了解工作流系統(tǒng)結(jié)構(gòu)。但是這僅僅是從jBpm的實現(xiàn)角度來輔助大家理解,因為工作流引擎內(nèi)核的設(shè)計、實現(xiàn)是有很多方式:這會因所選的模型、調(diào)度算法、推進(jìn)機(jī)制、狀態(tài)變遷機(jī)制、執(zhí)行機(jī)制等多方面的不一樣,而會差別很大。 所以在此之前,國內(nèi)尚未有一篇技術(shù)文章探討工作流引擎內(nèi)核的實現(xiàn),當(dāng)然也沒有探討jBpm引擎內(nèi)核的文章了。否則,一個引擎對你來說,可能只是一個復(fù)雜的結(jié)構(gòu),豐富多彩API、令人眼花繚亂的“功能”和“服務(wù)”而已。揭秘jbpm流程引擎內(nèi)核設(shè)計思想及構(gòu)架 作者 胡長城 前言 流程引擎內(nèi)核僅是“滿足Process基本運行”的最微小結(jié)構(gòu),而整個引擎則要復(fù)雜很多,包括“狀態(tài)存儲”、“事件處理”、“組織適配”、“時間調(diào)度”、“消息服務(wù)”等等外圍的服務(wù)性功能。本身工作流這個領(lǐng)域就是一個很“狹窄”的領(lǐng)域,國內(nèi)的廠商也不是很多,其中有部分實現(xiàn)技術(shù)并不弱。 技術(shù)站點和我的blog()上有幾篇專門探討jbpm應(yīng)用的文章,對于初步想了解如何使用jbpm的讀者來說,值得看看。比如基于Activity Diagram模型的jBpm和基于FSM模型的OSWorkflow引擎內(nèi)核之間就有很大的差別。比如理解工作流引擎在工作流系統(tǒng)中所處的位置和作用(2)對流程定義(Process Definition)和流程實例(Process Instance)相關(guān)對象有所了解。 但至今對外闡述引擎內(nèi)核到底是什么。 首先我們需要明白引擎是什么,引擎可以做什么。這個只能分別查閱相關(guān)資料,此處也不敘述。 上面這句話,估計會引起很多人“拍磚”。但本文是站在“引擎的抽象”這個維度來闡述問題的。4 擎內(nèi)核所關(guān)注的四個主要問題引擎內(nèi)核所關(guān)注的是一個非?!俺橄蟆睂用娴膯栴},而不同引擎關(guān)注的“一套完整的執(zhí)行環(huán)境”。(3)流程執(zhí)行問題:當(dāng)流程運行到某個節(jié)點的時候,需要一套機(jī)制來解決:是否執(zhí)行此節(jié)點,并如何執(zhí)行此節(jié)點的問題,并維持節(jié)點狀態(tài)生命周期。比如jBpm的定義對象,是與其所基于的Activity Diagram模型相對應(yīng)的。 jBpm本身就吸納的token這套機(jī)制,當(dāng)然,與Petri Net的調(diào)度機(jī)制還是有所區(qū)別。之所有有時候我們會把一個流程引擎也叫做“狀態(tài)機(jī)”,很大程度上也是這個原因。(3)一些臨時的“執(zhí)行”信息,便于引擎針對某種情況進(jìn)行處jbpm,“精簡”的開源流程引擎. 好的開源工作流引擎不多,jbpm和osworkflow算是其中兩個有特色而且比較容易實際應(yīng)用的。自從被Jboss收購之后,整個結(jié)構(gòu)完全本著“微內(nèi)核”的思想進(jìn)行設(shè)計。(4)jbpm提供了可擴(kuò)展的Task及分配機(jī)制,來滿足復(fù)雜人工活動的處理。(1)很顯然,只能有一個startstate。這一點可能是東西方文化的差異性所在,因為國內(nèi)的流程應(yīng)用,比較關(guān)注“運行軌跡”。 但是,當(dāng)你試圖修改jbpm代碼的時候,你會顧慮jbpm的LGPL協(xié)議嗎?(很多國內(nèi)企業(yè)從來不考慮這個協(xié)議問題,寒)。jBpm采用了Activity Diagram的模型語義:其將用Start State、State、Action State(Task Node)、End State、Fork、Join、Decision、Merge、Process State這幾個“元素”的組合來描述任何一個流程。利用這個描述語言可以描述一個流程的定義。流程引擎就需要把“xml格式的流程定義”解析為一套對象,而這套對象的結(jié)構(gòu)則反映了流程的結(jié)構(gòu)。那么這套定義對象也需要從最基礎(chǔ)的“抽象”說起。這個節(jié)點可能是start state,也可能是一個task node,或者是一個fork。但是jBpm的節(jié)點是沒有這樣的屬性的,或者說的更準(zhǔn)確些,是Activity Diagram模型的節(jié)點沒有這樣的特性。如下圖所示:這是一張非常標(biāo)準(zhǔn)的“活動圖”,如果我們用jbpm的設(shè)計器,看看這樣一張“流程圖”:不論你如何繪畫,改變不了這張圖的本質(zhì):它就只有兩個基本元素:節(jié)點和轉(zhuǎn)移。 7 jBpm的過程調(diào)度機(jī)制 Net
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1