[开发技巧] DORADO整合SynchroFlow开发指南V1.1

hotbarsmu 2008-09-20

DORADO整合SynchroFlow开发指南V1.1
文档英文名称 The DevelopmentGuide that integrating DORADO with SynchroFlow
文档内容简介 基于DORADO整合SynchroFlow的工作流开发指南

http://221.130.182.164/download?subpath=marmot$2FdoradoIntSynchroFlowDevGuide$2D20070925$2Ezip/

 

目 录
1. 前言 6
1.1. SynchroFlow简介 6
1.2. dorado整合SynchroFlow要点 6
1.2.1. 整合思路 7
1.2.2. 具体实现 7
2. 下载以及安装 9
2.1. Dorado 9
2.2. SynchroFlow 9
2.2.1. SynchroFlow服务器端的安装、配置 9
2.2.2. SynchroFlow客户端的安装 15
3. 整合数据集(SCF Dataset) 17
3.1. 概述 17
3.2. SCFUserDataset 20
3.3. SCFProDefDataset 21
3.4. SCFProInsDataset 23
3.5. SCFWorkItemDataset 24
3.6. SCFRelDataset 26
4. 配置方式 28
4.1. 配置Dorado Studio 28
4.2. 配置项目 34
5. 创建SCF工程 41
5.1. 创建SCF工程 41
5.2. 配置项目 41
5.3. 配置数据源 41
6. 制作登录界面 43
6.1. 启动服务 43
6.2. 概述 43
6.3. 添加视图模型对象 44
6.4. 添加SCFUserDataset对象 44
6.5. 添加AutoForm 45
6.6. 添加Button 46
6.7. 添加UpdateCommand对象 47
6.8. 添加RequestCommand对象 48
6.9. 添加View的onLoad事件 48
6.10. 创建JSP 49
6.11. 运行测试 50
7. 制作SCF后台管理登录界面 51
7.1. 概述 51
7.2. 添加视图模型对象 51
7.3. 添加Menu 51
7.4. 添加MenuBar 52
7.5. 创建JSP 53
7.6. 添加RequestCommand对象 54
7.7. 添加Menu的onItemClick事件 56
7.8. 运行测试 56
8. 制作过程定义管理 58
8.1. 概述 58
8.2. 添加视图模型对象 58
8.3. 添加SCFProDefDataset对象 58
8.4. 添加DataTable 59
8.5. 添加PagePilot 60
8.6. 添加Button 60
8.7. 添加UpdateCommand对象 61
8.8. 添加Button的onClick事件 62
8.9. 添加查看过程实例连接 62
8.9.1. 添加RequestCommand对象 62
8.9.2. 添加超链接 63
8.10. 创建JSP 64
8.11. 运行测试 65
9. 制作过程实例管理 66
9.1. 概述 66
9.2. 添加视图模型对象 66
9.3. 添加SCFProInsDataset对象 67
9.4. 添加DataTable 67
9.5. 添加PagePilot 68
9.6. 添加Button 68
9.7. 添加UpdateCommand对象 69
9.8. 添加Button的onClick事件 70
9.9. 添加Button的控制事件 71
9.10. 添加查看工作项和查看过程实例数据信息连接 72
9.10.1. 添加RequestCommand对象 72
9.10.2. 添加超链接超链接 72
9.11. 添加流程查看和流程监控连接 74
9.12. 创建查询 74
9.12.1. 添加CustomDataset对象 74
9.12.2. 添加AutoForm 75
9.12.3. 添加Button 75
9.12.4. 查询事件 76
9.13. 关联下拉框框 79
9.13.1. 添加ListDropDown 79
9.13.2. 添加DatasetDropDown 80
9.14. 创建JSP 81
9.15. 运行测试 83
10. 制作工作项管理 86
10.1. 制作工作项分类管理 86
10.1.1. 概述 86
10.1.2. 添加视图模型对象 86
10.1.3. 添加SqlDataset对象 87
10.1.4. 添加DataTable 88
10.1.5. 添加查看工作项连接 89
10.1.6. 创建JSP 90
10.1.7. 运行测试 91
10.2. 制作工作项管理 91
10.2.1. 概述 91
10.2.2. 添加视图模型对象 92
10.2.3. 添加SCFWorkItemDataset对象 92
10.2.4. 添加DataTable 94
10.2.5. 添加PagePilot 94
10.2.6. 添加Button 94
10.2.7. 添加UpdateCommand对象 95
10.2.8. 添加Button的onClick事件 96
10.2.9. 添加Button的控制事件 98
10.2.10. 创建查询 100
10.2.11. 关联下拉框 107
10.2.12. 创建JSP 109
10.2.13. 运行测试 110
11. 制作过程实例数据信息 112
11.1. 制作过程实例数据信息查询 112
11.1.1. 概述 112
11.1.2. 添加视图模型对象 112
11.1.3. 添加FormDataset对象 112
11.1.4. 添加AutoForm 113
11.1.5. 添加Button 113
11.1.6. 添加RequestCommand对象 114
11.1.7. 添加View的onLoad事件 115
11.1.8. 创建JSP 115
11.2. 制作过程实例数据信息查看 116
11.2.1. 概述 116
11.2.2. 添加视图模型对象 116
11.2.3. 添加SCFRelDataset对象 116
11.2.4. 添加DataTable 117
11.2.5. 添加Button 118
11.2.6. 添加UpdateCommand对象 119
11.2.7. 创建JSP 119
11.2.8. 运行测试 120
12. SCF例子 122
12.1. 请假管理(SynchroFlow自带的例子) 122
12.2. 主次异步活动组示例(SynchroFlow自带的例子) 123
12.3. 报表审批(SynchroFlow自带的例子) 124


 1. 前言
