扒开腿挺进岳湿润的花苞视频|将军边走边挺进她H树林|挺进朋友人妻张婉莹身体|岳脱得精光让我挺进去视频|第一次挺进莹莹的身体里视频|脱岳裙子从后面挺进去视频

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡(jiǎn)介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)網(wǎng) >> 公司新聞

以架構(gòu)師的眼睛看世界之五-淺談工作流

      很多人了解計(jì)算機(jī)程序設(shè)計(jì)是從學(xué)習(xí)流程圖開始的,那些菱形矩形的簡(jiǎn)單圖表往往能讓流程邏輯一目了然。但流程圖不是可以運(yùn)行的軟件,充其量只是一種文檔,所以入門后大家往往將流程圖拋諸腦后直接分析設(shè)計(jì)上手寫代碼。但流程圖就真的只能作為文檔嗎?在很多方面代碼比不上流程圖:
1.一個(gè)程序員寫的程序另一個(gè)人需要花很長(zhǎng)時(shí)間看懂其中的邏輯,不像流程圖一目了然
2.在運(yùn)行時(shí)看不到代碼的運(yùn)行狀況,不知道運(yùn)行到了哪個(gè)階段,這對(duì)大型項(xiàng)目管理帶來障礙。

3.代碼總是被封裝在對(duì)象或過程里,對(duì)象(過程)之間需要額外的邏輯才能共享狀態(tài)。

    盡管一直不是軟件開發(fā)的主流,但將流程圖用在運(yùn)行時(shí)總是一個(gè)不錯(cuò)的想法,尤其在文檔生命周期管理、內(nèi)部應(yīng)用程序邏輯流轉(zhuǎn)、BPM、Pageflow等場(chǎng)景下優(yōu)勢(shì)尤為明顯:流程圖在設(shè)計(jì)時(shí)高度靈活簡(jiǎn)便、運(yùn)行時(shí)高度可見、管理更加方便。根據(jù)軟件界水漲船高者生存的規(guī)則,以后很多公司為了提高自己的效率會(huì)不斷接受引入工作流引擎到自己的產(chǎn)品中以避免重復(fù)發(fā)明劣質(zhì)的輪子,面臨的首要任務(wù)就是挑選合適的工作流引擎。那什么是理想中的工作流引擎呢?有人總結(jié)過工作流應(yīng)該具備的一些支持模式,參見Workflow Pattern

http://en.wikipedia.org/wiki/Workflow_patterns

http://www.workflowpatterns.com/

    這些都是很有益的總結(jié),但由于有些廠商商業(yè)利益夾雜其中,所以硬扯了一些Process Model的東西。也有很多人和我當(dāng)年一樣,參照openwfc,bpel4ws或者其他一些需要實(shí)現(xiàn)的功能點(diǎn)寫過自己?jiǎn)挝挥玫墓ぷ髁饕娌⒐谝宰灾髦R(shí)產(chǎn)權(quán)之名,但實(shí)際上離真正的工作流還有一段距離。簡(jiǎn)而言之,一個(gè)相對(duì)完整的工作流平臺(tái)必須具備的功能如下:

1.能夠完成流程跳轉(zhuǎn)。

2.宿主進(jìn)程、宿主、運(yùn)行時(shí)、工作流引擎等各層解耦完全

3.宿主進(jìn)程多樣化,至少要可以棲身與主流應(yīng)用服務(wù)器上,避免使用者在非必要情況下自寫應(yīng)用服務(wù)器。

4.宿主層包含持久化、定時(shí)器、跟蹤、事務(wù)支持等運(yùn)行時(shí)服務(wù)。

5.運(yùn)行時(shí)層工作流執(zhí)行必須的編排器、規(guī)則引擎、跟蹤基礎(chǔ)框架與工作流生命周期管理必須的狀態(tài)管理、激活、冬眠等解耦。

6.工作流引擎支持包含常用的時(shí)序、狀態(tài)等模型

    一個(gè)理想的工作流引擎除此之外還需要具備的功能如下:

1.宿主層支持與外界交互、多線程多進(jìn)程支持等運(yùn)行時(shí)服務(wù),支持自定義運(yùn)行時(shí)服務(wù)以便擴(kuò)展。

2.工作流引擎支持的時(shí)序、狀態(tài)等模型良好封裝便于調(diào)用;引擎支持基于策略/規(guī)則的模型,支持自定義活動(dòng),為基于其上開發(fā)行業(yè)組件包的合作伙伴留出一條活路。

3.API良好組織調(diào)用簡(jiǎn)單,最好支持多語言多腳本。不要有稀奇古怪的流程定義語言,最好是業(yè)界已有的或者大家能很快接受的。

4.在設(shè)計(jì)時(shí)和運(yùn)行時(shí)都有很多的輔助工具與注入代碼的地方。

