簡體   English   中英

什么是工作流服務器的架構?

[英]what is the architecture of workflow server?

我們計划用Microsoft WF4開發一個wf服務器
要求是為工作流,客戶端應用程序創建最終用戶設計器,以便每個用戶跟蹤任務

這台服務器的最佳架構是什么?

我感謝您的幫助

更多細節 :

我們正在開發一個文檔管理系統,我們需要創建像Ultimus這樣的工作流程系統,這個系統確實不是很大但是同樣的概念; wf服務器和wf設計師,wf客戶端

1 - 所以wf設計師將連接到wf服務器來管理保存的wfs,如checkin,checkout,delete

2- wf客戶端,普通用戶將連接到服務器以獲得他們批准的任務,拒絕,bla bla

3-在wf客戶端,Admin用戶將連接到服務器以獲取任務並監視wfs,獲取任何工作流的狀態

我之前使用的是ultimus,你只需在服務器上安裝ultimus服務器,客戶端就會連接到服務器,這個客戶端可能是web,移動或桌面

這是系統的要求

我需要了解軟件架構

最好的架構取決於您的非功能需求(例如:這是一個僅在內部使用的工具還是您要銷售它的工具?有多少用戶?用戶在何處以及如何能夠訪問系統? ),你需要考慮很多質量屬性

您正在處理WF4的事實並不那么重要 - 連接到后端服務器'服務'這樣的事情是相當普遍的。 WF4可能有一些“特殊”方式可以與它集成,但我不知道這些具體是什么 - 也許它們是你所追求的?

高級架構

這里沒有什么花哨的東西,4個主要層次:

  1. UI層:(您可能有多個UI,希望他們可以共享代碼。
  2. 業務邏輯:雖然MS WF服務器將在WF上完成所有“繁重的工作”,但你仍然希望有一個可以放置通用邏輯的地方。
  3. 集成層:這將是一些事情,可能是依賴注入 (DI)或MS WF服務器的Facade ,因此當MS進行更改時,您沒有明確地與它們綁定(同樣多)。 您可能還需要自己的數據訪問層 - 使用此集成層來抽象和集成,以及您想要提供或使用的任何其他服務。
  4. 數據存儲庫和自定義WF服務:用於保存您自己的數據,並與WF4深度集成。

UI - WF設計師

設計工作流程並非易事,構建允許用戶更難實現的UI /系統,所以我猜你會想要一種允許豐富交互的UI技術 - 也許SilverLight是一種選擇嗎? 如果需要,這將允許您通過互聯網提供應用程序(可能對遠程連接的用戶有利)。

其他選項包括HTML(想想HTML5)或胖客戶端:這是用戶的環境很重要的地方 - 你對它有什么級別的控制/對你強加什么約束?

UI - 工作流程監控

這里有很多選項,您需要與用戶進行對話並查看他們想要的內容。 您可能希望提供多種方法來監視工作流的執行:

  • 一個“豐富”的UI,允許全面監控(想想管理員和高級用戶); SilverLight可能再次成為競爭者(假設您將其用於WF設計者)。
  • 假設它是“只讀”,您可能可以使用更開放/低技術的方法 - 例如直接HTML(而不是HTML現在必然是低技術)。 請記住,如果您想要顯示工作流程的圖形表示,您基本上將構建WF設計器的簡化版本。
  • 如果人們只是想要真正基本的摘要信息,您可以使用較小的小部件來擴充主UI,用戶可以使用這些小部件來關注關鍵的WF - 例如FireFox的加載項,小型TaskBar監視器等。

Busiess Logic(BL)

這應該是直截了當的,但要仔細考慮如何與WF集成 - 一方面直接綁定自己將提供一些快速提供酷炫功能的絕佳機會 - 但另一方面,你將與WF緊密結合:如果它改變了你就麻煩了。

我想BL將需要消耗來自各個地方的信息 - 其中一些你自己會發明:這些都應該在接口(DI)后面抽象出來。

您可能還提供一些服務(用於填充AJAX驅動的UI控件,驅動小部件等); 盡可能多地在BL中添加邏輯,並通過UI和Integration層為其提供不同的通道。

我猜這需要作為Windows服務包裝; 如果您保持核心邏輯的清晰定義,您還應該能夠在網站,Web服務等中重復使用它。

集成層

這可能相對較薄,在你自己開始之前先看看一些DI框架; WCF也是一個顯而易見的選擇。

數據存儲庫和自定義WF服務

該層將包含您創建的任何數據存儲庫的具體實現。 它還將包含您制作的任何自定義WF組件。 請記住,這些圖層在第一個實例中是合乎邏輯的,但在很多時候也會轉換為物理圖層。 在某些時候,您將需要編寫直接針對WF4運行的代碼 - 這很酷,但您希望確保代碼盡可能小並且“盡可能地丟棄”; 這里描述的架構應該允許這樣。 因此,當您開發與WF4深度集成的代碼組件時,請保持它們小巧且模塊化 - 易於更換,通過集成層使用它們; 所有你需要做的就是保持松耦合 :DI等

最后的考慮因素

  • 一旦您了解了高級架構,請查看WF4文檔 - 您正在尋找的是適合的集成選項。
  • 如果您只是談論文檔管理的簡單工作流程,您可能會采用一種方法,用戶不設計工作流程,而只是配置它們; 在這種情況下,您不需要復雜/智能的WF設計師。 與此同時,您可以設計系統,以便輕松部署新的工作流程以供使用/配置。

您可能希望首先看一下Windows Server AppFabric,因為這是Microsoft在IIS 7上構建的工作流服務主機的第一個版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM