Activiti是一个工作流引擎,activiti可以将业务系统中复杂的业务流程抽取出来,使用专门的建模语言(BPMN2.0)进行定义,业务系统按照预先定义的流程进行执行,实现了业务系统的业务流程由activiti进行管理,减少业务系统由于流程变更进行系统升级改造的工作量,从而提高系统的健壮性,同时也减少了系统开发维护成本。
Bpm(Business Process Management),业务流程管理,是一种理念,以持续的提高组织业务绩效为目的系统化方法,常见商业管理教育如EMBA、MBA等均将BPM包含在内。
其实就是要用activiti里面的逻辑完成实际中的业务问题,activiti定位是辅助业务系统的。
推荐搭配:activiti工作流框架+bpmn-js或VUE版前端 github地址
开发测试的activiti插件 :
下图是bpmn-js
是不是很友好
<dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter-basic</artifactId> <version>5.22.0</version> </dependency>
# activiti default configuration #在activiti的默认配置中,process-definition-location-prefix 是指定activiti流程描述文件的前缀(即路径), #启动时,activiti就会去寻找此路径下的流程描述文件,并且自动部署;suffix 是一个String数组,表示描述文件的默 认后缀名,默认以上两种。 activiti: database-schema-update: true #是否每次都更新数据库 # 自动部署验证设置:true-开启(默认)、false-关闭 check-process-definitions: true # activti是否自动部署 process-definition-location-prefix: classpath:/processes/ #process-definition-location-suffixes: .bpmn history-level: full #db-history-used: true db-identity-used: false
import org.activiti.engine.ProcessEngineConfiguration; import org.activiti.spring.SpringProcessEngineConfiguration; import org.activiti.spring.boot.AbstractProcessEngineAutoConfiguration; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.jdbc.DataSourceBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.transaction.PlatformTransactionManager; import javax.sql.DataSource; @Configuration public class ActitytiSourceConfig extends AbstractProcessEngineAutoConfiguration { @Bean(name = "MyDataSource") @ConfigurationProperties(prefix = "spring.datasource") public DataSource MyDataSource(){ return DataSourceBuilder.create().build(); } @Bean public PlatformTransactionManager transactionManager() { return new DataSourceTransactionManager(MyDataSource()); } @Bean public SpringProcessEngineConfiguration springProcessEngineConfiguration() { SpringProcessEngineConfiguration configuration = new SpringProcessEngineConfiguration(); //配置数据库 configuration.setDataSource(MyDataSource()); configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE); configuration.setJobExecutorActivate(true); configuration.setTransactionManager(transactionManager()); return configuration; } }
至此整合完毕。
总结:使用流程大概是这样的,其余部分就是activiti的API使用。后续会更新……