ImageVerifierCode 换一换
格式:DOCX , 页数:69 ,大小:382.51KB ,
资源ID:21707956      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21707956.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(IIMP开发说明文档Word格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

IIMP开发说明文档Word格式.docx

1、1.2 参考资料1.3 相关术语名词解释IIMPIIMP(Integrated Information Managerment Platform),综合信息管理平台。2 系统设计(old)2.1 概要设计方案系统总体的设计思路如上图所示。把页面上所有类型的元素进行抽象,形成组件,存放在页面组件库中;从这个组件库中取出组件形成不同的元素,这些元素组合成不同的表单,表单中的每个元素与数据库中的存储相关联,对应到具体的表的字段;工作流程通过工作流引擎运行起来,流程中包含许多交互节点和非交互节点,这些交互节点可以关联上表单(理论上一个表单可以被多个流程节点关联),作为这些交互节点供用户使用的操作页面。

2、在数据存储的另一侧,通过接口与OVSD进行交互数据。接口包含两部分,关联配置模块负责配置两者之间的表结构的字段对应关系;流程在节点间流转,当交互节点提交时,会根据关联配置中配置的字段,把这些字段和对应的值提取出来放到接口表中;在接口的数据交换模块会有独立的进程,定时扫描接口表,根据关联配置中预定义的字段对应关系把数据更新到OVSD数据库中。2.2 数据库设计方案Activity表是节点表,存放着流程中的节点信息。每个交互节点的数据对应存放在一张表中,这些表的创建在下面会提到。表单信息表存放着表单的基本信息,Activity表与表单信息表进行关联,也即节点与表单关联。表单组件对应表存放着表单中的

3、元素的详细信息,包括元素的名称、描述、继承的组件、相关的操作、摆放的位置等,表单组件表与组件信息表关联,获取组件信息。组件信息表存放着页面组件的基本信息,组件数据获取信息表存放着这个组件的一些相关操作。数据表管理中对交互节点的表及字段进行管理,这里的信息都是根据表单中的元素动态增加或者修改的,相对应的数据库中的表也是根据这个表中的内容来动态建立或扩展的;元素数据存储对应表存放着表单元素与数据库中表字段的对应关系。OVSD字段表关联总表存放着OVSD中所有流程、表单字段、数据库表和字段、关联表和字段的对应关系。数据交换配置表保存着WEB化数据库中的表字段与OVSD数据库的表字段的对应关系。数据交

4、换数据表、数据交换详细数据表共同存放着所有的接口交换数据。2.3 与OVSD同步设计方案OVSD里面四大流程的所有字段及存储关联关系都将整理存放在“OVSD字段表关联总表”中。每个表单会对应一张数据表,通过“数据表管理”“元素数据存储对应表”两个表可以获得表单元素与后台表字段的对应关系。然后提供一个界面,把两边的字段列出来,由操作人员进行匹配操作,把两边的字段对应上,并把对应的结果存储在“数据交换配置表”中。在流程执行的每一个环节,系统会根据“数据交换配置表”中的配置信息,把在里面有配置的字段的内容提取出来,存放在“数据交换数据表”、“数据交换详细数据表”中。会有一个常驻进程定时扫描这两个表,

5、根据“数据交换配置表”和“OVSD字段表关联总表”把对应的信息更新到OVSD中的具体表字段中。更新的时候分两个步骤,如果是第一次更新,则首先调用OVSD预提供的API接口,生成对应的工单,然后再按照对应关系生成update语句进行更新;如果不是第一次更新,则直接按照对应关系生成update语句进行更新。3 工作流引擎改造3.1 现有工作流引擎功能现在的引擎包括同步和异步两种方式。在流程发起的时候,使用同步的方式创建新流程,在程序中加入如下代码启动一个新流程:if(iWorklistId = null | iWfSerialNo = null) processMgr.setOperator(EM

6、PLOYEE_ID); if(FLOW_ID != null) try processMgr.startProcess(Integer.parseInt(FLOW_ID), engine_title, EMPLOYEE_ID); catch(Exception e) e.getMessage(); WF_SERIAL_NO = processMgr.getSerialNo(); WORKLIST_ID = processMgr.getFirstTaskId(); else WF_SERIAL_NO = Integer.parseInt(iWfSerialNo); WORKLIST_ID = I

7、nteger.parseInt(iWorklistId);在流程推进的时候,采用异步执行的方式,在流程执行的每一步把与流程推进的相关数据写入到to_do_task_engine表中,在另一侧会专门启动一个进程,从to_do_task_engine表中获取数据,推动工作流引擎,执行流程的推进。下面详细介绍工作流引擎的配置方法以及异步推动的原理3.1.1 流程节点配置方法步骤:1.根据需求用visio画流程图2.在流程图上标识节点的数字信息,一般正常的节点从01开始标识(流程号标识号,如300101,3001是指流程号,01是指节点标识号);或分支/汇聚从35(可以更大点)开始标识;与分支/汇聚从

8、60开始标识3.配置process表(流程)4.配置activity表(节点)5.配置routing_rule表(流转关系)3.1.1.1 画流程图注意:一般需要在与分支之前加上一个 获取处理人 的节点,用来获取所有与分支的处理人,如下图所示:3.1.1.2 配置activity表3.1.1.2.1 需配置的字段IACTIVITYID 节点号(流程中配的)IPROCESSID 流程号(对应process表)CACTIVITYNAME 节点名称IACTIVITYTYPE 节点类型CCLASSNAME 执行的类CVIEWJSP 查看jspCMDFJSP 修改jspIMULACTIVITY 对应多分

9、派节点CDISPLAYCLASSNAME 展现类3.1.1.2.2 节点类型说明IACTIVITYTYPE:INITIAL = 1;INTERACTION = 2;AUTOMATION = 3;AND_BRANCH = 4;AND_MERGE = 5;OR_BRANCH = 6;OR_MERGE = 7;VOTE_MERGE = 8;DUMMY = 9;COMPLETION = 10;MUL_INSTANCE= 11;MUL_INSTANCE_MERGE= 12;WAIT= 13;OUTWAIT= 14;1 开始节点2 普通节点3 执行单类节点6 或分支7 或汇聚10 结束11 多实例分支(目

10、前使用的与分支)12 多实例汇聚(目前使用的与汇聚)3.1.1.2.3 其它字段配置说明单类节点只需配置CCLASSNAME字段,配置它所将执行的类;普通节点需要配置CVIEWJSP、CMDFJSP、CDISPLAYCLASSNAME,CVIEWJSP统一配置为“/workflow/busisupport/viewBusiSupport.jsp”;CMDFJSP配置为对应的.do;CDISPLAYCLASSNAME配置为对应的展现类。与分支节点需要在IMULACTIVITY配置其对应的与汇聚字段与汇聚节点需要在IMULACTIVITY配置其对应的与分支字段参考:select * from ac

11、tivity where iprocessid=30013.1.1.3 配置routing_rule表1.首节点的前置节点为0,正常的流转标记是1,如下图:300101是首节点。结束节点的后置节点为0,如下图:300114是结束节点。2.或分支通过流转标记不同流向不同的分支,如下图:3.所有的节点都必须至少在ICURRACTIVITYID字段中出现一次,IPREACTIVITYID字段为其前置节点,INEXTACTIVITY字段为其后置节点。结束节点只需要出现在 INEXTACTIVITY字段中。select * from routing_rule where icurractivityid

12、like 3001%3.1.2 异步推动原理1.每个流程节点的表单提交的时候,把流程推进相关的信息写入到to_do_task_engine表中,至此表单提交完成。2.EngineThread类是一个Thread类,EngineThread启动后作为常驻进程,启动时同时启动5个线程,每个线程sleep 5秒执行一次。3.EngineThread首先读取to_do_task_engine中的待处理列表,每次读一条记录,读完之后马上把这条记录在to_do_task_engine中的status更新为0,标志此条记录目前正在处理中。4.EngineThread根据读取的ITASKSTATUS字段的值判

13、断,如果是保存操作,则调用内部引擎的保存方法,更新状态位字段;如果是提交操作,则调用内部引擎的提交方法,推进工作流。5.内部引擎执行完成后,返回到EngineThread类, delete在to_do_task_engine表中的此条记录,然后sleep 5秒。3.1.3 关键表包含如下关键表:Process 静态的流程表Activity 静态的节点表Ruleting_rule 节点关联关系表To_do_task_list 待办任务表To_do_task_status 待办任务状态表,保存一些经常更新的信息避免锁表Havedonetasks 已办任务表,此表可知流程的历史执行过程To_do_t

14、ask_engine 异步模式接口数据表TBLMULCONFIG 分派多人时保存多人信息DCOMMSENDDETAIL 分派多人时,页面需插入的表3.1.3.1 Process 序号属性名类型缺省空值说明1.PROC_ID NUMBER(10)N流程号2.PROC_NAME VARCHAR2(20)流程名称3.PROC_DESC VARCHAR2(128)Y流程描述4.PROC_VIEW_JSP 5.PROC_ROLE_LISTVARCHAR2(60)6.ISSEPERATECHARHavedonetasks是否分表(1 是,0否),如果分表,则分表表名为havedonetasks+流程号7.

15、OVSD_TEMPLATEVARCHAR2(50对应OVSD的模板(在OVSD配置的模板名称)8.TYPE_TABLEVARCHAR2(30工单类型字段所在的表9.TYPE_COLUMN工单类型字段所在的字段(在IIMP展现中,按照工单类型进行分类展现)3.1.3.2 Activity IACTIVITYID NUMBER(10),节点号IPROCESSID CACTIVITYNAME 节点名称DTIMEALLOWED DATE,IRULEAPPLIED CEXPRERULEFUNC CEXPOSTRULEFUNC IACTIVITYTYPE 节点类型。(1 开始节点,2 普通节点,3 执行单

16、类节点,6 或分支,7 或汇聚,10 结束,11 多实例分支,12 多实例汇聚)IORMERGEFLAG 10.INUMVOTESNEEDED 11.IAUTOEXECUTIVE 12.CACTIVITYDESC 节点描述13.CCLASSNAME VARCHAR2(100自动执行的单类节点(对应节点类型为3)填写:com.sitech.ismp.workflow.logic.CommGetSendDetailLogic14.CVIEWJSP VARCHAR2(128查看jsp(IIMP不需填写)15.CMDFJSP VARCHAR2(60修改jsp(IIMP不需填写)16.DISPATCH_

17、STATUS VARCHAR2(417.IMULACTIVITY 多实例/与 对应的关联节点(比如与分支对应的与汇聚)18.CDISPLAYCLASSNAME展现类(IIMP不需填写)19.FORM_ID VARCHAR2(10关联的表单ID20.ISBEGINACT VARCHAR2(1是否是起始的交互节点。目前这个意义扩大,把它作为初始排序的条件,第一个需展现节点为1,后续的累加配置。21.ORDER_PARAM22.TITLE_PARAM在收缩横条上显示的标题值对应的获取字段23.TIME_PARAM在收缩横条上显示的时间值对应的获取字段24.DEAL_PARAM在收缩横条上显示的处理人

18、值对应的获取字段实体说明:01、通过FORM_ID字段使得节点与表单进行了关联02、3.1.3.3 Ruleting_rule IPREACTIVITYID 前置节点ICURRACTIVITYID当前节点ICOMPLETIONFLAG完成标记(分支条件,或 时有用)CNEXTACTIDLIST 后驱节点CPREDEPENDSET 3.1.3.4 To_do_task_list ITASKID 任务号ICURRACTID ISERIALNO 流水号IENTITYID 上一个节点对应的任务号IPREACTID 上一个节点号ISTAFFID VARCHAR2(20派发人IGRANTORID VARC

19、HAR2(255ITASKSTATUS 任务状态。(1 等待,2 同步,3 处理,4 暂停)IACTIVITYTYPE节点类型DDATECREATED DDATEACCEPTEDDDATEALLOW CTITLE 任务标题IPRETASKID 上一个交互节点对应的任务号EXEC_DBRULE VARCHAR2(200已经执行的DB RULE(用来过滤DB规则的重复执行)(已移至status表,可不用)ISTAFFWGVARCHAR2(40 BYTE)派发工作组ICURRDEALERVARCHAR2(20 BYTE)当前处理人(已移至status表,可不用)IPROCESSID流程号(重要!如果

20、此处没值则新引擎处理时会报错)IDEAL_TYPEVARCHAR2(2 BYTE)判断是否保存,如果保存,则置为1。说明:1. ISTAFFID表示派发的人、ISTAFFWG表示派发的工作组、ICURRDEALER表示这个任务的当前处理人;派发人和派发工作组都只是一个标识,此任务不一定是他们做,当前处理人是真正做此任务的人。工单派发时,不会往ICURRDEALER写值,只有“接受”和“释放”时才会往ICURRDEALER写值3.1.3.5 TO_DO_TASK_STATUS任务号,与TO_DO_TASK_LIST中的任务号对应ICURRDEALER 当前处理人CSHEETTYPE 工单类型UP

21、PERTIME 超时时间(整个工单)(单位:分钟)VARCHAR2(400已执行的DBRULECURRUPPERTIME当前环节超时时间(单位:单独把此表从TO_DO_TASK_LIST中剥离出来,是为了避免频繁地接受、释放工单操作TO_DO_TASK_LIST表,造成锁表。每个任务号在此表中对应一条记录,当流程结束时,会把此流水的所有记录删掉。3.1.3.6 Havedonetasks 当前节点号完成标记DDATEACCEPTED DDATECOMPLETED DATE执行的DB RULE工单超时时间环节超时时间1. 在Process表的isSeperate字段配置了havedonetasks是否存放在分表中(1 是,0否);如果分表,则分表表名为:havedonetasks+流程号3.1.3.7 To_do_task_engine 当前的任务号派发人(下一个任务的接收人)任务状态(1 等待,2 同步,3 处理,4 暂停)IEGSTATUS 完成标记(分支条件)DDATEDEMAND STATUS VARCHAR2(2状态(用来判断

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1