SharePoint 2013 开发——工作流架构

时间:2021-03-11 19:10:50

博客地址:http://blog.csdn.net/FoxDave

SharePoint 2013的工作流较之前有了不同,第一次真正地作为独立的服务的概念推出了。这意味着SharePoint工作流不再运行于SharePoint服务中,而是在一个独立的服务器(Windows Azure Workflow场)处理。新的工作流架构基于Windows Workflow Foundation 4.0和.NET Framework 4.5,它们较之前的版本都有了很大的改进。

SharePoint 2013 开发——工作流架构

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的部署中都是可用的,我们可以使用它们来构建自己的工作流部署环境。

下一篇将进行细致的说明。