Activiti是一個工做流引擎,activiti能夠將業務系統中複雜的業務流程抽取出來,使用專門的建模語言(BPMN2.0)進行定義,業務系統按照預先定義的流程進行執行,實現了業務系統的業務流程由activiti進行管理,減小業務系統因爲流程變動進行系統升級改造的工做量,從而提升系統的健壯性,同時也減小了系統開發維護成本。前端
Bpm(Business Process Management),業務流程管理,是一種理念,以持續的提升組織業務績效爲目的系統化方法,常見商業管理教育如EMBA、MBA等均將BPM包含在內。java
其實就是要用activiti裏面的邏輯完成實際中的業務問題,activiti定位是輔助業務系統的。git
推薦搭配:activiti工做流框架+bpmn-js或VUE版前端 github地址
開發測試的activiti插件 :github
下圖是bpmn-jsspring
是否是很友好sql
<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使用。後續會更新……後端