CN105373523A - 一种基于自定义表单、Activiti的工作流解决方法 - Google Patents
一种基于自定义表单、Activiti的工作流解决方法 Download PDFInfo
- Publication number
- CN105373523A CN105373523A CN201510659519.5A CN201510659519A CN105373523A CN 105373523 A CN105373523 A CN 105373523A CN 201510659519 A CN201510659519 A CN 201510659519A CN 105373523 A CN105373523 A CN 105373523A
- Authority
- CN
- China
- Prior art keywords
- list
- data
- flow
- activiti
- flow process
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000000694 effects Effects 0.000 title claims abstract description 50
- 230000008569 process Effects 0.000 claims abstract description 54
- 230000010354 integration Effects 0.000 claims abstract description 4
- 238000013461 design Methods 0.000 claims description 11
- 238000013515 script Methods 0.000 claims description 5
- 238000013524 data verification Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 claims description 4
- 230000001276 controlling effect Effects 0.000 claims description 2
- 230000002596 correlated effect Effects 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000012423 maintenance Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 13
- 238000011161 development Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000009434 installation Methods 0.000 description 4
- 230000003930 cognitive ability Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 235000000177 Indigofera tinctoria Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 229940097275 indigo Drugs 0.000 description 1
- COHYTHOBJLSHDF-UHFFFAOYSA-N indigo powder Natural products N1C2=CC=CC=C2C(=O)C1=C1C(=O)C2=CC=CC=C2N1 COHYTHOBJLSHDF-UHFFFAOYSA-N 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于自定义表单、Activiti的工作流解决方法,属于工作流技术领域,本发明基于自定义表单、Activiti,通过1)在表单与流程的整合中,把参与流程跳转的数据才存到流程变量中;2)流程实例与业务表单关联;3)流程定义与业务表单绑定的步骤使得开发人员、业务人员和运维人员能够更好的协同工作,开发人员可以把注意力集中在业务逻辑处理,流程交给Activiti管理,业务表单可以通过动态表单技术由业务人员设计完成。
Description
技术领域
本发明涉及工作流技术,尤其涉及一种基于自定义表单、Activiti的工作流解决方法,Activiti其核心是BPMN2.0的流程引擎。BPMN是目前被各BPM厂商广泛接受的BPM标准,全称为BusinessProcessModelandNotation,由OMG组织进行维护,2011年1月份发布了其2.0的正式版。BPMN2.0对比于第一个版本,其最重要的变化在于其定义了流程的元模型和执行语义,即它自己解决了存储、交换和执行的问题。这代表着BPMN2.0流程定义模型不仅仅可以在任何兼容BPMN2.0的引擎中执行,而且也可以在图形编辑器间交换。作为一个标准,BPMN2.0统一了工作流社区。
背景技术
表单在信息管理***中的重要作用,基本上采用表单+流程就可以实现一个业务流程。然而数量众多的表单和易变动性让开发人员感到疲惫。为了让开发人员把注意力集中在业务流程上来,也可以让***操作人员参与到表单的管理,就出现了动态表单技术。
在对信息管理***的探索中发现,按业务的量和成熟度,可以将业务***是分为大业务***和小业务***。大业务具有业务量大且成熟稳定的特点。而小业务大部分也是新业务,具有业务量小和动态多变的特点。这些特点主要体现在业务流程和表单上的不同。往往对新业务没有一个很好的***支持,因为新业务的特性是市场前景不明,业务量小,表单和业务流程都随着业务的发展不断在变,越具有快速成长性的新业务可能变化更多。为一个新的业务开发一个独立的***支持,从业务运营者角度看成本大,从***开发者角度看难度更大。通常只有当新业务逐步发展,逐步稳定下来,业务量上去了,变成了一个大业务,才可以考虑建立独立***支持或者移植到原有的大业务***中去。所以对许多新业务的***支持上比较薄弱。
从现状来看,由于新业务没有***支持,所以大部分采用各种excel表单的方式进行管理,一项业务的办理都是通过excel表单的流转。当然比纸制的要先进。不过,无序和低效表现得比较明显。
从技术上讲,新业务***的开发需要解决可定制表单和流程的技术难题。许多业务都是由表单驱动,比如申请开通业务填写申请单,业务实施填写施工单。不过,随着业务的发展,这些表单包括字段和显示格式都在变。很显然,固定表单的开发无法满足这类用户业务需求。而作为软件开发者在做需求分析的时候,希望通过要求用户签字确认的方式来限制用户需求的变化,这样的做法不合情理,技术没有真正为生产服务。那么如何在新业务的发展阶段支持业务中多变的表单呢,因此就提出了动态表单。
Activiti5对表单的支持目前还是比较弱的,表现在对表单的开发还需要写Freemark模板,并且它的模板还需要跟class文件一起打包发布。这使得流程的表单设计必须由开发人员来开发处理。因而,开发一套易用性强的流程表单功能就显得很有必要。
发明内容
为了解决该问题,本发明提出了一种基于自定义表单、Activiti的工作流解决方法,目的是提供一种统一的工作流引擎。
用户一般都希望能有如Microsoft的Office套件中的InfoPath那样,可以自己进行设计,并且能与工作流程绑在一起进行流转处理。
表单中每个字段有固定的数据类型,并由不同的数据控件展示,如日期、数字、单选或多选、下拉、多行文本甚至富文本编辑器。在实现更强的功能上,允许控件能实现脚本交互。
Activiti作为一个遵从Apache许可的工作流和业务流程管理开源平台,其核心是基于Java的超快速、超稳定的BPMN2.0流程引擎,强调流程服务的可嵌入性和可扩展性,同时更加强调面向业务人员。通过使用这些服务,开发人员能够构建出功能丰富、轻便且高效的BPM应用程序。
Activiti引擎的***服务架构分为以下几个部分:
RepositoryService:Activiti中每一个不同版本的业务流程的定义都需要使用一些定义文件,部署文件和支持数据,这些文件都存储在Repository中。RepositoryService提供了对repository的存取服务。
RuntimeService:在Activiti中,每当一个流程定义被启动一次之后,都会生成一个相应的流程对象实例。RuntimeService提供了启动流程、查询流程实例、设置获取流程实例变量等功能。此外它还提供了对流程部署,流程定义和流程实例的存取服务。
TaskService:在Activiti中业务流程定义中的每一个执行节点被称为一个Task,对流程中的数据存取,状态变更等操作均需要在Task中完成。TaskService提供了对用户Task和Form相关的操作。它提供了运行时任务查询、领取、完成、删除以及变量设置等功能。
IdentityService:Activiti中内置了用户及组管理的功能,必须使用这些用户和组的信息才能获取到相应的Task。IdentityService提供了对Activiti***中的用户和组的管理功能。
ManagementService:ManagementService提供了对Activiti流程引擎的管理和维护功能,这些功能不在工作流驱动的应用程序中使用,主要用于Activiti***的日常维护。
HistoryService:HistoryService用于获取正在运行或已经完成的流程实例的信息,与RuntimeService中获取的流程信息不同,历史信息包含已经持久化存储的永久信息,并已经被针对查询优化。
FormService:Activiti中的流程和状态Task均可以关联业务相关的数据。通过使用FormService可以存取启动和完成任务所需的表单数据并且根据需要来渲染表单。
在表单与流程的整合中,一般不建议把表单的所有数据都存储在流程中,仅需要把参与流程跳转的数据才存到流程变量中去。如请假出差的流程,在表单与流程的整合中,一般不建议把表单的所有数据都存储在流程中,仅需要把参与流程跳转的数据才存到流程变量中去;
流程实例与业务表单关联:基于以上设计的原则,流程中则不存储业务表单的数据,Activiti5在流程实例表及任务实例表相关运行表中增加了一个字段(BusinessKey),用来关联业务表单的数据,一般把这个字段称为业务主键;对自定义的表单提供了生成物理表的方式,那么表单的存储则通过在线生成的页面获取物理表必需要的数据,然后保存至物理表中。这需要在设计表单时,生成一套表单数据规范,在审批时,能够进行页面表单的数据验证及存储。另外,还需要对在执行过程中的表单进行权限控制,如同一节点上审批相同的表单,不同角色的人员对表单的字段的读写权限是不一样的。
在线表单设计功能要求:允许用户预先设置好一些带有漂亮格式的表单,如包括表头、表尾及样式,方便用户调整表单;允许用户在线进行在线布局,目前一般来说都是基于表格的布局方式;
设计表单字段控件、数据类型、数据验证:设计表单字段的输入控件类型及数据类型,用于保证用户输入的数据的正确性;
设置表单字段权限:用于控制表单的字段的读写权限,结合工作流的审批,可以更有效显示数据;
支持表单动态脚本:允许对表单控件加上交互脚本,以实现如一些级联更新等的数据交互等;
表单预览:可以在线实时显示表单的显示效果;
预设流程变量:把参与流程运算的表单字段标识为流程变量;
流程定义与业务表单绑定:在线表单可以用全局表单,则整个流程用同一个表单,如果每个流程节点的表单不一样,则可以通过设计表单,所以在启动流程时及在任务进行跳转时,均可以获取流程节点的表单设置,从而在启动流程或执行任务处理时能进行正确的表单展示。
Activiti其核心是BPMN2.0的流程引擎,其定义了流程的元模型和执行语义,即它自己解决了存储、交换和执行的问题。不仅仅可以在任何兼容BPMN2.0的引擎中执行,而且也可以在图形编辑器间交换。
Activiti的使用方便,只有一个jar包,使用时仅需要将其放在类路径中,Activiti也可以作为独立服务器的方式使用;同时Activiti提供了很多BPM高级工具,其中还包括开发了协作工具,使得开发人员、业务人员和运维人员能够更好的协同工作。
采用表单+流程就可以快速实现一个业务功能,开发人员可以把注意力集中在业务逻辑处理,流程交给Activiti管理,业务表单可以通过动态表单技术由业务人员设计完成。
具体实施方式
Activiti开发环境的配置
Activiti提供了基于Eclipse插件的开发工具和流程设计工具(需要Eclipse的版本为Helios或Indigo,如果尚未安装Eclipse,请从http://www.eclipse.org/downloads/下载安装最新版本的Eclipse集成开发环境。)。这些工具可以使用Eclipse的”Installnewsoftware”功能在线安装,安装方法如下:
在Eclipse的Help菜单中选择InstallNewSoftware选项,在弹出菜单中,点击AddRepository按钮添加新的远程SoftwareRepository,在Location中添加http://activiti.org/designer/update/作为Repository的远程地址。当新的Repository添加完成后,Eclipse会自动获取Repository中的软件列表。ActivitiBPMN2.0Designer的最新版本为5.8.1,选择所有选项然后等待安装完成即可。
当Eclipse插件安装完成后,选择File->Newproject选项新建一个项目,此时如果可以看到Activiti项目选项,证明Activiti的Eclipse开发环境的配置已经顺利完成。
Activiti功能示例
使用Activiti内置Eclipse项目
Activiti可以和多种Java企业级开发技术(Spring,JPA),动态开发语言(groovy)以及WebService开发工具(CXF)结合使用。在Actitivi的安装目录中的workspace文件夹中包含了Activiti自身特性和与这些开发技术结合使用的Eclipse项目示例(activiti-engine-examples、activiti-spring-examples、activiti-groovy-examples、activiti-jpa-examples、activiti-cxf-examples等Eclipse项目)。要使用这些示例项目,只需在Eclipse中使用”Import->ExistingProjectsintoWorkspace”从文件***中导入这些项目即可。
activiti-engine-examples项目中包含了使用Activiti大部分主要功能的示例代码,这些代码使用的流程定义信息都已经部署在项目使用的H2内存数据库中。流程的执行中产生的信息也都会使用持久化API存储在该H2内存数据库中。
使用ActivitiEclipse流程设计器设计Activiti流程定义
Activiti使用标准的BPMN2.0流程定义文件来描述工作流的定义。BPMN2.0流程定义文件是一个符合行业标准的XML格式的文件。在这个文件中包含了流程的流转序列,步骤节点以及各个节点上相关的用户,变量信息等流程元素。在BPMN2.0XML流程定义文件中还包含了各个流程元素在定义中的显示位置等信息,从而可以以图形化的方式来显示或编辑流程定义文件。目前已经有多种BPMN2.0流程定义文件的可视化编辑器。Activiti中提供了2种定义文件的可视化编辑器:WebApplication形式的ActivitiModeler和Eclipse插件形式的流程编辑器。ActivitiModeler必须部署在Web应用服务器中才能通过Web浏览器来使用而Eclipse插件形式的编辑器可以在Eclipse中直接使用,更好的结合了Activiti的流程设计和程序编码。在Activiti5.6版之后,ActivitiModeler已经不再包含在Activiti的下载中。本文使用Eclipse插件的流程设计工具来介绍BPMN2.0流程定义文件的使用。
在Eclipse项目中可以直接通过创建ActivitiDiagram的形式来创建一个流程定义文件并在可视化编辑器中编辑。如果项目中已经存在BPMN2.0流程定义XML文件,双击该文件Eclipse插件会自动生成一个后缀为.activiti的流程可视化编译文件。双击该文件可在可视化流程编辑器中打开该流程。
当流程定义文件设计完成后,可以使用以下的API代码获取RepositoryService,并使用该服务将流程定义文件部署到Activiti流程引擎中(本代码示例中流程定义文件名称为FinancialReportProcess.bpmn20.xml):
清单1.部署BPMN2.0流程定义文件
//获取RepositoryService
RepositoryServicerepositoryService=processEngine.getRepositoryService();
//使用RepositoryService部署流程定义
repositoryService.createDeployment().addClasspathResource("
FinancialReportProcess.bpmn20.xml").deploy();
Activiti基本编程
Activiti的Java编程模型的核心是ProcessEngine。所有其他service都必须从ProcessEngine对象获取,代码清单2展示了如何使用ActivitiJavaAPI获取ProcessEngine和其他Service对象。
清单2.使用ActivitiAPI获得各种Service对象
//使用默认配置文件获取ProcessEngine对象实例
ProcessEngineprocessEngine=
ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration().\
buildProcessEngine();
//通过ProcessEngine实例获得RepositoryService
RepositoryServicerepositoryService=processEngine.getRepositoryService();
//通过ProcessEngine实例获得RuntimeService
RuntimeServiceruntimeService=processEngine.getRuntimeService();
//通过ProcessEngine实例获得TaskService
TaskServicetaskService=processEngine.getTaskService();
HistoryServicehistoryService=processEngine.getHistoryService();
//通过ProcessEngine实例获得FormService
FormServiceformService=processEngine.getFormService();
//通过ProcessEngine实例获得ManagementService
ManagementServicemanagementService=processEngine.getManagementService();
//通过ProcessEngine实例获得IdentityService
IdentityServiceidentityService=processEngine.getIdentityService();
当获得了这些Service对象后,就可以使用这些Service对象来完成各种Activiti流程引擎的操作。在实际应用中需要综合使用各种服务来部署流程定义,启动流程实例,领取、查询完成用户任务以及查询流程运行历史纪录等Activiti流程引擎的主要功能。代码清单3展示了如何使用API代码来完成这一系列操作。该示例代码使用的BPMN2.0流程定义文件可以在activiti-engine-examples示例Eclipse工程中获取,使用到的用户和用户组也已经在demo***初始化时写入了Activiti的后端H2数据库。
清单3.使用Activiti的各种Service对象完成流程引擎的业务功能
//获取RepositoryService和RuntimeService实例
RepositoryServicerepositoryService=processEngine.getRepositoryService();
RuntimeServiceruntimeService=processEngine.getRuntimeService();
//使用RepositoryService部署流程定义
repositoryService.createDeployment().addClasspathResource("
FinancialReportProcess.bpmn20.xml").deploy();
//使用RuntimeService创建一个流程的实例
StringprocId=runtimeService.startProcessInstanceByKey("financialReport").getId();
//获取TaskService实例
TaskServicetaskService=processEngine.getTaskService();
//使用TaskService获取指定用户组的Task列表并使用指定用户领取这些任务
List<Task>tasks=\
taskService.createTaskQuery().taskCandidateGroup("accountancy").list();
for(Tasktask:tasks){
System.out.println("\
Followingtaskisavailableforaccountancygroup:"+task.getName());
//claimit
taskService.claim(task.getId(),"fozzie");
}
//使用TaskService获取指定用户的工作Task列表,并完成这些任务
tasks=taskService.createTaskQuery().taskAssignee("fozzie").list();
for(Tasktask:tasks){
System.out.println("Taskforfozzie:"+task.getName());
//Completethetask
taskService.complete(task.getId());
}
System.out.println("Numberoftasksforfozzie:"+
taskService.createTaskQuery().taskAssignee("fozzie").count());
//使用HistoryService来查询指定流程实例的状态
HistoryServicehistoryService=processEngine.getHistoryService();
HistoricProcessInstancehistoricProcessInstance=historyService.createHistoricProcessInstanceQuery().processInstanceId(procId).\singleResult();
System.out.println("Processinstanceendtime:"+\
historicProcessInstance.getEndTime());
清单3代码首先将流程定义文件FinancialReportProcess.bpmn20.xml部署到了Activiti引擎中(这个流程是activiti-engine-examples示例项目中内置的一个示例流程。共包含了2个顺序任务。第一个任务是Writemonthlyfinancialreport,关联的用户组为accountancy,第二个任务为Verifymonthlyfinancialreport,关联的用户组为management)。之后使用RuntimeService创建了一个流程的实例。实例创建完成后示例代码使用TaskService查询出该流程实例涉及到的accountancy组的任务,并使用accountancy组中的用户fozzie来领取并完成了该项任务。最后使用HistoryService来查询了该流程的运行状态。
Claims (7)
1.一种基于自定义表单、Activiti的工作流解决方法,其特征在于包括
1)、在表单与流程的整合中,把参与流程跳转的数据存到流程变量中去;
2)、流程实例与业务表单关联:基于1)设计的原则,流程中则不存储业务表单的数据,Activiti5在流程实例表及任务实例表相关运行表中增加了一个字段,用来关联业务表单的数据,把这个字段称为业务主键;对自定义的表单提供了生成物理表的方式,表单的存储则通过在线生成的页面获取物理表必需要的数据,然后保存至物理表中;在设计表单时,生成一套表单数据规范,在审批时,能够进行页面表单的数据验证及存储;另外,还需要对在执行过程中的表单进行权限控制;
3)、流程定义与业务表单绑定:在线表单可以用全局表单,则整个流程用同一个表单,如果每个流程节点的表单不一样,则可以通过设计表单,所以在启动流程时及在任务进行跳转时,均可以获取流程节点的表单设置,从而在启动流程或执行任务处理时能进行正确的表单展示。
2.根据权利要求1所述的方法,其特征在于,在线表单设计功能要求:允许用户预先设置好带有漂亮格式的表单,包括表头、表尾及样式,方便用户调整表单;允许用户在线进行在线布局,都是基于表格的布局方式。
3.根据权利要求1所述的方法,其特征在于,设计表单字段控件、数据类型、数据验证:设计表单字段的输入控件类型及数据类型,用于保证用户输入的数据的正确性。
4.根据权利要求1所述的方法,其特征在于,设置表单字段权限:用于控制表单的字段的读写权限,结合工作流的审批,可以更有效显示数据。
5.根据权利要求1所述的方法,其特征在于,支持表单动态脚本:允许对表单控件加上交互脚本,以实现级联更新等的数据交互。
6.根据权利要求1所述的方法,其特征在于,表单预览:可以在线实时显示表单的显示效果。
7.根据权利要求1所述的方法,其特征在于,预设流程变量:把参与流程运算的表单字段标识为流程变量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510659519.5A CN105373523A (zh) | 2015-10-14 | 2015-10-14 | 一种基于自定义表单、Activiti的工作流解决方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510659519.5A CN105373523A (zh) | 2015-10-14 | 2015-10-14 | 一种基于自定义表单、Activiti的工作流解决方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105373523A true CN105373523A (zh) | 2016-03-02 |
Family
ID=55375731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510659519.5A Pending CN105373523A (zh) | 2015-10-14 | 2015-10-14 | 一种基于自定义表单、Activiti的工作流解决方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105373523A (zh) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293915A (zh) * | 2016-08-04 | 2017-01-04 | 南京唯实科技有限公司 | 基于activiti5的工作引擎方法 |
CN106325887A (zh) * | 2016-09-19 | 2017-01-11 | 深圳市彬讯科技有限公司 | 一种基于Activiti的业务流程管理方法 |
CN106371851A (zh) * | 2016-09-19 | 2017-02-01 | 深圳市彬讯科技有限公司 | 一种基于Activiti的业务流程管理*** |
CN106779594A (zh) * | 2016-12-01 | 2017-05-31 | 江苏鸿信***集成有限公司 | 一种基于Activiti的工作流管理方法 |
CN106843836A (zh) * | 2016-12-21 | 2017-06-13 | 北京致远互联软件股份有限公司 | 动态表单的高级控件实现方法、装置及*** |
CN107273122A (zh) * | 2017-06-07 | 2017-10-20 | 深圳市卓讯信息技术有限公司 | 基于解耦机制的可迭代组建业务***的方法及其终端 |
CN107391470A (zh) * | 2017-07-12 | 2017-11-24 | 成都优易数据有限公司 | 一种基于表单设计器的单数据库表操作方法 |
CN107590282A (zh) * | 2017-09-29 | 2018-01-16 | 深圳市安诺软件有限公司 | 一种工作流引擎的处理方法及工作流引擎 |
CN107705201A (zh) * | 2017-10-24 | 2018-02-16 | 深圳麦亚信科技股份有限公司 | 一种用于优化信贷业务流程与数据关系的方法及其*** |
CN107766396A (zh) * | 2017-03-03 | 2018-03-06 | 平安医疗健康管理股份有限公司 | 资源数据管理方法及装置 |
CN108153546A (zh) * | 2017-12-25 | 2018-06-12 | 山大地纬软件股份有限公司 | 流程定义兼容性判定方法及判定*** |
CN108363776A (zh) * | 2018-02-09 | 2018-08-03 | 东莞嘉泰钟表有限公司 | 一种表格字段的自定义显示方法 |
WO2018210245A1 (zh) * | 2017-05-16 | 2018-11-22 | 成都牵牛草信息技术有限公司 | 工作流及其审批节点的表单字段操作权限的设定方法 |
CN108876316A (zh) * | 2018-08-14 | 2018-11-23 | 安徽云才信息技术有限公司 | 一种审批***自动关联业务数据的设计方法 |
CN109240732A (zh) * | 2018-08-29 | 2019-01-18 | 浪潮天元通信信息***有限公司 | 一种基于灵活规则的流程编排方法 |
CN109522031A (zh) * | 2018-08-29 | 2019-03-26 | 上海你我贷互联网金融信息服务有限公司 | 风控策略的部署和升级方法 |
CN109542556A (zh) * | 2018-10-30 | 2019-03-29 | 珠海伟诚科技股份有限公司 | 一种基于Activiti的流程与表单交互方法及*** |
CN110032717A (zh) * | 2018-01-12 | 2019-07-19 | 北京立思辰计算机技术有限公司 | 一站式流程业务标准化设计方法 |
CN110400116A (zh) * | 2018-04-24 | 2019-11-01 | 优信拍(北京)信息科技有限公司 | 一种基于企业办公流转审批的处理方法,装置及*** |
CN110414939A (zh) * | 2019-07-31 | 2019-11-05 | 浪潮软件集团有限公司 | 一种基于组件元素配置渲染表单及保存表单数据的方法 |
CN111027919A (zh) * | 2019-11-12 | 2020-04-17 | 中电科华云信息技术有限公司 | 一种基于政务数据共享属性的智慧城市政务数据审批流程方法 |
CN111382953A (zh) * | 2020-03-23 | 2020-07-07 | 中国建设银行股份有限公司 | 一种动态流程生成方法和装置 |
CN111460779A (zh) * | 2020-03-31 | 2020-07-28 | 杭州趣链科技有限公司 | 一种基于Activiti的流程表单数据渲染和存取方法 |
CN111506444A (zh) * | 2020-04-20 | 2020-08-07 | 北京易点淘网络技术有限公司 | 表单的审批方法、装置、存储介质及电子设备 |
CN111966332A (zh) * | 2020-07-16 | 2020-11-20 | 译筑信息科技(上海)有限公司 | 一种基于bim的自定义建筑施工现场表单业务处理方法 |
CN112036824A (zh) * | 2020-08-27 | 2020-12-04 | 北京新橙科技有限公司 | 业务审批方法、***、存储介质及电子设备 |
CN112667249A (zh) * | 2020-12-18 | 2021-04-16 | 易久批信息技术有限公司 | 基于Activiti工作流引强软件发布流程方法 |
CN112668295A (zh) * | 2021-01-15 | 2021-04-16 | 云南电网有限责任公司迪庆供电局 | 一种基于自定义表单和Activiti工作流的管理***及方法 |
CN113191127A (zh) * | 2021-04-30 | 2021-07-30 | 中核武汉核电运行技术股份有限公司 | 一种基于核电管理信息的自定义表单***及方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158896A (zh) * | 2007-08-31 | 2008-04-09 | 南京联创科技股份有限公司 | 基于mvc的业务组装和页面模板化开发web平台的方法 |
CN101477462A (zh) * | 2009-02-12 | 2009-07-08 | 山东浪潮齐鲁软件产业股份有限公司 | 一种用于动态改变***行为的模型驱动软件开发方法 |
CN101794226A (zh) * | 2010-03-08 | 2010-08-04 | 山东大学 | 一种适应多业务抽象层次的服务化软件构造方法和*** |
CN101819529A (zh) * | 2010-02-24 | 2010-09-01 | 上海引跑信息科技有限公司 | 用于实现工作流任务界面可视化开发的***和方法 |
CN102063306A (zh) * | 2011-01-06 | 2011-05-18 | 夏春秋 | 一种通过电子表单进行应用开发的技术实现方法 |
CN102298740A (zh) * | 2011-09-23 | 2011-12-28 | 深圳市华波美通信技术有限公司 | 一种业务流程管理支持方法 |
CN102331925A (zh) * | 2010-11-05 | 2012-01-25 | 周尚民 | 软件快速开发平台 |
CN103744647A (zh) * | 2013-10-18 | 2014-04-23 | 北京邮电大学 | 一种基于工作流GPD的Java工作流开发***及其方法 |
CN104793961A (zh) * | 2015-05-10 | 2015-07-22 | 黄伟 | 使用原生Web代码的快速JavaWeb开发方法及*** |
-
2015
- 2015-10-14 CN CN201510659519.5A patent/CN105373523A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158896A (zh) * | 2007-08-31 | 2008-04-09 | 南京联创科技股份有限公司 | 基于mvc的业务组装和页面模板化开发web平台的方法 |
CN101477462A (zh) * | 2009-02-12 | 2009-07-08 | 山东浪潮齐鲁软件产业股份有限公司 | 一种用于动态改变***行为的模型驱动软件开发方法 |
CN101819529A (zh) * | 2010-02-24 | 2010-09-01 | 上海引跑信息科技有限公司 | 用于实现工作流任务界面可视化开发的***和方法 |
CN101794226A (zh) * | 2010-03-08 | 2010-08-04 | 山东大学 | 一种适应多业务抽象层次的服务化软件构造方法和*** |
CN102331925A (zh) * | 2010-11-05 | 2012-01-25 | 周尚民 | 软件快速开发平台 |
CN102063306A (zh) * | 2011-01-06 | 2011-05-18 | 夏春秋 | 一种通过电子表单进行应用开发的技术实现方法 |
CN102298740A (zh) * | 2011-09-23 | 2011-12-28 | 深圳市华波美通信技术有限公司 | 一种业务流程管理支持方法 |
CN103744647A (zh) * | 2013-10-18 | 2014-04-23 | 北京邮电大学 | 一种基于工作流GPD的Java工作流开发***及其方法 |
CN104793961A (zh) * | 2015-05-10 | 2015-07-22 | 黄伟 | 使用原生Web代码的快速JavaWeb开发方法及*** |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293915A (zh) * | 2016-08-04 | 2017-01-04 | 南京唯实科技有限公司 | 基于activiti5的工作引擎方法 |
CN106325887A (zh) * | 2016-09-19 | 2017-01-11 | 深圳市彬讯科技有限公司 | 一种基于Activiti的业务流程管理方法 |
CN106371851A (zh) * | 2016-09-19 | 2017-02-01 | 深圳市彬讯科技有限公司 | 一种基于Activiti的业务流程管理*** |
CN106325887B (zh) * | 2016-09-19 | 2020-02-18 | 深圳市彬讯科技有限公司 | 一种基于Activiti的业务流程管理方法 |
CN106371851B (zh) * | 2016-09-19 | 2019-12-03 | 深圳市彬讯科技有限公司 | 一种基于Activiti的业务流程管理*** |
CN106779594A (zh) * | 2016-12-01 | 2017-05-31 | 江苏鸿信***集成有限公司 | 一种基于Activiti的工作流管理方法 |
CN106843836A (zh) * | 2016-12-21 | 2017-06-13 | 北京致远互联软件股份有限公司 | 动态表单的高级控件实现方法、装置及*** |
CN107766396B (zh) * | 2017-03-03 | 2020-03-27 | 平安医疗健康管理股份有限公司 | 资源数据管理方法及装置 |
CN107766396A (zh) * | 2017-03-03 | 2018-03-06 | 平安医疗健康管理股份有限公司 | 资源数据管理方法及装置 |
WO2018210245A1 (zh) * | 2017-05-16 | 2018-11-22 | 成都牵牛草信息技术有限公司 | 工作流及其审批节点的表单字段操作权限的设定方法 |
CN107273122B (zh) * | 2017-06-07 | 2020-12-08 | 深圳市卓讯信息技术有限公司 | 基于解耦机制的可迭代组建业务***的方法及其终端 |
CN107273122A (zh) * | 2017-06-07 | 2017-10-20 | 深圳市卓讯信息技术有限公司 | 基于解耦机制的可迭代组建业务***的方法及其终端 |
CN107391470A (zh) * | 2017-07-12 | 2017-11-24 | 成都优易数据有限公司 | 一种基于表单设计器的单数据库表操作方法 |
CN107590282A (zh) * | 2017-09-29 | 2018-01-16 | 深圳市安诺软件有限公司 | 一种工作流引擎的处理方法及工作流引擎 |
CN107705201B (zh) * | 2017-10-24 | 2021-06-18 | 深圳麦亚信科技股份有限公司 | 一种用于优化信贷业务流程与数据关系的方法及其*** |
CN107705201A (zh) * | 2017-10-24 | 2018-02-16 | 深圳麦亚信科技股份有限公司 | 一种用于优化信贷业务流程与数据关系的方法及其*** |
CN108153546A (zh) * | 2017-12-25 | 2018-06-12 | 山大地纬软件股份有限公司 | 流程定义兼容性判定方法及判定*** |
CN110032717B (zh) * | 2018-01-12 | 2022-03-08 | 北京立思辰计算机技术有限公司 | 一站式流程业务标准化设计方法 |
CN110032717A (zh) * | 2018-01-12 | 2019-07-19 | 北京立思辰计算机技术有限公司 | 一站式流程业务标准化设计方法 |
CN108363776A (zh) * | 2018-02-09 | 2018-08-03 | 东莞嘉泰钟表有限公司 | 一种表格字段的自定义显示方法 |
CN110400116A (zh) * | 2018-04-24 | 2019-11-01 | 优信拍(北京)信息科技有限公司 | 一种基于企业办公流转审批的处理方法,装置及*** |
CN108876316A (zh) * | 2018-08-14 | 2018-11-23 | 安徽云才信息技术有限公司 | 一种审批***自动关联业务数据的设计方法 |
CN109522031A (zh) * | 2018-08-29 | 2019-03-26 | 上海你我贷互联网金融信息服务有限公司 | 风控策略的部署和升级方法 |
CN109240732A (zh) * | 2018-08-29 | 2019-01-18 | 浪潮天元通信信息***有限公司 | 一种基于灵活规则的流程编排方法 |
CN109542556A (zh) * | 2018-10-30 | 2019-03-29 | 珠海伟诚科技股份有限公司 | 一种基于Activiti的流程与表单交互方法及*** |
CN109542556B (zh) * | 2018-10-30 | 2022-04-15 | 珠海伟诚科技股份有限公司 | 一种基于Activiti的流程与表单交互方法及*** |
CN110414939A (zh) * | 2019-07-31 | 2019-11-05 | 浪潮软件集团有限公司 | 一种基于组件元素配置渲染表单及保存表单数据的方法 |
CN111027919A (zh) * | 2019-11-12 | 2020-04-17 | 中电科华云信息技术有限公司 | 一种基于政务数据共享属性的智慧城市政务数据审批流程方法 |
CN111382953A (zh) * | 2020-03-23 | 2020-07-07 | 中国建设银行股份有限公司 | 一种动态流程生成方法和装置 |
CN111460779A (zh) * | 2020-03-31 | 2020-07-28 | 杭州趣链科技有限公司 | 一种基于Activiti的流程表单数据渲染和存取方法 |
CN111460779B (zh) * | 2020-03-31 | 2024-03-15 | 杭州趣链科技有限公司 | 一种基于Activiti的流程表单数据渲染和存取方法 |
CN111506444A (zh) * | 2020-04-20 | 2020-08-07 | 北京易点淘网络技术有限公司 | 表单的审批方法、装置、存储介质及电子设备 |
CN111966332A (zh) * | 2020-07-16 | 2020-11-20 | 译筑信息科技(上海)有限公司 | 一种基于bim的自定义建筑施工现场表单业务处理方法 |
CN112036824A (zh) * | 2020-08-27 | 2020-12-04 | 北京新橙科技有限公司 | 业务审批方法、***、存储介质及电子设备 |
CN112667249A (zh) * | 2020-12-18 | 2021-04-16 | 易久批信息技术有限公司 | 基于Activiti工作流引强软件发布流程方法 |
CN112668295A (zh) * | 2021-01-15 | 2021-04-16 | 云南电网有限责任公司迪庆供电局 | 一种基于自定义表单和Activiti工作流的管理***及方法 |
CN113191127A (zh) * | 2021-04-30 | 2021-07-30 | 中核武汉核电运行技术股份有限公司 | 一种基于核电管理信息的自定义表单***及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105373523A (zh) | 一种基于自定义表单、Activiti的工作流解决方法 | |
US10019239B2 (en) | Systems and methods for enhancing software products through integrated development environment running on host computer | |
US7953767B2 (en) | Developing applications using configurable patterns | |
US8312382B2 (en) | Developing and executing applications with configurable patterns | |
US7761865B2 (en) | Upgrading pattern configurations | |
US8296665B2 (en) | Developing and executing applications with configurable patterns | |
US7925985B2 (en) | Methods and apparatus for process thumbnail view | |
US8386996B2 (en) | Process extension wizard for coherent multi-dimensional business process models | |
US9021419B2 (en) | System and method for supporting intelligent design pattern automation | |
US20040187140A1 (en) | Application framework | |
US8126937B2 (en) | Visual database modeling | |
US7434203B2 (en) | Software logistics for pattern-based applications | |
US20090006150A1 (en) | Coherent multi-dimensional business process model | |
US20050257198A1 (en) | Testing pattern-based applications | |
US20050114361A1 (en) | Method and apparatus for integrating data repositories and frameworks | |
Schumm et al. | Process viewing patterns | |
CN101403968B (zh) | 一种基于模板的模型驱动软件开发方法和*** | |
Boucher et al. | Deriving configuration interfaces from feature models: A vision paper | |
US20050257190A1 (en) | Developing and executing applications with configurable patterns | |
US20070027909A1 (en) | Methods and apparatus for comparison of projects | |
Doedt et al. | An evaluation of service integration approaches of business process management systems | |
Lazetic et al. | A generator of MVC-based web applications | |
Gnatz et al. | The living software development process | |
Gill | Using React Native for mobile software development | |
EP3462309A1 (en) | Method for generating user interfaces from a manufacturing application model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160302 |