WF本質(zhì)論

出版時間:2007  出版社:機械工業(yè)出版社  作者:Dharma Shukla,Bob Schmidt  頁數(shù):322  譯者:周健  
Tag標簽:無  

內(nèi)容概要

  《WF本質(zhì)論》詳細講解Windows Workflow Foundation(WF)的運作原理,并在解析原理的過程中給出WF的設(shè)計初衷。WF使用了一種開創(chuàng)性的方法來編寫和執(zhí)行程序。《WF本質(zhì)論》兩位作者從WF項目立項開始就參與這個項目,負責規(guī)劃、設(shè)計、開發(fā)了其中的大部分技術(shù)。在《WF本質(zhì)論》中,作者高屋建瓴地探討了WF中的關(guān)鍵概念和整體架構(gòu),不僅涉及如何使用WF,還涉及為什么這樣使用WF,揭開了WF技術(shù)的神秘面紗。通過簡單而極具說明性的例子,《WF本質(zhì)論》演示了如何利用WF的可擴展性編程來構(gòu)造具體領(lǐng)域的程序?! F編程模型關(guān)鍵部分的核心概念和觀點。  活動的執(zhí)行模型,包括活動自動機的細節(jié)、書簽機制、調(diào)度策略以及WF運行時的線程模型?! 「呒増?zhí)行概念,包括活動執(zhí)行上下文、事務(wù)、持久化點、鈍化、錯誤處理、取消操作、補償和異步?! ≡趹?yīng)用程序中宿主WF運行時?! 』顒咏M件模型,包括驗證的細節(jié)、WF程序的編譯、序列化以及可視化?! ?shù)據(jù)綁定、XAML、依賴屬性以及WF程序元數(shù)據(jù)。  聲明性條件及規(guī)則、活動設(shè)計器以及如何駐留設(shè)計器?! ∽远x控制流模式,從簡單的順序和迭代控制流到復雜的圖和狀態(tài)機控制流等各種層次?! ∵\行期間對WF程序?qū)嵗膭討B(tài)編輯。

作者簡介

作者:(美)舒克拉(Dharma Shukla) 施密德  譯者:周健Dharma Shukla 微軟架構(gòu)師,工作目標為下一代編程模型。他是WF項目組的一名支柱成員,在定義WF體系結(jié)構(gòu)的過程中扮演了重要的角色。Bob Schmidt 微軟高級程序經(jīng)理,他的工作目標也是下一代編程模型。自2003年開始,他的主要精力放在了WF的設(shè)計上。他曾獲得斯坦福大學計算機科學碩士學位。

書籍目錄

