Primeton EOS6 工作流教程培训资料_第1页
Primeton EOS6 工作流教程培训资料_第2页
Primeton EOS6 工作流教程培训资料_第3页
Primeton EOS6 工作流教程培训资料_第4页
Primeton EOS6 工作流教程培训资料_第5页
已阅读5页,还剩197页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 primeton eos5.1初级开发培训教程primeton technologies, ltd.上海普元信息技术有限责任公司primeton eos6工作流教程no part of this document may be reproduced, stored in any electronic retrieval system, or transmitted in any form or by any means, mechanical, photocopying, recording, otherwise, without the written permission of the

2、copyright owner.copyright 2008 by primeton technologies, ltd. all rights reserved 第2页共202页 eos6工作流教程本出版物包含primeton的专利信息,它在许可协议下提供,并受版权法保护,本出版物包含的信息不包括任何产品保证。通过您当地的primeton代表或分部可订购出版物,或致购出版物当您发送信息给primeton后,即授予primeton非专有权,primeton对于您所提供的任何信息,有权利以任何它认为适当的方式使用或散发,而不必对您负任何责任 copyright pri

3、meton technologies corporation 2008. all rights reserved.本书的相关文档您可能会发现下列资料对您有用:eos基础教程eos workflow开发指南eos workflow参考手册eos workflow管理员手册格式使用约定本书对文本格式的使用有如下约定:粗体 表示突出显示,或可视化操作中的文字【*】 可视化操作中的选项 第202页导读本文档的阅读对象为软件设计和开发人员,为了能更好的理解和使用primeton eos workflow;您需要了解html、javascript、java、jsp、jsptag、sql等j2ee的基本知识

4、,并且对eos基础教程有一定的理解,这将为您能更好的学习本文档起到事半功倍的效果。本文档讲通过几个案例来引导读者运用primeton eos workflow产品进行实际的工作流开发,使读者能够很快的运用primeton eos workflow产品开发自己的工作流应用。本文档旨在让您学会使用primeton eos workflow产品对业务流程整个生命周期的管理,包括业务流程的定义、调试、部署、运行、监控、管理。在学习过程中,您也许随时会用到以下文档:eos基础教程eos workflow开发指南eos workflow参考手册eos workflow管理员手册推荐本案例的运行环境为win

5、dowsxp、oracle9i。目录导读4目录5第1章引言7第2章工作流概述82.1eos工作流概述82.2eos工作流实现原理和机制10第3章初识eos工作流123.1关键知识点123.2案例描述123.3案例开发133.3.1组织机构143.3.2数据准备143.3.3创建项目153.3.4创建构件包193.3.5创建流程223.3.6流程开发253.4部署运行1013.4.1发布流程1013.4.2运行流程1033.4.3工作流管理监控1073.5案例分析1113.6小结112第4章附录1854.1概念模型1854.2工作流governor配置管理平台1854.2.1工作流配置管理概述1

6、854.2.2工作流表初始化1864.2.3cache配置管理1874.2.4相关数据配置管理1884.2.5邮件配置管理1894.2.6组织机构配置管理1904.2.7日志配置管理1914.2.8转历史配置管理1934.3工作流状态字典1954.3.1业务流程1954.3.2流程实例1954.3.3活动实例1954.3.4工作项1964.4工作流表结构说明1964.4.1流程定义表(wfprocessdefine)1974.4.2流程实例表(wfprocessinst)1974.4.3活动实例表(wfactivityinst)1984.4.4工作项表(wfworkitem)1994.4.5参

7、与者表(wfwiparticipant)2004.4.6流程实例属性表(wfprocessinstattr)2004.4.7代理关系表(wfagent)2004.4.8代理项明细表(wfagentitem)2014.4.9代理人范围表(wfagentscope)2014.4.10迁移线表(wftransition)2014.4.11迁移控制表(wftransctrl)2014.4.12审计日志表(wfauditrecord)2024.4.13定时器表(wftimer)2024.4.14工作流系统信息表(wfsysteminfo)2034.4.15表间关系203第1章 引言工作流(workflo

8、w)就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。不同的研究者和工作流产品供应商从不同的角度给出了工作流的定义。以下给出几个具有代表性的定义,供读者参考:工作流管理联盟给出的工作流定义是:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。georgakopoulos给出的工作流定义是:工作流是将一组任务组织起来完成某个经营过程。在工作流中定义了任务的触发顺序和触发条件。每

