提供模块化BPM解决方案的架构是什么?

时间:2011-05-30 08:38:26

标签: java jsf-2 bpm egovernment


我搜索一个用java实现一个自治政府解决方案的架构。我希望可能的解决方案提供以下功能:

  • 基于Java(JSF,Spring,JPA)
  • 模块化架构
  • 围绕BPM进行了强有力的设计 进程
  • 从用户隔离工作流引擎 任务表格(以提供错误 公差)

我找到了几种bpm替代品,如jBPM,Activiti,Intalio或Enhydra。到目前为止,我喜欢Activiti方法,但我找不到适合模块化架构和用户任务表单隔离的解决方案。也许,一个多模块maven项目(即每个程序一个jar模块)或OSGi选项都适合,但我不知道如何连接所有这些部分。

你在我的任务中会推荐我什么?

非常感谢

2 个答案:

答案 0 :(得分:-1)

Intalio在单独的Web应用程序中运行用户任务。它可以从运行时引擎部署到不同的服务器。

答案 1 :(得分:-1)

我认为您可能对即将推出的Bonita BPM第7版感兴趣。

引擎概念是面向服务的,所有实现都是使用Spring注入的。持久性由Hibernate直接处理(没有JPA)但是使用JTA。

架构分为三个主要组成部分:

  • Studio:BPMN流程建模的开发环境
  • UI Designer:定义将用于流程执行以及应用程序创建的表单和页面。这是一个定制的AngularJS解决方案,可以在这里使用,但是你可以使用任何替代解决方案,感谢Engine API。
  • Portal:管理和最终用户操作的Web界面。
  • 引擎:使用Studio实际执行流程定义构建的组件。 Engine使用REST或Java客户端库提供一组可用的API。

Engine是解决方案的核心,Portal是使用Engine API构建的。

流程定义实际上在流程和步骤级别声明一组合同,以定义表单必须提供哪些数据,以便启动新的流程实例或执行任务。所以我们在这里有一个松散耦合的设计。