CN102903030A - 异构系统间不同工作流进行任务处理的方法 - Google Patents
异构系统间不同工作流进行任务处理的方法 Download PDFInfo
- Publication number
- CN102903030A CN102903030A CN2012103713938A CN201210371393A CN102903030A CN 102903030 A CN102903030 A CN 102903030A CN 2012103713938 A CN2012103713938 A CN 2012103713938A CN 201210371393 A CN201210371393 A CN 201210371393A CN 102903030 A CN102903030 A CN 102903030A
- Authority
- CN
- China
- Prior art keywords
- task
- framework
- unified
- api
- taskquery
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种异构系统间不同工作流进行任务处理的方法,通过主系统和从系统间预先构建统一任务框架,所述统一任务框架封装任务基本属性,并设置有任务注册API、任务获取API和任务注销API。该方法解决了用户不用在多个系统来回切换登陆的繁琐体验,也解决了了多个异构系统之间的任务统一展现查询统计,并且对任务的业务处理调用原来系统的处理大大降低了整合的难度。
Description
技术领域
本发明属于异构系统数据处理技术领域,具体涉及一种异构系统间不同工作流进行任务处理的方法。
背景技术
现有技术中构架不同的业务系统并且使用的不同的工作流产品,往往需要用户在多个系统之间来回切换去审批任务,对用户来说是很大的不方便,但是异构系统的之间的任务格式不同、处理方式不同、表单不同,导致整合十分困难。
使用iframe内嵌页将其他系统的页面直接嵌入到一个系统中去,这样做的会导致多个系统的任务没有办法统一查询、排序、统计,因为iframe都不是一个系统的页面根本没有办法实现多个系统的任务在一起查询统计。
直接查询两个系统的不同的任务表,如果两个系统数据库不在一起就很难操作,而且这样的查询需要多表进行合并查询性能消耗很大。
现有技术不采用任务统一处理的系统用户需要在多个系统之间不停的切换登陆去处理任务。当采用iframe用来将各个系统任务读取到当前系统中的时候没有办法对所有任务做查询统计。只能是每个系统里操作每个系统的任务。采用读取多个数据库的方式,第一多个系统数据结构不一致导致没有办法做查询,第二就算结构一致也需要对多个表做union操作之后再查询任务,这样做会有巨大的性能消耗。本发明因此而来。
发明内容
本发明目的在于提供一种异构系统间不同工作流进行任务处理的方法,解决了现有技术中异构系统工作流之间数据处理带来巨大的性能消耗等问题。
为了解决现有技术中的这些问题,本发明提供的技术方案是:
一种异构系统间不同工作流进行任务处理的方法,其特征在于所述方法中主系统和从系统间预先构建统一任务框架,所述统一任务框架封装任务基本属性,并设置有任务注册API、任务获取API和任务注销API,所述包括以下步骤:
(1)从系统将工作流中所有任务通过调用注册API向统一任务框架进行注册,并提供相应从系统的任务系统表单URL以及单点登陆信息;(2)主系统向统一任务框架发送任务获取请求,然后通过调用任务获取API从统一任务框架中获取任务列表;(3)统一任务框架将任务列表传输给主系统,当主系统进行任务处理时,主系统通过统一任务框架中任务系统表单URL以及单点登陆信息发送到相应从系统进行逻辑处理;(4)当主系统任务处理完毕时,统一任务框架通过任务注销API进行任务注销。
优选的,所述统一任务框架包括任务数据库,所述任务数据库设置有任务表和任务操作人表。
本发明能够解决多个异构系统之间的业务流程任务,集成到统一个系统中做统一处理。本发明采用一套统一的任务框架体系,封装了各种任务上的基本属性,其他异构系统可以将自己系统生成的任务通过统一任务框架提供的API(java代码、webservice、tcp)注册到统一任务框架中,这样我们在一个系统上部署统一任务框架,就可以通过框架提供的查询统计功能对多个系统的任务进行统一的处理,用户可以不用切换多个系统在一个系统中处理多所有任务,还解决了现在方案中多系统任务不能统一查询,以及操作多个数据库技术上的难度和性能消耗的问题。
对于任务的处理,框架在任务注册的时候需要任务系统表单URL以及单点登陆信息,这样框架里查询出的任务在点击的时候可以进去原来系统的处理页面完成任务的处理。同时告知任务框架任务处理完毕。这样也解决了多个不同系统任务处理方式不一样导致的整合难度。
相对于现有技术中的方案,本发明的优点是:
本发明解决了用户不用在多个系统来回切换登陆的繁琐体验,也解决了了多个异构系统之间的任务统一展现查询统计,并且对任务的业务处理调用原来系统的处理大大降低了整合的难度。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为服务器控制浏览器界面数据刷新的系统的架构图。
具体实施方式
以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。
实施例
本实施例的统一任务框架封装提供了任务的注册口和获取口,其他异构系统通过API层将任务注册到统一任务框架中,然后通过统一任务框架对任务做出查询和统计,打开任务的处理还是调用各个系统的表单去自己处理逻辑,在表单处理完成之后再次调用统一任务处理框架的API注销任务。
具体流程:
如图1所示,甲系统生成了任务task 1、2、3,乙系统生成了任务task4、5、6,其中以甲系统为例,甲系统启动一个流程,并在甲系统产生一个流程任务task1。甲系统调用统一任务框架,将产生的task1,转换成统一任务框架提供的任务模板。
统一任务框架的任务分为任务信息和候选人信息(任务操作人的信息),转换task1的信息成为统一任务。甲系统调用统一任务框架的webservice接口将转换过的任务数据传送给统一任务框架。统一任务框架将接收过来的任务存储进任务表和候选人表中。表的结构见下面的介绍。
统一任务展现层读取出任务数据展现到UI层。用户访问统一任务框架中心,点击查看任务,弹出嵌入的原系统的处理表单完成任务的处理。甲系统在完成任务之后继续调用统一任务框架注销任务。
统一任务框架数据库结构:
1、任务表字段:
"IDBASE"."FIXFLOW_RUN_TAKSINSTANECE"IS'运行时任务实例';"FIXFLOW_RUN_TAKSINSTANECE"."TASKINSTANCE_ID"IS'任务实例编号';
"FIXFLOW_RUN_TAKSINSTANECE"."PROCESSINSTANCE_ID"IS'流程实例编号';
"FIXFLOW_RUN_TAKSINS TANECE"."PROCESSDEFINI TION_ID"IS'流程定义编号';"FIXFLOW_RUN_TAKSINSTANECE"."VERSION"IS'流程定义版本号';"FIXFLOW_RUN_TAKSINSTANECE"."TOKEN_ID"IS'令牌编号';
"FIXFLOW_RUN_TAKSINSTANECE"."NODE_ID"IS'节点编号';
"FIXFLOW_RUN_TAKSINSTANECE"."DESCRIPTION"IS'任务主题';"FIXFLOW_RUN_TAKSINSTANECE"."PARENTTASK_ID"IS'父任务编号,不为空说明是会签(多实例)任务';
"FIXFLOW_RUN_TAKSINSTANECE"."ASSIGNEE"IS'任务代理人';"FIXFLOW_RUN_TAKSINSTANECE"."CLAIM_TIME"IS'领取时间';
"FIXFLOW_RUN_TAKSINSTANECE"."NAME"IS'任务名称FlowNode的name属性';
"FIXFLOW_RUN_TAKSINSTANECE"."CREATE_TIME"IS'任务到达(创建)时间';
"FIXFLOW_RUN_TAKSINSTANECE"."START_TIME"IS'开始时间';
"FIXFLOW_RUN_TAKSINSTANECE"."ISBLOCKING"IS'是否阻塞';
"FIXFLOW_RUN_TAKSINSTANECE"."END_TIME"IS'结束时间';
"FIXFLOW_RUN_TAKSINSTANECE"."DUEDATE"IS'处理期限';
"FIXFLOW_RUN_TAKSINSTANECE"."PRIORITY"IS'优先级别';
"FIXFLOW_RUN_TAKSINSTANECE"."CATEGORY"IS'任务分类(最终用户决定分类的意义)';
"FIXFLOW_RUN_TAKSINSTANECE"."OWNER"IS'任务所有者';
"FIXFLOW_RUN_TAKSINSTANECE"."DELEGATIONSTATESTRING"IS'任务代理状态';
"FIXFLOW_RUN_TAKSINSTANECE"."BIZKEY"IS'业务关联键值';
"FIXFLOW_RUN_TAKSINSTANECE"."COMMAND_TYPE"IS'处理命令类型';
"FIXFLOW_RUN_TAKSINSTANECE"."COMMAND_MESSAGE"IS'处理命令内容';
"FIXFLOW_RUN_TAKSINSTANECE"."TASK_COMMENT"IS'任务意见';
"FIXFLOW_RUN_TAKSINSTANECE"."NODE_NAME"IS'节点名称';
"FIXFLOW_RUN_TAKSINSTANECE"."PROCESSDEFINITION_KEY"IS'流程定义Key';
"FIXFLOW_RUN_TAKSINSTANECE"."FORMURI"IS'表单地址';
"FIXFLOW_RUN_TAKSINSTANECE"."TASKGROUP"IS'会签任务组编号';
"FIXFLOW_RUN_TAKSINSTANECE"."TASKTYPE"IS'任务类型';
"FIXFLOW_RUN_TAKSINSTANECE"."PROCESSDEFINITION_NAME"IS'流程名称';
"FIXFLOW_RUN_TAKSINSTANECE"."ISCANCELLED"IS'是否取消';
"FIXFLOW_RUN_TAKSINSTANECE"."ISSUSPENDED"IS'是否暂停';
"FIXFLOW_RUN_TAKSINSTANECE"."ISOPEN"IS'是否打开';
"FIXFLOW_RUN_TAKSINSTANECE"."ISDRAFT"IS'是否为草稿';
"FIXFLOW_RUN_TAKSINSTANECE"."EXPECTED_EXECUTIONTIME"IS'预计执行时间';
2、任务候选表字段包括:
"ID"VARCHAR2(64BYTE),
"TYPE"VARCHAR2(64BYTE),
"USER_ID"VARCHAR2(64BYTE),
"GROUP_ID"VARCHAR2(64BYTE),
"GROUP_TYPE"VARCHAR2(64BYTE),
"TASKINSTANCE_ID"VARCHAR2(64BYTE),
"INCLUDE_EXCLUSION"VARCHAR2(64BYTE)
"FIXFLOW_RUN_TASKIDENTITYLINK"."ID"IS'唯一编号';
"FIXFLOW_RUN_TASKIDENTITYLINK"."TYPE"IS'分配类型';
"FIXFLOW_RUN_TASKIDENTITYLINK"."USER_ID"IS'用户编号';
"FIXFLOW_RUN_TASKIDENTITYLINK"."GROUP_ID"IS'组编号';
"FIXFLOW_RUN_TASKIDENTITYLINK"."GROUP_TYPE"IS'组的类型(1.部门2.角色3.职务......)';
"FIXFLOW_RUN_TASKIDENTITYLINK"."TASKINSTANCE_ID"IS'关联任务编号';
"FIXFLOW_RUN_TASKIDENTITYLINK"."INCLUDE_EXCLUSION"IS'排除包含';
本发明采用统一任务框架,任务采用通用结构形成任务模板,所有的任务经处理成任务模板后注册到任务数据库中。本发明采用通过多种技术注册任务,能够让任务开打的时候继续在原来的系统中处理不需要登陆。本发明解决了可以在一个系统中查询统计的问题,还解决多数据库表联合查询的效率和难度问题。
以下具体说明统一任务框架中任务注册模块、任务获取模块、任务注销模块和任务数据库的实现过程。
以下为任务注册、删除、更新、设置处理者、查询的方法示例代码:
查询任务的时候有以下组合可以使用:
TaskQuery taskIsEnd();
TaskQuery category(String category);
TaskQuery taskNotEnd();
TaskQuery initiator(String initiator);
TaskQuery initiatorLike(String initiator);
TaskQuery taskId(String taskId);
TaskQuery taskName(String name);
TaskQuery businessKey(String business Key);
TaskQuery addTaskType(TaskInstance Type taskInstance Type);
TaskQuery taskNameLike(String nameLike);
TaskQuery taskDescription(String description);
TaskQuery taskDescriptionLike(String descriptionLike);
TaskQuery taskPriority(Integer priority);
TaskQuery taskMinPriority(Integer minPriority);
TaskQuery taskMaxPriority(Integer maxPriority);
TaskQuery taskAssignee(String assignee);
TaskQuery taskOwner(String owner);
TaskQuery taskUnnassigned();
TaskQuery taskC andidateUser(String candidate User);
TaskQuery taskInvolvedUser(String involved User);
TaskQuery taskCandidateGroup(Group To candidate Group);
TaskQuery processInstanceId(String processInstanceId);
TaskQuery executionId(String executionId);
TaskQuery taskC reatedOn(Date create Time);
TaskQuery taskCreatedBefore(Date before);
TaskQuery taskCreatedAfter(Date after);
TaskQuery taskDefinitionKey(String key);
TaskQuery taskDefinitionKeyLike(String keyLike);
TaskQuery processDefinitionKey(String process Definition Key);
TaskQuery processDefinitionId(String process DefinitionId);
TaskQuery process Definition Name(String process Definition Name);
TaskQuery dueDate(Date due Date);
TaskQuery dueBefore(Date due Date);
TaskQuery dueAfter(Date due Date);
TaskQuery assignee NotNull();
TaskQuery candidate NotNull();
//排序
TaskQuery orderBy TaskId();
TaskQuery orderBy TaskName();
TaskQuery orderBy TaskDescription();
TaskQuery orderBy TaskPriority();
TaskQuery orderBy TaskAssignee();
TaskQuery orderBy TaskCreateTime();
TaskQuery orderBy ProcessInstanceId();
TaskQuery orderBy ExecutionId();
TaskQuery orderBy DueDate();
TaskQuery orderBy EndTime();
查询组合好之后可以流程引擎根据所设置的查询参数拼接成sql语句到数据库进行查询。从系统通过向主系统中注册任务、删除任务、更新任务、设置处理者。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
Claims (2)
1.一种异构系统间不同工作流进行任务处理的方法,其特征在于所述方法中主系统和从系统间预先构建统一任务框架,所述统一任务框架封装任务基本属性,并设置有任务注册API、任务获取API和任务注销API,所述包括以下步骤:
(1)从系统将工作流中所有任务通过调用注册API向统一任务框架进行注册,并提供相应从系统的任务系统表单URL以及单点登陆信息;(2)主系统向统一任务框架发送任务获取请求,然后通过调用任务获取API从统一任务框架中获取任务列表;(3)统一任务框架将任务列表传输给主系统,当主系统进行任务处理时,主系统通过统一任务框架中任务系统表单URL以及单点登陆信息发送到相应从系统进行逻辑处理;(4)当主系统任务处理完毕时,统一任务框架通过任务注销API进行任务注销。
2.根据权利要求1所述的方法,其特征在于所述统一任务框架包括任务注册模块、任务获取模块、任务注销模块和任务数据库,所述任务数据库设置有任务表和任务操作人表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210371393.8A CN102903030B (zh) | 2012-09-28 | 2012-09-28 | 异构系统间不同工作流进行任务处理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210371393.8A CN102903030B (zh) | 2012-09-28 | 2012-09-28 | 异构系统间不同工作流进行任务处理的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102903030A true CN102903030A (zh) | 2013-01-30 |
CN102903030B CN102903030B (zh) | 2016-10-12 |
Family
ID=47575248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210371393.8A Active CN102903030B (zh) | 2012-09-28 | 2012-09-28 | 异构系统间不同工作流进行任务处理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102903030B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770610A (zh) * | 2008-12-31 | 2010-07-07 | 北京华电方胜软件技术有限公司 | 用以与不同目标工作流系统进行匹配的方法 |
CN101821709A (zh) * | 2007-09-11 | 2010-09-01 | 西安姆贝拉有限公司 | 用于工作流生成、调度和/或执行的系统、方法和图形用户界面 |
CN102193823A (zh) * | 2010-03-12 | 2011-09-21 | 微软公司 | 允许元编程的最优增量工作流执行 |
CN102236578A (zh) * | 2010-05-07 | 2011-11-09 | 微软公司 | 分布式工作流执行 |
-
2012
- 2012-09-28 CN CN201210371393.8A patent/CN102903030B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101821709A (zh) * | 2007-09-11 | 2010-09-01 | 西安姆贝拉有限公司 | 用于工作流生成、调度和/或执行的系统、方法和图形用户界面 |
CN101770610A (zh) * | 2008-12-31 | 2010-07-07 | 北京华电方胜软件技术有限公司 | 用以与不同目标工作流系统进行匹配的方法 |
CN102193823A (zh) * | 2010-03-12 | 2011-09-21 | 微软公司 | 允许元编程的最优增量工作流执行 |
CN102236578A (zh) * | 2010-05-07 | 2011-11-09 | 微软公司 | 分布式工作流执行 |
Non-Patent Citations (1)
Title |
---|
梁玲: "基于Web Service的面向服务的工作流管理系统研究与实现", 《万方学位论文数据库》, 21 September 2007 (2007-09-21), pages 33 - 41 * |
Also Published As
Publication number | Publication date |
---|---|
CN102903030B (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180075374A1 (en) | Workflow sharing | |
CN109886656B (zh) | 一种支持多系统的工作流引擎系统 | |
CN101102565B (zh) | 一种通信终端中用户数据的处理方法、装置及设备 | |
CN104216912A (zh) | 一种无侵入式的业务表单工作流化的实现方法与装置 | |
CA2446809A1 (en) | General and reusable components for defining net-centric application program architectures | |
CN108280150A (zh) | 一种分布式异步业务分发方法及系统 | |
CN109377186A (zh) | 一种流程管理装置及方法 | |
CN101673358B (zh) | 基于权限组件对工作流组件中的权限管理的方法及装置 | |
US20070061304A1 (en) | Middleware and a method for implementing business logic using it | |
CN102981823A (zh) | 一种领域驱动开发插件系统 | |
CN106843871B (zh) | 一种领域模型框架的设计系统及设计方法 | |
CN103399735A (zh) | 远程函数调用接口中间层开发方法 | |
CN104504010B (zh) | 一种多对多的数据采集系统及其采集方法 | |
CN105117555A (zh) | 核电三维设计模型在线浏览系统 | |
CN1662011A (zh) | 使用元数据定义映射来构建组件应用程序的系统和方法 | |
CN116523479A (zh) | 数字化作品协同创作方法、任务发布方法及装置 | |
CN114756226B (zh) | 一种应用与数据服务分离架构的分布式工业软件构建方法 | |
CN115658658A (zh) | 一种企业数据中台基于批处理的数据共享方法、装置及存储介质 | |
CN108154341A (zh) | 基于数据流和工作流的统一调度平台及工作方法 | |
CN111381811A (zh) | 一种适应于多类信息系统集成的软件资源整合平台 | |
CN111709696B (zh) | 一种基于soa架构的寄件清单生成方法及装置 | |
CN102447620A (zh) | 一种关联型数据库实时交换管理方法、装置以及系统 | |
US7684349B2 (en) | Method and system for transparently controlling the behavior of service methods in a service oriented architecture | |
CN101458628A (zh) | 一种程序版本管理方法 | |
CN102903030A (zh) | 异构系统间不同工作流进行任务处理的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |