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

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

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

    [轉(zhuǎn)]工作流學習(2)

    轉(zhuǎn)自:http://www.guodanpi.com/zblog/post/21.html

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

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

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

        還是先看一下真實使用工作流時,業(yè)務數(shù)據(jù)在“流動”的過程中可能碰到的操作結(jié)果:

    通過、退回、取消、取回

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

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

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

    class WorkflowEntity {

        Long id;

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

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

    Workflow workflow;

    }

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

    也需要記錄該實體的當前狀態(tài)信息

    class Task{

        Long id;

        State currentState;

        WorkflowEntity wfEntity;

    }

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

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

    class Rule{

        Long id;

        //其他未知

    }

    class State{

        Long id;

        Workflow workflow;

        Rule fromRule;

        Rule toRule;

        String actor;

    }

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

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


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


    網(wǎng)站導航:
     
    <2007年8月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    導航

    統(tǒng)計

    常用鏈接

    留言簿(6)

    隨筆檔案(57)

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产亚洲A∨片在线观看| 好吊妞788免费视频播放| 亚洲国产91精品无码专区| 在线观看亚洲AV日韩AV| 最近免费中文字幕mv在线电影| 国产亚洲精品岁国产微拍精品| 国产免费一区二区三区免费视频| 亚洲一区二区三区高清在线观看| 24小时日本韩国高清免费| 全免费A级毛片免费看网站| 亚洲xxxxxx| 成熟女人特级毛片www免费| 亚洲国产日韩精品| 成人A级毛片免费观看AV网站| 国产乱辈通伦影片在线播放亚洲| 美景之屋4在线未删减免费| 亚洲国产精品尤物yw在线| 久久一区二区三区免费| 精品久久香蕉国产线看观看亚洲| 中文精品人人永久免费| 久久久久亚洲精品无码系列| 亚洲精品视频免费看| 亚洲色偷偷色噜噜狠狠99| 暖暖免费高清日本一区二区三区| 在线观看亚洲免费| 日韩精品免费一级视频| 亚洲理论片中文字幕电影| 91成人免费观看在线观看| 亚洲av无码一区二区三区不卡| 久久久久国产精品免费免费不卡| 久久亚洲AV无码精品色午夜麻豆 | 青青草原1769久久免费播放| 午夜a级成人免费毛片| 黄色毛片免费观看| 亚洲国产精品VA在线看黑人 | 成年女人午夜毛片免费看| 美女的胸又黄又www网站免费| 亚洲人成网7777777国产| av无码免费一区二区三区| 国产日韩成人亚洲丁香婷婷| 久久爰www免费人成|