9、个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以是有一个或多个人与软件系统写作完成。任务的触发顺序和触发条件用来定义并实现任务的触发、任务的同步和信息流(数据流)的传递。peoplesoft公司给的定义是:工作流是一个用来实施经营过程实践的机制。ibm almaden研究中心给出的工作流定义是:工作流是经营过程的一种计算机化的表示模型,定义了完成整个过程所需要的各种参数。这些参数包括对过程中每一个步骤的定义、步骤间的执行顺序、条件及数据流的建立、每一步骤由谁负责以及每个活动所需要的应用程序。primeton eos工作流在流程定义上符合xpdl规范,引擎的设计遵循了wfmc

10、提出的工作流参考模型标准,更重要的是,eos工作流是根据中国软件业的具体行情,整合了国内众多的电信、政府、金融等行业特殊需求而定制的、完全构件化的工作流管理系统。第2章 工作流概述2.1 eos工作流概述eos workflow是eos产品组成部分,负责对业务流程整个生命周期的管理,包括业务流程的定义、调试、部署、运行、监控、管理。eos workflow是遵从wfmc参考模型而又具备中国特色特性的工作流产品。eos工作流通过开发环境进行流程定义、依托流程引擎实现流程流转、采用基于web的客户端和管理监控工具完成对流程的调整、监控与审计,运用丰富的构件库快速定制业务的应用,做到随需应变。eos

11、工作流是完全构件化的工作流。首先eos工作流引擎本身运用了primeton eos产品提供的基础构件;其次,eos工作流也对外提供了流程定义管理、流程实例管理、活动实例管理、工作项管理、相关数据管理、工作流tag等一整套的构件库。构件化的eos工作流保证用户在快速开发应用的同时也能快速适应业务流程变化以及业务逻辑变化,同时建立在j2ee之上primeton eos又给eos工作流带来了高性能与高可靠性。eos工作流是具有中国特色的工作流产品。它溶入了国内电子政务与电信等行业的特征要求。在流程定义中支持包括串行、并行、同步、独占式、子流程嵌套等多种流程模式;在流程调整中,又根据具体的行业需求实现

12、了“特事特办型”、“一刀切型”,“分水岭型”等流程调整方式,使得它能够方便的构筑应用、灵活的实现调整。eos workflow由以下六部分产品组件组成:eos workflow定义工具、eos workflow引擎、eos workflow构件库、eos workflow客户端、eos workflow管理监控工具 和eos workflow governor。如图2-1所示:图2-1 工作流的组成1. eos workflow定义工具(eos workflow integrated define tool):流程定义工具是集成与eos studio的可视化流程设计器,它和eos 的其他开发部

13、件( 逻辑流、运算逻辑、页面流、数据实体等)无缝集成,提供一体化的流畅的开发体验。2. eos workflow引擎(eos workflow engine):工作流引擎是eos workflow的心脏,它保证大数据量并发场景下的流程操作的顺利执行。eos workflow引擎一共有三个职责:流程调度、任务调度和应用调度。eos workflow引擎支持包含自由流在内的多种复杂的流程模式,能满足中国特色的业务灵活需求;eos workflow引擎支持复杂的代理代办模型,对人工任务的灵活性存在很大的优势;eos worklow引擎同时负责和内部与外部的各种应用以同步和异步方式进行交互,保证引擎处

14、理过程中的事务完整性,促使互联网时代大量业务交互能够顺利进行。3. eos workflow构件库(eos workflow component library):工作流构件库提供众多的api,为业务开发提供了极大的便捷性。在实际的应用开发过程中一般是通过调用eos 工作流构件库中的构件来使用引擎的功能。eos工作流构件库是工作流引擎的访问接口,是对引擎功能的完备封装。eos 工作流构件库包括:定义管理组件、实例管理组件、客户端组件、代理代办组件、特殊功能组件和页面标签构件库。4. eos workflow客户端(eos workflow client platform):eos workfl

15、ow客户端是一个客户端的典型案例,它为流程的开发、调试和验证提供极大的便捷性。通过工作流客户端,业务人员和开发人员不但可以执行启动流程、查看任务、完成任务等基本操作,还可以进行包括代理、代办、领取等复杂操作。工作流客户端主要用来进行流程的模拟调试,验证流程的可行性和正确性。在业务运行阶段,应用一般需要构造满足自己特殊需要的客户端。5. eos workflow管理监控工具(eos workflow manage and monitor tool)工作流管理监控工具是业务管理人员的工作流操作平台。通过工作流管理监控工具,业务管理人员不但可以对流程实例实施挂起、恢复、回退等操作,还可以进行代理代办

