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

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

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

    DANCE WITH JAVA

    開發(fā)出高質(zhì)量的系統(tǒng)

    常用鏈接

    統(tǒng)計(jì)

    積分與排名

    好友之家

    最新評(píng)論

    工作流入門

      工作流無疑是一個(gè)熱門話題,以前的開發(fā)中一直不會(huì)接觸到這個(gè)層面,所以一直沒有來得及看到。現(xiàn)在由于工作需要開始接觸工作流,這里留下一個(gè)我學(xué)習(xí)的過程,提供一些好的資源和一些自己的體會(huì),方便大家學(xué)習(xí)探討。

    一、為什么使用工作流、工作流這個(gè)技術(shù)的現(xiàn)狀
    出于習(xí)慣,每當(dāng)我學(xué)習(xí)一個(gè)技術(shù)的時(shí)候,必須要知道為什么要學(xué)習(xí)它,它能給我?guī)硎裁春锰帲私饬诉@個(gè)才能讓我決定是否使用,在什么時(shí)候使用。另外了解一下這個(gè)技術(shù)的現(xiàn)狀有助于從總體上把握這個(gè)技術(shù)。對(duì)于一個(gè)發(fā)展階段的技術(shù)和一個(gè)成熟的技術(shù)對(duì)待方式是不一樣的。
    關(guān)于這點(diǎn),參考這篇文章:http://www.joinwork.net/document/The%20State%20of%20Workflow2.htm
    所有我看過的文章中,這篇文章最清晰的說明了我上邊的兩個(gè)問題,而且以問答的方式來寫的,適合從頭開始的人。
    這篇文章的作者Tom Baeyens (jbpm工作流框架的作者)翻譯dinghong,感謝他們提供了一個(gè)好的文章。
    二、工作流框架的選擇
    由于開源的流行我們可以有更多的選擇,這給我們帶來了很多的方便,好處多多不用說了,但也給我們帶了了一些麻煩,用Java 的人都了解,百家爭(zhēng)鳴讓人眼花繚亂,一個(gè)重要的事情是選擇,哪一個(gè)適合自己,或者說你更喜歡哪一個(gè)。選擇也是一個(gè)難題。選擇的好能節(jié)省很多時(shí)間,少走彎路。
    在這個(gè)問題上我沒有選擇,因?yàn)槲也皇沁@個(gè)方面的主要負(fù)責(zé)人,框架的選擇已經(jīng)定下來了,OSWorkFlow.這對(duì)我也許是個(gè)好消息,因?yàn)槲也恍枰僭诖罅康目蚣苤腥ミx擇,只需要專一于一個(gè),省去大量的時(shí)間。
    三、OSWorkFlow主要優(yōu)勢(shì)
    OSWorkflow 給你絕對(duì)的靈活性。OSWorkflow 被認(rèn)為是一種“低級(jí)別”工作流實(shí)現(xiàn)。與其他工作流系統(tǒng)能用圖標(biāo)表現(xiàn)“Loops(回路)”和“Conditions(條件)”相比,OSWorkflow 只是手工“編碼(Coded)”來實(shí)現(xiàn)的。但這并不能說實(shí)際的代碼是需要完全手工編碼的,腳本語言能勝任這種情形。OSWorkflow 不希望一個(gè)非技術(shù)用戶修改工作流程,雖然一些其他工作流系統(tǒng)提供了簡(jiǎn)單的 GUI 用于工作流編輯,但像這樣改變工作流,通常會(huì)破壞這些應(yīng)用。所以,進(jìn)行工作流調(diào)整的最佳人選是開發(fā)人員,他們知道該怎么改變。不過,在最新的版本中,OSWorkflow 也提供了 GUI 設(shè)計(jì)器來協(xié)助工作流的編輯。

    OSWorkflow 基于有限狀態(tài)機(jī)概念。每個(gè) state 由 step ID 和 status 聯(lián)合表現(xiàn)(可簡(jiǎn)單理解為 step 及其 status 表示有限狀態(tài)機(jī)的 state)。一個(gè) state 到另一 state 的 transition 依賴于 action 的發(fā)生,在工作流生命期內(nèi)有至少一個(gè)或多個(gè)活動(dòng)的 state。這些簡(jiǎn)單概念展現(xiàn)了 OSWorkflow 引擎的核心思想,并允許一個(gè)簡(jiǎn)單 XML 文件解釋工作流業(yè)務(wù)流程。

    上邊這段話是從OSWorkFlow的教程中得到的,總結(jié)一下,OSWorkFlow是基于xml手工配置的,它特點(diǎn)是靈活,它認(rèn)為工作流的調(diào)整應(yīng)該是程序員的事情。
    四、OSWorkFlow核心概念
    步驟(Step)
        一個(gè) Step 描述的是工作流所處的位置。可能從一個(gè) Step Transtion(流轉(zhuǎn))到另外一個(gè) Step,或者也可以在同一個(gè) Step 內(nèi)流轉(zhuǎn)(因?yàn)?nbsp;Step 可以通 Status 來細(xì)分,形成多個(gè)State)。一個(gè)流程里面可以多個(gè)Step。

    狀態(tài)(Status)
        工作流 Status 是用來描述工作流程中具體Step(步驟)狀態(tài)的字符串。OSWorkflow 的有 Underway(進(jìn)行中)、Queued(等候處理中)、Finished(完成)三種 Status。一個(gè)實(shí)際State(狀態(tài))真正是由兩部分組成:State = (Step + Status) 。

    流轉(zhuǎn)(Transtion)
        一個(gè)State到另一個(gè)State的轉(zhuǎn)移。

    動(dòng)作(Action)
        Action 觸發(fā)了發(fā)生在 Step 內(nèi)或 Step 間的流轉(zhuǎn),或者說是基于 State 的流轉(zhuǎn)。一個(gè) step 里面可以有多個(gè)Action。Action 和Step 之間的關(guān)系是,Step 說明“在哪里”,Action 說明“去哪里”。 一個(gè) Action 典型地由兩部分組成:可以執(zhí)行此Action(動(dòng)作)的
    Condition(條件),以及執(zhí)行此動(dòng)作后的 Result(結(jié)果)。    

    條件(Condition)
    類似于邏輯判斷,可包含“AND”和“OR”邏輯。比如一個(gè)請(qǐng)假流程中的“本部門審批階段”,該階段利用“AND”邏輯,判斷流程狀態(tài)是否為等候處理中,以及審批者是否為本部門主管。

    結(jié)果(Result)
    Result 代表執(zhí)行Action(動(dòng)作)后的結(jié)果,指向新的 Step 及其 Step Status,也可能進(jìn)入 Split 或者 Join。Result 分為兩種, Contidional-Result (有條件結(jié)果),只有條件為真時(shí)才使用該結(jié)果,和 Unconditional-Result(無條件結(jié)果),當(dāng)條件不滿足或沒有條件時(shí)使用該結(jié)果。

    分離/連接(Split/Join)
    流程的切分和融合。很簡(jiǎn)單的概念,Split 可以提供多個(gè) Result(結(jié)果);Join 則判斷多個(gè) Current Step 的態(tài)提供一個(gè) Result(結(jié)果)。

    好了,到這里,工作流的一個(gè)概貌是出來了。在下邊的文章中會(huì)以O(shè)SWorkFlow為例來進(jìn)入工作流的天地。

    posted on 2007-05-07 19:06 dreamstone 閱讀(3826) 評(píng)論(2)  編輯  收藏 所屬分類: 其它開源框架

    評(píng)論

    # re: 工作流入門 2007-06-07 13:09 tiantian

    你好!
    和你的處境一樣!我們也要開始使用工作流,我也沒有選擇什么框架的權(quán)力,osworkflow!
    剛剛接觸,有很多的知識(shí)需要學(xué)習(xí),相信以后的共同語言會(huì)很多哦!
    tiantian810605@tom.com,希望可以多多交流,共同進(jìn)步!我也會(huì)常來逛逛的!  回復(fù)  更多評(píng)論   

    # re: 工作流入門 2007-10-29 13:59 Terrence

    你好!
    比你們的處境差一點(diǎn)!我還不知道用的是什么框架,先學(xué)一個(gè)。
    寫的很好,學(xué)著!  回復(fù)  更多評(píng)論   

    主站蜘蛛池模板: 久久乐国产精品亚洲综合| 亚洲网红精品大秀在线观看| 中文字幕久无码免费久久| 国产亚洲真人做受在线观看| 五月婷婷在线免费观看| 亚洲av永久中文无码精品综合| 亚洲性日韩精品国产一区二区| 91大神免费观看| 免费一级毛片在线播放放视频| 亚洲av无码成h人动漫无遮挡| 免费电影在线观看网站| 国产免费福利体检区久久| 久久av免费天堂小草播放| 91亚洲国产成人久久精品网站| 国产精品久久久久影院免费| 精品国产污污免费网站| 中文字幕乱码亚洲无线三区| 亚洲精品成人片在线观看精品字幕 | 亚洲一区二区三区电影| 四虎影永久在线高清免费| 午夜精品一区二区三区免费视频| 亚洲第一第二第三第四第五第六| 亚洲av女电影网| 亚洲成年人啊啊aa在线观看| 57pao国产成视频免费播放| 一边摸一边桶一边脱免费视频| 亚洲欧洲自拍拍偷综合| 国产日产亚洲系列| 国产精品免费看香蕉| 777爽死你无码免费看一二区| 人妻巨大乳hd免费看| 亚洲日韩一区精品射精| 在线观看亚洲一区二区| 国产亚洲成归v人片在线观看| 午夜电影免费观看| 37pao成人国产永久免费视频| 在线观看免费视频网站色| 国产亚洲综合精品一区二区三区| 亚洲mv国产精品mv日本mv| 亚洲性天天干天天摸| 亚洲成Av人片乱码色午夜|