第二篇:技术预研报告
工作流引擎系统
Abbr.Of.System
技术预研报告
XXXXXXXX系统,《技术预研报告》
目 录
0. 文档介绍 ............................................................................................................................ 3 0.1 文档目的 ....................................................................................................................... 3 0.2 文档范围 ....................................................................................................................... 3 0.3 读者对象 ....................................................................................................................... 3 0.4 参考文档 ....................................................................................................................... 3 0.5 术语与缩写解释 ............................................................................................................ 3
1. 背景介绍 ............................................................................................................................ 4
2. 技术预研目标 ..................................................................................................................... 4
3. 技术预研取得的工作成果 ................................................................................................. 4
4. 技术A的研究报告 ............................................................................................................ 4
5. 技术B的研究报告 ............................................................................................................ 5 ? MyCompany
Page 2 of 6
XXXXXXXX系统,《技术预研报告》
0. 文档介绍
0.1 文档目的
为下一阶段开发工作流引擎探索技术和学习相关的知识,探索开发方案,说明它的可行性。
0.2 文档范围
0.3 读者对象
0.4 参考文档
提示:列出本文档的所有参考文献(可以是非正式出版物),格式如下:
[标识符] 作者,文献名称,出版单位(或归属单位),日期
例如:
[SPP-PROC-PP] SEPG,需求开发规范,机构名称,日期
0.5 术语与缩写解释
? MyCompany
Page 3 of 6
XXXXXXXX系统,《技术预研报告》
1. 背景介绍
提示:说明为什么要开展技术预研 。
2. 技术预研目标
提示:说明本次技术预研的主要内容与目标(必须是可以验证的)。
3. 技术预研取得的工作成果
提示:说明本次技术预研取得的工作成果(程序、文档、数据等)以及时间。
4. 技术Microsoft Windows Workflow Foundation(WWF)的研究报告
提示:
(1)解释重要的术语、基本概念;
(2)论述思想方法、技术方案、技术细节
4.1 有关Windows平台新添加工作流支持的简介
Microsoft Windows Workflow Foundation (WWF) 是一个可扩展框架,用于在 Windows 平台上开发工作流解决方案。作为即将问世的 Microsoft WinFX 的组成部分,Windows Workflow Foundation 同时提供了 API 和一些工具,用于开发和执行基于工作流的应用程序。
Windows Workflow Foundation 提供一个工作流引擎、一个 .NET 托管 API、运行库服务以及与 Microsoft Visual Studio 2005 集成的可视化设计器和调试器。可使用 Windows Workflow Foundation 来生成并执行同时跨越客户端和服务器的工作流,以及可在所有类型的 .NET 应用程序内部执行的工作流。
4.2 可行性分析
采用这套技术,就节省了很大的开发工作量因为它已经为我们开发好了完? MyCompany
Page 4 of 6
XXXXXXXX系统,《技术预研报告》
整的工作流引擎,我们只要在此基础上二次开发,制定我们特需的工作流就可以了。但其缺点是:因为是新技术,需要在原有的平台上安装Windows Workflow Foundation beta 1插件(目前还没有找到微软提供的下载),而且他的成熟性还没有经过考证。
5. 技术使用WSS提供的OM开发的研究报告
提示:
(1)解释重要的术语、基本概念;
(2)论述思想方法、技术方案、技术细节
WSS2.0允许开发者在SharePoint平台上对文档库事件操作进行编程开发。开发者能够创建受管代码来定义事件的操作,然后绑定操作到文档库。这个事件操作能够调用SPSWSS的OM模型来直接访问配置和数据数据库,或者是调用扩展的服务,使用SharePoint服务作为用户和其他系统的接口。
我们使用SPListItem Class的公共属性ModerationInformation就能获得与审批相关的上下文。在SPModerationInformation Class中提供的公共属性Status下枚举了三种状态:
Approve——已批准状态
Denied——拒绝状态
Pending——待批状态
通过对他们的操作,就能获取当前文档的审批状态。
要开发工作流引擎,还需要引入下面概念。SPS2003默认没有工作流概念,但它有“内容审批”功能(使用WSS-OM查询到文档库项目的审批状态需要的知识在上面我们已经介绍了),我们要开发工作流引擎需要使用Event Sink进行二次开发,在WSS中使用IListEventSink这个接口提供的OnEvent方法来响应改变文档库事件的操作。在设计中我们将要使用到“角色扮演”功能。
角色扮演在Handing Document Library Events 中所起的作用
Microsoft Windows SharePoint Services 2.0提供让开发者编写基于SharePoint平台的文档库事件。开发者可以构建托管代码程序集来定义处理事件然后邦定这些处理集到文档库。这里的事件处理者(程序集)可以调用SharePoint对象模型来直接访问内容和配置数据库,或者他们可以调用外部服务,将Windows SharePoint Services作为使用其他系统的一个接口。
为什么要使用角色扮演?
e.g.在每次打开文档库中的文档是总是需要身份验证,而我们在访问SharePoint 平台时就已经进行了身份验证,这样就显得不够人性化。不过SharePoint的安全机制就是这样要求的,所以我们可以编写一个程序由拥有最好权限的人运行他,使用它当一般权限的人操作文档库事它就扮演一个角色? MyCompany
Page 5 of 6
XXXXXXXX系统,《技术预研报告》
(一般是Administrator,来实现上面所说的人性化要求。)当然这种做法的安全性到底有多高还有待试验。
还有一般在文档的审批过程中要具有一定的权限才能审批通过(一般是Administrator)。
提一下我们的工作流引擎中的审批业务流程。
撰写者提交一篇文档(默认的状态是“待批Pending”,如果是Administrator撰写的直接就是“通过 Approve”)。而我们要做成通过判断审批者的阀值累计到一定的分数才能Approve。怎么实现呢?
可以通过一个检测状态,如果他是Approve状态,再判断下这篇文档的阀值有没有达到规定分数,没有就重新置为Pending。
不要想通过扩展它的ModerationStatus状态来实现我们的工作流引擎。
? MyCompany
Page 6 of 6