Windows SharePoint Service 工作流介绍
在WSS 3中,我们可以使用工作流将业务流程附加到一条记录(Item),附加后的业务流程能完全控制这条记录,包括控制记录的生命周期。例如我们能创建一个简单的工作流,将一个文档发送给一组用户进行审批。
工作流可以根据业务需求,可以简单也可以复杂,我们可以创建由用户发起的工作流,或者由WSS根据某些事件自动发起的工作流。
使用Windows SharePoint工作流
Windows SharePoint工作流可以关联到列表或文档库,同时也可以关联到内容类型(Content Type)。一个列表的记录(Item)可以有多个工作流,多个工作流可以同时运行在同一个列表的同一条记录,但是在一个记录中同一个工作流只能同时存在一个实例。如,我们可能给一个内容类型指定两个工作流“格式审核”和“合法性审核”,那么,这个内容类型的同一条记录(Item)可以同时拥有“格式审核”和“合法性审核”两个流程的实例,但是同一条记录不能同时有两个“格式审核”流程实例。
SharePoint工作流的技术架构
我们能使用VS2005的WWF(Windows Workflow Foundation)设计器来创建流程,每一个工作流都会被编译到自各的动态链接库文件中(.dll文件)。
另外,工作流也可以直接由用户通过自定义的工作流表单进行控制,工作流表单允许在工作流的不同阶段收集用户信息。
我们需要创建一个工作流的定义,才能在SharePoint服务器场中布署工作流。一个工作流定义模板文件,是一个包含WSS3初始化和运行工作流所需要的各种信息的XML文件,包含的信息如:
- 工作流的名称,GUID,工作流描述
- 工作流中自定义表单的地址
- 工作流程序中使用的相应的类
每个SharePoint服务器场包含有一个关联表,表中每一条记录包含工作流与内容类型、列表或文档库的关联信息。此关联信息中包含工作流是自动启动还是由用户发起、工作流使用的任务列表和历史信息列表信息。如果一个工作流被关联到多个内容类型、列表或文档库,那么每一个关联都会有一次记录存在此表中。同样道理,如果一个内容类型、列表或文档库有多个工作流,那么每一个工作流也会有相应的关联信息记录。
下面的图片说明了WSS中工作流的技术架构,每个内容类型、列表、文档库都通过服务器场的关联表,与相应的工作流连接。每个一个工流都有一个工作流模板定义文件,此XML定义文件指定了工作流实际使用的程序集(dll)和程序集中的类名,并且指定了工作流运行所需要的各种工作流表单