【问题标题】:What architecture to provide a modular BPM solution?什么架构可以提供模块化 BPM 解决方案?
【发布时间】:2011-09-04 15:59:46
【问题描述】:
我正在寻找一种架构来使用 java 实现电子政务解决方案。我希望可能的解决方案具有以下功能:
- 基于 Java(JSF、Spring、JPA)
- 模块化架构
- 围绕 BPM 进行了强有力的设计
进程
- 将工作流引擎与用户隔离
任务表格(为了提供故障
容差)
我发现了几个 bpm 替代品,例如 jBPM、Activiti、Intalio 或 Enhydra。到目前为止,我喜欢 Activiti 方法,但我没有找到适合模块化架构和用户任务表单隔离的解决方案。也许,一个多模块 maven 项目(即每个进程一个 jar 模块)或 OSGi 选项会适合,但我不知道如何连接所有这些部分。
你会在我的任务中推荐我什么?
提前非常感谢
【问题讨论】:
标签:
java
jsf-2
business-process-management
egovernment
【解决方案1】:
Intalio 在单独的 Web 应用程序中运行用户任务。它可以部署到与运行时引擎不同的服务器上。
【解决方案2】:
我认为您可能会对即将发布的 Bonita BPM 第 7 版感兴趣。
引擎概念是面向服务的,所有实现都是使用 Spring 注入的。持久性由 Hibernate(无 JPA)直接处理,但使用 JTA。
架构分为三个主要部分:
- Studio:BPMN 流程建模的开发环境
- UI 设计器:定义将用于流程执行和应用程序创建的表单和页面。这是一个自定义的 AngularJS 解决方案,在这里使用,但由于 Engine API,您也可以使用任何您想要的替代解决方案。
- 门户:用于管理和最终用户操作的 Web 界面。
- Engine:使用 Studio 实际执行流程定义构建的组件。 Engine 提供了一组使用 REST 或 Java 客户端库可用的 API。
引擎是解决方案的核心,门户是使用引擎 API 在其之上构建的。
流程定义实际上在流程和步骤级别声明了一组合同,以定义表单必须提供哪些数据才能启动新流程实例或执行任务。所以我们这里有一个松耦合的设计。