activiti官网:https://www.activiti.org
activiti插件官网:https://www.activiti.org/designer/update/
发展史,jBPM4之前,创始人因技术路线问题分家。从对比可以看出技术路线,Activiti5与jBPM5技术组成对比:
序号 | 技术组成 | Activiti | jBPM5 |
1 | 数据库持久层ORM | MyBatis3 | Hibernate3 |
2 | 持久化标准 | 无 | JPA规范 |
3 | 事务管理 | MyBatis机制/Spring事务控制 | Bitronix,基于JTA事务管理 |
4 | 数据库连接方式 | Jdbc/DataSource | Jdbc/DataSource |
5 | 支持数据库 | Oracle、SQL Server、MySQL等多数数据库 | Oracle、SQL Server、MySQL等多数数据库 |
6 | 设计模式 | Command模式、观察者模式等 | |
7 | 内部服务通讯 | Service间通过API调用 | 基于Apache Mina异步通讯 |
8 | 集成接口 | SOAP、Mule、RESTful | 消息通讯 |
9 | 支持的流程格式 | BPMN2、xPDL、jPDL等 | 目前仅只支持BPMN2 xml |
10 | 引擎核心 | PVM(流程虚拟机) | Drools |
11 | 技术前身 | jBPM3、jBPM4 | Drools Flow |
12 | 所属公司 | Alfresco | jBoss.org |
步骤1.eclipse插件安装:
eclipse > help > install new software... > add..
name: activiti url: https://www.activiti.org/designer/update/
步骤2.eclipse spring中集成activiti
pom.xml 添加需要的。
<activiti.version>5.15.1</activiti.version>
<!--activity工作流依赖-->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>${activiti.version}</version>
</dependency>
<!-- activiti 与 Spring 集成 -->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring</artifactId>
<version>${activiti.version}</version>
</dependency>
applicatonContext.xml 添加需要的。
<!--流程引擎配置项-->
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<!--数据源 和系统同一个-->
<property name="dataSource" ref="dataSource"/>
<property name="transactionManager" ref="transactionManager" />
<!--更新数据库表 如果没有 则创建-->
<property name="databaseSchemaUpdate" value="true" />
<!-- 是否启动jobExecutor -->
<property name="jobExecutorActivate" value="false" />
<property name="activityFontName" value="宋体"/>
<property name="labelFontName" value="宋体"/>
<!--自动部署流程-->
<property name="deploymentResources">
<list>
<value>classpath*:workflow/*.bpmn</value>
</list>
</property>
</bean>
<!--流程引擎-->
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration" />
</bean>
<!-- 工作流数据存储服务 -->
<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
<!-- 工作流运行时服务 -->
<bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" />
<!-- 工作流任务服务-->
<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
<!-- 工作流历史数据服务-->
<bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
<!-- 工作流管理服务-->
<bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" />
<!-- 工作流身份识别服务 -->
<bean id="IdentityService" factory-bean="processEngine" factory-method="getIdentityService" />
<!--<import resource="spring-job.xml"/>-->
<import resource="spring-shiro.xml"/>
*.bpm 利用上面安装的插件,图形化,制作工作流。路径:src/main/resources/workflows/*.bpmn
步骤3.写代码。去实现,工作流的逻辑。
略。