问题描述
|
我搜索一种架构来使用java实现egovernment解决方案。我希望可能的解决方案具有以下功能:
基于Java(JSF,Spring,JPA)
模块化架构
围绕BPM设计强大
流程
将工作流引擎与用户隔离
任务表(以提供故障
公差)
我发现了一些bpm替代品,例如jBPM,Activiti,Intalio或Enhydra。到目前为止,我喜欢Activiti的方法,但是找不到适用于模块化体系结构和用户任务表格隔离的合适解决方案。也许,一个多模块Maven项目(即每个过程一个jar模块)或一个Osgi选项将适合,但我不知道如何将所有这些部分连接起来。
您会向我推荐什么?
首先十分感谢
解决方法
Intalio在单独的Web应用程序中运行用户任务。可以将其部署到与运行时引擎不同的服务器上。
, 我认为您可能会对即将发布的Bonita BPM版本7感兴趣。
引擎概念是面向服务的,所有实现都使用Spring注入。持久性由Hibernate直接处理(没有JPA),但使用JTA。
体系结构分为三个主要部分:
Studio:BPMN流程建模的开发环境
UI设计器:定义将用于流程执行以及应用程序创建的表单和页面。这是一个自定义的AngularJS解决方案,可在此处使用,但由于有了Engine API,您还可以使用所需的任何替代解决方案。
门户:用于管理和最终用户操作的Web界面。
引擎:使用Studio实际执行流程定义的组件。引擎提供了一组使用REST或Java客户端库可用的API。
引擎是解决方案的核心,并且使用引擎API在其之上构建门户。
流程定义实际上是在流程和步骤级别声明一组合同,以定义表单必须提供哪些数据才能启动新流程实例或执行任务。所以我们这里有一个松耦合的设计。