<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 3,  comments - 5,  trackbacks - 0

        開(kāi)始接觸工作流是兩年前,那時(shí)剛進(jìn)公司,自己也算是個(gè)新手,到公司后被分配到做IT網(wǎng)管的項(xiàng)目組,做了些東西,后來(lái)成立了個(gè)新的項(xiàng)目組,我被分配到這個(gè)新組成的項(xiàng)目組,也就是從這以后開(kāi)始接觸工作流的。當(dāng)時(shí)對(duì)工作流是一點(diǎn)概念都沒(méi)有,慢慢從公司開(kāi)發(fā)的基于db的工作流平臺(tái)開(kāi)始接觸工作流,并基于此工作流平臺(tái)結(jié)合業(yè)務(wù)開(kāi)發(fā)了幾個(gè)模塊。
        公司的這個(gè)基于db的工作流平臺(tái)還是實(shí)現(xiàn)了許多功能:
            1、基于web的流程設(shè)計(jì)器,主要是基于IEvml語(yǔ)言開(kāi)發(fā)的,可以設(shè)計(jì)出如下圖的流程模板。

        此流程模板包括開(kāi)始環(huán)節(jié),結(jié)束環(huán)節(jié)以及人工處理的兩個(gè)環(huán)節(jié)(專家組處理和發(fā)起人確認(rèn)),實(shí)現(xiàn)環(huán)節(jié)的自循環(huán)以及回朔,分別在“專家組處理”環(huán)節(jié)和“發(fā)起人確認(rèn)”環(huán)節(jié)上實(shí)現(xiàn)。基于此流程運(yùn)行中的實(shí)例圖如下:


        2、環(huán)節(jié)的扭轉(zhuǎn)
        A、串行
        像上圖中介紹的就是實(shí)現(xiàn)了串行的功能。
        B、并行如圖

        C、多實(shí)例(即平常所說(shuō)的會(huì)簽)
        實(shí)現(xiàn)了包括所有會(huì)簽都完成后才往下個(gè)環(huán)節(jié)走和幾個(gè)會(huì)簽后就可往下個(gè)環(huán)節(jié)走的功能,流程的模板如圖:

        其中環(huán)節(jié)模板上帶“M”的環(huán)節(jié)就表示是多實(shí)例的環(huán)節(jié)。
        運(yùn)行中的實(shí)例如圖:

        D、子流程子流程是在一個(gè)虛擬環(huán)節(jié)中實(shí)現(xiàn)的,即該環(huán)節(jié)不是人工環(huán)節(jié)。如圖:

        基本上一個(gè)簡(jiǎn)單的工作流平臺(tái)的功能都差不多實(shí)現(xiàn)了,不過(guò)在使用過(guò)程中還是發(fā)現(xiàn)了許多的弊端,畢竟系統(tǒng)的邏輯大部分是基于數(shù)據(jù)庫(kù)函數(shù)實(shí)現(xiàn)的,這使得大部分的邏輯都要依賴于數(shù)據(jù)庫(kù),而外圍的一些基于java的邏輯實(shí)現(xiàn)就比較難實(shí)現(xiàn)了,舉個(gè)例子:在和外系統(tǒng)做接口時(shí),當(dāng)某個(gè)環(huán)節(jié)竣工后要向外系統(tǒng)發(fā)信息,而信息是通過(guò)url的方式傳遞的,這個(gè)用java實(shí)現(xiàn)是很容易的,而用數(shù)據(jù)庫(kù)函數(shù)就無(wú)法直接實(shí)現(xiàn)了(據(jù)目前自己掌握的技術(shù)判斷,不知是否有辦法實(shí)現(xiàn),望知道者告知),現(xiàn)在變通的一個(gè)做法是在數(shù)據(jù)庫(kù)里保存信息,然后通過(guò)quartz定時(shí)的掃描該表,有數(shù)據(jù)則通過(guò)httpclient給外系統(tǒng)發(fā)送信息。還有模型本身只有開(kāi)始環(huán)節(jié),結(jié)束環(huán)節(jié),虛擬環(huán)節(jié)和人工執(zhí)行環(huán)節(jié),使得客戶提的要按業(yè)務(wù)路由的功能就無(wú)法實(shí)現(xiàn)了,因?yàn)槿鄙賯€(gè)判斷環(huán)節(jié)模板,就是jbpm中的decision環(huán)節(jié)模板,所以在創(chuàng)建下個(gè)環(huán)節(jié)的時(shí)候大部分都是人為的主觀去判斷到底是走上圖中的“方案審核”還是“任務(wù)分配”環(huán)節(jié)。這使得運(yùn)用流程整合業(yè)務(wù)邏輯時(shí)并沒(méi)有完全的實(shí)現(xiàn)流程的自動(dòng)化。
        其實(shí)還有很多的缺陷,只是我們都是通過(guò)變相的方式給予了實(shí)現(xiàn),可是客戶有些需求在該平臺(tái)上還是無(wú)法實(shí)現(xiàn)的。鑒于此,就開(kāi)始尋找開(kāi)源的工作流引擎,在osworkflowjbpmshark等的開(kāi)源工作流引擎中選擇了jbpm。為什么會(huì)選擇jbpm呢?原因還是蠻多的,具體列出幾條如下幾條:
        1、 基于petri net理論實(shí)現(xiàn)的工作流。
        2、 引擎核心以微內(nèi)核的方式實(shí)現(xiàn)(主要邏輯都在graph包下)。
        3、 基于hibernate實(shí)現(xiàn)持久化。
        4、 很容易的和spring實(shí)現(xiàn)整合,通過(guò)spring-modules實(shí)現(xiàn)整合。
    等。最后附上一個(gè)最復(fù)雜的流程圖(像蜘蛛網(wǎng)更貼切^_^)
     
    posted on 2008-09-15 18:21 囧囧之豬 閱讀(716) 評(píng)論(0)  編輯  收藏 所屬分類: workflow

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    <2008年9月>
    31123456
    78910111213
    14151617181920
    21222324252627
    2829301234
    567891011

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    相冊(cè)

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲国产成人久久综合一| 国产成人无码免费视频97 | 久久久久久a亚洲欧洲aⅴ| 免费一级特黄特色大片| 亚洲А∨精品天堂在线| 日韩大片免费观看视频播放| 四虎永久精品免费观看| 黄页视频在线观看免费| 亚洲一线产区二线产区区| 国产成人午夜精品免费视频| 亚洲人成人77777在线播放| 免费影院未满十八勿进网站| 亚洲精品蜜夜内射| 亚洲成aⅴ人片久青草影院| 国产免费久久精品99久久| 久久久青草青青亚洲国产免观| 一个人免费视频观看在线www| 亚洲国产精品无码中文字| 91在线手机精品免费观看| 亚洲jjzzjjzz在线观看| 四虎永久免费观看| 一本岛v免费不卡一二三区| 国产亚洲免费的视频看| 美女内射毛片在线看免费人动物| 亚洲综合校园春色| 亚洲精品国产精品乱码不卡| 97人妻精品全国免费视频 | 亚洲AV无码乱码在线观看裸奔| 91精品啪在线观看国产线免费| 天堂亚洲国产中文在线| 免费不卡中文字幕在线| 成人爽a毛片免费| 亚洲一区二区三区免费视频| 亚洲а∨天堂久久精品| 99re6热视频精品免费观看| 精品国产亚洲一区二区三区在线观看 | 免费v片在线观看无遮挡| 日本免费电影一区二区| 亚洲精品国产suv一区88 | 亚洲美女在线国产| 国产在线jyzzjyzz免费麻豆|