16、交接等管理动作,甚至可以查询业务审计日志,对业务操作人员的流程动作进行监控。6. eos workflow governoreos workflow governor是集成于eos governor的系统管理工具,系统管理员可以通过eos workflow governor对工作流引擎进行配置和管理。primeton eos工作流中有5个主要对象,分别为:工作流定义、活动定义、工作流实例、活动实例与工作项,理解透这5个对象之间的关系对我们开发eos工作流有很大的帮助,其关系如图2-2所示:图2-2 工作流5个对象的关系图在工作流开发阶段确定流程定义和活动定义;在工作流运行阶段确定流程实例、活动

17、实例和工作项。 一个流程定义由多个活动定义组成。 一个流程定义可以创建多个流程实例。 一个流程实例包含多个活动实例,每个活动实例可以包含一个或多个工作项。 在一些特定的情况下(如一个活动要循环执行多次),一个活动定义会存在多个活动实例。2.2 eos工作流实现原理和机制1993年,国际工作流管理联盟(workflow management coalition, wfmc)的成立标志着工作流技术开始进入相对成熟的阶段。wfmc在工作流管理系统的相关术语、体系结构及应用编程接口等方面制定了一系列标准,提出了工作流参考模型。工作流参考模型确定了工作流管理系统的基本架构。该架构是开发工作流软件时应当采

18、纳的系统模型,当然,一个工作流管理系统也可以不遵循这个模型标准,或只实现这个模型的一部分,但事实证明,这个模型结构是目前最为合理的。eos workflow的参考体系架构是在wfmc描述的体系架构基础上进行了加强和改进。图2-3 eos workflow的参考体系架构在开发期,开发人员主要通过集成与eos studio的流程定义工具来定义流程,eos 把业务流程定义数据存储在文件系统(开发时)或关系数据库(运行时)当中,生成业务流程定义数据。由于流程定义工具需要依赖组织模型和外部相关应用,所以在流程开发以前需要首先针对组织模型数据实现组织模型接口,构造被调用的用于操作工作流应用数据的应用(服务

19、、逻辑流、运算逻辑等)。如果开发者暂时不确定组织模型,也可以先使用产品内置的简单组织模型。在运行期,流程引擎是所有依赖的中心。eos 流程引擎包含流程调度引擎和任务表管理器两大部分。引擎在运行过程中通过从组织模型获取到适当的参与者(业务操作员)来调度人为参与的人工活动;通过调用外部应用来实现运转的自动活动;通过访问工作流相关数据进行必要的路由判断;通过工作流控制数据来记录流程运行的轨迹;通过访问日历接口来进行恰当的时限设置。流程调度引擎和任务表管理器之间通过任务表作为联系纽带,通过任务表的状态变迁来进行相互的驱动。第3章 初识eos工作流通过前面的学习,大家对primeton eos工作流有了

20、个大概的认识,但基本上还停留在理论的层次;在本章中将通过一个案例的开发,来展示eos工作流的基本开发过程和eos工作流中基本元素的含义及用法。3.1 关键知识点本章节将通过初级案例场景为你介绍怎样开发一个工作流;怎样设置自定义url;怎样运行工作流。关键知识点:l 工作流定义、工作流实例l 活动定义、活动实例l 工作项l 参与者l 相关数据l 人工活动l 聚合/分支模式、分支条件l 自定义url3.2 案例描述客户是一间规模不大的第三方服务公司,公司的员工经常会到全国各地出差,所以员工经常需要报销差旅费,目前员工差旅费报销都是由员工自己通过填写纸制的报销单,然后经理老丁处审批,之后根据金额大小

21、决定是否送部门主管老唐处审批,完成后再由员工拿着报销单送财务部门小钱处登记领取报销金额即可。公司新来的财务主管老刘希望能用计算机把这个报销过程管理起来,这样报销的员工就不需要整天拿着报销单到处找人签字审核啦!需求设计分析了一下客户的提出的需求,以及客户公司报销所走的步骤,得到以下结论:需求分析: 1. 根据客户的需求,分析现有流程只有4步: 填写报销单经理审批部门主管审批财务审核;2. 经理审批通过则进行后续审批;3. 如果金额大于等于5000需要部门主管审批;4. 报销单内容为客户公司现有的纸制报销单表格内容;需求设计: 1. 流程设计图3-1 案例流程设计图功能设计如下: 流程定义为4个活