5.在設(shè)計(jì)時(shí)與運(yùn)行時(shí)都有人性化的開發(fā)、調(diào)試、測(cè)試模板視圖與設(shè)計(jì)器。

6.對(duì)常見中間格式如Plain Text,XML,Office Doc等有良好支持;對(duì)常見數(shù)據(jù)庫(kù)、常見工業(yè)交換標(biāo)準(zhǔn)有所支持或有擴(kuò)展支持的接口。

    除此之外,還有好多功能其實(shí)不屬于工作流重點(diǎn)關(guān)心的,但由于技術(shù)決策者需要所以理想的工作流引擎也必須考慮的:

1.邊界清晰、服務(wù)自治、共享schema與策略而不是類、基于策略的服務(wù)兼容。明眼人可能一看就要拍桌子了,這不是WCF等分布式應(yīng)用服務(wù)的設(shè)計(jì)原則嗎,怎么扣到工作流頭上來了?原因很簡(jiǎn)單,因?yàn)楸阌诎l(fā)布成服務(wù)的工作流才是可塑性最強(qiáng)的工作流,所以工作流在屋檐下,不得不低頭,這也是微軟為什么Silver(在.NET3.5中將WF發(fā)布成WCF)的原因。

      2.支持長(zhǎng)事務(wù),支持人-人、人-系統(tǒng)、系統(tǒng)-人、系統(tǒng)-系統(tǒng)等四種方式的流程協(xié)作,支持全生命周期的動(dòng)態(tài)透明管理,模型高度可擴(kuò)展。

3.可在不同工作流進(jìn)程/線程間方便地轉(zhuǎn)移操作狀態(tài)和數(shù)據(jù),方便地進(jìn)行補(bǔ)償沖帳等操作。

基于以上考慮,大家可以看到微軟的Windows Workflow Foundation已經(jīng)完全可用了,當(dāng)然還不是最理想的。有一個(gè)需要注意的是,筆者估計(jì)以后微軟的工作流引擎會(huì)遇到一個(gè)發(fā)展怪圈,目前的WF雖然成熟程度已經(jīng)比大多數(shù)國(guó)內(nèi)公司做的自己的工作流引擎好多了,但還是抽象層級(jí)不高,雖然現(xiàn)在有Enterprise library在做的Pageflow,上文提到的Sliver等修修補(bǔ)補(bǔ)的工作,仍然難以挑起一統(tǒng)天下的重任。更大的原因是再往上做可能會(huì)碰到BizTalk Server或BizTalk Service的地盤(再次澄清一下后二者都不是工作流引擎)。只能寄希望于在Oslo中的表現(xiàn)了。


 總體來說,基于流程開發(fā)將在近年對(duì)軟件開發(fā)產(chǎn)生深遠(yuǎn)影響。大家可以現(xiàn)在開始按照以上標(biāo)準(zhǔn)選擇自己心儀的工作流并應(yīng)用到日常工作中。


重要申明:以上純屬個(gè)人觀點(diǎn),不代表任何公司意見,轉(zhuǎn)載務(wù)請(qǐng)注明出處。
          本文部分借鑒Paul Andrew,James Conard的見解,在此致以感謝!

 

作者:張大磊 | 文章來源:cnblog | 更新時(shí)間:2008-1-28 15:21:05

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    沒有相關(guān)文章
    公司簡(jiǎn)介
    · 公司簡(jiǎn)介
    · 公司新聞
    · 成功案例
    · 聯(lián)系我們
    · 客服中心
    最新新聞
    ·新疆二域提供新疆手機(jī)APP開
    ·微信公眾平臺(tái)開發(fā)業(yè)務(wù)
    ·智能停車場(chǎng)管理系統(tǒng)方案
    ·固定資產(chǎn)管理系統(tǒng)功能說明
    ·新疆烏魯木齊防盜門生產(chǎn)管
    ·合同管理系統(tǒng)功能簡(jiǎn)介
    ·二域公司春節(jié)放假通知
    ·新疆二域軟件車隊(duì)車輛管理
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) m.jdtbank.com All Rights Reserved 新ICP備14003571號(hào)
    新疆軟件開發(fā)總機(jī):0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    松潘县| 海兴县| 鹤庆县| 晋州市| 五台县| 城步| 余江县| 凉山| 瑞安市| 咸丰县| 察隅县| 茶陵县| 久治县| 清原| 泽州县| 马鞍山市| 梧州市| 靖宇县| 葫芦岛市| 鸡东县| 抚远县| 屏边| 石渠县| 绥江县| 宁陵县| 扎兰屯市| 临城县| 富源县| 保靖县| 句容市| 都匀市| 清丰县| 卢湾区| 江油市| 手游| 榆树市| 山西省| 宜兰市| 长阳| 勐海县| 修水县|