第1章   剖析WF	1 1.1   線程進程靈活性	4 1.1.1   書簽	6 1.1.2   可恢復語句組件	9 1.2   復合語句組件	11 1.3   控制流	15 1.3.1   復合語句組件	17 1.3.2   控制流的健壯性	19 1.3.3   現(xiàn)實中的控制流	20 1.4   程序的聲明	21 1.5   本章小結(jié)	23 第2章   WF程序	24 2.1   WF編程模型	24 2.1.1   活動	24 2.1.2   復合活動	28 2.1.3   WF程序	30 2.2   WF運行時	33 2.3   本章小結(jié)	38 第3章   活動的執(zhí)行	40 3.1   調(diào)度	41 3.2   活動自動機	42 3.2.1   活動的執(zhí)行狀態(tài)和結(jié)果	43 3.2.2   活動執(zhí)行上下文	46 3.2.3   活動的服務(wù)	47 3.3   回顧書簽	49 3.3.1   WF程序的執(zhí)行	51 3.3.2   WF程序隊列	51 3.3.3   計時器	57 3.4   活動的初始化和終結(jié)化	60 3.5   組件活動的執(zhí)行	64 3.6   WF線程	74 3.7   本章小結(jié)	79 第4章   活動執(zhí)行的進階話題	80 4.1   活動執(zhí)行上下文	80 4.1.1   活動執(zhí)行上下文管理器	82 4.1.2   迭代控制流	84 4.1.3   交錯式迭代	93 4.1.4   活動執(zhí)行上下文的結(jié)束	96 4.1.5   AEC和WF程序的鈍化	96 4.2   取消	98 4.2.1   取消狀態(tài)	98 4.2.2   復合活動的取消	104 4.2.3   提早完成	106 4.2.4   取消處理器	107 4.3   錯誤處理	109 4.3.1   異常狀態(tài)	109 4.3.2   復合活動的錯誤處理	112 4.3.3   錯誤傳播	113 4.3.4   錯誤處理器	113 4.3.5   未處理錯誤	114 4.3.6   為錯誤處理建模	114 4.3.7   ThrowActivity活動	119 4.4   補償	119 4.4.1   補償狀態(tài)	120 4.4.2   補償處理器	122 4.4.3   默認補償	123 4.4.4   自定義補償	125 4.5   本章小結(jié)	128 第5章   宿主應(yīng)用程序	129 5.1   WF運行時	129 5.1.1   服務(wù)	131 5.3   創(chuàng)建WF程序?qū)嵗?134 5.4   運行WF程序?qū)嵗?144 5.5   WF程序?qū)嵗拟g化	150 5.5.1   運行期間活動序列化	156 5.5.2   基于代理的序列化	156 5.6   WF程序?qū)嵗膾炱?162 5.7   WF程序?qū)嵗闹兄?164 5.8   放棄WF程序?qū)嵗?165 5.9   WF程序?qū)嵗耐瓿?166 5.10   WF程序?qū)嵗纳芷?166 5.11   本章小結(jié)	175 第6章   事務(wù)	176 6.1   TransactionScopeActivity活動	177 6.2   保存點	181 6.3   事務(wù)服務(wù)	183 6.4   數(shù)據(jù)的事務(wù)化傳輸	187 6.5   本章小結(jié)	188 第7章   進階話題	189 7.1   依賴屬性	189 7.1.1   活動元數(shù)據(jù)	190 7.1.2   活動數(shù)據(jù)綁定	195 7.1.3   附著屬性	198 7.2   使用XAML定義活動類型	200 7.3   活動組件模型	208 7.4   驗證	211 7.4.1   活動驗證器	217 7.4.2   復合活動的驗證	217 7.4.3   驗證選項	219 7.5   編譯	220 7.5.1   編譯器參數(shù)	221 7.5.2   編譯器輸入	222 7.5.3   驗證和編譯	223 7.5.4   活動代碼生成	224 7.6   設(shè)計器序列化	229 7.6.1   代碼序列化	231 7.6.2   XAML 序列化	233 7.6.3   集合序列化	234 7.7   本章小結(jié)	236 第8章   雜項	237 8.1.2   代碼型條件	239 8.1.3   聲明性條件	241 8.1.4   規(guī)則	243 8.1.5   規(guī)則集的執(zhí)行	247 8.2   動態(tài)編輯運行中的WF程序?qū)嵗?248 8.3   跟蹤服務(wù)	255 8.4   設(shè)計器	261 8.4.1   設(shè)計器基類	265 8.4.2   附著屬性	269 8.4.3   設(shè)計器動作	272 8.4.4   設(shè)計器圖形	275 8.4.5   設(shè)計器布局管理	277 8.4.6   設(shè)計器主題	279 8.4.7   工具箱條目	282 8.5   駐留設(shè)計器	284 8.5.1   回顧WorkflowView控件	284 8.5.2   動態(tài)解析活動設(shè)計器	288 8.6   本章小結(jié)	290 附錄A   活動自動機	291 附錄B   控制流模式	292

章節(jié)摘錄