22、动环节:填写报销单经理审批部门主管审批(根据金额大小确定是否执行)财务审核; 经理审批环节后有两个条件判断(a.是否同意;b.金额大小),增加一个路由活动,针对两个条件分别判断; 2. 相关设计报销过程中最重要的信息就是报销单,客户为开发人员提供了报销单原始表格,内容如下:表3-1 报销单原始表格报销单报销日期报销人报销金额报销原因经理审批是否同意审批意见审批人部门经理审批是否同意审批意见审批人财务审核是否通过审批人3.3 案例开发3.3.1 组织机构在primeton eos工作流中,组织机构就是系统执行活动和工作项的载体,反映了企业人员的管理层次,同时也反映了人与工作、责权之间的关系。因此

23、组织机构在工作流及工作流应用系统中具有相当重要的地位。在正式开发案例之前,首先来了解一下与当前报销流程结合的组织机构模型,如图3-2所示:图3-2 组织机构图该组织机构为eos工作流默认自带的一个xml格式的组织机构(%eos_home%eosserverworkingeos-defaultworksystemcom.primeton.workflow.coremeta-infomservicemodel.xml)。开发人员可以从附件光盘中得到如上图所示组织机构的xml文件,将其覆盖eos工作流默认自带的组织机构xml文件即可。eos workflow提供了一套组织机构接口。用户可以通过实现该

24、接口,将实际业务中的组织机构模型告诉工作流引擎,从而在流程和活动中控制权限和任务。通过实现该组织模型接口(com.eos.workflow.omservice.iwfomservice),可以根据需要实现树状的、网状的、矩阵类型等等多种组织模型。本组织机构接口增强了通用性,不再硬性规定有什么类型的参与者。3.3.2 数据准备由于报销单数据需要存入到rdbms中,故开发人员需要根据客户提供的报销单原始表格建立如下表结构:提示:数据库脚本适合(oralce9i,oralce10g)l 报销单表create table train_exp_trvexp( trvexpno number not nu

25、ll primary key,-报销单编号 trvexpdate date,-报销日期 empno varchar2(20),-报销人 total number,-报销金额 reason varchar2(255),-报销原因 isapproved char(1),-经理审批是否同意 approvecomment varchar2(255),-经理审批意见 approveby varchar2(20),-经理审批人 isdeptapproved char(1),-部门主管审批是否同意 deptapprovecomment varchar2(255),-部门主管审批意见 deptapproveb

26、y varchar2(20),-部门主管审批人 finisauditing char(1),-财务审核是否通过 finisauditingby varchar2(20),-财务审核人 processinstid number,-流程实例id isruzhnag char(1)-是否入账);l 数据字典初始数据insert into eos_dict_type(dicttypeid,dicttypename,rank,parentid,seqno) values(isagree,是否同意,1,.isagree.);-数据字典insert into eos_dict_entry(dicttypei

27、d,dictid,dictname,status,sortno,rank,seqno) values(isagree,y,同意,1,1,1,.y.);-数据字典insert into eos_dict_entry(dicttypeid,dictid,dictname,status,sortno,rank,seqno) values(isagree,n,不同意,1,2,1,.n.);-数据字典3.3.3 创建项目在开发案例之前,首先需要创建一个eos项目。1. 启动项目创建向导在资源管理器中单击右键在菜单中通过选择【创建eos项目】启动项目创建向导,如图3-3所示:图3-3 创建项目2. 选择项

28、目类型在【选择项目类型】对话框中选择【空项目】,点击【下一步】填写项目信息,如图3-4所示:图3-4 选择项目类型3. 填写新建项目所需的信息在【填写新建项目所需的信息】对话框的【项目名称】中输入train后,点击【下一步】,如图3-5所示:图3-5 填写新建项目所需信息4. 添加引用库在【添加项目引用库】对话框中点击【添加系统引用库】,如图3-6所示:图3-6 添加项目引用库在【选择引用库】弹出框中,选择【工作流基础构件库】,点击【确定】,如图3-7所示:图3-7 选择引用库 由于在开发工作流时,需要用到工作流基础构件库,而创建eos空项目时,项目引用库中没有引入工作流基础构件库,所以需要我

