日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

换一个角度再谈一下WF

發(fā)布時(shí)間:2025/7/25 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 换一个角度再谈一下WF 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

換一個(gè)角度再談一下WF

?

使用WF可以開發(fā)兩類流程

  • 業(yè)務(wù)狀態(tài)流程
  • 功能控制流程

?

業(yè)務(wù)狀態(tài)類流程

是傳統(tǒng)意義的工作流平臺(tái)所提供的流程,特點(diǎn)是用流程進(jìn)行業(yè)務(wù)的狀態(tài)處理

關(guān)于這方面的例子我已經(jīng)寫過很多文章了,本文就不再談這方面的內(nèi)容了

?

功能控制類流程

在這里先對(duì)功能控制類流程做個(gè)說明

?

舉個(gè)例子:

?

我們先對(duì)A表進(jìn)行數(shù)據(jù)操作,再對(duì)B表進(jìn)行數(shù)據(jù)操作.如果操作B表失敗,則回滾對(duì)A表的操作.

?

當(dāng)然,看到這里你會(huì)說這不就是數(shù)據(jù)庫(kù)的事務(wù)處理嗎.是的沒錯(cuò),那我們將上面操作的復(fù)雜度提升一下

?

?

如上的流程就是,功能控制類流程

他的做用不是置狀態(tài),而是完成一組后臺(tái)的操做.

當(dāng)然,你也可以用存儲(chǔ)過程完成這個(gè)操做,但如果流程中還有對(duì)磁盤的操做,對(duì)網(wǎng)絡(luò)的訪問,對(duì)外部設(shè)備的控制,用存儲(chǔ)過程做就力不從心了

?

在WF中,內(nèi)置了很多對(duì)為實(shí)現(xiàn)功能控制類流程而提供的功能,有網(wǎng)絡(luò)通信類的Activity,有對(duì)事務(wù),補(bǔ)償?shù)闹С?

?

在WF出現(xiàn)前,要實(shí)現(xiàn)上述業(yè)務(wù),我會(huì)使用COM+

?

COM+是一個(gè)組件服務(wù)的容器,雖然NET可以開發(fā)COM+應(yīng)用,但從本質(zhì)上說是NET使用舊的技術(shù),

NET推出后,

ActiviteX,COM向NET的組件過渡

DCOM向Remoting過渡

而COM+ 一直沒的NET的方案,雖然Remoting提供了COM+的一些功能,如組件服務(wù),遠(yuǎn)程事件,單例組件等,但對(duì)放入Remoting中的多個(gè)組件的上下文管理,事物,補(bǔ)償?shù)裙δ?Remoting卻不直接提供.

而WCF + WF 的組合,可以說是COM+ 向 NET 過渡的一種方案.

?

注:以上說明并非MS的官方說明,只是我個(gè)人的感覺,全當(dāng)給大家一個(gè)參考

?

COM+ 的問題先不談了,我以后發(fā)幾個(gè)同一業(yè)務(wù)分別用COM+ 與 WCF + WF 的對(duì)比方案.

?

我們回到WF的應(yīng)用上,

在設(shè)計(jì)WF流程時(shí),我不建議如下方式設(shè)計(jì)流程

?

上面這個(gè)流程將[業(yè)務(wù)狀態(tài)流程]與[功能控制流程]混到一起了

?

其實(shí)[功能控制流程]應(yīng)該是[業(yè)務(wù)狀態(tài)流程]的底層

?

?

所以我修改設(shè)計(jì)如下

?

?

?

在實(shí)際的設(shè)計(jì)方案中,我一般是這樣做的

?

?

?

?

最后再補(bǔ)充一點(diǎn)題外話

?

最近有不少人對(duì)我說,聽說NET 4.0中WF的變化很大,…………

?

NET 4.0中WF我沒見過(以前裝了個(gè)CTP,別人告述我其中的WF是舊的)

?

不過我猜想新的WF一定會(huì)在[狀態(tài)控制]與[應(yīng)用功能]兩個(gè)方面增加功能.

?

在[狀態(tài)控制]上,可能會(huì)添加對(duì)[流程圖],[狀態(tài)圖],[時(shí)序圖],[Petri網(wǎng)]等流程設(shè)計(jì)上的支持,就算4.0不提供,5.0,6.0,7.0總會(huì)提供的

?

在[應(yīng)用功能]上,可能會(huì)添加大量的功能Activity,具體有什么就不好猜了,磁盤IO類,Windows服務(wù)管理類,SQlServer操作類,SharePoint操作類,籃牙通信類,都有可能

為什么會(huì)這么零散,因?yàn)閃F的全稱是Windows Workflow Foundation

?

另外,我對(duì)WF還有一個(gè)假設(shè)

WF會(huì)退出[業(yè)務(wù)流程平臺(tái)]的舞臺(tái),這里我指的退出是指不直接用WF開發(fā)[業(yè)務(wù)流程平臺(tái)],而是

[WF] -> [業(yè)務(wù)流程SDK / 產(chǎn)品] -> [業(yè)務(wù)流程平臺(tái)]

?

其實(shí)在WF推出后,我就猜想MS會(huì)將WF與其某款Server產(chǎn)品結(jié)合實(shí)現(xiàn)[業(yè)務(wù)流程SDK / 產(chǎn)品],

我當(dāng)時(shí)猜想會(huì)是Exchange Server,沒想到看走眼了,竟然是SharePoint .(這里我們先不提CRM與BizTalk)

?

SharePoint與WF結(jié)合的市場(chǎng)反映怎樣我不加評(píng)論.反正我是不用!

?

我猜想在WF 4.0 后,MS會(huì)出一款直正的[業(yè)務(wù)流程SDK / 產(chǎn)品],可能是一個(gè)脫胎換骨的SharePoint,可能是Exchange,可能是一個(gè)全新的XXX

會(huì)不會(huì)是BizTalk呢,我覺得可能性不大,因?yàn)橐粋€(gè)是后臺(tái)算法Server,一個(gè)是前臺(tái)業(yè)務(wù)Server,這樣不是更好

?

以上的分析,不管對(duì)錯(cuò),全當(dāng)是一種參考吧

轉(zhuǎn)載于:https://www.cnblogs.com/foundation/archive/2009/02/12/1388929.html

總結(jié)

以上是生活随笔為你收集整理的换一个角度再谈一下WF的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。