請簡單介紹微軟工作流技術_第1頁
請簡單介紹微軟工作流技術_第2頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、請簡單介紹微軟工作流技術問題:請簡單介紹微軟工作流技術回答:一、什么是工作流,工作流做什么用呢一個工作流本質是一種方法-用來歸檔包含在完成一個單元的工作中的活動。典型地,在處理過程中,工作流流過一項或更多活動。這些活動可以通過機器或人工來實現,并且有可能象在一個互聯網應用程序定義頁面順序一樣得簡單,也有可能象管理必須為任何數目的人都要看到、更改并同意的文件或產品一樣得復雜。二、WWF是什么呢它的整體框架WWF說到底也是一個程序,只不過它是一個專門控制工作流的程序,它為開發工作流提供了框架、模型、以及工作流的工作引擎(即WorkflowRuntime),讓開發人員快速的建立工作流。1、Activ

2、ities(活動)工作流的組成部分,一個工作流由若干個activity組成,每個activity都包含特定的功能,去完成一件工作。2、Serivices(服務)當一個工作流實例運行時,可以伴隨運行許多個Serivices,這些Services都是采用可插式調用的,即這些Serivices是為了滿足不同的工作流的運行實例的需求,伴隨實例而運行的。如:在一個工作流的運行實例中,我們可以同時加載與宿主程序通信的Service,監ii聽和跟蹤工作流實例運行的Service等等。3、WWF與宿主程序的通信和關系。宿主程序能夠與工作流通訊交換數據通過通信Service服務,同時,宿主程序也可以與WWF中一

3、些特殊的Activiy活動通過定義一些接口,采用事件傳遞參數的形式進行通信,交換數據。4、WWF持久化(“鈍化”)WWF工作流程序可以長時間的運行,而且當WWF運行時所在的計算機重新啟動后,這些實例仍然可以正常準確的運行,是由WWF的“鈍化”機制來實現的。在WWF內部包含了一個非常有用的Service服務,用來把這些運行的數據保存到SQIServer中。5、WWF跟蹤WWF中在工作流運行的同時,能夠監視工作流的操作,而其這些操作可記錄在數據庫中或文件里。6、WWF序列化WWF的activity活動是可以被序列化的,通過序列化可將自定義的Activity的自定義樣式進行保存。7、WWF動態更新W

4、WF工作流允許工作流在運行的狀態中,動態的更新工作的狀態,或動態的控制工作流的流向,更改預期的流程。通過使用WWF,你可以創建基于處理器流的工作流并且把它們部署在任何類型的.NET應用程序中。此外,本文還討論了ASP.NET開發者面對的一些特有的問題-這些問題可能通過使用工作流得到解決,如維持狀態和頁面導航等。在2005年9月,微軟在它的一年兩次的專業開發者會議上公開了WindowsWorkflowFoundation(WWF,Windows工作流基礎)。作為WinFXAPI的支柱之一,WWF提供給開發者一個普通框架-在其上開發過程驅動的和以工作流為中心的應用程序。當前,有些組織力圖把整個商業

5、過程自動化;他們的標準答案就是集合一隊開發者來開發相應的代碼。盡管這種方式對于這些組織帶來良好的作用,然而也有一些固有的問題。為了深入理解這一問題,你需要理解一個工作流的基本特征。一個工作流本質是一種方法-用來歸檔包含在完成一個單元的工作中的活動。典型地,在處理過程中,工作流流過一項或更多活動。這些活動可以通過機器或人工來實現,并且有可能象在一個互聯網應用程序定義頁面順序一樣得簡單,也有可能象管理必須為任何數目的人都要看到、更改并同意的文件或產品一樣得復雜。因為如此多的工作流必須考慮到人工參預,所以可能需要花費很長工期才能完成,時間可能為幾小時到數月或更長。例如,參預在該過程中的人可能無法找到

6、,不在本地或忙于另外的任務;因此,工作流必須在所有非活動期間能夠把自身持續性存儲。而且,通過編碼獨立實現的過程可能對非技術人員難于理解而對開發者卻難于更改。這一點和其它一些因素正是例如WindowsWF等通用工作流框架的目標-其目的就在于使創建、改變和管理工作流更容易-這是通過向它們提供一個可視化接口或通過定義一組普通API來實現的。你可以把WWF工作流放置在任何類型的.NET應用程序中-包括Windows表單程序,控制臺應用程序,Windows服務和ASP.NETWeb應用程序。每種類型都需要專門的考慮。盡管一些現有示例已經足夠說明如何把工作流宿主到Windows表單程序和控制臺應用程序中,

7、但是本文將集中于討論ASP.NET開發者的問題-他們希望把工作流集成到自己的應用程序中。WindowsWF和MVC模式在開發一個ASP.NET應用程序時,你可能使用WWF的一個普通的方法是實現一種模型-視圖-控制器(MVC)方法。實質上,MVC的目標是把描述層、應用程序邏輯和應用程序流邏輯分離開來。搞清楚這個將十分有益于一個ASP.NET應用程序的開發,請考慮一個幫助桌面票工作流的場所。假定有一個商業用戶通過填寫一個ASP.NETWeb表單并點擊一個提交按鈕來啟動該工作流。接下來,服務器就會通知一個使用Windows表單應用程序和幫助桌面的雇員有新票可用了。該幫助桌面雇員然后將在這一問題上工作

8、,并在最后關閉該票。如果使用WindowsWF來開發這個工作流情形,那么所有的處理邏輯和流程可以被包含在工作流本身,而該ASP.NET應用程序將完全不需要了解這一邏輯。這種場所提供了一些穩固的證據-把描述與邏輯相分離是一件好事情。因為這個處理幫助桌面請求的過程是非常普通的,如果使用C#或VB.NET代碼在若干不同的.NET應用程序中實現這一邏輯,那么你將會冒著重復編碼的危險甚至更壞的情形用完全不同的代碼導致同樣的商業處理過程的不同實現。但是如果你使用WWF來實現這一過程,那么需要這一過程的應用程序開發者將僅需在一處修改這些步驟-工作流本身-而不必擔心這樣會改變應用程序邏輯。代碼復制和在哪里實現

9、該過程可以通過WindowsWF的使用來加以緩和。當使用WindowsWF在ASP.NET中實現MVC架構時,開發者應該嘗試構建獨立于應用程序的工作流-而該工作流仍然宿主于該應用程序中。這將有助于保持邏輯獨立于描述并且保持在該Web應用程序中的工作步驟順序和頁面流之間的高度獨立性。一個WWF開發新手可能試圖用一固定數目的活動以某種順序去開發一個工作流,然后開發一組ASP.NETWeb表單這些表單以與之相同的順序從一個表單流向另一個表單。很遺憾,盡管這看上去挺符合邏輯,但是實際上這是非常不具有生產效率的,因為你將會再次實現這個工作流邏輯。Web頁面X不需要知道是否它需要轉到頁面丫或頁面Z來正確地實現該工作流步驟。代之的是,該工作流(模型)應該告訴ASP.NET(控制器)下一步該干什么;然后ASP.NET應該決定要顯示哪個頁面。這樣,每個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論