29、们在添加项目引用库时把工作流基础构件库添加到当前创建的eos项目。在添加完项目引用库后,回到【添加项目引用库】对话框会发现系统引用库下将出现两个构件包:基础构件库和工作流基础构件库,如图3-8所示:图3-8 添加项目引用库在【添加项目引用库】对话框中点击【完成】按钮,项目创建完成。5. 项目创建完成图3-9 创建项目完成3.3.4 创建构件包1. 启动构件包创建向导右键单击资源管理器中项目train,在菜单中通过选择【创建构件包】生成构件包创建向导,如图3-10所示:图3-10 构件包创建向导2. 填写新建构件包所需信息在构件包名称中输入com.primeton.eos.exp,点击【完成】,

30、如图3-11所示:图3-11 创建构件包3. 构件包创建完成图3-12 构件包创建完成4. 设置构件包依赖关系在3.3.2创建项目中讲到了把工作流构件包引入到该项目,代表该项目中已经存在工作流构件包,而新创建的构件包还不能直接使用工作流构件包中的构件,需要帮助新创建构件包与工作流构件包创建依赖关系后,才可使用。右键点击com.primeton.eos.exp构件包,选择【属性】,弹出【com.primeton.eos.exp属性】性对话框,在左边树中选择【构件包】,然后在右边操作界面中选择【依赖】选项卡,为该构件包添加构件包依赖,如图3-13所示:图3-13 添加构件包依赖在添加构件包依赖树中

31、如上图配置,完成后点击【确定】即可。3.3.5 创建流程1. 启动流程创建向导右键点击资源管理器中的流程文件夹下的com.primeton.eos.exp包,选择【创建业务流程】生成创建工作流向导,如图3-14所示:图3-14 启动流程创建向导2. 填写业务流程所需信息在文件名中输入exp,点击【完成】即可,如图3-15所示;图3-15 创建工作流向导3. 建立空白流程通过流程创建向导建立的是一个空白流程,如图3-16所示:图3-16 空白流程开发人员在完成空白流程的创建之后,接下来需要在空白流程上建立符合业务规则的流程定义模型。4. 定义流程模型图3-17 流程定义模型请按照图3-17所示从

32、【选用板】中拖入4个人工活动与一个路由活动建立符合业务规则的流程定义模型,并分别将拖入的4个人工活动(也可称之为活动定义)的名称更改为图3-17中所示的名称。至此,开发人员就已经按照客户的业务需求创建了一个业务流程原型(也可称之为工作流定义) ,当然这还只是一个“形似”报销流程的工作流定义,要达到“神似”,接下来开发人员还有很多工作要做。工作流定义:描述一个完整的业务过程,它由若干活动组成。包括流程的基本信息、开始和结束条件、组成的活动、活动间流转的规则、需要用户执行的工作任务(工作项)、可能调用的应用程序以及流程相关数据等信息。提交到流程定义库后会包含流程定义id(流程定义的唯一标识)、流程

33、定义名称、版本号、流程定义描述以及提交时间等描述。活动定义:包含在流程定义之中,代表了一个相对独立的、逻辑的工作单元。一个活动代表一个需要由相关资源处理,或者由计算机处理的任务。其中定义了该活动的基本信息、执行该活动的参与者、时间限制、工作项信息、触发事件、启动策略等信息。3.3.6 流程开发3.3.6.1 数据建模首先开发人员需要在eos studio中导入与报销流程对应的数据实体。在数据模型下的com.primeton.eos.exp创建exp.datasetx数据集,右键点击资源管理器中数据中数据模型下的com.primeton.eos.exp包,选择【创建数据集】,如图3-18所示:图

34、3-18 启动创建数据集向导在【创建数据集】弹出窗口中输入【文件名】exp,点击【完成】按钮即可,数据集创建完成,如图3-19所示:图3-19 创建数据集数据集完成后,开始导入数据实体(train_exp_trvexp),右键点击刚创建的exp.datasetx数据集,选择【创建导入数据实体】启动导入数据实体向导,如图3-20所示:图3-20 启动导入数据实体向导在【选择数据集】弹出框中直接点击【下一步】按钮进入【选择表和视图】窗口,在该窗口中选中【连接oracleoracle train_exp_trvexp表】,其他选项为默认选中,点击【完成】按钮,数据实体导入完成,如图3-21所示:图3

