我们正在实施Sharepoint应用程序,我们想知道SharePoint工作stream程与Windows工作stream程的优缺点。
SharePoint中的工作流程是使用Windows Workflow Foundation实现的,所以它们没有什么不同,但仍然有一些事情需要注意。
SharePoint是一个Windows Workflow主机,所以如果您同意SharePoint团队做出的决定,则无需实施自己的主机,这很好:
如果这些选择是你喜欢的,那么一定要使用SharePoint工作流程。
如果没有,那么实现你自己的主机,并做出自己的决定。
他们是一样的东西。 当前的Windows工作流引擎是为SharePoint创建的。
现在应该注意的是,工作流引擎将会随着.NET 4.0的发布而被彻底改变。 我不知道具体情况,但是我被告知差异是显着的。 我想假设这将在Sharepoint 2010中使用,但我没有任何有关的信息。
这里是描述4.0中升级的链接 。
您尚未指定是在SharePoint中构建自定义编码的应用程序还是通过浏览器配置开箱即用的解决方案。 无论哪种方式,以下是SharePoint中工作流的几个选项。
在易用性和功能性方面,我发现最好的平衡就是按照我提供的顺序尝试通过上面的列表,如果你肯定不能按照当前的要求来实现这个需求,那么只有进入下一个选项。
这基本上是相同的技术。 如果你知道一个,你可以轻松地工作/切换到另一个。
当您将SharePoint dll添加到解决方案时,您将获得一些可用于工作流的特定SharePoint“活动”。 (创建任务,…)
您的SharePoint server将充当您的工作流的主机。
在SharePoint中部署工作流程的最佳方式是使用SharePoint功能。 这告诉SharePoint什么dll(组件)使用和哪个(输入)页面显示。
作为输入页面,您可以使用简单的.net aspx页面或信息表格。 两者都需要一些试验和错误才能掌握。
SharePoint只是使用Windows工作流基础(WF)作为其工作流引擎。 WF本身就是一个通用的工作流引擎。
为了使用WF,你必须实现一个宿主进程来执行工作流程,并配置它以便将实例持久化到数据库等等(现在大多数人使用WCF服务作为工作流主机,参见这里或这里 )。
SharePoint提供了已配置的所有内容,并实现了自己的工作流程主机,因此您可以开始使用开箱即用的工作流程。 除此之外,它还带有特定于SharePoint的自定义活动和其他好东西。
正如其他答案中所述,它们与使用Windows WOrkflow Foundation相同。 也就是说,在通过Sharepoint设计器创建的工作流程中,需要记住一件重要的事情:它们不是“可移植的”,这意味着您可以创建一个绑定列表a,然后将列表保存为一个模板,然后创建基于该模板的另一个列表,工作流将无法正常工作(因为它仍然引用原始列表的id(guid),所以您重新绑定了它。