大家好,这是我上一篇文章中有关如何使用jBPM Console的后续文章 。 这篇文章的主要思想是描述为了在您自己的公司中使用它,您需要对jBPM Console NG进行一些最常见的配置。 但是在讨论技术细节之前,我们将介绍KIE Workbench(KIE-WB)与jBPM Console NG本身之间的差异。 两种应用程序都需要类似的配置,并且很好地了解何时选择一个或另一个。 我们将在伦敦的免费研讨会上讨论这些主题。
介绍
如果查看项目源代码和文档,您会注意到正在创建多个项目,以为Drools和jBPM提供一套完整的工具。 由于我们采用了模块化方法来构建工具,因此您基本上可以根据需要在不同的发行版之间进行选择。 jBPM控制台NG可以视为仅与BPM相关的一组打包的分发。 KIE Workbench(KIE-WB)是完整的发行版,包含我们正在创建的所有组件,因此在其中可以找到所有的BPM和Rules模块。 如果将更多模块添加到平台,则KIE-WB将包含它们。
某个时候,迈克尔·安斯蒂斯(Michael Anstis)在blog.athico.com上发布了一篇文章来解释这种过渡: http ://blog.athico.com/2013/06/goodbye-guvnor-hello-drools-workbench.html此博客文章针对的是Guvnor用户,因此他们可以理解Drools 5.5和Drools 6之间的过渡。因此,下一部分的目的是对jBPM用户进行相同的解释,试图将所有概念统一在一起。
项目分布
前面提到的博客解释了我们现在创建的大多数组件,但是下图在BPM方面添加了一些细节:
关于此图像的一些快速注释:
- Uberfire和Guvnor都是框架,而不是发行版。
- 我们保留Guvnor这个名称的原意是。 Guvnor是定义所有内部项目自动化和组织的框架。 Guvnor是一个内部框架,我们将使用它提供一个智能层来定义如何管理和维护项目及所有知识资产。
- KIE-WB-Common本身不是发行版,但它可以是发行版,因为它包含所有发行版之间的所有共享位。
- Drools Workbench仅包含与规则相关的创作工具,请注意,与Guvnor相同,它没有为规则提供运行时。 将来可能会添加,但在6.0中不会添加。
- jBPM控制台NG取代了旧的jBPM GWT控制台
- 名称之间的区别(Drools Workbench和jBPM Console NG)是由于jBPM Console NG确实提供了所有运行时机制来实际运行您的业务流程以及与之关联的所有资产。
- 注意, jBPM控制台NG使用了某些Drools-WB模块,并且还与jBPM Designer和Form Modeller集成在一起。
- KIE Workbench包含平台内的所有组件,还添加了远程服务以与流程进行交互。
- 请注意,6.x中的远程服务仅用于BPM端,这意味着我们还可以为jBPM Console NG分发提供这些服务,它现在不是优先事项,但是如果有人认为这是一个优先事项,则可以这样做。好主意。
- 您可以在github的droolsjbpm组织下找到所有这些项目: http : //github.com/droolsjbpm
- 与jBPM Console NG相关的所有配置和博客也适用于KIE Workbench
- jBPM 6.0安装程序将与KIE Workbench捆绑在一起,因此,我的大部分帖子将显示KIE-WB的屏幕截图,而不是jBPM Console NG。
配置与部署
如果查看Github中的源代码存储库,您会发现jBPM Console NG,Drools Workbench和Kie Workbench包含一个名为* -distribution-wars的项目。 这些项目负责生成要为不同的Servlet容器和应用程序服务器分发的应用程序。 目前,我们为Tomcat 7,JBoss AS 7和JBoss EAP 6.1提供了捆绑软件。 (如果您是开发人员,则还可以使用GWT托管模式运行这些应用程序,该模式将启动Jetty服务器并自动部署该应用程序,以便可以轻松地对其进行调试。)
在这里,我们将看到如何部署和配置应用程序使其在JBoss AS 7中运行。显然,如果jBPM Installer为您做到了,则您不需要这样做。 但是,总是很高兴知道幕后情况,以防万一您更喜欢手动安装应用程序。
在配置应用程序以进行部署时,需要考虑三点:
- 用户/角色/组
- 域特定(自定义)连接器
- JBoss AS 7配置文件
为了简单起见,我借用了Maciej配置的JBoss AS 7并部署了KIE Workbench最新快照,因此您可以下载它,我们可以从那里查看其配置。 你可以在这里下载:
用户/角色/组
默认情况下,KIE-Workbench使用JBoss AS配置的用户进行工作。 为了创建新用户,我们需要使用
./add-user.sh脚本位于/ bin /目录中。 使用此脚本,我们将创建业务流程所需的所有用户,因此,我们还将为他们分配组和角色。
如上图所示,使用./add-user.sh脚本,您可以为应用程序创建一个新用户(前两个选项:选项B和空域)。 请注意,您需要为用户名和密码使用不同的字符串。 现在,您可以使用角色admin创建用户,这样它将可以访问该工具的所有屏幕,然后可以编写用户所属的组。 在这种情况下,用户salaboy具有角色:admin,并且他属于IT组。 有些限制词不能用作组名。 现在,避免使用“ analyst”,“ admin”,“ developer”作为组名。
域特定(自定义)任务/连接器
域特定连接器是将业务流程与公司内部或外部的外部服务集成的方式。 这些连接器被视为技术资产,因此需要由技术用户处理。 在大多数情况下,建议在应用程序运行时不要更改/修改连接器,因此,需要提供这些连接器,以便应用程序在运行时使用。
使用自定义连接器需要三件事:
- 提供WorkItemHandler接口的实现,该接口将在运行时执行。
- 将实现绑定到服务任务名称
- 在工具内创建WorkItem描述符
为了提供这三个配置点,您可以看一下jbpm-playground存储库中的Customer Relationship示例。
这里的主要思想是拥有一个包含workItems实现的单独项目,例如:
CreateCustomerWorkItemHandler ,您将需要使用maven编译该项目并将生成的jar文件安装在KIE-WB应用程序中。 为此,您只需将customer-services-workitems-1.0-SNAPSHOT.jar复制到kie-wb.war应用程序的WEB-INF / lib目录中。 在此示例中,workItemHandler实现与可在此处检查的公共Web服务进行交互,因此您将需要Internet连接才能尝试此示例。
还要注意,在客户关系项目中,有一些特定于域的任务的高层映射,可以在我们的客户关系项目-> WorkItemDefinitions.wid中使用 。 此配置基本上将在Process Designer面板中添加服务任务:
最后一步是将高级映射绑定到该环境的实现。 您可以通过将新条目添加到WEB-INF / classes / META-INF / CustomWorkItemHandlers.conf文件中来完成此操作,对于本示例,我们只需要添加以下条目:
..."CreateCustomer": new org.jbpm.customer.services.CreateCustomerWorkItemHandler(),"AddCustomerComment": new org.jbpm.customer.services.AddCustomerCommentsWorkItemHandler(),"ManagersReport": new org.jbpm.customer.services.ManagersReportWorkItemHandler(),...
关于JBoss AS 7配置文件的说明
为了运行KIE Workbench,您需要使用完整的JBoss AS7配置文件运行它,因此,如果您使用新的JBoss AS7安装它,请不要忘记使用./standalone.sh脚本时指向完整的项目。 :
./standalone.sh --server-config=standalone-full.xml
下载
您可以下载KIE-WB的预安装版本,在其中可以克隆包含示例的jbpm-playground存储库(“创作->管理”,然后使用jbpm-playground URL克隆存储库:https://github.com/droolsjbpm / jbpm-playground)。
- 从MEGA这里下载
这个预安装的版本包含已经为“客户关系”示例安装和配置的workItemHandlers,但是您显然可以进行一些更改,并在需要时进行升级。
它还创建了两个用户:
User/Password: jbpm/jbpm6 (Groups: IT, HR, Accounting, etc)
User/Password: salaboy/salaboy123 (Groups: IT)
请尝试一下,让我知道它是否适合您。
明天和周四Drools&jBPM Free Workshop的席位很少。 如果您打算提供帮助,请给我写一封电子邮件给salaboy(at)redhat(dot)com。 有关它的更多详细信息,请参见此处。
翻译自: https://www.javacodegeeks.com/2013/11/kie-wb-jbpm-console-ng-configurations.html