35、-21 选中train_exp_trvexp表数据实体导入完成后如下图所示:图3-22 数据实体数据实体导入完成后,还需要对其做一些设置,双击trainexptrvexp实体,如图3-23所示编辑数据实体:图3-23 数据实体设置3.3.6.2 流程属性创建完一个业务流程后,需要对该流程进行属性设置。根据业务需要,报销流程只需要设置流程基本属性和相关数据。1. 基本属性打开exp.workflowx,双击工作流编辑器中的空白处,在弹出流程属性【设置对话框】中,可以根据需要填写流程定义相关的信息,如图3-24所示:图3-24 流程属性设置对话框模板id:默认为流程定义名称,区分不同流程的唯一id

36、号,不可更改;显示名称:默认为创建业务流程时的文件名,是工作流管理监控界面中左边树可以根据需要修改;作者:默认为创建业务流程时的作者,在文档生成功能中根据作者统计就是指本地方设置的作者,可以根据需要修改;部门:作者对应所在的部门,根据实际情况填写;分割事务:分割事务是指流程级操作与第一个活动的操作事务分开,比如在启动流程后会启动第一个活动,假设第一个活动启动出错,流程也会处于启动状态。本项默认“不选中”。描述:对该业务流程的描述,中/英文字符,长度01000;实体属性:实体属性要求选择一个业务实体的与流程实例id关联的业务字段,该属性设置好之后,使用场景主要是在结合业务表查询的方法queryw

37、orkitembizinfo和queryworkitembizinfo4sdo中用到。2. 相关数据由于在报销流程定义的分支线需要针对相关数据进行判断,所以需要在工作流流程【设置对话框】中设置相关数据。在报销流程定义中,需要在相关数据中增加两个参数:用于判断所有审批环节中是否同意的参数(yn)和用于判断报销金额的参数(money);在工作流程【设置对话框】中选择【相关数据】选项卡,点击按钮,为报销流程定义增加相关数据。增加相关数据后,如图3-25所示:图3-25 相关数据设置相关数据:工作流相关数据是在流程运转过程中和控制流程运转条件相关的数据,相关数据也可以用来保存在不同活动之间传递的信息。

38、eos workflow中,相关数据以结构化的形式存储在关系数据库当中。3.3.6.3 填写报销单活动在前一节中,开发人员已经完成了流程属性的配置,然而要完成整个流程定义的配置,还需要为每个活动定义设置属性。首先来设置填写报销活动定义的属性:双击流程图中填写报销单环节,弹出填写报销单活动的【设置对话框】,如图3-26所示:图3-26 填写报销单属性框1. 基本属性设置参与者:它主要描业务流程在实例化后的运行过程中参与操作的人员、角色或组织。工作项:表示流程实例在流转过程中为完成某个活动实例所要参与者做的工作。一个活动实例可以对应一个或多个工作项。每个工作项会被保存在工作项库(wfworkite

39、m)中,包括工作项id(唯一标识)、参与者id、工作项的状态、所属的活动实例id,流程实例id等信息。在设置填写报销单活动定义属性时,其他属性都为默认,只需要设置自定义url;因为报销人需要有个界面填写报销情况,而在设置活动定义属性中可以通过自定义url的页面流来指向一个页面;自定义url是流程运行到这个环节时,参与者执行该环节的工作项时所调用的url,在这个活动环节设置的自定义url的类型为页面流,创建填写报销单页面流的详细步骤将在下一节段介绍。活动id:活动id可以修改,当必需在当前流程定义中唯一;自定义url:流程实例运行到此活动时会跳转到指定的url处,需要时选中此项;url类型:ur

40、l的类型,包括“页面流”“web页面”“其它”三种情况,其中web页面指jsp页面,而其它是指除开页面流、jsp页面之外的url如 html等;调用url:根据url类型,输入或单击“浏览”按钮从流程定义所在项目中选择要调用的url;2. 自定义url设置设计思路: 自定义url对应的填写报销单页面流应该具有以下几个功能:l 接收传入的workitem对象l 展示报销单给用户操作l 把报销单信息写入数据库l 把报销金额设置到相关数据l 结束当前工作项(由于当前活动实例只有一个工作项,结束该工作项就代表该活动任务完成,工作流引擎将为后续活动创建并启动活动实例)通过如下方式实现上述功能:l 通过一

