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

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

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

    DANCE WITH JAVA

    開發出高質量的系統

    常用鏈接

    統計

    積分與排名

    好友之家

    最新評論

    理解osworkflow 工作流

    什么是工作流:
    就是工作流程的計算模型,即將工作流程中的工作如何前后組織在一起的邏輯和規則在計算機中以恰當的模型進行表示并對其實施計算。工作流要解決的主要問題是:為實現某個業務目標,在多個參與者之間,利用計算機,按某種預定規則自動傳遞文檔、信息或者任務。

    工作流的應用場景:
    soa中的時序編排,oa系統中的審批流轉。大部分管理流程中都可以用到工作流。

    工作流與業務的關系
    一、業務集成到工作流中:一種常見的做法是把所有的業務集成到工作流中,如果有個業務就定義個function,然后放進去。例如要生成spcode。
    1、帶來的好處:
    業務與工作流完全集成,只需要找到工作流配置文件,以他為主線就能找到所有的業務。讓代碼的閱讀維護更方便。
    2、壞處:
    并不是最好的理念,仍然需要一次次的讀原來的代碼,復用性差,可剝離性差(比如我不想用工作流了),替換性差(比如我想從osworkflow到jbpm),侵入性高。跟現在大家說的最多的soa沖突。
    3、適用環境
    小項目開發,靈活,重寫難度不大

    二、業務單獨寫,工作流后加入進去
    用非工作流的代碼實現所有的業務,再用工作流編排
    1、帶來的好處:
    符合soa的原則,可以分組件,分服務,分應用,復用性好,一旦復用消耗小,并不需要了解內部代碼。
    2、壞處:
    初期消耗大,業務劃分難度大,需要頻繁調整。
    3、適用環境
    越大型的項目越好,甚至可以在應用之間組織。在電子系統集成中最有用。

    工作流引擎:
    字面意思理解,工作流引擎就是工作流核心元素解決方案。
    那工作流的核心是什么呢?
    有權限的操作者觸發流程在各種條件下的跳轉。
    關鍵的是權限,條件,跳轉。
    所以工作流引擎實現的就是:
    根據角色、分工和條件的不同決定信息傳遞路由

    使用工作流引擎帶來的便利:
    1、開發簡化
    2、穩定性
    3、易維護

    理解工作流:
    一句話:其實軟件設計上更多的是借鑒非軟件知識,比如設計模式來源于建筑。哲學上也有大同理論。


    說了好久的工作流,知道它的好處,知道它的壞處,知道應用場景,但工作流還是有點朦朧,想到設計工作流,理解工作流還是有點頭疼。特別是在大的場景,比如說我要實現任意方式定義的流程。聽到這個就頭大。那如何解決這個問題呢?

    越是這類問題,約容易從理論的高度來解決。那么我們來看osworkflow是基于什么實現的?有限狀態機。當我們放到宏觀,我們要解決所有問題的時候會感覺很棘手,任意流程。但放到微觀呢。雖然我們最終是要解決整個的路由。但是我只要解決任意兩個step之間的路由。所有的路由就解決了。這也是數學上的歸納法。

    好了現在的問題已經變成如何解決兩個step之間的路由了,從兩個step之間的路由,再次縮減到,我只需要知道一個step可以到什么地方,那我就知道是否兩個step之間存在路由。

    那放到一個step上是否就是有限狀態機了呢?沒錯。
    step就是狀態,action就是狀態轉換,但是osworkflow賦予了action太多的功能,變成了action中的result才是轉換,而action變成了轉換過程中一些列操作及轉換的集合。

    有限狀態機:
    你熟悉他嗎,一定的,一定熟悉他,想想有多少程序是基于他實現的。比如rpg游戲中迷宮的任意路口,比如rpg游戲中的情節設定。如果你寫一個游戲引擎,你會發現fsm離你有多近。即使你不寫游戲引擎,你玩游戲嗎,在rpg中是否用筆通過一個個的點再現過迷宮地圖,是否通過一次次的通關找到各種隱藏情節,這就是狀態機。

    osworkflow的設計工具:
    為什么osworkflow不提供設計工具呢,osworkflow開發者說,要靈活,這是程序員干的事情。但是uml本身也是程序員干的事情。再想想因為osworkflow基于有限狀態機,而對于有限狀態機這種如果用uml表現出來是困難的。總會出一些難以控制的地方,再來看看jbpm,因為jbpm是基于狀態圖的,來源于uml,所以更容易出設計工具。


    個人理解,大家交流

    posted on 2009-08-19 10:44 dreamstone 閱讀(1724) 評論(0)  編輯  收藏 所屬分類: 其它開源框架

    主站蜘蛛池模板: 国产美女精品视频免费观看| 成人免费在线看片| 亚洲精品亚洲人成在线观看下载| 亚洲制服丝袜第一页| 99久久久精品免费观看国产 | 亚洲成a人片在线观看国产| 亚洲av永久无码| 亚洲av无码成人精品区在线播放 | 国产精品亚洲精品日韩已方| 一区二区视频在线免费观看| 国产亚洲精品a在线观看 | 亚洲人成网国产最新在线| 最近中文字幕无吗免费高清| 亚洲乱码一区二区三区国产精品| 成人毛片免费观看视频| 亚洲AV女人18毛片水真多| 亚洲另类少妇17p| 毛片在线播放免费观看| 亚洲熟妇无码久久精品| 日韩免费高清一级毛片在线| 日本精品久久久久久久久免费| 狠狠综合久久综合88亚洲| 免费国产污网站在线观看15| 亚洲国产综合自在线另类| 黄网址在线永久免费观看 | 国产福利电影一区二区三区,免费久久久久久久精| 国产一级淫片免费播放| a毛片在线免费观看| 国产色在线|亚洲| 亚洲午夜无码片在线观看影院猛 | 国产午夜免费秋霞影院| 国产免费内射又粗又爽密桃视频| 亚洲AV区无码字幕中文色| 四虎影视www四虎免费| 国产精品美女免费视频观看| 久久精品a亚洲国产v高清不卡| 日韩免费无砖专区2020狼| 99re6在线视频精品免费| 伊人久久五月丁香综合中文亚洲| 国产亚洲精品不卡在线| 免费精品国偷自产在线在线|