一步一步学习sharepoint2010 workflow 系列第一部分:sharepoint工作流简介 第1章 在你的业务流程上使用sharepoint工作流(SharePoint workflows for your business)
注意:我的系统使用windows2008R2中文版和sharepoint2010中文服务器版本,所以在文章的图示中,我会使用原图和我系统中的中文贴图
业务流程总是每天围绕着我们并且影响重要的雇员。无论你喜欢还是不喜欢,在公司你的工作在很大程度上依赖于流程来完成某些事情和获取盈利的。例如在快餐店,遵循特定的流程将原料转化为成品的汉堡包。
考虑怎么业务流程常常阻碍是因为沟通不畅。你的业务流程是死是活完全由电子邮件决定?电子邮件已经成为每件事情默认沟通方法,从沟通和决定到任务和文档。考虑一个流程的运行,当一个新的员工入职到你公司。该雇员需要一个新的账户,电子邮件,徽章,电话号码,福利,直接存储(解释一下:雇主就能通过电脑直接将款子打入雇员的银行帐户,因为这样有时会降低支票帐户收费),把所有的事情全部完成需要涉及很多人通过电子邮件沟通。不可避免的是有些事情被丢失了。电子邮件为小公司工作,如果每天有50人在做这些事情呢?你需要一个系统,将管理所有这些活动,否则,你将混乱和效率低下。你需要一个工作流。
本章定义工作流,并显示它如何与您的业务流程关联。我们将谈论工作流程如何在Microsoft® SharePoint平台使用的功能和SharePoint工作流的架构。当你了解到这些基本知识,我们将更详细的去了解在SharePoint构建工作流的工具和应用,你会发现许多选项。除了这个介绍章节是您的业务流程从哪里来。本书的其余部分是关于在SharePoint平台上建立贵公司的工作流程。所以,让我们确保我们都讲同一种语言。
1.1 什么是工作流
图1.1
这个流程是最基本的业务逻辑,它决定员工如何进行报销和确定由谁进行批准。一个工作流能帮助流程按步骤执行。业务流程的运行不管是否有一个工作流管理它们。 一些业务流程是自包含的和易于人们管理的。另外还有大量复杂的和让人难以理解的。这些大量复杂的流程更能体现工作流在公司的价值。
一家公司在经营过程中突出的地方目前正在执行的工作流程,工作流可以带来价值。工作流还可以帮助公司自动化其业务流程。再考虑报销流程的例子,如果你的流程允许所有食品开支少于100元被自动批准并发给报销,应付账款,工作流能管理这个业务流程,并自动批准,而无需涉及你的直线经理。
工作流程也善于管理并行进程或多个实例同时运行的工作,例如,一家制造汽车制造商可能有一个制造发动机供应商建设的工作流程,另外有为设计的工作流,和为内部的工作流,然后父工作流管理所有的孩子的工作流程和启动另一个进程尽快推动工作流程完成。
1.2 如何使用sharepoint帮助我们工作?
SharePoint工作流是一个通过一系列操作的自动化相关的业务流程的对象。这个SharePoint的对象是一个文件或像一个公告或一个任务列表中的项目。例如,当您安装SharePoint审批工作流一个工作流程。您可以将这个工作流使用在文档库中的文件,并指定谁需要批准文件的使用,在另一个动作之前发生。
sharepoint 文档库 (sharepoint Document libraries )
sharepoint除了作为信息共享平台外,还可以作为文档管理系统。文档库在sharepoint中是个工具,你可以使用它上传文档到sharepoint
费用报表系统(图1.1)是文档库中常见的例子在SharePoint中。用户可以上传到文档库的开支报告。上传的行动将启动对文件的审批工作流程,以及一系列相关人将收到一封电子邮件,说明他们需要批准的开支报告。当所有已批准的个人开支报告,该文件可以被路由到工资团队站点在那里由工资管理人员处理费用的报告。
一个SharePoint工作流,如文档审批流程,可以设置管理业务流程,从开始到结束。工作流将处理所有的用户系统内的互动。它还将管理的执行工作流程中的点。此外,SharePoint将提供一个彻头彻尾的开箱用户界面,工作流状态的报告,或者更具体地说,谁必须采取行动对工作流程才能继续进行,或者如果它已执行完毕。
这个开箱即用的体验在sharepoint上来管理你的业务流程是让人信服的,因为它提供了用户界面和其他工作流,如安全性,报告和日志。这些功能使sharepoint工作流和你的业务流程形成一个强大的组合。
sharepoint工作流另外一个伟大的实力是个人不需要精通技术可以通过浏览器窗口配置他们的工作流程。 再次考虑开支报告。如果一家公司从头开始建立这个系统,将花费更多的时间和金钱,因为他们不需要所有SharePoint开箱组件。相反,您可以使您的最终用户建立这些业务流程,最低保证 他们需要的是一个浏览器,可能是几分钟。这是符合成本效益的!
图1.2
工作流给库。选择“添加工作流”选择一个你想要的。这是就是这么简单!
图1.3
在添加工作流的库和启动的工作流程,将显示一个新的列(图1.4)在文件上的工作流程运行
图1.4
1.3 作为技术平台的Sharepoint
图1.5
1.3.1 Windows Workflow Foundation的架构
WF架构是建立在三个主要的服务层:宿主层(第一层),运行时层(第二层),和编程层(第三层)在图1.5。你可以说,SharePoint工作流坐在第三层的顶部进行服务。开箱即用的工作流,SharePoint Designer中的工作流,Visual Studio的工作流,以及我们的开支报告的例子将建立在这个平台的顶部.
工作流是不是一个应用程序在运行过程中需要一个宿主进程。同样地,如果 你在服务器上安装.NET框架,你没有商业应用程序 当您单击完成安装向导。 WF将作为一个平台被建立。 从托管的角度来看,WF需要应用程序来实现几件事情来保持正常运行。
正如前面提到的,应用程序所需的一部分是宿主进程。 应用程序还必须提供持久能力。通常是一个工作流程长时间运行,这意味着它可能会开始,然后暂停了一段时间,甚至可能 许多个月。工作流等待一个动作发生时,工作流程的状态,需要持久化,当动作发生时,工作流将继续运行。
宿主层的责任的另一个领域是提供定时和跟踪 能力。如前所述,工作流可能会被暂停,因为它等待 外部行动发生,也可能是有时限的。例如,可能 开支报告工作流程分配的任务经理批准这个报告,但 七天的任务未完成。在这一点上,工作流被唤醒,并重新分配 任务给某人。这也涉及到跟踪,在这你会想 要知道,或跟踪,在这个过程中,工作流目前正在执行。简而言之, 这是宿主部分的计时器的责任和跟踪方面 的过程。交易是在该另一宿主框架的重要方面, 你可以杠杆交易的推出工作流返回到以前的状态,如果一个错误 发生。
运行时层
编程层
编程层是SharePoint开发人员的喜爱层,是他们需要担心的只有一层。这一层有开箱即用的活动(SharePoint Designer workflow 活动),可以在workflow执行各种功能,它允许自定义活动和规则进行工作流的互动。活动是工作流的基石。活动进行一系列的工作。工作流是一个结构,包含活动、管理的选择和活动的执行时间。规则允许开发人员可以使用Visual Studio工作流的活动以声明方式创建业务逻辑。例如,你可以创建动态逻辑的规则,然后,随后改变规则不会要求更新工作流的动态链接库(DLL)。在Visual Studio工作流程中SharePoint Designer中的条件是类似松散耦合。
1.3.2 工作流类型
工作流执行从一个到另一个步骤有两种方式。一种工作流是顺序工作流按照顺序执行工作, 另一个工作流是一个状态机,其中没有特定的顺序执行。顺序工作流始终向前进步,永远不会回到前面的步骤(图1.6)。
图1.6
图1.7
有些业务流程将需要一个状态机有些则不会。需要全面考虑您的业务流程要求,然后再开始建立自定义工作流,因为顺序工作流难以改变成状态机工作流,反之亦然,这一点很重要。你通过这一步骤思考,你会发现,一些工作流程工具,只能做的顺序工作流(SharePoint Designer),而其他的工具,可以做两种类型(与Visual Studio)。如果你开始建立一个工作流程与工具,该工具不支持状态机,当你意识到你需要改变路线,你只能重新开始。底线是了解企业的要求来确定需要哪种类型的工作流程,然后再开始。
1.4 工作流启用的sharepoint对象
现在,您已经了解一个工作流程是什么,你可能会疑惑 工作流如何显示和共享信息。对于这项任务时,SharePoint 工作流程依赖于许多不同类型的对象,如列表,列表项,库, 文档,表单,内容类型,网站列,视图,Web部件,网站和网站集。 回到我们的开支报告的例子,文档库中文档上传时工作流运行。除了文件之外,工作流也可以运行在其他一些类型的sharepoint对象上。
1.4.1 列表项
正如文档,工作流可以运行在通用SharePoint列表项上。例如,您可以设置审批程序在公告列表(announcement List)上。有了这个设置,公告将不会显示给最终用户,直到他们批准。另一种有效的使用列表中的项目是任务列表和问题清单(都是开箱即用的SharePoint列表类型)。当一个任务或问题分配给某人,和个人解决的任务或问题,工作流的任务可能前进到另一个人负责核查它才可以完成定稿。如果那人发现错误,工作流可以重新分配返回到原来的用户的列表项。图1.8显示了工作流菜单项目列表项。
图1.8
你可以通过这个菜单项,你可以在该项目上的启动一个新的工作流实例。
1.4.2 InfoPath Form
InfoPath表单当数据存储在表单库(图1.9),它被认为一份文件,它属于SharePoint对象的文档库类别。
图1.9
InfoPath的优势在于它非常简单的创建表单,甚至对新手用户。如果你熟悉微软Word,你会很快的使用InfoPath。InfoPath给您可以灵活控制的外观和感觉的一种表单。infopath比Excel文件有更多的用户界面的灵活性。像微软Office文档,工作流可以被绑定到InfoPath表单,当用户在表单中的所有适当的地方填充,工作流程管理业务背后的过程,并获得批准或拒绝。我们讨论其他表单在本章1.6.4,第7章和第9章更详细的介绍。
1.4.3 内容类型
在SharePoint内容类型是一个重要的概念,然而,他们已经 高度记载,在这本书并不会被非常详细覆盖。在A基本水平,内容类型是一个可重复使用的元数据和元数据的方法的包装块集合。 例如,假设你想在你的网站集中每个列表或者库有三个列 。而不是去每个列表手动添加每个列,您可以创建一个内容类型有三个列, 然后添加内容类型的列表或库。当你需要作出改变的内容这可以显着节省时间并提供大量的重用类型。
此外,内容类型可以有一个或多个分配给它的工作流。 如果你有一个复杂业务流程同许多类型工作流程,需要同时执行, 部署工作流到内容类型可是一个好主意, 当一个工作流被部署到内容类型,工作流程的新实例 可以启动,该内容类型的列表项的不管在哪个 SharePoint列表里,这引入了跨多个列表的可重用性。
1.4.4 sharepoint 站点
您还可以绑定到SharePoint网站,然后将其称为网站工作流工作流。当所有其他的SharePoint对象的例子可以归结为列表项(是否是一个文档,表格,或内容类型),工作流部署到一个站点可以运行动作和做出反应,对所有列表,文档库和站点项。例如,一个网站,有许多文档库和许多文件。一个适合的工作流程,将在网站级别上运行,可以检查该网站内的每个文件,并确保所有的文件已路由对已经批准并且为空的拒绝。工作流程可以跨整个SharePoint网站执行,并从在浏览网站内容发起。
1.5 开箱即用的sharepoint工作流
图1.11
1.5.1 三态工作流(Three-state workflow)
三态工作流是杠杆作用在问题跟踪列表。 问题跟踪列表跟踪通过3个状态-活动的(Active),审查(Ready for Review)和完成(Complete) 这个工作流程可定制和使用其他列表或自定义 SharePoint列表的三个状态的名字。
1.5.2 审批工作流(Approval workflow)
一个最简单的工作流程,审批工作流肯定是最受欢迎的。它 涉及路由SharePoint一块内容到所有指定的审批请求。 他们批准或拒绝的内容。提交过程可以是串行,或平行,审批可以 在任何时候批准。
1.5.3 收集反馈工作流 (Collect Feedback workflow)
收集反馈工作流获取提交文件的状态给平行成员。这个工作流程路由文档 到指定的团队成员,在这种情况下,每个人都可以权衡和贡献 他们的反馈意见上的文件。之后通过团队传阅,反馈 编译和提交通知。
1.5.4 收集签名工作流 (Collect Signatures workflow)
替代审批工作流程,审批过程中并没有 对文档的更改,收集签名工作流,将要求每个审批者 对该文件数字签名。之后这些签名收集到 工作流,采取脱机文件和批准 将仍然可以辨认。请注意,此工作流只能从Office发起 客户端,如Microsoft Office Word中。它不能在浏览器中发起。
1.5.5 处置审批工作流 (Disposition Approval workflow)
这个工作流程允许让您管理文档过期和保留。这使得 你来决定文件过期时会发生什么。是一个可选项,替代删除文件,归档,并发送电子邮件通知 。
1.5.6 翻译管理工作流 (Translation Management workflow)
使用此工作流程,协助手工流程转换办公室文件从一种语言到另一种。这个工作流工作在两个列表类型-翻译管理库和翻译人员列表。一份文件需要翻译时,上传到翻译管理库,和翻译人员在翻译列表接收任务来启动各自的语言翻译通过源文件。当所有的翻译任务的完成,翻译管理工作流完成。
1.6 建立自定义sharepoint 工作流的工具
在SharePoint的范围内,有许多工具为不同的受众建立您的SharePoint工作流时使用。其中有些是完全可选的。最终用户可能会喜欢SharePoint Design,但会被Visual Studio吓倒,Visual Studio可能是必须的,他们正在试图去了解。关键了解所有可用的工具,怎么做是有帮助的,每一个服务目的是什么。
1.6.1 SharePoint Designer 2010
SharePoint Designer是一个强大的工具,可用于自定义SharePoint网站。其许多独特的功能是用来改变网站的外观和感觉,创建,添加,移动Web部件,并带来列表数据和外部数据到SharePoint页面。你可以在SharePoint Designer中的很好的操作工作流。
建立SharePoint Designer中的工作流程是一种受欢迎和普遍使用的 方法。该工具易于使用,因为它提供了一个向导般的体验给用户 (图1.12),比Visual Studio代码编辑器。
图1.12
1.6.2 Visual Studio.NET 2010
尽管Sharepoint Designer 有高度可用性和可靠的工作流工具,你的业务需求可能需要更多比Sharepoint Designer 可以提供的。这时Visual Studio 就可以发挥作用了。 Visual Studio增加了你的工作流可以执行的活动类型方面的灵活性。这时因为Visual Studio 提供了一个完整的开发流程。而Sharepoint Designer 只是基于向导的。
你拖活动的地方Visual Studio给你设计接口。 另外,每个工作流和活动将有自己的代码,你可以调用或扩展。 在Visual Studio中内置.NET 3.5框架,和和Windows Workflow Foundation的平台. Windows Workflow Foundation的工作流可 打包并部署到SharePoint.这将允许您以应付即使是最 复杂的业务需求。
图1.13在Visual Studio中显示了一个工作流程看起来就像什么。各种 活动制定了工作流设计器界面。通过查看活动 名称和它们是如何彼此关联,你可以看到工作流 在做什么。
图1.13
1.6.3 Visio 2010
Visio 2010 为Sharepoint 工作流实施者带来了很好的新功能-一个新的模板叫做Microsoft Sharepoint Workflow. 这个模板(图1.14)允许有能力的用户(spd)或者开发人员(vs2010)通过业务分析建立的自定义工作流模型。 在Visio早期版本,你能使用通用流程图表模板和添加形状和连接器到visio设计界面给基本事件流模型。 随着新的Sharepoint工作流模板,有能力的最终用户和开发人员能在visio中完成工作和导入到Sharepoint Designer然后再到Visual Studio。 这种重用,节省了时间和效益的要求。因为是完美的工具连接。如何实现一个visio2010 sharepoint 工作流将在第6章讨论。
1.6.4 Forms
表单和SharePoint工作流是一个强大的组合。 在业务流程中的许多数据在表单内被捕获, 业务流程反馈指定的值到表单。例如,对于开支报告工作流, 员工通常填写表单输入他们的开支。提交表单将启动一个业务流程以获取批准。 基本业务中无数的其他表单和工作流组合的都能被找到。常见的形式的例子包括 收集个人信息(健康保险福利),采购订单,发票,支付时间过期请求,请求新的Sharepoint站点, 和服务台票据。业务流程和表单形成很紧密的关系,和sharepoint工作流形成强大的组合。 表单数据保留和数字可用性,搭配这些关键业务流程的自动化, 实现组织的投资丰厚的回报。纸是过去,工作流程的未来!
在SharePoint中,三个主要的工具是用于在建立工作流程可以执行的表单。在列表和库中添加元数据,你可以使用开箱即用的表单。对于更复杂的形式,您可以使用OfficeInfoPath 2010和ASP.NET表单。 InfoPath是一个极好的非程序员的表单设计工具为最终用户,而ASP.NET试图解决开发商面临最苛刻的要求。图1.15开箱即用表单的例子显示在SharePoint可用于收集来自用户的信息,并启动工作流。图1.15
1.6.5 对象模型( object model)
有时,您可能需要通过自定义代码以编程方式与工作流交互。例如,当有一个自定义的报告在经理的仪表盘上显示各种关键业务流程状态。另一个例子是,当你需要每周一次的基础上启动一个新的工作流,但你要自动启动该工作流和独立的人机交互。这些案件可以借助于 编程的代码部署通过各自的对象模型与工作流交互。对象模型技术也将被覆盖 在第12章中对此进行了更详细的说明。使用这些对象模型,你可以 :
- 启动或停止在SharePoint对象的工作流程。
- 获取运行的工作流在SharePoint对象名单。
-
检测和删除挂起的工作流程。
- 对工作流程的状态报告
随着SharePoint2010版本发布,一个新的功能工作流可用。这才是真正的自定义工作流,几个新的特点使开发工作流程更容易。举个例子来说,引入了可重复使用SharePoint Designer 2010中的工作流。随着SharePoint 2010设计工作流可以部署在一个可重复使用的流行,这使得设计者工作更有效率。在2007年的版本中,你不得不重新创建每个工作流实例并部署(Visual Studio的工作流除外)。在2010版本,您创建和维护一个在同一个地方的工作流程。此外,您可以安装它接收到许多列表和更新,如果有人编辑原有的工作流程。在除了可重复使用的工作流程,许多有用的工作流在2010中发布。各节概述了一些关键的改进。
1.7.1 Visio 2010 SharePoint workflows
在Office Visio2010的新功能将让SharePoint业务分析师高兴。 在Visio2010,你可以建模你的Sharepoint工作流,利用该模型以帮助激发业务审批 。最好的部分是,你已经固化高级别的流程,你可以导出工作流为模板并导入它到Sharepoint Designer 然后开始建立所有的步骤。这将大大提高 为开发人员的需求收集和转换的效率。见第6章 获取更多信息。
1.7.2 Customizing the out-of-the-box workflows
你有没有用过在SharePoint 2007开箱即用的工作流,但 它没有做到你要求它做的的呢?如果是这样,你一定会很高兴听到 这些开箱即用的工作流可定制,在SharePoint Designer 2010中(图 1.16)。更多信息见第5章。
图1.16
1.7.3 New actions and conditions in SharePoint Designer
SharePoint Designer 2010中提供了一个新的开箱即用的条件和活动。 例如,你现在可以在工作流管理权限,以前你不能这样做 。此外,您还可以与记录中心 以满足您的保留策略。
网站工作流的可重复使用的工作流的概念更进了一步。除了 能够运行在一个网站列表,库或列表项,网站工作流 可以在在网站上运行。一个很好的商业的例子是一个工作流程确保 整个网站的文件,无论在其居住的清单,批准。一个网站 工作流程可以遍历所有的库,并检查每个文件,查看 它是否已被批准或没有。 更多信息参阅第3章。
1.7.6 Task processing customization
大多数工作流任务委托给确定的人。当一个任务分配,工作流 通常等待该任务一个动作发生,然后继续工作流 处理。在SharePoint 2007中,任务处理的是静态的,你不能改变的 的开箱即用的工作流处理的任务,和他们相关的事件。 在SharePoint 2010中,您可以完全自定义流程后续任务事件的活动。当一个任务分配时,过期,被删除,并完成时活动 可以反应。当这些事件发生时,你可以注入你的自定义活动去转变任务处理流程。自定义SharePoint Designer中的工作流的任务是讨论 在第4章详细解释。在Visual Studio工作流任务,请参阅第10章 。
1.7.7 Workflow templates in SharePoint Designer
1.7.8 Viewing workflow status with Visio web access
在SharePoint Server企业版提供一个有用的新的报告功能是通过Visio图表,以查看工作流的状态的能力。如果您第一次建立您的工作流在Visio 2010,然后导入工作流到SharePoint Designer中,你可以启用Vissio Web访问在这个工作流上。整个工作流的生命周期,Visio图表将动态更新,以反映目前正在执行的工作流程。请注意在图1.17的复选框。
图1.17
你可以看到,工作流获取并执行的轨道。在这种示例中,它已执行完毕。有关如何设置此的更多信息,请参阅第6章。
1.7.9 Importing SharePoint Designer workflows into Visual Studio
2010版本中来了一个令人惊叹的新功能,就是导出Sharepoint Designer 工作流到Visual Stuido(图1.18)。 之前的版本当一个需求确定时,你通常会创建一个Sharepoint Designer工作流,因为它很简单的就可以创建。 当一年过后,你发现你的需求变得很复杂,需要一个Visual Studio工作流。在2007版本中,你不得不重新创建Sharepoint Designer 工作流使用在重头创建的visual studio.现在,由于新的功能,你不会失去宝贵的时间去设计建立流程。
图1.18
1.7.10 Visual Studio 2010 environment improvements vs2010 环境改善
显然,使用visual Studio为Sharepoint 2010 建立自定义工作流已经大大简化。许多人都会同意在建立sharepoint2007工作流时, 需要努力的去创建工作流的包装,工作流本身的部署。使用Visual Studio2008创建Sharepoint2007工作流,你需要建立所有的功能 DDFS(批处理文件),manifests文件,keys,tokens,和GUID,这一切都是手工创建的。在Visual stdio2010中这一切都不需要你手工创建了, 它为你自动申城,所需的只是右键单击。如需详细步骤,请参阅第8章。
1.7.11 Pluggable workflows (可插入工作流)
sharepoint2007 没有简单的方法使运行的工作流从外部网络接受更新。 随着新的可插入的能力。sharepoint2010工作流能执行到某一点,然后等待外部进程信息。 开发人员需要实现事件处理或web服务处理外部进程请求,然后响应到工作流本身的方法,通知它继续进程。 关于这一主题的更多信息,请参阅第12章。
Sharepoint2010 提供了一个 新的事件处理,在一个工作流初始化或完成做出反应的能力。 这些处理可能是外部工作流或者嵌入的工作流。例如,你可能要一些代码记录每一个资料库中的某种类型的工作流 的开始和完成。随着新的事件处理程序,这是很容易的。参见第12章,有关事件处理程序的更多信息。
在你准备到后面的章节中,并准备启动建立工作流之前,最重要的是考虑需求的工作流是如何诞生、执行和完成的。 我们已经讨论了你可以使用许多工具来构建自定义的工作流,当然你可以仔细比较这些工具并且讨论工作流图形。 这在异界,你可以将会设计,选择范围,并选择创作工具为你的基本的业务流程。
当收集完应用程序的需求,你通常工作是自上而下的。 首先,你需要确定高级别的需求,然后你要获得更多更详细的,必要的需求。 sharepoint工作流也不例外。 你首先要建立高级别的业务流程模型。实际上,确定什么是你需要构建的? 当你收到批准从企业的利益相关者, 你可以考虑你将如何构建它。
开始构建模型图,打开Visio 2010.你将发挥一个新的图表模板叫Sharepoint工作流。 你可能觉得不得不开始使用此模板。因为,你要建立的sharepoint工作流。 使用此模板会很容易得到。模板里有很多形状,清楚的呈现了Sharepoint知识。 获取创建列表项,发送文档集到仓库和等待字段更改的形状。为了sharepoint的人员这些可能不会搞乱。 然而,你可能不会想要用这些图,正非技术性的利益相关者面前。
1. Pending payment(等待付款)-当提交订单时,工作流等待付款。
相应的工作流可定会更复杂比这个流程图。 但是这是一个好的开始。看到此图的人可以很快知道工作流将要做什么。 这个高级别的图被企业利益相关者接受,你可以移到下一个低级别。
获取它到低级别的意思不是立即使用Visio创建Sharepoint 工作流模板。 首先,让我们展开四个状态。图1.20 显示付款贯穿的状态。
图1.20
等待付款状态,首先检查付款方式。如果付款是使用信用卡,检查信用卡。如果它通过检查,工作流等待到达检查邮件,并确认银行。 在信用卡或检查方法,如果付款清楚等待状态,工作流完成。否则一个不同的工作流处理坏支付启动,并终止当前工作流。
图1.20仍是比较高的级别。它将这件事变得易于处理。再次提醒,在早期处理中重点放在什么地方。 创建其他三个状态图和运行流程图让利益相关者通过。如果一路绿灯,你可能准备开始使用Sharepoint 工作流模板了。
1.8.2 Identifying human interaction and SharePoint objects (识别人机交互和Sharepoint对象)
现在你知道什么是高级别的业务流程了吧。它是将你的注意力转到如果去实现它。第一步是你采取的流程图,创建和确定你所期望的人机交互。人机交互可以上传一个文件,或者提交数据表格。你还必须考虑你的工作流将触碰的Sharepoint对象。在高尔夫设备电子商务的例子,工作流开始当提买方提交他们的订单。那些订单可能被记录日志到Sharepoint列表 和当一个新项目添加时你的工作流被自动启动。
从人机角度上来看,让我们再次考虑等待付款状态。请注意,如果付款在检查,工作流等待检查到达的邮件,并明确银行。 这两个点都是例证。其中,人机交互,可以帮助工作流的进展。例如,邮件部门正在等待检查的工作流到来。 同样,应收账款的员工可以监视银行存款和通知工作流当检查通过。
图1.21
你将注意到两个盒子为检查处理被替换 收集数据从用户的图形和分配待办事项图形。 你还会注意到图是细粒度的。注意电子邮件发送的形状,你可以看到如果付款失败。 首先,工作流发送电子邮件到付款失败的买家。然后创建列表项记录。 实际上,启动失败的工作流程是在其他地方定义的。在之后工作流启动,当前工作流设置它的状态时失败的付款并终止流程。 后面的三个状态将一点点开发出来。
什么类型的人使用SharePoint工作流Visio模板? 在SharePoint中的每个形状的Visio工作流模板对应一个动作 设计工作流程。正因为如此,Visio图表,开发人员需要知道不少 有关SharePoint Designer中的工作流程位使用Visio工作流程的工作流程模型 模板。这就是为什么我建议,非技术人员使用的流程图 和更多的技术经验使用SharePoint工作流模板。 我的建议是,让非技术业务分析师重点高层次的业务流程, 让别人有经验的建立工作流在SharePoint工作流模板的设计工作。
本节简要介绍了第6章,“自定义Visio的SharePoint,关于如何在Visio图表工作流程更详细的工作流。“看看第6章。此外,工作流程的最佳功能之一工作流模板被导入到Sharepoint Designer。这因为所有的行动和条件,是预先创建的,是一个很大的节省工作流开发
时间。
1.8.3 Determining the deployment scope (确定部署范围)
随着工作流设计到现在处于一个低级别。它将我们的注意力放在工作流的范围。 范围包括几个不同的事情。首先什么让工作流运行。(例如,一个站点,一个文档,一个列表项,还是内容类型)? 其次,如果工作流需要重用,哪里能提供它(站点,站点集,还是farm)?
在高尔夫设备的例子中,可以很容易的看到,工作流运行的顶部是列表项。这个列表本身可能是订单,并且每个订单(列表项)有自己的工作流实例。另外,一个工作流可以运行在一个文档上运行,一个内容类型上,或者站点本身。最后面的叫做站点工作流。工作流在运行在站点,而不是在一个项目上。
使用Sharepoint Designer或者Visual Studio可以在任何一个站点或者站点集创建工作流。 在Sharepoint Designer中,你能在一个单一的站点上创建一个可重用工作流。 如果你想工作流在全部站点集可用,你需要提升工作流到全局可重用工作流。 另外,如果你想工作流在全部的Web应用程序或者全部的farm可用, 你将需要Visual Studio 工作流 .
1.8.4 Choosing appropriate workflow authoring tools (选择合适的工作流创作工具)
有一些工具可以来构建自定义工作流,但SharePoint Designer中能脱颖而出的原因是多方面的,包括它易于使用和速度。SharePoint Designer也有些是需要Visual Studio 进行补充的,重点是知道哪种工具能完成工作。
SHAREPOINT DESIGNER
SharePoint Designer首先有两个创作选项。SharePoint Designer工作流是声明的, 意思是工作流死扩展标记语言(XOML)基础上的,而不是编译代码(如Visual Studio工作流) 以下有6个令人信服的原因在使用SharePoint Designer 创建你的自定义工作流。
■ 它是容易学习的-语言和术语内工作流组件容易被理解,因为它是用容易理解的英语写的。 向导和熟悉的界面也可以使用。例如,当创建工作流电子邮件消息时,对话框结构类似于电子邮件客户端的样子。
■ 它是快速编写软件,一个典型的工作流使用复杂的编程语言可能需要一整天的开发。使用 SharePoint Designer可能只需要几分钟。这个速度在SharePoint Designer上影响大部分功能。
■ 它比之前的SharePoint Designer2007上允许用户更强大的创建工作流,新的版本包括许多更多功能和值得关注的精致的开发流程。它现在更容易的工作和移动工作流步骤。此外,还有更多的动作(Action)比以前,如实用的工作流,让你操作文本字符串,如他们的电话号码和管理人员名称的工作流。此外还有复杂的工具被引入。如平行块运行,它允许多个活动同时发生。所有的这些概念和功能都比之前版本更强大。
■ 它的工作流能适应适度复杂的-它很容易配置你的工作流去做决定,使用所谓条件的组件。有些动作允许运行工作流修改数据和发送通知给用户。
■ 它采用熟悉的界面-SharePoint Designer使用相同的界面和其余的Office2010,允许企业用户更迅速的使用。此外基于超链接配置过程将允许任何人熟悉。
任何人去创建SharePoint Designer 工作流都将发现SharePoint Designer的价值。在过去,业务人员没有角色在开发的心软件功能中。SharePoint和SharePoint Designer已经改变这点,允许用户不用去写代码创建功能并能共享给其他用户。
.Net开发人员将在谁能快速的创建复杂的工作流留下印象,他们可能一直在寻找在设计初期能创建一个新工作流, 然后导入Visual Studio.net 添加更多的功能,产生的结果比使用Visual Studio.NET从始至终的创建工作流要快的多。 这个过程是辅助在使用SharePoint Designer创建好工作流,然后可以导入到Visual Studio。
很多企业有一组人希望知道业务流程好但不要开发。这些用户赏识容易的转换已存在的流程到SharePoint 工作流使用SharePoint Designer.
最后,SharePoint管理员和高级用户可能会发现SharePoint Designer2010 工作流更大的价值。 这是因为他们经常问快速转化业务需求到SharePoint解决方案使用什么。
VISUAL STUDIO WORKFLOWS
当你意识到你需要一个工作流,并且你正在考虑使用SharePoint Designer因为它比较易于使用。重点是比较Visual Studio工作流过程。两者都有利弊,应该在确定使用某一个之前提出意见。Visual Studio工作流在第8章详细讲解。
下一章
一步一步学习sharepoint2010 workflow 系列第一部分:sharepoint工作流简介 第2章 你的第一个工作流
本人声明