CN105204919A - 流程虚拟机 - Google Patents
流程虚拟机 Download PDFInfo
- Publication number
- CN105204919A CN105204919A CN201510609187.XA CN201510609187A CN105204919A CN 105204919 A CN105204919 A CN 105204919A CN 201510609187 A CN201510609187 A CN 201510609187A CN 105204919 A CN105204919 A CN 105204919A
- Authority
- CN
- China
- Prior art keywords
- flow
- language
- virtual machine
- flow process
- data model
- 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
Landscapes
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明提供一种流程虚拟机,包括:样式表语言池,其用于存储标准流程元素与各流程语言中的流程元素的映射关系;解析器,其根据所述样式表语言池中保存的映射关系,解析所输入的各流程语言的XML文件中的XML元素,生成BPMN数据模型;和生成器,其通过所述BPMN数据模型生成目标流程引擎兼容的流程文件,将生成的所述流程文件,发布到所接入的所述目标流程引擎中。
Description
技术领域
本发明涉及一种流程虚拟机,尤其涉及一种可自定义流程语言的流程虚拟机。
背景技术
随着业务的快速发展,各部门的业务流程需要接入流程平台统一管理,以此来降低运营维护成本,但是很多部门的流程采用不同的流程定义语言,无法直接接入,需要解析后再发布到流程引擎中,在迁移上造成很多困难,如果提供一种虚拟机可以解析并生成不同的语言,同时流程引擎可以执行这些语言所定义的商业流程,则是被期望的。就这点来说,流程虚拟机是非常灵活的,它可以满足不同企业在不同流程上的管理需求。
现有技术中存在JBPM(JavaBusinessProcessManagement,业务流程管理)4.0,作为现有技术的技术方案,存在将JPDL(JBossjBPMProcessDefinitionLanguage)转换为BPMN(BusinessProcessModelingNotation,业务流程建模与标注)2.0。其中,JPDL是构建于JBPM框架上的流程语言之一。BPMN2.0是业务流程建模标注的规范之一,是大多开源流程引擎的流程元素定义标准,如Activiti、JBPM5。
但是现有技术仅支持JBPM4.0以前版本的JPDL流程语言。
发明内容
鉴于上述情况提出了本发明。本发明的目的在于提供一种流程虚拟机,能够减小业务流程到流程平台的迁移难度,此外能够实现对业务流程的集中管理。
为了实现上述目的,根据本发明,提出了一种流程虚拟机,包括:样式表语言池,其用于存储标准流程元素与各流程语言中的流程元素的映射关系;解析器,其根据所述样式表语言池中保存的映射关系,解析所输入的各流程语言的XML文件中的XML元素,生成BPMN数据模型;和生成器,其通过所述BPMN数据模型生成目标流程引擎兼容的流程文件,将生成的所述流程文件,发布到所接入的所述目标流程引擎中。
此外,根据所述流程虚拟机,其中,所述样式表语言池包括:各流程元素存储区,其用于存储各流程语言中的节点元素信息;标准流程元素存储区,其用于存储标准流程节点的元素信息;和对应关系区,其用于存储所述各流程元素存储区中存储的节点元素信息与所述标准流程元素存储区中存储的元素信息之间的对应关系。
此外,根据所述流程虚拟机,其中,所述解析器通过java解析所输入的各流程语言的XML文件,解析内容包括流程元素和流程事件,所述解析器通过所述样式表语言池,取得与所述解析内容对应的标准流程元素,从而生成所述BPMN数据模型。
此外,根据所述流程虚拟机,其中,所述BPMN数据模型包括任务元素、事件元素、网关元素、坐标信息。
此外,根据所述流程虚拟机,其中,所述生成器管理各流程语言的velocity流程模板,并且利用所述BPMN数据模型,将各元素注入到目标的velocity流程模板,生成目标流程引擎兼容的流程文件。
根据本发明,相比于现有技术,能够将各种流程语言转换成兼容其他流程引擎的流程语言,能够使不同流程引擎的流程语言相互转换,有效避免业务流程迁移到其他流程引擎时,带来的二次开发。进而能够实现业务流程平台化管理,做到一次业务流程开发,兼容各种流程引擎的目的。
附图说明
通过参考以下组合附图对所采用的优选实施方式的详细描述,本发明的上述目的、优点和特征将变得更显而易见,其中:
图1是表示本发明的基本架构设计的图。
图2是表示一个实施方式的样式表语言池的图。
图3是表示一个实施方式的数据流转的图。
图4是表示一个实施方式的数据流转的图。
具体实施方式
下面,参照附图来对本发明进行详细说明。
图1是表示本发明的基本架构设计的图。如图1所示,将流程设计器生成的各种流程语言的XML(可扩展标记语言)的XML文件输入到流程虚拟机。流程虚拟机构成为包括样式表语言池、解析器和生成器。样式表语言池,用于存放所有标准流程元素与自定义流程语言中的流程元素的映射关系。其中,流程元素是用XML语言格式定义的。解析器用于根据样式表语言池中保存的映射关系,解析各种流程语言中的XML元素,生成BPMN(BusinessProcessModelingNotation,业务流程建模与标注)数据模型。生成器用于通过BPMN数据模型生成目标流程引擎兼容的流程文件。对于由BPMN数据模型生成目标流程引擎兼容的流程文件,只需要反向解析就可以,解析的技术可以使用现有技术。
流程虚拟机将所生成的流程文件发布到各种接入的流程引擎中。
下面,参照图2-图4来对本发明的流程虚拟机进行详细说明。图2是表示一个实施方式的样式表语言池的图。图3是表示一个实施方式的数据流转的图。图4是表示一个实施方式的数据流转的图。
样式表语言池包括各流程元素存储区、BPMN标准流程元素存储区、以及各流程样式元素与BPMN标准流程元素对应关系区。各流程元素存储区,用于存储各流程语言XML中的节点元素信息。BPMN标准流程元素存储区用于存储标准流程节点的元素信息。各流程样式元素与BPMN标准流程元素对应关系区用于存储前两者之间的对应关系。例如,各流程语言XML的任务节点元素名字为taskNode,而BPMN标准流程元素中的任务节点元素名字为userTask,那么在此区域存储的对应关系为taskNode——〉userTask。
解析器解析各流程语言的XML文件,具体而言,通过java(可跨平台应用软件的面向对象的程序设计语言)解析所输入的各流程语言的XML文件,解析的内容包括流程元素和流程事件。通过样式表语言池,取得解析内容所对应的BPMN元素,生成BPMN的数据模型。BPMN数据模型包括任务元素、事件元素、网关元素、坐标信息四部分组成。
生成器,管理各流程语言的velocity流程模板。利用所生成的BPMN数据模型,将其中各元素注入到目标的velocity流程模板,生成目标流程引擎兼容的流程文件。
根据本发明,能够减小业务流程到流程平台的迁移难度。此外,能够对业务流程进行集中管理。
以上,针对多种流程语言设计了解析方式,此外,还可以针对某一种流程语言设计解析方式。
尽管以上已经结合本发明的优选实施例示出了本发明,但是本领域的技术人员将会理解,在不脱离本发明的精神和范围的情况下,可以对本发明进行各种修改、替换和改变。因此,本发明不应由上述实施例来限定,而应由所附权利要求及其等价物来限定。
Claims (5)
1.一种流程虚拟机,包括:
样式表语言池,其用于存储标准流程元素与各流程语言中的流程元素的映射关系;
解析器,其根据所述样式表语言池中保存的映射关系,解析所输入的各流程语言的XML文件中的XML元素,生成BPMN数据模型;和
生成器,其通过所述BPMN数据模型生成目标流程引擎兼容的流程文件,
将生成的所述流程文件,发布到所接入的所述目标流程引擎中。
2.根据权利要求1所述的流程虚拟机,其中,
所述样式表语言池包括:
各流程元素存储区,其用于存储各流程语言中的节点元素信息;
标准流程元素存储区,其用于存储标准流程节点的元素信息;和
对应关系区,其用于存储所述各流程元素存储区中存储的节点元素信息与所述标准流程元素存储区中存储的元素信息之间的对应关系。
3.根据权利要求1所述的流程虚拟机,其中,
所述解析器通过java解析所输入的各流程语言的XML文件,解析内容包括流程元素和流程事件,
所述解析器通过所述样式表语言池,取得与所述解析内容对应的标准流程元素,从而生成所述BPMN数据模型。
4.根据权利要求3所述的流程虚拟机,其中,
所述BPMN数据模型包括任务元素、事件元素、网关元素、坐标信息。
5.根据权利要求1所述的流程虚拟机,其中,
所述生成器管理各流程语言的velocity流程模板,并且利用所述BPMN数据模型,将各元素注入到目标的velocity流程模板,生成目标流程引擎兼容的流程文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510609187.XA CN105204919B (zh) | 2015-09-22 | 2015-09-22 | 流程虚拟机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510609187.XA CN105204919B (zh) | 2015-09-22 | 2015-09-22 | 流程虚拟机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105204919A true CN105204919A (zh) | 2015-12-30 |
CN105204919B CN105204919B (zh) | 2018-05-25 |
Family
ID=54952619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510609187.XA Active CN105204919B (zh) | 2015-09-22 | 2015-09-22 | 流程虚拟机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105204919B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112230933A (zh) * | 2020-09-16 | 2021-01-15 | 贝壳技术有限公司 | 流程引擎自动转换方法、装置、电子介质及存储介质 |
CN113918637A (zh) * | 2021-10-22 | 2022-01-11 | 重庆新致金服信息技术有限公司 | 一种基于bpmn2.0规范的流程引擎平台创建方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090265684A1 (en) * | 2008-04-18 | 2009-10-22 | Ids Scheer Aktiengesellschaft | Systems and methods for graphically developing rules for transforming models between description notations |
CN101739619A (zh) * | 2010-01-04 | 2010-06-16 | 北京航空航天大学 | 一种业务流程创建方法及装置 |
CN102520953A (zh) * | 2011-12-15 | 2012-06-27 | 北京航空航天大学 | 基于bpmn的页面生成方法和装置 |
CN102542406A (zh) * | 2011-12-15 | 2012-07-04 | 北京航空航天大学 | 跨粒度业务流程查询方法和设备 |
US8307373B2 (en) * | 2009-09-09 | 2012-11-06 | Sap Ag | Integrating enterprise repository events into business process model and notation processes |
CN202646236U (zh) * | 2012-04-25 | 2013-01-02 | 江苏华恩机械科技有限公司 | 一种超高压气动液压站 |
-
2015
- 2015-09-22 CN CN201510609187.XA patent/CN105204919B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090265684A1 (en) * | 2008-04-18 | 2009-10-22 | Ids Scheer Aktiengesellschaft | Systems and methods for graphically developing rules for transforming models between description notations |
US8307373B2 (en) * | 2009-09-09 | 2012-11-06 | Sap Ag | Integrating enterprise repository events into business process model and notation processes |
CN101739619A (zh) * | 2010-01-04 | 2010-06-16 | 北京航空航天大学 | 一种业务流程创建方法及装置 |
CN102520953A (zh) * | 2011-12-15 | 2012-06-27 | 北京航空航天大学 | 基于bpmn的页面生成方法和装置 |
CN102542406A (zh) * | 2011-12-15 | 2012-07-04 | 北京航空航天大学 | 跨粒度业务流程查询方法和设备 |
CN202646236U (zh) * | 2012-04-25 | 2013-01-02 | 江苏华恩机械科技有限公司 | 一种超高压气动液压站 |
Non-Patent Citations (9)
Title |
---|
TOM BAEYENS 、MIGUEL VALDES FAURA: "The Process Virtual Machine", 《HTTP://DOCS.JBOSS.COM/JBPM/PVM/ARTICLE/》 * |
何静媛: "【升级篇】JBPM4.4过渡到Activiti", 《HTTP://BLOG.CSDN.NET/HEJINGYUAN6/ARTICLE/DETAILS/43701603》 * |
刘小刚: "改进的jBPM工作流系统的应用研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
方若洁: "基于BPMN/BPEL的全过程建模工具的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
李强: "基于BPMN引擎的应用系统开发方法的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
荣浩: "jBPM4的流程虚拟机", 《程序员》 * |
荣浩: "纵观jBPM:从jBPM3到jBPM5以及Activiti5", 《HTTP://WWW.INFOQ.COM/CN/ARTICLES/RH-JBPM5-ACTIVITI5》 * |
马健: "基于连续语义的业务流程模型的转化", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
黄晓哲: "JBPM与Java EE集成中关键问题的研究与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112230933A (zh) * | 2020-09-16 | 2021-01-15 | 贝壳技术有限公司 | 流程引擎自动转换方法、装置、电子介质及存储介质 |
CN113918637A (zh) * | 2021-10-22 | 2022-01-11 | 重庆新致金服信息技术有限公司 | 一种基于bpmn2.0规范的流程引擎平台创建方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105204919B (zh) | 2018-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sevilla Ruiz et al. | Inferring versioned schemas from NoSQL databases and its applications | |
CN104866426B (zh) | 软件测试综合控制方法及系统 | |
CN104360859B (zh) | 一种可视化的服务开发方法和系统 | |
CN107402992A (zh) | 一种分布式NewSQL数据库系统和全文检索建立方法 | |
CN104035754A (zh) | 一种基于xml的自定义代码生成方法及生成器 | |
CN101901265B (zh) | 一种虚拟试验数据对象化管理系统 | |
CN102541521B (zh) | 基于结构化查询语言的操作指令自动生成装置及方法 | |
CN102609255B (zh) | 一种Spring IOC配置文件的生成方法 | |
CN106293664A (zh) | 代码生成方法及装置 | |
CN105335412A (zh) | 用于数据转换、数据迁移的方法和装置 | |
CN106547681B (zh) | 数据自动加载并复用模拟服务测试的方法和装置 | |
CN103473108A (zh) | 一种Java代码生成方法 | |
CN104662514A (zh) | 基于模型关联关系的遗产软件系统的现代化 | |
CN102236544B (zh) | 一种皮肤设计方法及装置 | |
CN106648587A (zh) | 一种基于注解的Web应用代码生成方法 | |
CN110489401B (zh) | 一种数据库对象的部署方法及装置 | |
CN106372044A (zh) | 一种基于报表生成类型化维度xbrl报告的方法 | |
CN103914290A (zh) | 一种操作命令处理方法及装置 | |
CN103049251A (zh) | 一种数据库持久层装置及数据库操作方法 | |
CN106779594A (zh) | 一种基于Activiti的工作流管理方法 | |
CN103116500A (zh) | 一种结构体定义和结构输出的方法及装置 | |
CN108664657A (zh) | 一种大数据任务调度方法、电子设备、存储介质及平台 | |
CN103425692A (zh) | 数据导出方法和装置 | |
US9244706B2 (en) | Command line shell command generation based on schema | |
CN105204919A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |