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

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

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

    zyskm用夢想丈量人生,用奔跑丈量激情

    工作流的價值

    之前做過一版工作流引擎,自己開發的。這段時間又以jbpm為內核做了一版流程系統,有些思考就記錄下來。
    有一句話說的好,如果你手里有一把錘子你就看什么都像釘子。做流程系統的時候也遇到這類現象,因為對流程系統的不熟悉,在開發過程中就想到處都用工作流來處理問題。
    其實引入一個新的東西,一定要先搞明白的它的適用場景,有什么價值。把握了這點后結合具體場景,就能很好的使用,而不會亂用。
    一、工作流適用場景
    以下兩種情況需要引入流程系統
    1.分散系統整合(企業應用集成)
    2.簡化業務系統的開發;
    工作流的價值
    1.業務流程獨立化;
    2.優化改進流程更容易;
    3.提供統一的監控頁面。
    Ⅰ 、相對于分散系統,提供了統一的操作和監控頁面。對用戶更友好,過程可監控,業務規則更明確。
    1.業務流程獨立化,業務規則不僅僅存在與工作人員的頭腦中。
    2.提供了統一的監控界面,實現業務過程可監控;
    3.有明確的規則,可以監控運行情況,為流程的優化提供了便利;
    4.對用戶更友好;
    Ⅱ 、相對于傳統業務系統方式
    1.業務流程獨立化,業務規則不會淹沒于業務系統代碼中。避免業務系統開發完成后再次改動成本高的情況。
    2.提供了統一的監控界面,實現業務過程可監控;原業務系統提供的報表對環節執行時間可能信息不足,一般只是簡單反應狀態變化。
    3.有明確的規則,可以監控運行情況,為流程的優化提供了便利;
    4.對于工作人員來講,這些改進其實是透明的,從用戶體驗的角度沒有什么變化。
     所以對原業務系統的用戶來講,變化不大。引入流程系統更多的是為了監控和優化流程的方便,是從管理的角度考慮問題。
    從流程系統提供的待辦事項列表進行操作,還是從業務系統的功能菜單進行操作,哪個更友好是UE設計的問題,跟流程系統無關。
    業務系統功能菜單的劃分可能相對于待辦事項列表更直觀、定位更準確。(見下圖紅色箭頭對兩種方式的表示)
    考慮到業務流程的復雜性,對于企業信息化系統引入流程系統可以便于優化流程,對于成熟的業務系統如財務軟件引入流程系統完全沒有必要。
     
    補充說明:
    1.當前任務列表方式,需要用戶不停的查看有沒有新任務到來;優點是在一個頁面可以看到全部待辦事項。
    2.業務系統功能菜單方式,需要用戶不停的查詢工作進展并作出處理。優點是任務類型劃分更明確;
    二、業務系統接入方式
    1.在jsp頁面增加環節信息(環節編號,流程編號...);
    2.業務系統aciton不變;
    3.在業務系統action完成操作后,流程攔截器處理流程變化并記錄到數據庫;
    4.流程監控頁面和待辦事項列表,不斷從流程數據庫查詢。
    5.對于專業性比價強的的狀態值還是在業務系統維護,避免流程系統壓力過大。在需要監控改進的業務點交由流程系統調度,其它部分還是由業務系統處理。


    --------------------------------------
    下邊是對struts項目接入流程系統的一個分析
    1.業務系統jsp,action調用關系

    2.采用攔截器在業務系統action執行完成后,進行流程驅動,并在下一個jsp頁面注入流程信息。


    主要邏輯都在beforeResult()方法中。
    3.數據結構

    數據結構說明:
    1.對于通用的流程數據可以在beforeResult()方法自動嵌入,為考慮交互效果在jsp自行設置流程信息;
    2.jsp頁面流程數據應該包括:
    1.nodeName
    節點名稱,環節在流程定義中的名稱;
    2.transitionNames
    流向名稱列表,需要作出選擇的列表。
    3.entityId
    實體id,用于查詢流程實例ID。
    3.在action執行完成后驅動流程所需要的數據:
    1.definitionId
    流程定義,說明是新啟動一個流程。
    2.nodeName
    節點名稱,根據流程實例ID和節點名稱查詢任務ID,每個節點只能是單任務的,否則jsp頁面無法提供taskId.
    3.transitionName
    流向名稱,根據流向選擇流程下一步跳轉的節點。串行節點不用transitionName 可為空。
    4.entityId
    實體id,查詢流程實例ID用。
    4.對與工作流無關的action實行過濾,不做處理
    兩種過濾方式:
    1.在action方法加注解;
    2.在數據結構中增加數據項標記。
    5.對與工作流無關的jsp頁面,不使用工作流tag即可。
     
    -----------------------------
    上邊是我一開始的想法,后來和同事討論后又做了些調整。編輯web文字比較麻煩,就不合在一起了。
    1.對執行業務操作的action和進入jsp頁面的初始化action進行分類;

    2.參數傳遞過程補充說明

    一個分為三步
    倒著說
    第三步,功能頁面jsp在提交參數時需附加(節點名稱、流向名稱、工單編號),流程引擎才能驅動流程;
    第二步,要能夠向第三步提供數據,jsp頁面必須包含(節點名稱、流向名稱列表、工單編號),這些數據有兩個來源:1.收到在jsp頁面寫入;2.從第一步接收。
    第一步,有同事建議,提供節點和資源路徑的關系表,通過資源路徑查找節點名稱。減少流程系統對業務系統的侵入。
     
     ----------------------------------
    上傳的時候圖片丟了,重新補一下。
     

    posted on 2012-06-19 16:01 zyskm 閱讀(1203) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: gogo免费在线观看| 日韩电影免费在线观看网址 | 免费A级毛片无码久久版| 亚洲午夜成激人情在线影院| 1000部夫妻午夜免费| 亚洲黄色免费在线观看| 13一14周岁毛片免费| 91亚洲视频在线观看| 可以免费看黄的网站| 中文有码亚洲制服av片| 免费高清小黄站在线观看| 亚洲精品无码av中文字幕| 国产精品无码一二区免费| 日本系列1页亚洲系列| 亚洲综合精品网站在线观看| 中文字幕永久免费| 亚洲国产精品久久久久网站| 91免费国产在线观看| 亚洲首页国产精品丝袜| 国产猛烈高潮尖叫视频免费| 尤物视频在线免费观看| 国产V亚洲V天堂无码| 日本三级2019在线观看免费| 亚洲AV日韩AV无码污污网站| 国产亚洲精品久久久久秋霞| 91人人区免费区人人| 亚洲国产成人久久综合| 国产精品亚洲不卡一区二区三区 | 99久久免费精品视频| 2019亚洲午夜无码天堂| 亚洲乱码日产精品a级毛片久久| 国产在线观看免费av站| 亚洲成aⅴ人在线观看| 国产精品久久香蕉免费播放| 丁香花在线观看免费观看图片| 亚洲色图校园春色| 免费a级毛片永久免费| 久久国产精品免费看| 亚洲国产aⅴ成人精品无吗| 在线精品亚洲一区二区三区| 69天堂人成无码麻豆免费视频|