SharePoint 2013 開發——工作流架構

Justin-Liu發表於2015-06-05

部落格地址:http://blog.csdn.net/FoxDave

SharePoint 2013的工作流較之前有了不同,第一次真正地作為獨立的服務的概念推出了。這意味著SharePoint工作流不再執行於SharePoint服務中,而是在一個獨立的伺服器(Windows Azure Workflow場)處理。新的工作流架構基於Windows Workflow Foundation 4.0和.NET Framework 4.5,它們較之前的版本都有了很大的改進。

SharePoint 2013工作流著眼於以宣告的方式構建工作流,所有拆箱即用的工作流都是宣告式的,我們通過SPD和VS建立的新的工作流也是宣告式的。與SharePoint 2010只能通過沙盒解決方案部署工作流操作不同,我們可以通過沙盒解決方案部署整個基於宣告的工作流。

微軟建議使用SharePoint 2013工作流模型建立工作流,並將自定義程式碼放到Web服務。建立一個可程式設計的工作流並不是一個更好的方案:平臺中的新功能使得我們不需要建立可程式設計的工作流了,基本都覆蓋到了;SharePoint無法託管可程式設計工作流,它必須作為一個非SharePoint 2013工作流部署到Windows Azure Workflow。我們將Windows Azure Workflow想象成一個Azure自動託管的應用程式,它提供了一個服務來託管和執行SharePoint 2013工作流。SharePoint傳送執行工作流的請求到應用程式,應用程式執行工作流並將結果返回。他們之間的訊息通過Windows Azure Service Bus傳輸。

現有的SharePoint 2010工作流可以無縫遷移到SharePoint 2013上,並且,SharePoint 2013工作流也可以呼叫SharePoint 2010工作流。

新的工作流模型使得工作流可以用來作應用程式中業務邏輯的中間層,這對保護應用程式中業務邏輯的智慧財產權或是非同步操作需要執行較長時間的業務邏輯是很有用的。例如,如果應用程式需要整合CRM,就可以將業務邏輯封裝在工作流中,在Windows Azure Workflow端執行。應用程式中的工作流只能用Visual Studio開發。應用程式可以通過JSOM模型與工作流進行互動。

上面提到的Windows Azure Workflow和Service Bus在本地和Office 365的部署中都是可用的,我們可以使用它們來構建自己的工作流部署環境。

下一篇將進行細緻的說明。



相關文章