41、个赋值构件完成接收传入的workitem对象;l 通过一个页面资源完成展示报销单功能;l 通过一个逻辑流完成报销单入库、设置相关数据和结束工作项功能。workitem:该对象为工作流客户端调用自定义url时传入的工作项对象,该对象中包含工作项的所有信息,如:工作项id、工作项名称、活动实例id、流程实例id、参与者等。在设置相关数据和结束工作项等功能中都需要用到workitem对象中包含的信息。功能实现: (1) 创建填写报销单页面流(com.primeton.eos.exp.insertexp.flowx)a) 右键单击页面流下的com.primeton.eos.exp构件包,启动页面流创建

42、向导,如图3-27所示:图3-27 创建填写报销单页面流b) 填写页面流信息,在弹出的创建页面流向导对话框中设置页面流的属性,如图3-28所示:图3-28 创建页面流向导页面流属性设置完成后,点击【完成】即可;在新的页面流模型创建完成后,请按照图3-29从【选用板】中拖出相应的构件配置该页面流模型;图3-29 页面流模型(2) 创建页面资源(insertexp.jsp)该页面资源用于展现报销单内容。a) 启动页面资源创建向导右键单击资源管理器中页面资源目录,如图3-30所示:图3-30 创建页面资源b) 填写页面资源信息 图3-31 创建jsp向导在【创建jsp页面】对话框中输入jsp的标题及

43、文件名,如图3-31所示;完成后,点击【下一步】按钮即可;c) 选择模板 图3-32 选择模板在选择模板窗口中选择【默认模板】,如图3-32所示;点击【完成】按钮即可;d) 在insertexp.jsp页面创建完成后,做如下操作:l 从【选用板】中的【组合控件】拖入dataform到之间,并按照如图3-33所示配置,其中【表单录入字段列表】中的trvexpno字段、processinstid字段设置为隐藏字段,empno字段为readonly字段:图3-33 dataform向导l 修改为l 修改为修改后的insertexp.jsp代码如下所示:填写报销单 报销日期 报销人 报销金额 报销原因

44、 (3) 创建逻辑流(com.primeton.eos.exp.exp.insertexp)a) 创建逻辑构件,右键单击资源管理器中com.primeton.eos.exp包,启动创建逻辑构件向导,如图3-34所示:图3-34 创建逻辑构件向导填写逻辑构件所需信息,如图3-35所示,设置后点击【完成】按钮即可;图3-35 创建逻辑构件向导b) 创建com.primeton.eos.exp.exp.insertexp()逻辑流,右键单击资源管理器中ponenttype逻辑构件,启动创建逻辑流向导,如图3-36所示:图3-36 创建逻辑流向导在创建逻辑流向导弹出框中输入所需属性,如图3-37所示:

45、设置后点击【完成】按钮即可;图3-37 创建逻辑流向导由于该逻辑流需要完成:报销单入库、金额数设置入相关数据、完成工作项,所以在逻辑流创建完成后,从构件库中分别拖入如下构件完成上述功能:l com.eos.foundation.database.databaseext.getprimarykey运算构件l com.eos.foundation.database.databaseutil.insertentity运算构件构件位置:com.eos. workflow 构件服务 relativedatamanagerservice setrelativedata(long processinstid

46、, string xpath, object reladata)l ponent.client.relativedatacomponent/relativedatamanagerservice.setrelativedata服务l ponent.client.workitemmanagercomponent/workitemmanagerservice.finishworkitem服务构件位置:com.eos. workflow 构件服务 workitemmanagerservice finishworkitem(long workitemid, boolean transactionspan

47、)如图3-38所示配置:图3-38 拖入运算构件及服务l 首先设置逻辑流信息,变量定义与参数配置如图3-39所示:图3-39 设置逻辑流信息参数描述:变量定义money:用于存放金额数,并设置到相关数据;输入参数trainexptrvexp:用于存放输入的报销单实体;输入参数workitem:用于存放输入的工作项实体;l com.eos.foundation.database.databaseext.getprimarykey运算构件,参数设置如图3-40所示:图3-40 getprimarykey运算构件参数设置参数描述: 输入参数trainexptrvexp:用于存放报销单实体;l com.eos.foundation.database.databaseutil.in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论