java工作流引擎开发activiti,请问下JAVA用什么工作流引擎比较方便简单
java工作流引擎开发activiti,请问下JAVA用什么工作流引擎比较方便简单详细介绍
本文目录一览: java activiti
java activiti是什么,让我们一起了解一下?
Activiti项目是一项新的基于Apache许可的开源BPM平台,覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架,特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务。
Activiti执行的前期支持是什么?
1、首先我们要知道ProcessEngine对象,是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。
2、然后是Activiti数据库支持:
Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
ACT_RU_*: 'RU'表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组等等。
ACT_HI_*: 'HI'表示history。 这些表包含历史数据,比如历史流程实例, 变量,任务等等。
ACT_GE_*: 通用数据, 用于不同场景下,如存放资源文件。
那么java中如何执行activiti?
说明:自定义一个简单流程,然后在main中直接通过控制台输入信息然后控制流程。
1、创建一个maven项目 引入依赖:pom.xml ???? 4.0.0 ???? ???????? org.springframework.boot ???????? spring-boot-starter-parent ???????? 1.5.10.RELEASE ???? ???? com.jy.activiti ???? activiti6-helloworld ???? 1.0-SNAPSHOT ???? ???????? ???????????? org.springframework.boot ???????????? spring-boot-starter ???????? ???????? ???????? ???????????? org.activiti ???????????? activiti-engine ???????????? 6.0.0 ???????? ???????? ???????? ???????????? junit ???????????? junit ???????????? 4.11 ???????????? test ???????? ???????? ???????? ???????????? ch.qos.logback ???????????? logback-classic ???????????? 1.1.11 ???????? ???????? ???????? ???????????? com.google.guava ???????????? guava ???????????? 23.0 ???????? ???????? ???????? ???????????? com.h2database ???????????? h2 ???????????? 1.3.176 ???????? ???? ???? ???????? ???????????? ???????????????? org.springframework.boot ???????????????? spring-boot-maven-plugin ???????????? ???????? ????
java工作流怎么用activity
java工作流怎么用activity
常用的是:activiti-engine-5.91.jar,activiti-spring-5.9.jar;
解释:以上两个只是activiti工作流的常用包,通常会配置如spring开发的java包,还有数据库jar包等进行使用,但具体要用到什么包,这个和业务开发的逻辑有关系,也没办法进行详细说明的,所以只需要先下载常用的两个,其余的辅助包如:日志包、spring包、数据库包、hibernate包、struts包、mybatis包等根据实际需要添加即可。
java工作流引擎中,哪个在市面上用得最多?
1、如果你IT公司想要把这个工作流引擎加到你公司已有开发工具开发框架中,或者你是个人爱好,那花点时间去研究下jbpm、activity都是可以的,两者用的人都蛮多,历史也蛮久,很难说哪个好哪个不好;
2、如果是想要商用或者想要快速使用,比如两三个月就能让企业用起来并且发挥很大的作用,那建议找专业的BPM厂商,比如广州天翎、北京炎黄、蓝凌泛微也行,他们大多发展10年+了,产品已经很成熟,也已经有诸多用户实际用过,这样免去了你去当小白鼠的成本和风险;
3、好的产品不仅要现在好,还要从长远考虑将来也好,所以结合我们公司选型工作流厂商的经验建议如下:(1)要微服务架构,现在企业的信息化系统太多了,这个工作流要能够平台化使用也要能够单独调用和第三方系统整合;(2),现在国家经济下行,企业发展压力和风险大,之前的信息化建设大多五花八门重复浪费,现在强调一体化管理,所以要能够支持pass服务,打造成集团统一流程云平台,用多租户模式服务下属子公司;(3)国外流程讲求体系化规范化,但到了中国,中国的领导是很难伺候的,有各种癖好和习惯,所以这个工作流要支持中国式管理实际业务,比如加签、比如自由流转、比如父子流程嵌套、比如自动节点、。。。我就不一一举例了,所以要有政府和集团型的实际案例。
SDP开发平台有相应的工作流引擎!
国外针对两者的一个调查,仅供参考!
总之,很难说谁领先多少,仁者见仁智者见智吧。
jbpm较早(2004左右推出),而activiti晚一些(2010左右推出),但是后者有奋起直追的趋势!
主要用JBPM和OSWorkFlow 。
JBPM主要是JPDL语言的学习,主要是用来编写流程文件;理解3个接口:动作处理接口(提供影响流程执行的方法,在event和action元素中被回调),判定处理接口(用在decision判定节点中,提供方法来判定节点的转向),委派处理接口(用在task的委派子元素assignment中,用来指定将任务分配给指定的人员或角色)。
OSWorkFlow 主要是工作流文件定义的元素,主要用来编写工作流;OSWorkFlow.xml及propertySet.xml文件的配置;InputMap接口、Workflow 接口及WorkflowDescriptor接口。
jbpm是业界当前用得最多的工作流引擎,应该算是比较好的,但是相对于国内的工作流模式还是要完善不少的内容。
这个链接可以帮你了解更多http://blog.csdn.net/victor16345/article/details/5614676
一起来看看java快速开发框架工作流引擎快速开发平台。 希望您能从中找到适合您自己的流程引擎。
Activiti是由jBPM 的创建Tom Baeyen离JBoss之后建立的项目,构建在开发 jBPM 版本1到4时积累的多年经验的基础之上,旨在创建下一代的 BPM 解决方案。文档丰富,csdn有相应专栏,并且国人贡献了一本《activiti实战》详细地讲解了基于activiti的开发内容,网上教程资源丰富。Activiti上手比较快,界面也比较简洁、直观,学习周期相对较短。
官方提供webapp war包,部署在Tomcat下可快速操作和了解activiti,esclipse提供支持activiti项目的ide插件,总的来说环境支持良好。
代码量大,核心代码改动难度较大,但提供了完整的技术文档,架构良好,网上开发文档较多,一定上降低了二次开发的难度。
支持,用户体验好,但是流程设计器是英文版,还需要汉化。
支持多种表单:动态表单,外置表单,普通表单,但表单设计未集成,需要自己集成表单设计。
支持绝大部分工作流功能,符合中国国情的审批流程需要在此基础上进行开发。
JBPM(Java Business Process Management):JAVA业务流程管理,是一个可扩展、灵活、开源的流程引擎, 它可以运行在独立的服务器上或者嵌入任何Java应用中。
1、jBPM3是一个完整的工作流系统实现,面向开发人员,目的在于简化对组织核心流程进行支撑的软件创建,不支持标准。
2、jBPM4引入PVM,使其拥有更强大的扩展性,同时增加BPMS特性,这些特性包括了对BPMN的支持、面向业务人员的Web建模器和简单统计分析功能的加入。
3、jBPM5基于原先的Drools Flow,支持BPMN,通过与Drools的合并支持BAM,通过内容仓库增加对流程可视化的支持。由于放弃了jBPM4的PVM,引擎的可扩展性受到损害,并且不再支持jPDL。
JBoss Seam,算得上是Java开源框架里面最优秀的快速开发框架之一。
Seam是一个很棒的选择,作为程序员来说,要比用 Spring/Hibernate/Struts省心的多,更能够把精力放在业务逻辑的编写上面,开发效率也很不错,可能是Java开源框架里面最优秀的快速开发框架之一了。
Activti的学习价值比较高,是工作流入门的好教材,可以学习里面好的代码风格和思路。Activiti最大的优点就是免费开源,小项目中应用简单的串行并行流转基本能满足需求。现在很多开发人员会选择它。但是要拿Activiti做到中国式的企业级应用门槛和难度很高。想用Activiti来做符合中国国情的审批流程,其实还需要做大量的开发封装。接下来介绍一款基于Activiti扩展的工作流引擎。
XJR java快速开发框架工作流程引擎:采用主流的Activiti工作流引擎,遵循bpmn规范,可实现XML、Json一键导入导出,以及添加了人员动态选择、便捷式会签设置、便捷式任务委托设置、添加自定义表单、自定义节点按钮、动态变量选择(包括会签变量、按钮变量、表单变量)以及各节点属性优化,遵循以客户为中心的优化原则,将整个流程的操作变得简单、快捷,实现0基础客户短时间可自由编辑流程模板。
XJR快速开发平台可视化开发,高效快速,开发成本低。兼容强,支持多种数据库,基于B/S架构,纯浏览器应用,只需要拖拽组件,拼接流程,就能实现各层的审批。面向服务接口设计,容易整合企业现有的资源。前后端分离设计,采用shiro权限验证,通过简单配置就可以实现功能权限和数据权限。开源级代码,二次扩展强。
XJR快速开发平台技术选型
使用目前流行的多种web技术,包括springboot, JPA,Druid, Activiti,Lombok,swagger,poi,WebSocket,Jquery,BootStrap, maven,Jenkins 等等,支持多种数据库MySQL, Oracle, sqlserver等。 分层设计:使用分层设计,分为dao,service,Controller,view层,层次清楚,低耦合,高内聚。 安全考虑:严格遵循了web安全的规范,前后台双重验证,参数编码传输,密码md5加密存储,shiro权限验证,从根本上避免了SQL注入,XSS攻击,CSRF攻击等常见的web攻击手段。
模块功能
功能模块:开发向导、代码 生成器,商业智能、工作流、报表管理、移动端开发、作业计划、多语言、数据源管理、企业微信、钉钉、消息管理,菜单 管理,用户管理,机构管理,角色管理,区域管理,字典管理,日志查询等基础模块。
java开发中工作流那块是用jbpm的多呢 还是activiti的多呢?
方法一:开始,运行,输入cmd,再输入“systemInfo”,拉到上面看“系统类型”,X86的是32位机,64位的是X64(不过,系统是64位的,此处才显示64位)。如果你的系统是64位的,会在“OS?名称:?MicrosoftXP?Professional”一行后明确标示出“x64?Edition”,否则你的系统就是32位的。?
方法二:在开始>运行中输入“winver”,如果你的系统是64位的,同样会明确标示出“x64?Edition”。?
方法三:查看“控制面板”中的“系统属性”?
单击“开始”,然后单击“运行”。键入?sysdm.cpl,然后单击“确定”。单击“常规”选项卡。操作系统显示如下:?
对于?64?位版本的操作系统:“系统”下将显示?Windows?XP?Professional?x64?Edition?版本?
。?
对于?32?位版本的操作系统:“系统”下将显示?Windows?XP?Professional?版本?
。?注意
?是一个表示年份的占位符。?方法?四:查看“系统信息”窗口?
单击“开始”,然后单击“运行”。键入?winmsd.exe,然后单击“确定”。?
当导航窗格中已选择“系统摘要”,找到“详细信息”窗格中“项目”下的“处理器”,然后记下该值。?
如果“处理器”对应的值以“x86”开头,表明该计算机运行的是?32?位版的?Windows?操作系统
如果“处理器”对应的值以“ia64”或“AMD64”开头,表明该计算机运行的是?64?位版的?Windows?操作系统?
右键打开我的电脑属性,没有“物理地址扩展”的是32位,有“物理地址扩展”的是64位如果这个方法无效,请尝试其他方法。
java--->jbpm
android---->activity
activiti是潮流,已经取代jbpm
具有一定操作流程的,就需要用到工作流技术了。
JBPM,全称是Java Business Process
Management(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。jBPM是公开源代码项目,使用它要遵循
ASL(Apache License Version 2.0)和EULA(JBoss End User License Agreement)协议。
jBPM在2004年10月18日,发布了2.0版本,并在同一天加入了JBoss,成为了JBoss企业中间件平台的一个组成部分,它的名称也改成JBoss
jBPM。
Alfresco软件在2010年5月17日宣布Activiti业务流程管理(BPM)开源项目的正式启动,其首席架构师由业务流程管理BPM的专家 Tom
Baeyens担任的。
java 工作流引擎有什么用
所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎包括流程的节点管理、流向管理、流程样例管理等重要功能。
个人觉得一个好的工作流系统,必须是灵活可配置的,一、作为工作流引擎嵌入其他业务系统中,提供专属的流程服;二、作为工作流管理服务中心部署在支撑层,为多个业务系统同时提供流程服务,这个可以去看看天翎的平台,具体的还是你自己去了解吧
java 工作流引擎适用于多个行业领域及需求场景,利用低代码开发平台可高效提供需求建模、系统设计、开发部署、仿真测试、运行维护和版本更新的软件开发全生命周期支持!
还可快速构建OA协同、公文督办、KM文库、项目管理、采购管理、生产管理、供应链管理、营销管理等一些列职能类和业务类管理系统并提供PC与移动多应用端入口。
提供BPM流程管控、数据跨平台采集和报表展示、原系统流程补强、OA升级/替换、统一门户、移动办公、多租户SaaS应用和智能硬件对接等解决方案。
java 的工作流框架 Activiti流程控制,一个流程走完了,如何触发最后的事件。
在pl/sql developer工具,也可以在其企业管理器中进去后中选sequence,然后新建,写上序列号名称seq,最小值写1,最大值不用管,开始于写1,增量是1,其它的默认就行了
sequence有两个用法,一个是得到后面一个值,一个是得到当前序列号的值
sequence.nextval得到是下一个序列号值
sequence.currval得到是当前序列号的值
你可以用select sequence.currval from seq
序列号建完后就入表里面插入
insert into table (id,name,age) values (seq.nextval,'刘翔','20');
这样就ok了
请问下JAVA用什么工作流引擎比较方便简单
我所知道的就是osworkflow,最大特点就是灵活。也就是说它提供了一个引挚,在此基础上你可以进行扩展,可以自已写一些条件、动作类,只是继承它的接口就行,不需要修改它的源代码。
jBPM,最常用的,资料最多。
框架吧 按照某种模式
工作流引擎有很多种,java语言的也有很多厂家,譬如:天翎、普元、天纵等。开源的有activet,如果说谁的简单方便,我个人的建议,你最好针对工具去做下试用:
现在很多产品都可以开箱即用的,如果可以就去尝试下,如果没有调查就没有发言权,你如果没有试用,就无从给出合适的建议和说法,永远停留在很浅显的领域和问题上。
有很多厂家的都是号称拖拉拽配置实现。
1、封装和很多控件,流程节点和流程子流程和流程创建
2、针对流程审批也有很多方式的选择,有直接勾选组织架构和角色,也有沟通过脚本直接演绎复杂的业务逻辑实现的
3、流程时效提醒:有多种方式,微信,钉钉和短信,消息中心以及邮件
简单的流程都是可以通过配置的控件直接勾选就可以i实现的。只要会用Excel基本上都可以实现的。
管理顾问,每天成长一点点,努力成就自己的优秀。
java工作流配置多个表单
在Java工作流配置多个表单时,我们可以采用BPMN(Business Process Model and Notation)规范来处理。在BPMN中,我们可以使用多个UserTask节点来代表多个表单,每个UserTask节点都有自己的ID和名称,可以在流程定义文件中进行配置。我们可以在每个UserTask节点中定义对应的表单,包括字段、验证规则等,以便于在工作流执行过程中使用。同时,我们还可以在流程中添加Gateway节点来根据条件判断流向,以实现不同的表单流程。除此之外,还可以使用相关的工作流框架(如Activiti)来进行配置,具体实现可以参考相关文档和示例。
求大神指点!!!java,activiti工作流id和配置文件没问题,但是执行时一直抛异常
包含了所有Activiti的jar包(和源代码jar包)。依赖没有用这种方式发布。 Activiti引擎必须的依赖如下所示(通过mvn dependency:tree生成):
org.activiti:activiti-engine:jar:5.12.1
+- org.apache.commons:commons-email:jar:1.2:compile | +- javax.mail:mail:jar:1.4.1:compile
| \- javax.activation:activation:jar:1.1:compile +- org.apache.commons:commons-lang3:jar:3.1:compile +- org.mybatis:mybatis:jar:3.1.1:compile
+- org.springframework:spring-beans:jar:3.1.2.RELEASE:compile | \- org.springframework:spring-core:jar:3.1.2.RELEASE:compile | +- org.springframework:spring-asm:jar:3.1.2.RELEASE:compile
| \- commons-logging:commons-logging:jar:1.1.1:compile \- joda-time:joda-time:jar:2.1:compile
注意:只有使用了mail service task才必须引入mail依赖jar。
所有依赖可以在Activiti 源码的模块中, 通过mvn dependency:copy-dependencies下载
什么是工作流引擎?
工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎包括了,流程的节点管理、流向管理、流程样例管理等重要功能。
工作流引擎,主要是实现业务流程的规则抽象,模型的建立,解释,以及为流程实例提供运行环境,并解释执行流程实例。
工作流引擎必须要包含一个工作流模型的设计,工作流模型就是对业务流程抽象的一个模型,是整个工作流引擎的基础。所以模型设计的好坏决定引擎的功能是否灵活,也决定了工作流管理系统从设计实现到运行实施等诸多环节。
例如开发一个系统最关键的部分不是系统的界面,也不是和数据库之间的信息交换,而是如何根据业务逻辑开发出符合实际需要的程序逻辑并确保其稳定性、易维护性(模块化和结构化)和弹性(容易根据实际业务逻辑的变化作出程序上的变动,例如决策权的改变、组织结构的变动和由于业务方向的变化产生的全新业务逻辑等等)。 Workflow 引擎解决的就是这个问题:如果应用程序缺乏强大的逻辑层,势必变得容易出错(信息的路由错误、死循环等等)。
所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。
例如开发一个系统最关键的部分不是系统的界面,也不是和数据库之间的信息交换,而是如何根据业务逻辑开发出符合实际需要的程序逻辑并确保其稳定性、易维护性(模块化和结构化)和弹性(容易根据实际业务逻辑的变化作出程序上的变动,例如决策权的改变、组织结构的变动和由于业务方向的变化产生的全新业务逻辑等等)。 Workflow 引擎解决的就是这个问题:如果应用程序缺乏强大的逻辑层,势必变得容易出错(信息的路由错误、死循环等等)。
工作流引擎在软件开发中是不可避免或缺的重要一个环节,市面上开源的工作流引擎有Activiti,后来有Camunda等,但对于使用者来说,如果需要精通必须同时掌握Java语言、BPMN、XML语法和图形符号,需要在这三者之间做到一一对应。 对参与人员的逻辑能力要求非常高,因为这些都是语言符号,只是表达逻辑的形式而已,那不如直接用Java开发的更简单方便。 市面上也有直接用java开发的工作流引擎,如天翎、奥哲、炎黄等。
工作流引擎的概念起源于生成组织和办公自动化领域。它是针对日常工作中具有固定程序的活动而提出得一个概念。
工作流引擎的主要特点是使处理过程自动化,通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对他们进行监控,使人以及各种应用相互之间协调工作,完成某项目工作,达到提高办公效率、降低生成成本、提高企业生成经营管理水平和企业竞争力。在企业信息化的宏观背景下工作流逐渐成为被业界广泛应用并迅速的发展的技术。
青谷工作流引擎产品定位如下:一、作为工作流引擎嵌入其他业务系统中,提供专属的流程服务;二、作为工作流管理服务中心部署在支撑层,为多个业务系统同时提供流程服务。
工作流引擎通常按照有限状态机进行设计,简单来说,就是把事件状态的变化过程规则化,比如行政办公流程、费用报销流程。OA系统的工作流引擎包括了规则的定义(状态、任务、工单)、数据绑定、状态变更前后的触发动作接口,web服务等。
工作流(Workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。
工作流管理系统(Workflow Management System, WfMS)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。
工作流属于计算机支持的协同工作(Computer Supported Cooperative Work,CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。
工作流的主要功能:
----工作流管理系统(WorkflowManagementSystem,WFMS)是定义、创建、执行工作流的系统。在最高层上,WFMS应能提供以下三个方面的功能支持:
?8?4 建造功能:对工作流过程及其组成活动定义和建模;
?8?4 运行控制功能:在运行环境中管理工作流过程,对工作流过程中的活动进行调度;
?8?4 运行交互功能:指在工作流运行中,WFMS与用户(业务工作的参与者或控制者)及外部应用程序工具交互的功能。
工作流管理系统带来的好处:
----由于信息技术的发展和日趋激烈的商业竞争,人们不再满足于独立、零散的办公自动化和计算机应用,而是需要综合的、集成化的解决方案。作为一种对常规性事务进行管理、集成的技术,WFMS的出现是必然的。它可以带来以下收益:
?8?4 改进和优化业务流程,提高业务工作效率;
?8?4 实现更好的业务过程控制,提高顾客服务质量;
?8?4 提高业务流程的柔性等。
工作流系统的主要组成部分
1.过程定义工具
----过程定义工具被用来创建计算机可处理的业务过程描述。它可以是形式化的过程定义语言或对象关系模型,也可以是简单地规定用户间信息传输的一组路由命令。
----2.过程定义
----过程定义(数据)包含了所有使业务过程能被工作流执行子系统执行的必要信息。这些信息包括起始和终止条件、各个组成活动、活动调度规则、各业务的参与者需要做的工作、相关应用程序和数据的调用信息等。
金诺科技的OA采用微软唯一的工作流平台Workflow Foundation来开发产品的工作流,Workflow Foundation是微软四大核心技术之一,为微软产品及相关应用程序提供通用的工作流设计平台和开发工具,它是一个进程内的工作流引擎,运行在内存中,速度快并且稳定,这是一般工作流所不具备的,金诺OA用户可以自行定义修改流程,从而实现自由流程和固定流程的完美集合,以适应需求的变化,操作也非常简单,只要通过拖拽就可以现实工作流的定义! =================================================================================希望采纳!O(∩_∩)O~