CN107122171A - 自动生成业务流程中数据操作的方法及系统 - Google Patents
自动生成业务流程中数据操作的方法及系统 Download PDFInfo
- Publication number
- CN107122171A CN107122171A CN201710178713.0A CN201710178713A CN107122171A CN 107122171 A CN107122171 A CN 107122171A CN 201710178713 A CN201710178713 A CN 201710178713A CN 107122171 A CN107122171 A CN 107122171A
- Authority
- CN
- China
- Prior art keywords
- data
- model
- operation flow
- binding
- database
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/22—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Abstract
本发明提供自动生成业务流程中数据操作的方法及系统,包括:构建数据模型;生成所述数据模型中的数据与数据库中的字段之间的映射关系;生成对所述数据模型中的数据进行操作的数据操作接口;构建业务流程中的人工任务节点与所述数据模型中的数据之间的绑定模型;根据所述映射关系和所述绑定模型,调用所述数据操作接口,生成数据操作方法。本发明通过构建数据模型和绑定模型,以及生成映射关系,实现了业务流程与数据库的关联,同时,自动生成业务流程中数据操作的方法。当需求有变动,只需要重构所述数据模型、映射关系和绑定模型,具有良好的通用性和扩展性。
Description
技术领域
本发明涉系统开发领域,更具体地,涉及自动生成业务流程中数据操作的方法及系统。
背景技术
随着信息技术的飞速发展,科技化的持续深入,业务流程的概念在办公自动化系统的研究与使用中逐渐被提出。所谓业务流程,即一些任务组成的序列以及每一个任务的执行过程。通过完成这些任务,可以实现特定的业务目标。
传统的业务流程模型,是通过活动节点间的协作来描述业务的信息结构以及业务目标的实现。它强调的是活动的执行顺序,以及每个活动中需要执行什么操作。然而在开发业务流程系统的过程中,由于每个业务流程节点与底层数据都是紧密结合的,所以在业务流程的改动过程中,往往需要开发人员重新熟悉之前的工作过程,并且自下而上对相关的数据库和业务流程结构进行修改,使得开发人员的学习成本大大增加。而且,在工作流系统开发过程中,需要编写大量语法类似的操作数据代码,开发人员的工作效率较低。
2003年,IBM的Nigam和Caswell提出了一种名为Artifact的概念,并说明了以Artifact为中心的思想在业务表示方面的灵活性,以及在业务变更分析方面和系统实现方面的优势。Artifact将业务数据放在首要位置,同时它也弥补了不同业务操作之间在合并时不匹配的缺点。但是,以Artifact为中心的业务管理系统忽略了对活动的关注,使得整个业务过程没有清晰的次序。此外,目前尚且没有现成的运行Artifact的流程引擎,仅仅以结构为中心或以数据为中心都不可能很好地满足业务系统设计、研发和运行的需要。
在程序编写方面,早在1996年,Shepelev就提出了一种基于任务模式呈现的图理论的业务流程生成方法。但是代码生成器仍然有很多不完善的地方,其中一个重要的问题就是:目前的代码生成器只考虑了代码的初次生成,也就是根据最初需求确定所需的代码。而业务系统在开发周期中,需求一定会发生变更。为了适应需求的变化,当我们对数据库结构做改动时,对应的后台代码一定也会有相应的改变。这样,不可避免地需要手动修改大量的后台代码。代码编写需要巨大的时间开销,使得项目完成进度很难及时跟上业务需求的变化,从而难以及时满足用户对产品体验的需求。
综上,业务流程系统设计过程中,相似编码的比例大,程序可复用程度较低,适应业务变化能力较弱,开发人员对已有系统学习过程漫长等缺点。
发明内容
为解决业务流程系统设计过程中,程序可复用程度低,适应变化能力弱的问题,本发明提供了自动生成业务流程中数据操作的方法及系统。
根据本发明的一个方面,提供了一种自动生成业务流程中数据操作的方法,包括:
构建数据模型;
生成所述数据模型中的数据与数据库中的字段之间的映射关系;
生成对所述数据模型中的数据进行操作的数据操作接口;
构建业务流程中的人工任务节点与所述数据模型中的数据之间的绑定模型;
根据所述映射关系和绑定模型,调用所述数据操作接口,生成数据操作方法。
具体地,还包括:
根据所述数据操作方法和所述绑定模型生成表单。
具体地,还包括:
将所述数据模型中的实体抽象为类。
具体地,所述生成所述数据模型中的数据与数据库中的字段之间的映射关系,包括:
与所述数据库建立连接;
获取所述数据库中的字段;
根据用户选择的所述数据模型中的数据和所述数据库中的字段,生成所述数据模型中的数据与所述数据库中的字段之间的映射关系。
具体地,所述构建业务流程中的人工任务节点与所述数据模型中的数据之间的绑定模型,包括:
根据用户选择的所述业务流程中的人工任务节点和所述数据模型中的数据,生成所述业务流程中的人工任务节点与所述数据模型中的数据之间的绑定关系。
具体地,所述绑定模型包括:用户选择的数据操作方式,以及所述业务流程中的人工任务节点与所述数据模型中的数据之间的绑定关系。
具体地,所述根据所述映射关系和绑定模型,调用数据操作接口,包括:
获取所述数据操作方式在所述绑定模型中对应的数据模型;
判断所述数据操作方式涉及的数据模型中的数据与所述对应的数据模型中的数据是否属于同一个实体;
如果所述涉及的数据模型中的数据与所述对应的数据模型中的数据属于同一个实体,则调用所述实体的数据操作接口;
如果所述涉及的数据模型中的数据与所述对应的数据模型中的数据不属于同一个实体,则在所述涉及的数据模型中的数据所属的实体中获取数据,并将所获取的数据作为参数传递给所述对应的数据模型中的数据所属的实体的数据操作接口。
根据本发明的另一方面,提供了一种自动生成业务流程中数据操作的系统,包括
构建模块,用于构建数据模型;
映射模块,用于生成所述数据模型中的数据与数据库中的字段之间的映射关系;
接口模块,用于生成对所述数据模型中的数据进行操作的数据操作接口;
绑定模块,用于构建业务流程中的人工任务节点与所述数据模型中的数据之间的绑定模型;
调用模块,用于根据所述映射关系和所述绑定模型,调用所述数据操作接口,生成数据操作方法。
具体地,还包括:
生成模块,用于根据所述数据操作方法和所述绑定模型生成表单。
具体地,所述映射模块包括:
连接子模块,用于与所述数据库建立连接;
获取子模块,用于获取所述数据库中的字段;
映射子模块,用于根据用户选择的所述数据模型中的数据和所述数据库中的字段,生成所述数据模型中的数据与所述数据库中的字段之间的映射关系。
本发明提供的自动生成业务流程中数据操作的方法及系统,使用数据模型表达逻辑,通过构建数据模型和绑定模型,以及生产映射关系,实现了业务流程与数据库的关联。同时,根据映射关系和绑定模型自动生成满足需求的业务流程中数据操作的方法。当需求有变动时,只需要重构数据模型、映射关系和绑定模型,具有良好的通用性和扩展性。
附图说明
图1为本发明实施例提供的自动生成业务流程中数据操作的方法流程图;
图2为数据模型结构图;
图3为映射关系示意图;
图4为根据映射关系对数据进行操作的流程图;
图5为jBPM流程定义文件示意图;
图6为绑定关系示意图;
图7自动生成的表单页面的数据展示图;
图8为数据模型对应的类示意图;
图9为本发明实施例提供的自动生成业务流程中数据操作的系统结构图;
图10为本发明又一实施例提供的自动生成业务流程中数据操作的系统结构图;
图11为各模块间的关系示意图;
图12为本发明又一实施例提供的自动生成业务流程中数据操作的系统结构图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1为本发明实施例提供的自动生成业务流程中数据操作的方法流程图,如图1所示,包括:S1,构建数据模型;S2,生成所述数据模型中的数据与数据库中的字段之间的映射关系;S3,生成对所述数据模型中的数据进行操作的数据操作接口;S4,构建业务流程中的人工任务节点与所述数据模型中的数据之间的绑定模型;S5,根据所述映射关系和所述绑定模型,调用所述数据操作接口,生成数据操作方法。
图2为数据模型结构图。如图2所示,S1中,根据逻辑的层级间的关系,以及实体间的包含关系构建数据模型。所述数据模型为树状模型。其中根节点和其他的非叶子节点表示实体,叶子节点表示数据。一个实体包括数据和/或其他实体。对每层数据设置一个关键节点唯一标识该层数据。可以采用从上至下,从部分到整体的设计思路构建模型。所述数据模型以XML文件的形式保存,便于与数据库中的字段进行映射。保存的信息包括节点名称、父节点名称和节点层级。通过SWT及JFace编程可以为用户提供构建数据模型的操作界面。
图3为映射关系示意图。如图3所示,左边是数据模型的一部分,右边是数据库表的一部分,中间是数据模型中的数据与数据库中的字段间的映射关系的一部分。S2中,通过读取所述数据模型和数据库,获取所述数据模型中的数据,以及所述数据库中的字段。根据用户的选择生成所述数据与所述字段之间的映射关系。将所述数据模型中的数据与所述数据库中的字段之间的映射关系保存在Hibernate映射文件中。所述映射文件还保存有所述数据模型中节点间的从属关系。当程序操作POJO类的实例化对象时,程序会通过查找映射文件获取需要操作的字段。根据Hibernate映射文件对数据进行操作的流程图如图4所示。
S3中,从整个实体或者组成实体的角度,生成数据进行操作接口,包括对实体中数据的增加、删除、修改和查找,所述查找包括直接查找数据,以及根据条件对数据进行查找。S3中生成的数据操作接口可以供其他方法进行调用。所述数据模型中的实体被抽象成一个类,对所述实体中数据的操作转换成对类中元素的操作。
图5为jBPM流程定义文件示意图。S4中在服务器生成绑定模型之前需要先定义流程文件,所述流程文件可以为jBPM文件。jBPM(Java Business Process Management,业务流程管理)是一个开源的可执行流程语言框架。如图5所示,jBPM文件中的节点包括人工任务节点、状态节点、分支节点、聚合节点等多种类型,其中人工任务节点是进行数据操作时需求最多的节点。jBPM流程图用角色化的节点描述业务流程,并且提供在JAVA环境里可调用的接口,因此它是可执行的流程。
图6为绑定关系的示意图。如图6所示,S4中服务器生成业务流程中的人工任务节点与数据模型中的数据之间的绑定模型,解析所述绑定模型,以及所述数据模型中的数据与数据库中字段间的映射关系,可以确定流程中的人工任务节点对应的数据库中的数据。
S5中,服务器通过解析业务流程中的人工任务节点对应的绑定模型,可以获得该绑定模型中的业务流程中的人工任务节点和数据模型。解析所述数据模型,能够获得实体对应类中的全部参数,所述参数包括组成实体的数据和实体。S5使用S3中提供的数据操作接口生成满足业务流程中的人工任务节点所需的数据操作方法。当业务流程中的人工任务节点所需的数据操作方法比较复杂时,可以根据需要对S3中提供的数据操作接口进行组合。
本实施例中使用数据模型表达逻辑,通过数据模型、映射关系和绑定模型,实现了业务流程与数据库的关联。同时,根据映射关系和绑定模型自动生成满足需求的业务流程中数据操作的方法。当需求有变动时,只需要重构数据模型、映射关系和绑定模型,具有良好的通用性和扩展性。
在上述实施例的基础上,本实施例还包括根据所述数据操作方法和所述绑定模型生成表单。
图7为自动生成的表单页面的数据展示图,如图7所示。服务器根据S5中生成的数据操作方法对业务流程中的人工任务节点对应的数据库中的数据进行呈现和更新,自动生成用户交互页面以展示执行整个业务流程中每个人工任务节点对应数据操作方法生成的效果。用户交互界面可能为读数据页面、写数据页面或读写结合页面。对于有写数据操作的业务流程中的人工任务节点,用户在页面上编辑完信息之后,可以直接点击页面提供的提交按钮保存数据信息。解析程序根据绑定模型生成对应的表单元素和表单提交按钮。页面不仅用于显示数据操作结果,同时用户可以在自动生成的页面上直接编辑数据操作结果,并通过提交按钮将操作结果保存至数据库中。
本实施例中不仅根据绑定关系中的数据操作方式调用数据操作方法,实现表单的自动生成,显示数据操作结果,而且可以通过用户的编辑操作数据库中的数据。当需求发送变化时,只需要用户手动重置数据模型、映射关系和绑定模型,大大提高了程序开发的效率。
在上述实施例的基础上,还包括:将所述数据模型中的实体抽象为类。
图8为数据模型对应的类,如图8所示,所述构建模块1可以使用Hibernate框架将所述数据模型中的实体抽象为Java程序可操作的类。构成所述实体的数据为所述类的参数,所述构建模块1提供了对所述参数进行操作的get和set方法,以供数据操作方调用。在后续的开发中,可以通过操作该类的实例化对象实现对数据库中数据的操作。
本实施例通过将实体抽象为类,将对实体中数据的操作转换成对类中参数的操作,根据映射关系,将对类中参数的操作转换成对数据库中字段的操作,实现了对数据库的间接操作,不需要手动编写数据库操作语句,大大提高了程序开发的效率。
在上述实施例的基础上,本实施例中所述生成所述数据模型中的数据与数据库中的字段之间的映射关系,包括:与所述数据库建立连接;获取所述数据库中的字段;根据用户选择的所述数据模型中的数据和所述数据库中的字段,生成所述数据模型中的数据与所述数据库中的字段之间的映射关系。
具体地,服务器首先与数据库建立连接,用户可以通过图形操作界面输入数据库连接地址及密码,通过JDBC与数据库进行连接。连接后服务器获取所述数据库中的字段和所述数据模型中的数据,并将获取的信息显示在操作界面上。在用户选择所述数据模型中的数据和对应的数据库中的字段,并点击JFace提供的按钮控件后,服务器生成该数据和该字段之间的映射关系。同时,将该数据在数据模型中的层级关系以及该字段保存在XML文件中,用于解析生成对数据的操作。对关键数据和其他数据进行不同方式的绑定,正如数据库中,需要通过主键访问其他属性一样,在所述数据模型中,也通过关键数据访问其他数据。通过SWT及JFace编程可以为用户提供构建映射关系的操作界面。
本实施例通过将数据模型中的数据和数据库中的字段进行映射,根据映射关系,将对实体中数据的操作转换成对数据库中字段的操作,实现了对数据库的间接操作,不需要手动编写数据库操作语句,大大提高了程序开发的效率。
在上述实施例的基础上,本实施例中所述构建业务流程中的人工任务节点与所述数据模型中的数据之间的绑定模型,包括:根据用户选择的所述业务流程中的人工任务节点和所述数据模型中的数据,生成所述业务流程中的人工任务节点与所述数据模型中的数据之间的绑定关系。
服务器提供从业务流程定义文件到绑定模型设计界面的连接入口。如果用户选择一个业务流程中的人工任务节点,点击JFace按钮进入绑定模型设计界面。服务器读取构建好的数据模型,根据用户选择的业务流程中的人工任务节点和数据模型中的数据生成绑定关系。所述绑定模型包括用户选择的数据操作方式,以及所述业务流程中的人工任务节点与所述数据模型中的数据之间的绑定关系。用户根据业务流程中的人工任务节点的需要选择需要绑定的数据模型中的数据和数据操作方式。所述数据操作方式为读、写或读写结合。业务流程中的每个人工任务节点对应一个数据操作方式。此外,服务器还用于将所有人工任务节点对应的绑定文件合并成一个绑定文件,供绑定模型解析程序使用。绑定模型最终以XML文件格式存储,用于绑定模型的查看和解析。通过SWT及JFace编程可以为用户提供构建绑定模型的操作界面。
本实施例通过对业务流程中的人工任务节点和数据模型中的数据进行绑定,并根据用户选择的数据操作方式,将业务流程实际所需的数据操作转换为对数据模型中数据的操作,根据所述数据操作方式调动数据操作接口,为自动生成满足实际所需的数据操作方法奠定基础。
在上述实施例的基础上,本实施例中所述根据所述映射关系和绑定模型,调用数据操作接口,包括:获取所述数据操作方式在所述绑定模型中对应的数据模型;判断所述数据操作方式涉及的数据模型中的数据与所述对应的数据模型中的数据是否属于同一个实体;如果所述涉及的数据模型中的数据与所述对应的数据模型中的数据属于同一个实体,则调用所述实体的数据操作接口;如果所述涉及的数据模型中的数据与所述对应的数据模型中的数据不属于同一个实体,则在所述涉及的数据模型中的数据所属的实体中获取数据,并将所获取的数据作为参数传递给所述对应的数据模型中的数据所属的实体的数据操作接口。
具体地,服务器首先根据用户选择的数据操作方式获取所述数据方式在所述绑定模型中对应的数据模型,并判断所述数据操作方式涉及的数据模型中的数据与所述对应的数据模型中的数据是否属于同一个实体。如果所述涉及的数据模型中的数据与所述对应的数据模型中的数据属于同一个实体,则直接调用DAO层提供的所述实体的数据操作接口,并将其封装成Service层的接口。如果所述涉及的数据模型中的数据与所述对应的数据模型中的数据不属于同一个实体,则在所述涉及的数据模型中的数据所属的实体中获取数据,并将所获取的数据作为参数传递给所述对应的数据模型中的数据所属的实体的数据操作接口,并且把以上过程封装成Service层的接口。
本实施例中将组成实体中的实体的数据作为参数传递给数据操作方法,根据数据模型表达的实体间的包含关系和逻辑的层次关系,将低层的实体中的数据传递给高层实体的数据操作接口,从而实现对低层实体中的数据的使用。
图9为本发明实施例提供的表单自动生成系统的结构图,如图9所示,包括:构建模块1、映射模块2、接口模块3、绑定模块4、调用模块5,其中:所述构建模块1用于构建数据模型;所述映射模块2用于生成所述数据模型中的数据与数据库中的字段之间的映射关系;所述接口模块3用于生成对所述数据模型中的数据进行操作的数据操作接口;所述绑定模块4用于构建业务流程中的人工任务节点与所述数据模型中的数据之间的绑定模型;调用模块5用于根据所述映射关系和所述绑定模型,调用所述数据操作接口,生成数据操作方法。
图2为数据模型结构图。如图2所示,所述构建模块1根据逻辑的层级间的关系,以及实体间的包含关系构建数据模型。所述数据模型为树状结构。其中根节点和其他的非叶子节点表示实体,叶子节点表示数据。一个实体包括数据和/或其他实体。对每层数据设置一个关键节点唯一标识该层数据。在构建所述数据模型时,可以采用从上至下,从部分到整体的设计思路,完成节点的添加以及数据模型的组合。所述数据模型以XML文件的形式保存,保存的信息包括节点名称、父节点名称和节点层级。通过SWT及JFace编程可以为用户提供构建数据模型的操作界面。
图3为生成映射关系示意图。如图3所示,左边是数据模型的一部分,右边是数据库表的一部分,中间是数据模型中的数据与数据库中的字段间的映射关系的一部分。映射模块2通过读取所述数据模型和数据库,获取所述数据模型中的数据,以及所述数据库中的字段。根据用户的选择生成所述数据与所述字段之间的映射关系。将所述数据模型中的数据与所述数据库中的字段之间的映射关系保存在Hibernate映射文件中。所述映射文件还保存有所述数据模型中节点间的从属关系和所述数据映射的所述字段。当程序操作POJO类的实例化对象时,程序会通过查找映射文件获取需要操作的字段。根据Hibernate映射文件对数据进行操作的流程图如图4所示。
接口模块3从整个实体或者组成实体的角度,生成对数据进行操作的接口,包括对实体中数据的增加、删除、修改和查找,所述查找包括直接查找数据,以及根据条件对数据进行查找。接口模块生成的数据操作接口可以供其他方法进行调用。所述数据模型中的实体被抽象成一个类,对所述实体中数据的操作转换成对类中元素的操作。
图6为生成绑定关系的示意图。如图6所示,绑定模块4生成业务流程中的人工任务节点与数据模型中的数据之间的绑定关系,解析所述绑定模型,以及所述数据模型中的数据与数据库中字段间的映射关系,可以确定业务流程中的人工任务节点对应的数据库中的数据。
所述调用模块5通过解析业务流程中的人工任务节点对应的绑定模型,可以获得该绑定模型中的业务流程中的人工任务节点和数据模型。解析所述数据模型,能够获得实体对应类中的全部参数,所述参数包括组成实体的数据和实体。调用模块5通过调用接口模块3提供的数据操作接口生成满足业务流程中的人工任务节点所需的数据操作方法。当业务流程中的人工任务节点所需的数据操作方法比较复杂时,可以根据需要对模块3提供的数据操作接口进行组合。此外,所述绑定模块4还用于将所有业务流程中的人工任务节点对应的绑定文件合并成一个绑定文件,供绑定模型解析程序使用。所述绑定模型以XML文件格式存储,用于所述绑定模型的查看和解析。
本实施例中使用数据模型表达逻辑,通过数据模型、映射关系和绑定模型,实现了流程与数据库的关联。同时,根据映射关系和绑定模型自动生成满足需求的业务流程中数据操作的方法。当需求有变动时,只需要重构数据模型、映射关系和绑定模型,具有良好的通用性和扩展性。
在上述实施例的基础上,本实施例中还包括生成模块6,用于根据所述数据操作方法和所述绑定模型生成表单。
图10为本发明实施例提供的自动生成业务流程中数据操作的系统结构图,所述生成模块6根据所述调用模块5生成的数据操作方法对业务流程中的人工任务节点对应的数据库中的数据进行呈现和更新,自动生成用户交互页面以展示执行整个业务流程中每个人工任务节点对应数据操作方法生成的效果。用户交互界面可能为读数据页面、写数据页面或读写结合页面。对于有写数据操作的业务流程中的人工任务节点,用户在页面上编辑完信息之后,可以直接点击页面提供的提交按钮保存数据信息。解析程序根据绑定模型生成对应的表单元素和表单提交按钮。页面不仅用于显示数据操作结果,同时用户可以在自动生成的页面上直接编辑数据操作结果,并通过提交按钮将操作结果保存至数据库中。图7为自动生成的表单页面的数据展示图,如图7所示,该页面同时具有展示和修改数据的功能。
本实施例中不仅根据绑定关系中的数据操作方式调用数据操作方法,实现表单的自动生成,显示数据操作结果,而且可以通过用户的编辑操作数据库中的数据。当需求发送变化时,只需要用户手动重置数据模型、映射关系和绑定模型,大大提高了程序开发的效率。
图11为各模块间的关系示意图,如图11所示,其中构建模块1位于Model层,Model层为模型层,Model层中的数据对应的节点与数据库中的字段进行映射。构建模块1建立好数据模型后,可以将所述数据模型抽象成POJO类,POJO类是一种JAVA类。所述映射模块2用于将Model层的节点与数据库中的字段进行映射。所述接口模块3位于DAO层,DAO层是数据访问层,提供对类中的参数进行操作的接口。所述绑定模块4根据绑定规则将jBPM流程中人工任务节点与数据模型中的数据进行绑定,生成绑定模型。所述调用模块5位于Service层,Service层为业务层,用于解析所述绑定模型,并调用DAO层的数据操作接口自动生成数据操作方法。所述生成模块6位于Action层,Action层为控制层,引用对应的Service层提供的数据操作接口。
图12为本发明又一实施例提供的自动生成业务流程中数据操作的系统结构图,如图12所示,在上述实施例的基础上,本实施例中所述映射模块2包括:连接子模块21、获取子模块22和映射子模块23,其中:
所述连接子模块21用于与所述数据库建立连接;所述获取子模块22用于获取所述数据库中的字段;所述映射子模块23用于根据用户选择的所述数据模型中的数据和所述数据库中的字段,生成所述数据与所述字段之间的映射关系。
具体地,所述连接子模块21用于与数据库建立连接,用户可以通过图形操作界面输入数据库连接地址及密码,通过JDBC与数据库进行连接。所述获取模块22用于获取数据库中的字段和所述数据模型中的数据,并将获取的信息显示在操作界面上。映射子模块23在用户选择所述数据模型中的数据和对应的数据库中的字段,并点击JFace提供的按钮控件后,生成该数据和该字段之间的映射关系。同时,将该数据在数据模型中的层级关系以及该字段保存在XML文件中,用于解析生成对数据的操作。对关键数据和其他数据进行不同方式的绑定,正如数据库中,需要通过主键访问其他属性一样,在所述数据模型中,也通过关键数据访问其他数据。通过SWT及JFace编程可以为用户提供构建映射关系的操作界面。
本实施例通过将数据模型中的数据和数据库中的字段进行映射,根据映射关系,将对实体中数据的操作转换成对数据库中字段的操作,实现了对数据库的间接操作,不需要手动编写数据库操作语句,大大提高了程序开发的效率。
为了更详细地说明本发明,以下为本发明在eclipse开发环境中开发的有操作界面的系统,但本发明不限于所述系统。所述系统的操作步骤如下:
1、创建数据模型,指定各个节点的名称并添加组成数据模型的子数据模型,并保存模型。包括以下步骤:
步骤101、在eclipse开发环境中点击创建数据模型按钮,在图形界面中选中要添加节点的父节点,点击“Add Node”完成节点的添加。
步骤102、选中节点,点击“Edit Node”按钮对节点名称进行修改。
步骤103、在需要添加已有的数据模型的位置点击“Add Tree”按钮,在弹出的文件选择对话框中选择数据模型文件,点击“确定”,即完成数据模型的添加。
步骤104、如果要查看已有的数据模型或者对已有的数据模型进行编辑,可以点击“Browse”按钮,在弹出的文件选择对话框中选择数据模型文件,点击“确定”,即可将已有的数据模型呈现在当前数据模型编辑区域,之后根据需要进行编辑。
步骤105、点击“Save”按钮,在弹出的文件保存对话框中选择要保存文件的路径,输入要保存的文件名,完成数据模型的保存。
2、在创建数据模型之后,将数据模型中的数据与数据库中的字段进行映射,该过程包括以下步骤:
步骤201、在创建数据模型的图形操作界面中,点击“Map”按钮,即进入映射关系构建的图形操作界面。
步骤202、在映射关系构建的图形操作界面上方,输入数据库连接地址,用户名及密码,点击“Connection”按钮完成数据库连接,这时,在下方数据库表的列表中会出现获取到的该数据库中的全部数据库表,在表内容呈现区域会以分级结构展示当前选择的数据库表里面的具体内容。
步骤203、在界面左侧的数据模型展示区域,选中某一数据,同时在数据库表的下拉列表中选择要映射到的数据库表,在表内容呈现区域选择要映射的字段,点击“Map”按钮完成映射关系构建。这时,在右下方的映射关系展示区域会出现刚刚构建的映射关系。
步骤204、当需要删除某映射关系时,可以选择删除目标,点击“Delete”按钮,即可完成对该条数据的删除。
步骤205、如果要在已有的映射关系基础上进行修改,或查看已有的映射关系,可以点击“Review”按钮,在弹出的文件选择对话框中,选择要查看的映射关系文件,点击“确定”后,会在右下方映射关系展示区域呈现文件中的映射关系。
步骤206、如果需要保存映射关系,则点击“Save”按钮,在弹出的文件选择对话框中选择要保存的路径,输入要保存的文件名,点击“确定”按钮后完成保存。
3、定义jBPM流程图,并且构建业务流程中的人工任务节点与数据模型中的数据之间的绑定模型,具体包括以下步骤:
步骤301、在jBPM流程图中选中要建立绑定关系的人工任务节点,在Properties视图中点击“浏览”,此时会弹出绑定模型设计界面。
步骤302、在绑定模型设计界面,点击“Browser”按钮,在弹出的文件选择对话框中,选择要打开的数据模型文件,点击“确定”后,数据模型就可以呈现在绑定模型设计界面的左半部分。
步骤303、如果所述人工任务节点的对应角色只需要提交数据,直接点击“Condition”按钮,Condition的值默认设成Null;如果此业务流程中的人工任务节点对应的角色需要查看数据,则在左半部分的数据模型中选择数据查询操作所对应的数据,点击“Condition”按钮,此时在界面的右半部分就会显示Condition的值对应的数据模型中的节点。
步骤304、选择所述人工任务节点要绑定的数据模型中的数据,点击“绑定”按钮,此时右侧界面会增加一条新的绑定记录,在该记录中勾选数据操作方式“Read、Write、Source”选项,该绑定模型基本完成。重复该步骤,建立所有的绑定模型。
步骤305、如果需要保存绑定文件,则点击“Save”按钮,在弹出的文件选择对话框中选择要保存的路径,输入要保存的文件名,点击“确定”按钮后完成保存。
步骤306、重复以上步骤可以为jBPM流程中的多个人工任务节点分别生成一个绑定文件。解析程序需要把一个业务流程中的多个绑定文件合成一个文件。点击该界面中的“Combination”按钮,在弹出的文件选择对话框中选择此业务流程的所有绑定文件,点击“打开”按钮,输入文件名并且选择要保存的路径,点击“保存”按钮,所有的绑定文件即可合并成一个新文件。
4、基于以上步骤提供的模型,就可以自动生成业务流程中数据操作的方法以及表单展示页面。详细步骤如下:
步骤401、点击eclipse的“File”按钮,依次选择“New->Project->Bupt WorkflowProject”,点击“Next”按钮,此时会弹出新建Project的界面,输入“Project name”,
点击“Finish”按钮,Eclipse的Project Explore,视图中就会显示新建的Project。
步骤402、选中步骤401新建的Project,鼠标右击,在弹出的对话框列表中点击“Code Genauto”按钮,弹出一个文件选择对话框,点击Artifact绑定模型对应的“浏览”按钮,选择对应的文件,点击Artifact映射关系对应的“浏览”按钮,选择对应的映射文件,点击“确定”按钮,5秒后,弹出提示框提醒“GenAuto successful”。
步骤403、刷新步骤402选择的Project,就可以看到自动生成的所有文件,包括Dao层、Service层、Action层以及WebContent文件夹下的Jsp表单页面。
步骤404、把403对应的Project部署在Tomcat服务器上,配置好web.xml文件中的welcome-file,运行该Project,以上jBPM流程就会在该Web项目中通过表单页面展示出来。
本发明使用数据模型表达逻辑,树形结构的使用时数据模型中的数据和实体便于分类和组织。将数据模型中的实体抽象为程序可操作的类,从而将对数据的操作转换成对实体对应的类的操作。同时,将数据模型与数据库进行映射,使得开发人员不需要关心对数据库的操作,只需要操作实体对应的类。DAO层的数据操作接口可供Service层进行调用,使得开发人员在Service层不需要关心操作数据库中的哪些字段,只需要关注业务流程对应的类,从而降低了编程的复杂性。绑定模块实现了流程与数据库之间的间接绑定,用户可以根据需要手动更改映射关系和绑定关系,更改的结果可以直接在自动生成的表单中体现出来,提高了程序的复用率。Service层根据解析的映射关系和绑定模型调用DAO层的数据操作接口,根据用户指定的数据操作方式自动生成数据操作方法,因此,Service层提供了良好的扩展性,开发人员可以根据需要进行再次开发。本发明可以使用可视化图形界面编辑器,简化了数据模型的使用,降低了使用本发明的门槛。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种自动生成业务流程中数据操作的方法,其特征在于,包括:
构建数据模型;
生成所述数据模型中的数据与数据库中的字段之间的映射关系;
生成对所述数据模型中的数据进行操作的数据操作接口;
构建业务流程中的人工任务节点与所述数据模型中的数据之间的绑定模型;
根据所述映射关系和所述绑定模型,调用所述数据操作接口,生成数据操作方法。
2.根据权利要求1所述的自动生成业务流程中数据操作的方法,其特征在于,还包括:
根据所述数据操作方法和所述绑定模型生成表单。
3.根据权利要求1所述的自动生成业务流程中数据操作的方法,其特征在于,还包括:
将所述数据模型中的实体抽象为类。
4.根据权利要求1-3中任一项所述的自动生成业务流程中数据操作的方法,其特征在于,所述生成所述数据模型中的数据与数据库中的字段之间的映射关系,包括:
与所述数据库建立连接;
获取所述数据库中的字段;
根据用户选择的所述数据模型中的数据和所述数据库中的字段,生成所述数据模型中的数据与所述数据库中的字段之间的映射关系。
5.根据权利要求1-3中任一项所述的自动生成业务流程中数据操作的方法,其特征在于,所述构建业务流程中的人工任务节点与所述数据模型中的数据之间的绑定模型,包括:
根据用户选择的所述业务流程中的人工任务节点和所述数据模型中的数据,生成所述业务流程中的人工任务节点与所述数据模型中的数据之间的绑定关系。
6.根据权利要求5中任一项所述的自动生成业务流程中数据操作的方法,其特征在于,所述绑定模型包括:用户选择的数据操作方式,以及所述业务流程中的人工任务节点与所述数据模型中的数据之间的绑定关系。
7.根据权利要求6所述的自动生成业务流程中数据操作的方法,其特征在于,所述根据所述映射关系和所述绑定模型,调用所述数据操作接口,包括:
获取所述数据操作方式在所述绑定模型中对应的数据模型;
判断所述数据操作方式涉及的数据模型中的数据与所述对应的数据模型中的数据是否属于同一个实体;
如果所述涉及的数据模型中的数据与所述对应的数据模型中的数据属于同一个实体,则调用所述实体的数据操作接口;
如果所述涉及的数据模型中的数据与所述对应的数据模型中的数据不属于同一个实体,则在所述涉及的数据模型中的数据所属的实体中获取数据,并将所获取的数据作为参数传递给所述对应的数据模型中的数据所属的实体的数据操作接口。
8.一种自动生成业务流程中数据操作的系统,其特征在于,包括:
构建模块,用于构建数据模型;
映射模块,用于生成所述数据模型中的数据与数据库中的字段之间的映射关系;
接口模块,用于生成对所述数据模型中的数据进行操作的数据操作接口;
绑定模块,用于构建业务流程中的人工任务节点与所述数据模型中的数据之间的绑定模型;
调用模块,用于根据所述映射关系和所述绑定模型,调用所述数据操作接口,生成数据操作方法。
9.根据权利要求8所述的自动生成业务流程中数据操作的系统,其特征在于,还包括:
生成模块,用于根据所述数据操作方法和所述绑定模型生成表单。
10.根据权利要求8所述的自动生成业务流程中数据操作的系统,其特征在于,所述映射模块包括:
连接子模块,用于与所述数据库建立连接;
获取子模块,用于获取所述数据库中的字段;
映射子模块,用于根据用户选择的所述数据模型中的数据和所述数据库中的字段,生成所述数据模型中的数据与所述数据库中的字段之间的映射关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710178713.0A CN107122171A (zh) | 2017-03-23 | 2017-03-23 | 自动生成业务流程中数据操作的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710178713.0A CN107122171A (zh) | 2017-03-23 | 2017-03-23 | 自动生成业务流程中数据操作的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107122171A true CN107122171A (zh) | 2017-09-01 |
Family
ID=59717384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710178713.0A Pending CN107122171A (zh) | 2017-03-23 | 2017-03-23 | 自动生成业务流程中数据操作的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107122171A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175917A (zh) * | 2019-05-05 | 2019-08-27 | 中国工商银行股份有限公司 | 参数图形化处理的装置及方法 |
CN111414151A (zh) * | 2020-02-27 | 2020-07-14 | 北京中亦安图科技股份有限公司 | 流程类应用的页面生成方法、装置、电子设备和存储介质 |
CN112882699A (zh) * | 2021-02-09 | 2021-06-01 | 成都新希望金融信息有限公司 | 基于流程配置引擎的业务处理方法、装置、设备及介质 |
CN113419719A (zh) * | 2021-06-29 | 2021-09-21 | 北京仁科互动网络技术有限公司 | 一种基于业务场景的接口用例生成方法及系统 |
WO2023020547A1 (zh) * | 2021-08-18 | 2023-02-23 | 北京字跳网络技术有限公司 | 信息处理方法、装置、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744680A (zh) * | 2014-01-16 | 2014-04-23 | 北京邮电大学 | 一种业务流程处理方法及装置 |
CN103745310A (zh) * | 2013-12-25 | 2014-04-23 | 北京邮电大学 | 一种工作流数据建模的方法 |
-
2017
- 2017-03-23 CN CN201710178713.0A patent/CN107122171A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103745310A (zh) * | 2013-12-25 | 2014-04-23 | 北京邮电大学 | 一种工作流数据建模的方法 |
CN103744680A (zh) * | 2014-01-16 | 2014-04-23 | 北京邮电大学 | 一种业务流程处理方法及装置 |
Non-Patent Citations (2)
Title |
---|
丁兴中: "基于jBPM的Artifact建模平台的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
王豹: "基于数据的jBPM流程开发方法研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175917A (zh) * | 2019-05-05 | 2019-08-27 | 中国工商银行股份有限公司 | 参数图形化处理的装置及方法 |
CN111414151A (zh) * | 2020-02-27 | 2020-07-14 | 北京中亦安图科技股份有限公司 | 流程类应用的页面生成方法、装置、电子设备和存储介质 |
CN111414151B (zh) * | 2020-02-27 | 2023-04-14 | 北京中亦安图科技股份有限公司 | 流程类应用的页面生成方法、装置、电子设备和存储介质 |
CN112882699A (zh) * | 2021-02-09 | 2021-06-01 | 成都新希望金融信息有限公司 | 基于流程配置引擎的业务处理方法、装置、设备及介质 |
CN112882699B (zh) * | 2021-02-09 | 2024-05-07 | 成都新希望金融信息有限公司 | 基于流程配置引擎的业务处理方法、装置、设备及介质 |
CN113419719A (zh) * | 2021-06-29 | 2021-09-21 | 北京仁科互动网络技术有限公司 | 一种基于业务场景的接口用例生成方法及系统 |
CN113419719B (zh) * | 2021-06-29 | 2023-10-13 | 北京仁科互动网络技术有限公司 | 一种基于业务场景的接口用例生成方法及系统 |
WO2023020547A1 (zh) * | 2021-08-18 | 2023-02-23 | 北京字跳网络技术有限公司 | 信息处理方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107122171A (zh) | 自动生成业务流程中数据操作的方法及系统 | |
Koskimies et al. | Automatic synthesis of state machines from trace diagrams | |
CN104111826B (zh) | 一种软件项目开发方法及装置 | |
Kadivar et al. | Capturing and supporting the analysis process | |
US20160239465A1 (en) | Modeling System For Graphic User Interface | |
Trigg et al. | Adaptability and tailorability in NoteCards | |
EP1212704A1 (en) | Spreadsheet cell-data source binding | |
CN112199086A (zh) | 自动编程控制系统、方法、装置、电子设备及存储介质 | |
CN111984176A (zh) | 一种软件在线开发平台及开发方法 | |
CN107851001A (zh) | 用于基于设计规格显示软件型应用程序的计算机应用的方法 | |
CN107092478A (zh) | 一种软件构件库与构件开发工具的集成系统与方法 | |
Macías et al. | An authoring tool for building adaptive learning guidance systems on the web | |
Paterno et al. | A tool-supported approach to the refinement of interactive systems | |
Kremer | Toward a multi-user, programmable web concept mapping" shell" to handle multiple formalisms | |
Busatto | An abstract model of hierarchical graphs and hierarchical graph transformation | |
Guenther | Shiro-A language to represent alternatives | |
JPH11102293A (ja) | プログラム自動生成方法 | |
Zmeev et al. | Implementation of essence practice into project management system redmine | |
Lougher et al. | Group support for the recording and sharing of maintenance rationale | |
Phillips | Lean Cuisine+: an executable graphical notation for describing direct manipulation interfaces | |
Bieber | Supplementing applications with hypermedia | |
Turine et al. | HySCharts: A statechart-based environment for hyperdocument authoring and browsing | |
Hess et al. | Generating automatically class comments in Pharo | |
Pietri et al. | ASPIS: A knowledge-based environment for software development | |
Markopoulos et al. | Dialogue modelling in the framework of an interactor model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170901 |