前言前  言 Windows Workflow Foundation(WF)是一個通用的編程框架,它可用于創(chuàng)建需要對外部實體的信號作出響應(yīng)的交互式程序。交互式程序的基本特征是它會在執(zhí)行期間暫停某一長短未知的時段,以等待輸入。 當然,交互式程序并不是什么新現(xiàn)象。自從計算機網(wǎng)絡(luò)出現(xiàn)以來,交互式程序就廣泛應(yīng)用于兩臺計算機之間的通信。這些技術(shù)還適用于運行在單臺計算機上的數(shù)據(jù)交換。這種技術(shù)的變體涵蓋了從套接字到Web服務(wù)等各種技術(shù),這些技術(shù)在程序通信領(lǐng)域已應(yīng)用了多年。盡管在這幾年中,編程模型的互操作性、可伸縮性以及易編程性等方面有了長足的發(fā)展,但開發(fā)人員在程序交互方面的投入依然匱乏。比如,時下流行的Web編程模型,這類模型通常為開發(fā)人員強加控制流模型,且非常生硬。因此,WF希望改變這一切。 WF編程模型的核心概念就是活動—WF程序中的程序語句?;顒拥膱?zhí)行具有固有的可恢復性,同時以片段式的方式執(zhí)行,它根據(jù)活動與外部實體的交互來暫停和恢復執(zhí)行。當你在深夜合卷睡覺前,一般都會在書本當前閱讀的位置放置一個書簽,對WF中的活動來說也是這樣,當活動等待外部輸入時,它會在當前執(zhí)行的位置做一個書簽,當收到外部輸入打算恢復執(zhí)行時,則從書簽的位置繼續(xù)執(zhí)行。 WF是一個框架,而不是一組由語法定義的編程構(gòu)造。WF中活動的概念是可擴展的,這使得WF程序中的表達式以及控制流相對于C#或Visual Basic這樣的語言要豐富得多。你可以使用領(lǐng)域?qū)S械幕顒右约疤囟ǖ目刂屏鹘Y(jié)構(gòu)來表示W(wǎng)F程序,因此,它能通過捕捉復雜的人機交互來高度擬真特定的場景。 WF運行時是一個元運行時,它建立在通用語言運行時(CLR)之上,并管理著WF程序的執(zhí)行。在一個分布式的環(huán)境中,WF程序可以在不需要做任何額外工作的前提下,相當自然地暫?;蚧謴?,也可以執(zhí)行任意長一段時間。在WF程序空閑時,它既不會執(zhí)行失敗,也不會過度消耗系統(tǒng)資源。在WF的上下文中,CLR的工作就是管理那些在內(nèi)存中代表WF程序的對象。而WF運行時的工作就是管理WF程序的完整生命周期,WF程序的生命周期是可以跨越CLR線程、應(yīng)用程序域、操作系統(tǒng)進程甚至機器的。 總之,WF提供了一個編寫和執(zhí)行交互式程序的編程模型。WF程序是由被稱為活動的領(lǐng)域相關(guān)程序語句構(gòu)建的。這允許領(lǐng)域?qū)<铱梢允褂迷擃I(lǐng)域的概念來描述。 關(guān)于本書 我們撰寫這本書有一個簡單的理由,那就是我們都相信在WF的核心有一個令人矚目的概念。在當今主流平臺上,這些概念還是第一次出現(xiàn)。WF的面向活動編程方法采用了與時下流行的編程范式完全不同的原則,因此,學習WF最好的方式就是首先關(guān)注WF編程模型賴以建立的基礎(chǔ)概念。僅僅熟悉System.Workflow命名空間下的一系列類型,對于WF開發(fā)者來說是遠遠不夠的。 總而言之,這本書不會介紹WF的三個程序集中350個以上的類。WF有意地回避了WF的外圍設(shè)施,而將注意力集中于WF的精髓—核心編程模式和運行時特性集。大量經(jīng)驗告訴我們,從基本原理著手來學習一個框架是成為資深WF開發(fā)者的最可靠路徑。 撰寫這本書是對我們信念的考驗,也是對交互程序所做假設(shè)以及這類程序開發(fā)方式的檢驗。如果這本書以及WF中的新概念能幫助讀者更好地構(gòu)建應(yīng)用,那么我們就成功了。 本書的組織如下。第1章介紹支撐WF編程模式的一些關(guān)鍵概念:書簽、延續(xù)、線程與進程靈活性、鈍化、可恢復程序語句以及可恢復程序的運行時。對這些概念的討論都游離于WF之外,以最簡潔的形式出現(xiàn),以求使討論最明確化。 第2章將第1章中介紹的概念映射到了WF編程模型中,因此,第2章可以說是接下來幾章的橋段。我們從這里開始開發(fā)活動,將這些活動組合為簡單程序,從而運行這些WF程序。 第3、4章討論活動執(zhí)行的一些細節(jié)方面,包括書簽機制、錯誤處理、取消操作以及補償邏輯。而描述活動生命周期的活動自動機則是這兩章一致的主題。第5章探討構(gòu)建WF運行時宿主程序的方法,同時展現(xiàn)WF的可擴展性。第6章討論WF程序執(zhí)行中事務(wù)的臨界區(qū)功能。第7章講解許多與活動和WF程序創(chuàng)作相關(guān)的進階話題,其中包括驗證和編譯。第8章介紹WF核心概念的若干外圍特性。 附錄A是活動自動機的一個參考。附錄B為我們展現(xiàn)若干復合活動的代碼,這些復合活動比正文中所開發(fā)的復合活動復雜得多。這些例子強調(diào)了WF編程模型的那些擴展點,同時演示了復合活動構(gòu)建復雜控制流模型的能力。 在本書中,我們完全把重點放在Windows Workflow Foundation上。我們假定讀者已經(jīng)掌握C# 2.0和CLR的基本知識。如果讀者還不了解這些,可以參考《The C# Programming Language, Second Edition》,Anders Hejlsberg等(Addison-Wesley,ISBN:0321334434)和《Essential .NET, Volume I: The Common Language Runtime》Don Box和Chris Sells(Addison-Wesley,ISBN:0201734117),以上列出的書都是這一領(lǐng)域的權(quán)威資料。本書中的示例都十分簡單—我們有意識地降低場景對示例的干擾,將注意力集中在概念本身。在你掌握了竅門之后,我們期望你能嘗試將本書中的概念和技術(shù)應(yīng)用到你所從事的行業(yè)中。 致謝 WF項目開始于三年前。當時我們這個小型工程師團隊已經(jīng)強烈地預感到:改變陳舊的程序構(gòu)造方式,開創(chuàng)一種嶄新的程序開發(fā)方法已經(jīng)勢在必行。我們的首次嘗試發(fā)生在與Microsoft Office團隊合作的時候,當時,我們思忖著該項嶄新的技術(shù)是否能成為他們計劃中的工作流特性的基礎(chǔ)結(jié)構(gòu)。我們的工作進展十分順利,WF成為了Microsoft Office 2007中工作流特性的基礎(chǔ),同時更讓我們引以為榮的是,WF的第一個公開版本是作為.NET Framework 3.0的一部分發(fā)布的(眾所周知,.NET Framework 3.0是和Windows Vista一起發(fā)布的)。許多人為WF的設(shè)計出謀劃策,沒有他們的意見和建議,WF就沒有今天的公開發(fā)行版。在這里,我們不可能對每個為WF作出貢獻的人們致謝,但是我們還是向他們所做的努力致敬。 我們的審校也做了相當多的工作,他們告訴我們什么該著重強調(diào),哪里不能著墨過多,他們還幫我們指出了各章節(jié)的錯誤和遺漏。他們是:Angel Azcarraga、Don Box、Krzysztof Cwalina、Joe Duffy、 Omri Gazitt、Ian Griffiths、Mark Michaelis、Dennis Pilarinos、Jeffrey Richter、Andrei Romanenko、Akash Sagar、Chris Sells、Clemens Szyperski、Nate Talbert、Eric Zinda,正是有了以上各位的反饋意見,才能使本書變得更好。Ian提供了極具針對性和洞察力的意見;Aditya Bhandarkar在設(shè)計期間一節(jié)中提供了額外的幫助;Don不僅提供建設(shè)性的意見,還慷慨地捉筆為此書撰寫序言。 對我們來說,在寶貴的業(yè)余時間撰寫這樣一本書確實是一個挑戰(zhàn)。我們要感謝Addison-Wesley公司的Karen Gettman和Curt Johnson,所有耐心指導我們的出版界專家們,以及所有將我們的文字最終變?yōu)闀静⒊尸F(xiàn)在您面前的人們。 如果本書還有什么紕漏的話,那一定是我們的緣故了。 我是幸運的,因為我從WF誕生那一刻起就參與其中。WF是我迄今為止在微軟做過的最有趣的項目。對我來說,撰寫本書是構(gòu)建WF技術(shù)的一種延續(xù)?,F(xiàn)在這本書完成了,我也可以好好休息一下了。 多年來,Don Box一直是我的靈感源泉,他一直鼓勵我撰寫這本書,對此我十分感激。Don幫助我構(gòu)思本書的內(nèi)容,他廢寢忘食的精神以及和藹可親的態(tài)度,我將銘記在心。再次深表感謝,Don! Bob Schmidt和我共同完成了本書的撰寫工作。和Bob一起工作是一段十分愉快的經(jīng)歷。我們先是一起構(gòu)建WF技術(shù),隨后共同完成本書。謝謝你,Bob,祝旅途愉快。 還要感謝那些一線的編程人員,感謝你們將不可能變?yōu)榭赡堋?我一直十分感激Abhay Parasnis,他創(chuàng)建了一套獨特的環(huán)境,不僅為孕育技術(shù)革新提供了溫床,并且奇跡般地在短時間內(nèi)讓實現(xiàn)新技術(shù)成為可能。良好的開端是成功的一半,在WinOE期間的工作給我留下了美妙的回憶。 感激我的父母為我不計回報地付出,還有Pushpa堅定的支持。 我還要感謝我的妻子Bina,她總與我形影不離,還有我的女兒Anya,使一切都變得這么美好。 Dharma Shukla 2006年7月 作為首個研發(fā)經(jīng)理加入WF團隊,我確信這將是個研究改變程序開發(fā)方法的契機。能夠為這種新技術(shù)的開發(fā)貢獻自己的一份力量,我深感榮幸,與此同時,我也十分榮幸地參與了撰寫這本關(guān)于WF的書。 Dharma Shukla誠邀我與他合著這部書籍,我深表感激,他的洞察力、熱忱以及對真理的追求,使得我們彼此的討論總是熱情洋溢,而他的寬闊眼界與豐富的想象力,為這部書疏理出清晰的脈絡(luò)。 我要對Don Box表示感謝,這期間,我們從他那里得到了很大的支持和指導,Don Box有著敏銳的目光,設(shè)計的初始思路中著重于基礎(chǔ)的理念正是來源于他,這個理念使得我們能夠凝聚力量。 Abhay Parasnis不僅在WF項目中是絕對的主力,同時還起到了模范帶頭作用,他的領(lǐng)導能力在無形中激勵著我們。Abhay Parasnis理應(yīng)得到褒獎,這無可厚非。 由衷地感謝我的妻子Elaine,這么多年來她一直為我默默地付出,她是我堅強的后盾。我的兩個兒子,Thomas 和Andrew,作為父親,因為著書而頻繁地奔波于各項會議而無暇照顧他們的時候,他們總是在耐心等待而沒有無理取鬧,他們甚至知道什么時候才能進入我的辦公室以提供給我些許樂趣與靈感—我向你們保證:這個美好的夏天將充斥著冰淇淋和你們喜愛的壁球運動,一同期待吧。還有我的父母,你們讓我領(lǐng)悟到,全身心投入的團隊能創(chuàng)造多么偉大的奇跡,你們對我的幫助是無價的,感謝你們。  譯者序譯 者 序 當看到這本書的英文名稱時,你是否會聯(lián)想到另一本重量級的書《Essential COM》。誠然,這兩本書除了名稱類似外,確實還有些淵源,為本書作序的正是《Essential COM》的作者,Don Box。既然本書能冠以Essential的名號,那必定有過人之處。 首先,據(jù)我所知,這是市面上第一本深入剖析WF(Workflow Foundation)的書(本書的中譯本更是關(guān)于WF的第一本中文資料)。本書詳細解釋了WF的底層運作原理,并在解析原理的過程中,交代出了WF的設(shè)計初衷。從這個角度看,可以說這不是一本寫給WF初學者的書籍。它不能幫助讀者學習如何使用WF設(shè)計器,也沒有介紹出現(xiàn)在工具條中的每個活動,事實上,本書通篇沒有介紹任何一個WF自帶的活動。但通讀本書后,讀者就能完全了解WF架構(gòu)者的設(shè)計目的,從而最大限度地發(fā)掘WF的潛力??梢赃@么說,WF是架構(gòu)在CLR之上的另一個CLR,它完全改變了傳統(tǒng)的程序開發(fā)方式。 其次,本書的兩位作者見證了孵化WF的全過程。Dharma Shukla是WF的架構(gòu)師,而Bob Schmidt則是WF團隊的項目經(jīng)理。關(guān)于WF,此二人應(yīng)該是最有發(fā)言權(quán)的。也正是因為這個原因,才使得本書具備相當?shù)纳疃?。另一個不得不提的人就是Don Box,他的深刻洞察力以及把握全局的能力,為本書提供了強大支持。 本書以一個最簡化的Hello World程序開篇,隨后漸進式地改造該程序,最后該程序具有所有WF中的核心特性,可謂是麻雀雖小五臟俱全。在第1、2章中,作者從無到有地構(gòu)建了一個最簡化的WF程序。第3、4兩章則正式切入WF,介紹了作為WF核心概念的活動的整個生命周期。隨后幾章則從WF的其他幾個側(cè)面入手,介紹了WF運行時的幾個核心特性。當然,本書不是一本參考手冊,所以不能也沒有必要包羅萬象。 早在大學期間,我就開始關(guān)注工作流技術(shù)了,但那時對業(yè)界來說,工作流技術(shù)始終是陽春白雪,直到WF的出現(xiàn)。WF第一個beta版發(fā)布后,我急急地試用了一番,由此我預感到這將是一種使工作流走向普及的技術(shù)。去年本書的原版面世,我又迫不及待地瀏覽了一番,這讓我對WF有了新的認識:WF不僅僅是一個嵌入式工作流引擎,它更是一種新穎的編程方式。它打破了傳統(tǒng)的以編程語句為原子單元的編程方式,取而代之以活動作為編程的基本元素。這讓程序的邏輯控制流等元結(jié)構(gòu)得以無限擴展。因此,當陳冀康編輯邀我翻譯本書的時候,我甚感榮幸。 本書的翻譯少不了周圍朋友的支持。 感謝陳冀康編輯對我的信任。與陳編輯的合作十分愉快,這段經(jīng)歷將使我終身難忘。 我還要特別感謝我的摯友沈群超,他的文字功底和語言組織能力使得原本生硬的語句變得生動。他在新項目啟動的強大工作壓力下,完成了全書的審閱工作,沒有他,這本書就不可能這么快和讀者見面。 感謝我的導師兼上司黃紀綱。在得知我正在進行本書的翻譯工作后,他一直在給予我鼓勵和支持,協(xié)助我校對錯誤。甚至于在工作安排上也照顧到我的翻譯進度,有這樣老板的公司怎么能不成功。 我還得感謝我的女朋友。她雖然在工作上幫不上什么忙,但每天晚上回家后看到她的笑臉對我來說又何嘗不是一種最大的安慰呢。 在這里,對所有給予過我?guī)椭矣譀]能提到的朋友們一并致謝。 由于譯者水平有限,加之時間倉促,譯文中有錯誤或不當之處,敬請讀者不吝指正。我的郵箱是 zhoujian.ww@gmail.com。  周健 2007年7月 序言序  言 2006年7月,我寫下了這篇序,當時我已經(jīng)預感到這將是一個美好的開始。 起初,程序員們就已經(jīng)發(fā)現(xiàn),將表達其意圖的程序用機器可讀的方法表達具有舉足輕重的作用。也正是這個念頭,導致了助記碼的廣泛使用。 更為重要的是,不僅開發(fā)者已經(jīng)逐漸意識到,相關(guān)領(lǐng)域的專家也已經(jīng)發(fā)表了專業(yè)意見—目前尚未存在任何運行時框架或語言設(shè)計器能完全勝任數(shù)據(jù)模式的定義工作—這種觀念促使了行業(yè)相關(guān)語言的誕生。 Smalltalk、Java虛擬機(JVM)以及通用語言運行時(CLR)等系統(tǒng)已經(jīng)證實:諸如反射、序列化、產(chǎn)生式編程等類型定義的機器可讀標識法是有其實際價值的。但是,類型的基本表示法(諸如字段、方法、類)很大程度上是一個封閉的世界,它不允許用戶定義諸如控制流、并發(fā)、邏輯結(jié)構(gòu)或者領(lǐng)域相關(guān)的概念(比如貼現(xiàn)政策或者四分音符),除非在將一個操作不透明地貫穿于多個方法體。 現(xiàn)在,人們開始反問自己:“既然類型定義能用于數(shù)據(jù),那為什么其他設(shè)計期結(jié)構(gòu)不能呢?” 幸運的是,有一個人早在2003年就提出了這個問題,他就是我的好友,曾就職于Biztalk Server團隊的Dharma Shukla。 當Biztalk Server團隊的成員開始將XLANG orchestration engine封裝為一個可嵌入的平臺組件時,他們已經(jīng)可以把語言結(jié)構(gòu)從XLANG移植到另一個XML語法的語言上了(事實上,這項提案確實已經(jīng)提上了日程)。對于構(gòu)建Windows Orchestration Engine(WinOE)來說,這是迄今最為符合設(shè)計目的的方法。 幸運的是,Dharma先生早已極具預見性地洞察到:對所有的程序定義“一種實模式”并非可行之計,相反,他認為應(yīng)該將它“元化”,用戶可以為他們所工作的領(lǐng)域定義自己的操作碼,于是WF項目朝著構(gòu)建一個可擴展運行時的方法進行。這個重要的決策使你能使用XML語法來定義和組合這些操作碼,因此你有了一個系統(tǒng),這個系統(tǒng)可以讓你親自決定用于描述某個領(lǐng)域中的應(yīng)用程序的詞匯表和文句結(jié)構(gòu)。 在本書中,Dharma Shukla和Bob Schmidt向我們展示了Windows Workflow Foundation(WF)是一個極好的元運行時的例子,它使程序員將程序的編寫與執(zhí)行置于其管理之下。開發(fā)者為程序定義模式,并提供一個該模式的解釋器來使其能被部署和運行。這個簡單的概念會有大量衍生體。 是的,我說過,好戲即將上演,我們堅信,并執(zhí)著期待。 Don Box 2006年7月,華盛頓州 Yarrow Point

