工作流概述 (SharePoint Foundation 2010)
适用于: SharePoint Foundation 2010
上一次修改主题: 2016-11-30
借助 Microsoft SharePoint Foundation 2010 中的工作流 功能,解决方案架构师、设计人员和管理员能够改进业务流程。从根本上来说,工作流由两个部分组成:工作流用来与其用户进行交互的表单以及用于定义工作流行为的逻辑。若想了解工作流的创建方式,则需要了解这个两部分。
本文内容:
工作流概述
使用工作流的好处
预定义工作流
工作流使用情形示例
工作流类型:声明性工作流和已编译工作流
工作流模板
工作流关联
工作流概述
SharePoint Foundation 2010 中的工作流使企业可以减少人员在执行业务流程期间进行交互的次数。例如,为符合决策,各小组通常会执行一系列步骤。这些步骤可能是正规、标准的操作步骤,又可能是非正规步骤(如果对操作过程的理解不明确)。总而言之,这些步骤代表一种业务流程。业务流程中发生的人与人之间的互动可能会限制做出决策的速度和决策的质量。用于简化和管理这种“人员参与的工作流”的软件可自动化参与该流程的各小组之间的互动过程。这种自动化过程将会加快互动速度,提高互动的整体效率,并且通常会减少错误。
您可以使用流程图(例如使用 Microsoft Visio 2010 创建的流程图)对业务流程建模,并使用工作流术语来表示业务流程。通过将工作流与 SharePoint Foundation 2010 中的数据相关联,可以自动化文档审批等业务流程。例如,可以创建一个工作流来传送文档以供审阅,在解决问题的各个阶段跟踪问题,或为合同通过审批流程提供相关指导。
许多 IT 部门在执行需要信息工作者参与的业务流程时所面临的一个问题是:这些流程未与人们的实际工作方式集成。为了使业务流程有效,必须将其与在工作区中使用的熟悉的日常工具和应用程序集成,以使其成为信息工作者日常工作例程的一部分。在电子工作区中,这包括与电子邮件、日历、任务列表和协作网站集成。
使用工作流的好处
使用工作流的主要好处是推动业务流程发展和改善协作。
企业使用的业务流程取决于信息或文档流。这些业务流程需要有信息工作者的积极参与,才能完成有助于工作组进行决策或交付工作成果的任务。在 SharePoint Foundation 2010 中,这些类型的业务流程是使用工作流来实现和管理的。
工作流可推动的业务流程的示例包括:
合同审批 将建议的合同提交给组织中必须对合同进行审批的成员。
费用报表 管理费用报表及相关收据的提交、审阅报表、批准报表并为提交者报销相关费用。
技术支持 为技术支持事件提供过程指导,该技术支持事件由客户开启,经技术支持工程师调查,要传送给技术专家进行解决,然后添加到知识库。
面试 管理对求职者进行面试的过程。这包括安排并跟踪面试预约、收集累积的面试反馈、将该反馈提供给后面的面试者,以及做出雇用/不雇用的决定。
业务流程自动化
业务依赖业务流程。虽然这些业务流程通常都涉及软件,但许多组织中最重要的流程仍与人员有关。工作流可以自动化参与某个流程的人员之间的交互,以改善流程的运行方式、提高其效率并降低其错误率。
许多流程都可以从对人员参与的自动支持中受益。例如:
审批 面向人员的业务流程的一个常见步骤是需要获得多个参与者的批准。要批准的内容可能存在很大差异,这些内容可能是包含下一年营销计划的 Microsoft Word 文档,也可能是参加某次会议的差旅费报表。在每种情况下,相应人员都必须审阅相关信息,可能会追加注释,然后表示批准或拒绝。
协调组工作 无论是准备对建议征求书 (RFP) 进行响应、管理将文档翻译为一种或多种语言的过程,还是执行其他任务,许多流程都需要不同人员以有序的方式协同工作。通过在自动化工作流中定义流程的步骤,可提高协调组的工作效率,并能更加准确地预测流程本身。
问题跟踪 很多业务流程都会生成未解决问题的列表。自动化工作流可用于维护该列表、将问题分配给能够解决问题的人员,并跟踪问题的解决状态。
为支持这些种类的自动化业务流程,SharePoint Foundation 2010 可以运行工作流应用程序。这些应用程序基于 Windows Workflow Foundation 3.5,可以通过 Web 浏览器与相关人员进行交互。有关 Windows Workflow Foundation 3.5 的详细信息,请参阅 Windows Workflow Foundation (https://go.microsoft.com/fwlink/?linkid=127778&clcid=0x804)。
工作流改善了协作
通过对 SharePoint 网站或网站集中的文档和项目实施相应业务流程,工作流可帮助人们协同处理文档及管理项目任务。工作流可以帮助组织遵循一致的业务流程做法,通过管理这些业务流程中涉及的任务和步骤,工作流可以提高组织的效率和生产力。通过确保在需要时将适当的信息提供给适当的人员,工作流可以加快决策的制定速度。工作流还有助于确保适当的人员按适当的顺序完成各个工作流任务。这就使得执行这些任务的人员可以专注于工作,而不用考虑工作流程。
例如,在 SharePoint Foundation 2010 网站中,您可以创建用于文档库的工作流,以便将文档传送给一组人员进行审批。当作者启动此工作流时,工作流即会创建文档审批任务、将这些任务分配给工作流参与者,然后向参与者发送电子邮件通知。
当工作流正在运行时,工作流所有者或工作流参与者可以在“工作流状态”页上检查进度。当工作流参与者完成其工作流任务后,工作流随即结束,并自动通知工作流所有者工作流已完成。
预定义工作流
对于在 Microsoft SharePoint Foundation 2010 中创建的网站和网站集,默认情况下已包含一个预定义的三态工作流,并且此工作流是 SharePoint Foundation 2010 中唯一可用的预定义工作流。此三态工作流可用于管理要求组织跟踪大量问题或列表项(例如,客户支持问题、销售商机或项目任务)的业务流程。
之所以称为三态工作流,是因为它通过三个不同的状态和这些状态之间的两个转换,来跟踪问题或项目的状态。例如,在对问题列表中的某个问题启动三态工作流时,SharePoint Foundation 2010 将为指定用户创建一个任务。当用户完成该任务时,工作流将从其初始状态(“未解决”)更改为中间状态(“已解决”),并为指定用户创建一个任务。当用户完成该任务时,工作流将从其中间状态(“已解决”)更改为最终状态(“已关闭”),并为此时为其分配工作流的用户创建另一个任务。请注意,在将三态工作流与列表关联时,可以选择指定“未解决”、“已解决”和“已关闭”之外的其他状态名称。另请注意,无法将此三态工作流与库一起使用。
还可以制作预定义工作流的副本,以用作创建自定义工作流时的起点。
工作流使用情形示例
假设您就职于嘉元实业公司,这是一家在全球范围内销售自行车的运动品专卖店。该公司的销售代表会走访不同的国家/地区,以帮助新的经销商开办新的运动品商店。
在本节所描述的情形中,需要提交费用报表以供审批。如果费用报表的金额少于 5,000 元,则需要经理批准、否决或转发该报表。如果费用报表的金额等于或大于 5,000 元,经理必须审核该费用报表,对其进行批注,如果经理认为可以批准,则将其转发给副总裁,然后由副总裁批准或否决该报表。
在此情形中,费用报表表单是 SharePoint 网页上显示给用户的一张 ASPX 表单。工作流是在 Microsoft SharePoint Designer 2010 中创建的一个顺序类型的工作流项目,它由自动化任务和需要人为操作的任务组成。该工作流运行于 SharePoint Foundation 2010 中。
销售代表(第一个工作流参与者)需要浏览 Intranet 自助服务门户并选择“费用报表”表单。将会打开数据输入页。销售代表首先填写一个简单的费用报表表单,其中包括人员的姓名、费用用途、费用总额、该人员的直接上司的姓名和电子邮件地址等条目。然后,销售代表单击“提交”以提交该表单。
提交表单后,数据将会集中保存,并启动工作流,然后将审核任务分配给审批者(在本例中为销售代表的经理)。
工作流会通知销售代表的经理。该通知是一封电子邮件,其中包含完成该任务的说明,并提供显示费用报表表单的网站的链接。
经理(第二个工作流参与者)会转到该网站并审核费用报表。工作流任务项提供了三种操作:批准、否决或转发,经理可以执行其中任一操作。
如果费用报表的金额少于 5,000 元,经理会看到用于“批准”或“否决”该费用报表的选项。
如果费用报表的金额多于 5,000 元,经理会看到用于将费用报表“转发”给公司副总裁的选项,或用于在经理级别“否决”该费用报表的选项。
经理采取相应的操作以批准、否决或转发该费用报表,然后工作流继续执行:
如果费用已获批准,任务完成操作将向工作流发送一条消息,指出任务已完成,工作流会通过电子邮件通知销售代表,然后工作流将费用数据添加到业务线 (LOB) 会计系统中。
如果费用未获批准,经理需键入做出该决定的理由。任务完成操作将向工作流发送一条消息,指出任务已完成,然后工作流会通过电子邮件通知销售代表。
如果经理选择将费用报表转发给公司副总裁的选项,他需要在表单中进行相关批注,然后单击“转发”。然后,工作流会通过电子邮件通知副总裁,该电子邮件包含完成任务的说明,并提供显示费用报表表单的网站的链接。
副总裁(第三个工作流参与者)可以选择“批准”或“否决”费用报表。在副总裁批准或否决费用报表后,工作流继续执行。
如果副总裁批准费用,费用数据将添加到会计系统中,工作流会通过电子邮件通知销售代表和经理,然后通知 SharePoint 任务已完成。
如果副总裁不批准费用,他需要在表单中键入做出该决定的理由。工作流会通过电子邮件通知销售代表和经理,然后通知 SharePoint 任务已完成。
不难想像,有许多方法可以扩展此工作流在这种情形中的功能。例如,您可以配置工作流,以便在副总裁否决费用报表时将报表退还给销售代表的经理。经理可以进一步证明费用是否合理,并将其重新提交给副总裁进行审批,可以将否决决定告知销售代表,也可以执行其他操作。
在该费用报表使用情形示例中,业务规则始终相同。该工作流解决方案将经理和副总裁定义为审批者,定义工作流传送的业务逻辑,并预先定义了通知的内容。但是,在许多实际应用中,业务规则要复杂得多。审批的传送过程可能取决于许多业务变数。通知也可能会因其他变数而异。
例如,假设在相同的费用报表解决方案中,根据费用用途、费用总额和提交日期,您必须将费用报表传送给十位经理。此外,根据费用用途,工作流发送的通知内容也稍有不同。这意味着可能会存在具有不同传送级别和通知的多个工作流解决方案。
Microsoft SharePoint Foundation 2010 允许您创建和实施工作流解决方案以满足组织的业务需求。它利用 SharePoint Designer 2010 和 Microsoft Visual Studio 的工作流设计与自定义功能做到这一点。
工作流类型:声明性工作流和已编译工作流
需要了解工作流的一个重要特性,即工作流是声明性工作流(如使用 Microsoft SharePoint Designer 2010 创建的工作流)还是已编译工作流(如使用 Visual Studio 2010 创建的工作流)。声明性工作流是根据已汇编为规则和步骤的条件和操作构建的,并且它可以在不编写代码的情况下设置工作流参数。
与声明性工作流类似,也可以根据条件和操作构建已编译工作流,而无需工作流作者实际编写代码,但已编译工作流还允许工作流作者向工作流中添加自定义代码。无论工作流作者是否向以代码为中心的工作流中添加自定义代码,都需要了解一个重要特性,即声明性工作流和已编译工作流在服务器上运行方式的区别。已编译工作流在运行 SharePoint Foundation 2010 的服务器上存储为预编译的 dll 文件,而声明性工作流在运行 SharePoint Foundation 2010 的服务器上部署为可扩展对象标记语言 (XOML) 文件,并且每次启动工作流实例时都会在内容数据库中编译该工作流。
有关 Microsoft 支持的用于创作工作流的工具的详细信息,请参阅选择工作流创作工具 (SharePoint Foundation)。
工作流模板
使用 SharePoint Designer 2010 创建自定义工作流时,可以选择创建只用于特定列表、库、内容类型或网站的工作流。还可以选择创建可重用工作流模板,该模板可与多个库、列表、内容类型或网站相关联。
备注
SharePoint Designer 2010 不支持为网站创建可重用工作流,但可以使用 Visual Studio 2010 创建它们。
创作工作流时,还可以选择使其成为全局工作流,即一旦在网站上激活该工作流,它对于该网站下的所有子网站都将有效。但是,不能使用 SharePoint Designer 2010 创建全局工作流然后将该工作流另存为 WSP 文件。
工作流关联
SharePoint Foundation 2010 可利用 Workflow Foundation 运行时。可以在服务器上安装一个或多个工作流模板,其中每个模板均包含用于定义特定工作流的代码。完成安装后,即可在特定模板和文档库、列表、内容类型或网站之间创建关联。然后,由承载 SharePoint Foundation 2010 的 Workflow Foundation 运行时加载和执行此模板,从而创建工作流实例。
与所有 Workflow Foundation 工作流一样,那些基于 SharePoint Foundation 2010 的工作流也依赖 Workflow Foundation 运行时服务。Workflow Foundation 标准持久性服务允许将持久工作流的状态链接到文档或项目,并会考虑长时间运行的、可能跨越数日、数月或数年的业务流程。
可将 SharePoint 工作流与列表、库和内容类型相关联。使用 Visual Studio 2010 创建的可重用工作流还可与网站相关联。下表介绍了关联工作流所需的最低权限。
将工作流与以下内容相关联 | 要求的最低权限 |
---|---|
列表或库 |
列表或库的“完全控制”权限级别 |
列表或库内容类型 |
SharePoint 网站上 Site Owners 组的成员 |
网站内容类型 |
SharePoint 网站上 Site Owners 组的成员 |
网站 |
SharePoint 网站上 Site Owners 组的成员 |
有关工作流关联的详细信息,请参阅添加工作流关联 (SharePoint Foundation 2010)。