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

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

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

    [轉]工作流學習(2)

    轉自:http://www.guodanpi.com/zblog/post/21.html

    今天幾乎沒有再看關于工作流的一大堆規范,而是看了一下國人的PowerStone開源工作流實現(其實之前幾天也花了些時間來研究),畢竟對他用的那個套路比較熟(spring+hibernate),大體上能了解他想干什么,但是還是不懂,第一步還是分析了他所使用的數據庫,遺憾的是終究還是沒有找到我想看到的東西。同時他的說明里面提到實現了WfMC125接口,由于對WfMC沒什么興趣,所以也就不管它,只是想弄清楚他考慮的和我所想的有什么差距。

        事實上是我以前接觸過一個Fatwire公司(在google里面搜索contentserver,它排第一,以前可真是名不見經傳)的contentserver,我還是比較贊同它里面的搞法,通過web頁面+dbms來定做工作流,并自動生成工作流的最終圖形給用戶驗證是否正確,而不是輸入一個xpdl這種東西。

        多少給我的收獲在于它對工作流和實際操作的數據的結合部分,也是我以前從來沒有想到過的結合方式,通過記錄每一個state的輸出和輸入參數來與數據交互!好像這也是wfmc的一個通用數據庫設計。不敢說他設計的不好,只是總覺得這樣設計有點別扭。

        還是先看一下真實使用工作流時,業務數據在“流動”的過程中可能碰到的操作結果:

    通過、退回、取消、取回

    這些也就是概念上的東西,對應到真實世界操作簡直太容易了。

    如果說if..else..for..和順序執行能構成完整的程序的話,工作流應該也不例外,關鍵或者說難點在于將一些條件、一些業務數據如何與工作流互交,或者說如何讓工作流能夠識別前面提到的fromConditiontoCondition,這一點的設計估計要留到最后了。

    不管工作流將要處理的對象有多復雜,有多少屬性,應該有一個表用來記錄唯一的標示這些對象的表(暫且稱之為實體,也正是因為想在PowerStone中找到這個表未果,所以充滿疑惑)

    class WorkflowEntity {

        Long id;

        String targetId;//或者直接是某張表的id

        String targetType;//或者直接是某張表的表名

    Workflow workflow;

    }

    只要拿到entityid,自然可以得到它所對應的操作對象(table+id完全可以定義到某一條數據),也能知道當前所使用的工作流。這一點有需要考慮的地方,是否需要(targetId+ targetType)的唯一索引,這樣才能比較好的處理。

    也需要記錄該實體的當前狀態信息

    class Task{

        Long id;

        State currentState;

        WorkflowEntity wfEntity;

    }

    明顯我們可以看到現在為止所設計的表中都沒有“人”這個東西的出現,想想我們幾乎每一步都離不開人,自然需要修改上面的State,加入人的信息,這一點確實很矛盾,因為“人”有多種的表現形式,有“組織”、“團隊”、“角色”,這些全部可以包含人的信息,那么具體應該采用哪一種比較合適?(還沒想好),姑且先放進去再說。

    那現在實際上已經可以把這個實體“流動”起來了,但是太粗糙了!沒有細致的沒一步的規則定義,也許fromConditiontoCondition應該是一個規則(Rule),那么定義如下:

    class Rule{

        Long id;

        //其他未知

    }

    class State{

        Long id;

        Workflow workflow;

        Rule fromRule;

        Rule toRule;

        String actor;

    }

    實在有很多東西沒有想明白,先記錄下這些現在的糊涂想法,再慢慢改進,估計要真正想明白了再接著寫了。

    posted on 2007-08-25 20:50 hijackwust 閱讀(229) 評論(0)  編輯  收藏


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


    網站導航:
     
    <2007年8月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    導航

    統計

    常用鏈接

    留言簿(6)

    隨筆檔案(57)

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲av片不卡无码久久| 亚洲成av人片不卡无码| 黄色网址免费在线| 免费无码不卡视频在线观看| 中文字幕亚洲情99在线| 九九精品免费视频| 色偷偷亚洲女人天堂观看欧| 四虎在线最新永久免费| 亚洲sss综合天堂久久久| 我要看免费的毛片| 亚洲av中文无码字幕色不卡| 欧洲美熟女乱又伦免费视频| 亚洲精品无码久久久久A片苍井空| 成人免费午夜视频| 精品成人一区二区三区免费视频| 俄罗斯极品美女毛片免费播放| 免费播放美女一级毛片| 亚洲性日韩精品国产一区二区| 中文字幕不卡免费视频| 亚洲精品天天影视综合网| 国产精品极品美女免费观看| 亚洲AV无一区二区三区久久| 久久大香伊焦在人线免费| 亚洲视频网站在线观看| 一二三四视频在线观看中文版免费 | 成人免费午夜视频| 黄网站色成年片大免费高清| 自拍偷自拍亚洲精品第1页| 男人的天堂网免费网站| 亚洲videos| 亚洲?V无码乱码国产精品 | 午夜免费啪视频在线观看| 亚洲视频一区二区在线观看| 在线免费观看a级片| 一级做a爱过程免费视| 亚洲最大成人网色| 国产成人免费永久播放视频平台| 国产精品无码免费专区午夜| 久久久久亚洲Av无码专| 国产一区二区三区在线免费观看| 中文成人久久久久影院免费观看|