媒體關(guān)注與評論

如果我要編寫一本工作流的圖書,那么,本書就是我想寫的?!狫effrey Richter (http://Wintellect.com)Dharma Shukla和Bob Schmidt用一種易于理解而又權(quán)威的方法介紹了工作流技術(shù),真的值得一讀。——Clemens Szyperski微軟公司軟件架構(gòu)師Dharma和Bob使得任何已經(jīng)精通C#和.NET框架的開發(fā)者以及那些想要登堂入室的開發(fā)者都可以學習和掌握這門技術(shù),他們做的非常不錯??蓜e錯過了這本書?!狫oe Duffy微軟公司CLR組項目經(jīng)理

編輯推薦

★第一本W(wǎng)F技術(shù)圖書,帶你了解.NET 3.0的核心技術(shù)之一。    [精彩試讀一]      "好戲即將上演......"-Don Box, 微軟公司軟件架構(gòu)師    Windows Workflow Foundation(WF)使用了一種開創(chuàng)性的方法來編寫和執(zhí)行程序。WF程序是由一些可恢復的語句塊(稱為活動)組成的,封裝了專有領(lǐng)域的邏輯和控制流的模式,這些模式都可以映射到真實世界的處理流程?!禬F本質(zhì)論》兩位作者從WF項目開始立項就參與這個項目,負責規(guī)劃、設(shè)計、開發(fā)了其中的大部分技術(shù)。在《WF本質(zhì)論》中,作者高屋建瓴地探討了WF中的關(guān)鍵概念和整體架構(gòu),不僅涉及如何使用WF,還涉及為什么這樣使用WF,揭開了WF技術(shù)的神秘面紗。很多WF開發(fā)者都想知道如何通過編寫活動來高效使用和擴展框架,《WF本質(zhì)論》提供權(quán)威性的解釋和答案。通過簡單而極具說明性的例子,《WF本質(zhì)論》演示了如何利用WF的可擴展性編程來構(gòu)造具體領(lǐng)域的程序。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    WF本質(zhì)論 PDF格式下載


用戶評論 (總計7條)

 
 

  •   Dharma和Bob使得任何已經(jīng)精通C#和.NET框架的開發(fā)者以及那些想要登堂入室的開發(fā)者都可以學習和掌握這門技術(shù),他們做的非常不錯。
  •   這本書,寫的不好建議大家不要買
  •   內(nèi)容晦澀難懂,翻譯刻板,例子舉的也不具體和生動,對初學者不建議購買。
  •   還行。講的都是本質(zhì)的東西??梢詮闹械玫胶芏鄦l(fā)。對提高自身的編程水平很有好處。
  •   這本書比較深入,詳細介紹了WF的原理。不過不夠?qū)嵱?/li>
  •   我們要的是怎么使用vs2008開發(fā)wf,不是聽你說一堆理論的
  •   什么是WF?那是Windows Workflow Foundation的縮寫,它使用了一種開創(chuàng)性的方法來編寫和執(zhí)行程序。WF程序是由一些可恢復的語句塊(稱為活動)組成的,封裝了專有領(lǐng)域的邏輯和控制流的模式,這些模式都可以映射到真實世界的處理流程。... 閱讀更多
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7