独立部署形式是让AgileBPM作为流程中心,实现形式有:
- 多系统切换、子系统模式 这样当处理具体业务的时候还是使用原有的系统,若办理流程任务则可以切换至流程平台来提交任务或者直接使用移动端办理流程任务。
- 直接将多系统菜单资源进行整合 多个系统间统一风格样式、统一鉴权后,直接组织url资源即可。比如直接将个人办公菜单资源添加至现有系统中,让系统拥有流程办理的功能。
而流程实施模式我们推荐使用自定义表单,即便是已有业务,已有表单,依然推荐使用自定义表单,因为它表单的实施速度很快,表单业务数据可以灵活的用于流程生命周期中。 url表单也可以,但是多系统会存在事物一致问题,比如流程提交后,调用url表单数据保存,而最后流程出现异常,业务数据就无法回滚。
- 移除org-core、org-api-impl的依赖 0.5h
- 添加xx-org模块,用来来实现orgApi的接口 3h
- 创建IGroup,IUser实现类,IUserGroupService,IUserService实现类(此处可以远程调用,可以做数据适配 )3d
- 移除前端入口(屏蔽菜单资源入口) 0.5h
- 修改系统中存在的组织、用户对话框(目前有:用户、组织、岗位、角色)。 5h
鉴权依赖组织API的服务,所以前提必须先保证组织服务的有效性。 我们系统使用的spring security 如果你们有cas服务器的话,我们推荐使用单点登录来做整合。 我们也在计划开发基于jwt的鉴权实现,如果你们已经在使用jwt的形式。那推荐使用jwt进行改造现有鉴权。
鉴权为了确认用户身份信息,以及当前用户是否拥有访问该请求资源的权限,如果实现了新的鉴权需要一并实现当前系统用户的工具类(ICurrentContext的实现)
#项目集成形式的整合
- agile-bpm-starter bpm 模块启动器,依赖org服务,系统服务,若org服务没有实现类则启动报错。
- agile-org-starter org 模块启动器,系统默认的org实现,若有自身组织架构服务,请自行添加orgAPI实现模块。
- agile-auth-http-security-starter 鉴权模块,系统默认的鉴权实现,依赖org服务
- agile-auth-jwt-security-starter 尚未实现
根据自身需求选择需要的starter,具体starter的配置介绍稍后会推出
计划于flowable进行整合
您可能需要比较了解AgileBPM系统模块,否则建议您寻找群主帮忙整合
AgileBPM 是完全模块的一个项目,WEB模块仅仅为了整合各个模块,扫描controller提供 REST服务,仅此而已。 所以您的整合过程其实是类似WEB模块一样,选择服务模块来整合的一个过程。 前端的话,由于是前后端分离的项目,所以整合后,前端资源处理下风格样式,就可以完全被您所使用。
目前我们spring版本是4.3.17,请确认spring版本,可以在根目录pom中修改
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>${spring.framework.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
- 系统服务模块 sys-rest
- bpm模块依赖 wf-rest,bus-rest,form-rest
- 组织模块依赖 org-rest,非必须,若不依赖请自行实现orgAPI 即可,参考上面 切换组织服务实现 一行的介绍
主要是 base-db的整合改造动作
- 提供 AbstractRoutingDataSource的数据源 beanID为 dataSource
- 为数据源提供事物
- 参考base-db 对系统的mybatis进行扫描,如果您系统不是mybatis则按照base-db 进行配置
- 参考sys-core 对redis,quartz进行整合
其他有疑问可以咨询群主。