本书适合对dorado比较了解,能用dorado自身提供的框架体系进行快速地地开发简单系统的技术人员。在此之前最好先掌握《dorado快速入门(一)》和《dorado 5 快速入门(二)》等一系列文档。在比较了解dorado基本工作原理的情况下阅读本书更为有效。
本书主要使用SCF框架实现提供对synchroflow与dorado开发的整合。本书重点在于帮助读者快速地掌握SCF框架的核心部分。使技术人员可以利用SCF框架快速搭建synchroflow与dorado整合开发项目。关于SCF框架的详细说明请下载SCF开发包
本文通过对dorado中相关组件的使用,使读者能够了解并掌握SCF的基本使用技巧。
本文中对于常用的dorado studio的常用操作技巧和dorado中常用的名词不再进行专门解释。详细内容请参考其他的参考文档。
1.1. SynchroFlow简介
SynchroFlow 是采用J2EE 开发架构,结合XML技术于一体,在符合WfMC(Workflow Management Coalition--工作流管理联盟)标准的基础上,开发出的平台无关性、应用服务器无关性,并提供了支持JAVA语言API的软件产品。该产品致力于企业工作流自动化和企业流程再造,为企业简化开发步骤、降低应用开发难度、提高应用开发效率及灵活性、节约应用开发成本提供坚实的基础平台。
1.2. dorado整合SynchroFlow要点
SynchroFlow是一个在工作流方面表现优秀的中间件平台,Dorado是一个在展现表示层方面表现优秀的中间件平台。二者可以将各自的优势重点发挥,在不改变各自优势的前提下,将两个平台全方面整合在一起。
SynchroFlow工作流引擎对外提供了灵活、丰富的工作流API,外部程序可以通过对这些API的调用,控制流程的运行、查询流程的运行状况以及SynchroFlow系统的运行状况,从而实现自己的业务需求。
DORADO展现中间件具有独立且十分灵活的框架特征,dorado可以和目前业内几乎所有的基于J2EE开发的各种框架进行快速整合。dorado提供丰富的表现层统一构件、更大数据量更复杂界面的支持能力、更具亲和力的操作体验,支持更多的开源框架与商业产品,是AJAX最好的商业产品之一。
通过将两者整合在一起,方便了开发既有优秀工作流又符合工作流使用的优秀界面的WEB系统。
SynchroFlow和DORADO整合的关键在于dorado通过何种方式把SynchroFlow所需要的数据传送至后台工作流引擎,而 SynchroFlow又通过何种方式把结果返回给dorado,使dorado执行相应的程序获取需要在页面展现的数据或结果集。
1.2.1. 整合思路
通过SynchroFlow中提供的API,直接通过rmi就可以获取我们需要的各种ProcessManager(过程数据管理),WorkItemManager(工作项数据管理),ProcessMonitor(过程监控接口)等,再获取我们需要的相关数据对象,即工作流引擎中的各种相关变量,将数据进行输出。
Dorado主要新增一些相应的Dataset,提供SynchroFlow各种API接口所需要参数设置,这样就可以通过配置的形式来操作工作流或获取工作流相关的数据。
总之,将SynchroFlow开发的数据访问接口和dorado的后台获取数据的接口进行对接,然后将SynchroFlow中的各种数据转成相应的符合dorado规范的数据,并通过dorado的独特的展现机制进行页面展现即可。
1.2.2. 具体实现
SynchroFlow一般的实现原理是:先根据ProcessManager获取到过程定义列表,选择要创建过程的过程定义;通过 ProcessMonitor创建了过程后就给通过登录验证的用户去启动过程(同时也给该活动节点的用户创建了工作项),当中还涉及到工作流中全局变量的获取或设置;登录的用户可以通过WorkItemManager来获取自己的待办工作项,选择自己的待办工作项时会根据过程实例Id和工作项Id去获取或实现项目在该活动节点上的功能,用户在操作这些数据后就会提交,根据不同的情况对工作项做出不同的操作,以便给以不同类型的用户接下去处理下一步的工作项,通过对工作项的不同操作直到完成过程为止。
首先,根据ProcessManager获取到过程定义列表存放在dorado新增加的一个datasetProcessDef里面,然后选择该 datasetProcessDef里面其中一条过程定义,然后对datasetProcessDef设置该过程定义要做的动作(状态),一般开始的时候是要创建过程;通过ProcessMonitor创建了过程后就产生了过程实例id,再通过将过程实例id存放在dorado新增加的另一个 datasetProcessIns里面,然后对datasetProcessIns设置该过程要做的动作(状态),一般开始的时候是要启动过程;当启动了过程,就分配了该过程下的工作项给相应的用户。当中我们通过dorado新增加的另一个datasetRelevant来获取或定义工作流里面全局变量,通过改变datasetRelevant里面的值提交就可以改变该工作流的全局变量值。登录的用户可以通过WorkItemManager来获取自己的待办工作项存放在dorado新增加的另一个datasetWorkItem里,通过选择datasetWorkItem的某一些Record的时候会根据该Record对象中的过程实例Id和工作项Id去获取或实现项目在该节点上的功能,然后对该datasetWorkItem设置该工作项要做的动作(状态),用户在操作这些数据后就会提交,根据不同的工作项动作(状态)对工作项做出不同的操作,以便给以不同类型的用户接下去做下一步的工作项,通过对工作项的不同操作直到完成过程为止。
值得关注的一件事情是,我们可以只用一个JSP页面表单处理一个流程的各个节点的不同数据展示。这个实现可以通过Dorado的Profile实现。而不需要每个节点做出一个表单页面。
由上面的分析可以看出,主要通过在dorado中新增一些Dataset来组装SynchroFlow的数据,然后通过Dataset提交这些数据到后台,dorado在后台接口上面结合SynchroFlow提供的API操作就可以实现了SynchroFlow与DORADO的整合开发。

更多章节请下载全文。

Global site tag (gtag.js) - Google Analytics