2012-06-29 92 views
2

我想弄清ms Workflow WF 4在下列情況下是否可用?試圖在asp.net mvc 3中創建一個Web應用程序。我可以在這種情況下使用WF 4嗎?

在辦公室裏有一種情況存在不同的角色。表單必須通過不同角色的批准(Projectmanager,Teamleader,Director)。 因此,Projectmanager創建一個表單,並將其提交給teamleader進行審批。團隊領導者批准通知並批准此表單。然後在他批准並提交之後,它將會獲得導演的批准。如果他不批准,他會將表格發回給項目經理。

這是有用的實現這個成一個WF 4結合asp.net mvc 3或這是不可取的?

回答

3

新技術的選擇取決於許多標準。因此,如果您想決定是否使用工作流程來解決業務問題,請根據當前需求創建一個小型POC。驗證它,這是最合適的方式嗎?你的團隊瞭解這項技術嗎?什麼是學習曲線所需?

從我的角度來看,您當前的要求適合使用工作流程4.0。這是一個漫長的過程,需要頻繁的人爲干預。

您可以參考這些鏈接也..

http://msdn.microsoft.com/en-us/library/dd851337

http://msdn.microsoft.com/en-us/library/ee342461.aspx

http://msdn.microsoft.com/en-us/library/cc709416

+0

+1提學習曲線所需 – Habib

+0

感謝Habib.OSU .. – Vivek

+0

是lookslike學習曲線陡峭:( – user603007

1

我想表達對WF4一些擔憂。在我看來,就像你從鳥類角度描述工作流程一樣。工作流程是一個信息(表格)必須由多方批准,每個方面都有不同的責任。

當你從一個MVC前瞻性看問題,你會發現以下內容:

  1. 你有ASP.NET表單與基於角色的身份驗證的身份驗證。
  2. 您有多種型號 - 信息(您稱之爲表格)以及其他多種型號 - 例如project manager,team leaderdirector。在你的域模型(實體框架4/LINQ2SQL/NHibernate)中還有更多的其他連接器表/實體...
  3. 每個人都應該有一組不同的視圖,他們可以根據他們的權限訪問,以便與這些數據進行交互。
  4. 在每個視圖背後,您還有控制器負責處理讀取/寫入數據源以及其他邏輯的繁瑣工作。

雖然您當然可以創建工作流以在您的應用中實現一些邏輯 - 最終這些工作流將從您的控制器中調用。更進一步的,如果各方的批准過程是點擊「批准」按鈕或其他一些UI交互 - 我認爲使用WF4來實現這一點並不合理。

在我看來,WF4並不適合UI交互。當你想要創建後端代碼來處理大量數據和/或編排複雜的邏輯來完成某些任務時,這非常好。但是在你描述的情況下你並沒有真正的這種用途。

您的審批流程應至多在包含FormID,ApproverID,DateApproved,ApproverType和其他一些信息的數據庫中設置一個「已批准」記錄。 (批准者ID是進行批准的用戶的Guid/uniqueidentifier)。

爲團隊負責人和董事顯示「等待審批」表單的視圖應只查詢表單表,其中審批表上的聯接表示空記錄(又名...不存在審批記錄)在任何案例 - 根據您的領域模型以及數據結構的不同,您實際上並不需要比您的控制器更多的東西來實現您正在尋找的內容。

相關問題