出版時間:2008-9 出版社:清華大學(xué)出版社 作者:基塔 頁數(shù):373 譯者:陳宇寒
Tag標(biāo)簽:無
前言
WindowsWorkflowFoundation是最近剛剛發(fā)布的.NETFramework3.0中的4個主要基礎(chǔ)部分之一。雖然在微軟的技術(shù)中曾經(jīng)出現(xiàn)工作流技術(shù),但是在那時它一般作為一次性的解決方案來實現(xiàn),如專門針對像BizTalk或者MicrosoftContentManagementServer等產(chǎn)品的解決方案。隨著WindowsWorkflowFoundation的發(fā)布,微軟為開發(fā)基于流程或基于工作流的軟件解決方案提供了一種通用的、可擴展的應(yīng)用編程接口(API)。您可以將WindowsWorkflowFoundation和.NETFramework視為等同:把它作為通用的API,從零開始構(gòu)建軟件應(yīng)用程序。開發(fā)WindowsWorkflowFoundation的目的在于彌補微軟產(chǎn)品的不足。雖然基于工作流的應(yīng)用程序已經(jīng)經(jīng)歷了多年的開發(fā),但是絕大部分的工作流基礎(chǔ)結(jié)構(gòu)是由定制代碼實現(xiàn)的。當(dāng)然,這樣做需要編寫大量的代碼并進行長期的維護工作。除此之外,這種純粹的代碼不能解決任何具體的業(yè)務(wù)問題。因此,像WindowsWorkflowFoundation這樣的架構(gòu)就提供了一種通用的基礎(chǔ)結(jié)構(gòu),它使開發(fā)人員無需考慮如何構(gòu)造底層的工作流邏輯就能構(gòu)建基于工作流的解決方案。本書為軟件開發(fā)人員和軟件架構(gòu)師提供了構(gòu)建基于WindowsWorkflowFoundation的解決方案時所需要了解的一切知識。書中的例子和示例代碼詳盡描述了該技術(shù)的每個主要方面。本書旨在將WindowsWorkflowFoundation的相關(guān)介紹和運用該技術(shù)所構(gòu)建的例子很好地結(jié)合起來。由于WindowsWorkflowFoundation是一個全新的產(chǎn)品,有多少人將會選擇使用它尚待分曉。然而,根據(jù)微軟對此產(chǎn)品的定位以及一些組織機構(gòu)運用工作流技術(shù)的情況來看,人們對這一重大新技術(shù)的需求將與日俱增。本書的目標(biāo)在于實際指導(dǎo)如何開發(fā)基于工作流的軟件以及如何將這個軟件集成到現(xiàn)有的各種技術(shù)體系中。本書讀者對象本書適用于那些想更多地了解WindowsWorkflowFoundation的人。對大多數(shù)人而言,只要對這種技術(shù)感興趣,無論是底層的軟件開發(fā)人員還是上層的架構(gòu)設(shè)計人員都能在本書中找到所需要的內(nèi)容。當(dāng)然,如果讀者已經(jīng)熟悉.NETFramework,則會對理解本書有輔助作用,因為WindowsWorkflowFoundation是直接建立在.NETFramework技術(shù)之上的。本書前幾章介紹了工作流和WindowsWorkflowFoundation的基礎(chǔ)知識,并使用了簡單的代碼演示如何進行與一般工作流應(yīng)用程序相關(guān)的一些基礎(chǔ)操作。之后,每個章節(jié)深入講解了WindowsWorkflowFoundation體系結(jié)構(gòu)的各個方面。本書還包括運用即插即用功能以及擴展基本API的方法開發(fā)解決方案的相關(guān)主題。本書內(nèi)容簡介第1章包含了和工作流以及.NETFramework3.0相關(guān)的高級信息。第2章面向那些需要直接進入編碼階段開始開發(fā)的讀者。第3章為那些想要大致了解WindowsWorkflowFoundation各個部分的讀者提供了主要的資源。第512章詳細介紹了WindowsWorkflowFoundation架構(gòu)的各個具體方面。第13,14和15章分別介紹了同WindowsWorkflowFoundation相關(guān)的技術(shù),同時還包括了其他技術(shù),例如Web服務(wù)、ASP.NET以及SharePoint技術(shù)。您可以在對工作流架構(gòu)了解的基礎(chǔ)之上自由地瀏覽本書,但應(yīng)該在閱讀第415章之前讀完前3章的內(nèi)容。使用本書的要求雖然不是必需的,但對于想要理解書中代碼的讀者,只需達到幾個先決條件就可以了,其中最主要的是要有VisualStudio2005。雖然VisualStudio不是開發(fā)C#或其他.NET代碼所必需的工具,但它是開發(fā)者開發(fā)此類代碼經(jīng)常使用的工具。因此,本書中大多數(shù)代碼的編寫都是在假設(shè)讀者使用VisualStudio的情況下進行的。用WindowsWorkflowFoundation開發(fā)軟件所需的其他軟件都是免費的,并且可以從微軟網(wǎng)站上獲得。首先需要下載的軟件是.NETFramework2.0和3.0。.NET2.0為.NET3.0提供基礎(chǔ)類庫和公共語言運行庫。而.NET3.0包括用于WindowsWorkflowFoundation的新代碼以及其他基礎(chǔ)部分(見第1章中的介紹)。接下來需要下載的軟件是.NETFramework3.0的VisualStudio2005擴展。這個軟件提供了一個可視化的工作流設(shè)計工具以及通用的工作流項目模板,以此來支持在VisualStudio中開發(fā)WindowsWorkflowFoundation。最后一個需要下載的軟件是可選的軟件,即MicrosoftWindowsSoftwareDevelopmentKit(SDK)forWindowsVistaand.NETFramework3.0RuntimeComponents。不要被這這個SDK的名稱迷惑,它同樣適用于其他的Windows操作系統(tǒng),如Windows2003和WindowsXPSP2。在這個SDK中提供了文檔和示例,這些內(nèi)容有助于您在下一代Windows開發(fā)平臺即.NETFramework3.0上開始開發(fā)工作。加入論壇后,您可以發(fā)布新的信息,可以給其他用戶回信息。任何時候您都可以瀏覽信息。如果您需要某個論壇將新的信息用e-mail發(fā)送給您,可以在論壇列表中根據(jù)該論壇名稱單擊論壇的“訂閱”圖標(biāo)。若要了解更多如何使用WroxP2P的信息,請務(wù)必參看P2PFAQ,這里解答了論壇的軟件是如何運作的,以及專門關(guān)于P2P和Wrox書籍的許多普遍的問題。在任何P2P網(wǎng)頁上單擊FAQ鏈接即可閱讀FAQ。
內(nèi)容概要
如果您想掌握建立Windows Workflow Foundation解決方案的技巧,那么本書正是您所需要的。它為您提供了一個清晰、實用的指南,指導(dǎo)您開發(fā)基于工作流的軟件并將它集成到現(xiàn)有的技術(shù)體系中。在本書中,您還將看到很多現(xiàn)實世界中的例子以及示例代碼,它們將幫助您快速起步?! 袑indows Workflow Foundation中的每個主要部分以及與工作流應(yīng)用程序相關(guān)的基本操作進行了深入研究。詳述了如何在Visual Studio中開發(fā)工作流,用定制代碼擴展框架,以及使用微軟的技術(shù)如SharePoint 2007和Windows Communication Foundation(簡稱WCF)來利用框架等內(nèi)容。從而幫助讀者學(xué)會使用Windows Workflow Foundation來為公司創(chuàng)建極具價值的新型業(yè)務(wù)解決方案。
作者簡介
作者:(美國)基塔 (Kitta.T.) 譯者:陳宇寒
書籍目錄
第1章 工作流和Windows Workflow Foundation導(dǎo)論 1.1 背景簡介 1.2 工作流概念 1.2.1 業(yè)務(wù)流程管理 1.2.2 工作流原則 1.2.3 工作流的類型 1.2.4 工作流場景和實例 1.2.5 工作流的實現(xiàn) 1.3 Windows Workflow Foundation 1.3.1 .NET和.NET Framework 3.0簡介 1.3.2 為何選擇Windows Workflow Foundation 1.3.3 誰應(yīng)該關(guān)注Windows Workflow Foundation? 1.4 小結(jié) 第2章 Hello,Workflow! 2.1 Hello World 2.1.1 需要的工具 2.1.2 練習(xí)目標(biāo) 2.1.3 開始練習(xí) 2.1.4 深入學(xué)習(xí) 2.2 小結(jié) 第3章 工作流的組成 3.1 平臺概覽 3.1.1 這是一個Foundation 3.1.2 適用對象 3.2 Windows Workflow Foundation的組件 3.2.1 工作流 3.2.2 活動 3.2.3 宿主 3.2.4 運行時服務(wù) 3.2.5 規(guī)則 3.2.6 Visual Studio 3.2.7 Windows Workflow工具 3.3 Windows Workflow Foundation特性及原理 3.3.1 動態(tài)更新 3.3.2 設(shè)計器宿主 3.3.3 擴展性 3.3.4 配置 3.3.5 監(jiān)視工作流 3.4 命名空間 3.5 Windows Workflow Foundation及其他技術(shù) 3.5.1 SQL Server 3.5.2 BizTalk Server 3.5.3 Office和SharePoint 3.5.4 Windows Communication Foundation 3.5.5 ASP.NET 3.6 小結(jié) 第4章 工作流開發(fā)及Visual Studio 4.1 工作流的組成 4.2 工作流開發(fā)風(fēng)格 4.2.1 Markup-only 4.2.2 Code-and-Markup 4.2.3 Code-Only 4.3 工作流序列化 4.3.1 序列化類 4.3.2 定制序列化 4.4 工作流編譯 4.4.1 wfc.exe 4.4.2 WorkflowCompiler類 4.4.3 編譯步驟 4.5 Visual Studio開發(fā)環(huán)境 4.5.1 解決方案和項目 4.5.2 菜單 4.5.3 工作流工具條 4.5.4 工具箱 4.5.5 項目項的類型 4.5.6 Properties窗口 4.5.7 設(shè)計器 4.5.8 設(shè)計時驗證 4.5.9 主題 4.5.10 調(diào)試 4.5.11 類型瀏覽器 4.6 小結(jié) 第5章 工作流宿主、執(zhí)行及通信 5.1 工作流宿主 5.1.1 工作流運行時 5.1.2 WorkflowInstance類 5.1.3 工作流執(zhí)行 5.1.4 WorkflowEnvironment類 5.2 工作流通信 5.2.1 參數(shù) 5.2.2 本地通信服務(wù) 5.3 小結(jié) 第6章 活動 6.1 活動簡介 6.2 內(nèi)置活動 6.2.1 CallExternalMethod活動 6.2.2 Code活動 6.2.3 CompensatableSequence活動、Compensate活動以及CompensationHandler活動 6.2.4 CompensatableTransaction Scope活動和TransactionScope活動 6.2.5 ConditionedActivityGroup活動 6.2.6 Delay活動 6.2.7 EventDriven活動 6.2.8 EventHandlingScope活動和EventHandlers活動 6.2.9 FaultHandler活動和FaultHandlers活動 6.2.10 HandleExternalEvent活動 6.2.11 IfElse活動和IfElseBranch活動 6.2.12 InvokeWebService活動 6.2.13 InvokeWorkflow活動 6.2.14 Listen活動 6.2.15 Parallel活動 6.2.16 Policy活動 6.2.17 Replicator活動 6.2.18 Sequence活動 6.2.19 SetState活動 6.2.20 State活動 6.2.21 StateFinalization活動和StateInitialization活動 6.2.22 Suspend活動 6.2.23 SynchronizationScope活動 6.2.24 Terminate活動 6.2.25 Throw活動 6.2.26 WebServiceFault活動 6.2.27 WebServiceInput活動 6.2.28 WebServiceOutput活動 6.2.29 While活動 6.3 開發(fā)活動 6.3.1 Activity類 6.3.2 CompositeActivity類 6.3.3 活動屬性 6.3.4 活動組件 6.3.5 示例:開發(fā)WriteFile活動 6.4 小結(jié) 第7章 運行時服務(wù) 7.1 內(nèi)置服務(wù) 7.1.1 調(diào)度服務(wù) 7.1.2 批處理服務(wù) 7.1.3 持久化服務(wù) 7.1.4 追蹤服務(wù) 7.1.5 工作流加載器服務(wù) 7.1.6 數(shù)據(jù)交換服務(wù) 7.2 開發(fā)運行時服務(wù) 7.2.1 開發(fā)調(diào)度服務(wù) 7.2.2 開發(fā)批處理服務(wù) 7.2.3 開發(fā)持久化服務(wù) 7.2.4 開發(fā)追蹤服務(wù) 7.2.5 開發(fā)工作流加載器服務(wù) 7.2.6 開發(fā)其他服務(wù)類型 7.3 小結(jié) 第8章 開發(fā)高級活動 8.1 活動執(zhí)行模型 8.2 活動執(zhí)行上下文 8.3 開發(fā)一個迭代活動 8.4 事件活動 8.4.1 IEventActivity接口 8.4.2 工作流隊列 8.4.3 開發(fā)一個Event 活動 8.5 小結(jié) 第9章 規(guī)則 9.1 業(yè)務(wù)規(guī)則和Windows Workflow Foundation 9.1.1 代碼條件 9.1.2 解析規(guī)則 9.1.3 Windows Workflow規(guī)則語言 9.2 相關(guān)活動 9.2.1 IfElse 活動、While 活動、Replicator 活動和ConditionedActivityGroup 活動 9.2.2 Policy 9.3 規(guī)則的求值 9.3.1 鏈接選項 9.3.2 規(guī)則重新求值選項 9.4 創(chuàng)建規(guī)則 9.4.1 規(guī)則 9.4.2 以編程方式創(chuàng)建規(guī)則 9.4.3 XML中的規(guī)則 9.5 使用工作流規(guī)則 9.6 動態(tài)升級規(guī)則 9.7 小結(jié) 第10章 狀態(tài)機工作流 10.1 狀態(tài)機解析 10.2 何時使用狀態(tài)機 10.3 狀態(tài)機活動 10.3.1 StateMachineWorkflow Activity類 10.3.2 State活動 10.3.3 EventDriven 活動 10.3.4 StateInitialization活動 10.3.5 StateFinalization活動 10.3.6 SetState活動 10.4 遞歸狀態(tài)組合 10.5 狀態(tài)機設(shè)計器 10.6 操作和查詢狀態(tài)機工作流 10.6.1 StateMachineWorkflowInstance類 10.6.2 查詢一個狀態(tài)機實例 10.6.3 省略步驟 10.7 購物車示例 10.8 小結(jié) 第11章 動態(tài)更新和設(shè)計器重新載入 11.1 動態(tài)更新 11.1.1 動態(tài)更新API 11.1.2 在工作流內(nèi)部動態(tài)更新 11.1.3 更新還是不更新? 11.1.4 規(guī)則的動態(tài)更新 11.2 設(shè)計器重新載入 11.2.1 設(shè)計器API 11.2.2 狀態(tài)機設(shè)計器 11.3 使用動態(tài)更新和設(shè)計器重新載入 11.4 小結(jié) 第12章 異常、錯誤以及調(diào)試 12.1 異常 12.2 工作流錯誤 12.2.1 處理錯誤 12.2.2 取消句柄 12.2.3 拋出錯誤 12.3 調(diào)試工作流 12.3.1 在Visual Studio中調(diào)試 12.3.2 運用WorkflowRuntime事件 12.3.3 追蹤 12.3.4 性能計數(shù)器 12.4 小結(jié) 第13章 Windows Workflow Foundation和ASP.NET 13.1 ASP.NET中的應(yīng)用程序場景 13.2 技術(shù)考慮 13.3 管理工作流運行時 13.4 作為頁面流引擎的工作流 13.4.1 Model-View-Controller 13.4.2 建立一個頁面流應(yīng)用程序 13.5 小結(jié) 第14章 Windows Workflow Foundation和互聯(lián)系統(tǒng) 14.1 互聯(lián)系統(tǒng)和面向服務(wù)的架構(gòu) 14.2 工作流和Web服務(wù) 14.2.1 Web服務(wù)活動 14.2.2 在一個工作流中調(diào)用Web服務(wù) 14.2.3 將工作流顯示為Web服務(wù) 14.3 工作流和Windows Communication Foundation 14.3.1 了解WCF 14.3.2 使用WCF將一個工作流作為一個Windows服務(wù) 14.4 小結(jié) 第15章 Windows Workflow Foundation和微軟Office系統(tǒng) 15.1 微軟Office系統(tǒng) 15.1.1 通常的疑慮 15.1.2 已經(jīng)上市的新產(chǎn)品 15.1.3 SharePoint 15.2 工作流和Office系統(tǒng) 15.2.1 將SharePoint作為一個宿主 15.2.2 Office應(yīng)用程序作為前端 15.2.3 自帶的工作流 15.2.4 SharePoint中的工作流特性 15.2.5 工作流聯(lián)合 15.2.6 運行工作流 15.2.7 工作流表單 15.3 Office中的工作流開發(fā) 15.3.1 在SharePoint設(shè)計器中進行開發(fā) 15.3.2 在Visual Studio中進行開發(fā) 15.4 小結(jié)
章節(jié)摘錄
插圖:第1章 工作流和Windows workflow Foundation導(dǎo)論本章概括了開發(fā)商業(yè)應(yīng)用程序以前和現(xiàn)在常用的方式,并介紹了工作流基礎(chǔ)知識以及Windows Worknow Foundation平臺。1.1 背景簡介起初,計算機的作用是解決校園里的復(fù)雜的數(shù)學(xué)問題。在人們認識到可以用計算機解決商業(yè)問題之前,計算機的計算能力在一段時間內(nèi)還僅限于學(xué)術(shù)范圍。商業(yè)應(yīng)用程序的時代就此開始。作為本書的讀者,您可能已經(jīng)對一些商業(yè)應(yīng)用程序有所了解。您也許使用.NET代碼、C++、Java、SQL或者其他語言編寫程序來幫助公司實現(xiàn)商業(yè)戰(zhàn)略或減少成本。若是這樣,這就意味著您在現(xiàn)代商業(yè)的成功中扮演了重要的角色。傳統(tǒng)上,一個業(yè)務(wù)決定一項含有信息技術(shù)的工程值得一做,因為它將給組織帶來競爭優(yōu)勢,減少營業(yè)成本,或者將一個復(fù)雜的手工流程自動化。一般情況下,項目的軟件開發(fā)人員先從業(yè)務(wù)中收集需求,然后進行系統(tǒng)設(shè)計和軟件設(shè)計,最后創(chuàng)建源代碼。當(dāng)然,任何有價值的軟件開發(fā)過程都比這種情況更加復(fù)雜,但這是一個大體思路。軟件開發(fā)過程在過去的50多年里發(fā)展迅速,公司已經(jīng)使用計算機來輔助解決業(yè)務(wù)流程問題。在不久以前,軟件解決方案的實現(xiàn)方式事實上仍然是面向過程的代碼。在過去10到15年的時間里,面向?qū)ο蟮拇a為開發(fā)人員建立與現(xiàn)實世界對象相對應(yīng)的可重用代碼塊提供了很好的開發(fā)方法。如果使用正確的話,這種方法可以幫助開發(fā)人員更加有效而快速地實現(xiàn)軟件解決方案。訂單的處理流程、新員工的處理流程、保險的索賠流程只是可以進行自動化業(yè)務(wù)處理的幾個例子。對這些業(yè)務(wù)流程進行建模和歸檔,在適當(dāng)?shù)臅r候開發(fā)人員通過編寫代碼來解釋對業(yè)務(wù)過程的描述。在真正開始編碼階段之前,業(yè)務(wù)分析員通常要先捕捉過程的每個步驟,并用圖形或者任務(wù)列表的形式表示業(yè)務(wù)過程中必須完成的任務(wù)以及完成這些任務(wù)的順序。在這一階段,完整無缺的任務(wù)列表或者可視的圖形表示被轉(zhuǎn)換成源代碼,這樣就可以由機器執(zhí)行該過程。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
Windows Workflow Foundation高級編程 PDF格式下載