KIE-WB / JBPM控制台Ng –配置

大家好,这是我上一篇文章中有关如何使用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方面添加了一些细节:

项目分布

项目分布

关于此图像的一些快速注释:

  • UberfireGuvnor都是框架,而不是发行版。
  • 我们保留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为您做到了,则您不需要这样做。 但是,总是很高兴知道幕后情况,以防万一您更喜欢手动安装应用程序。

在配置应用程序以进行部署时,需要考虑三点:

  1. 用户/角色/组
  2. 域特定(自定义)连接器
  3. 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”作为组名。

域特定(自定义)任务/连接器

域特定连接器是将业务流程与公司内部或外部的外部服务集成的方式。 这些连接器被视为技术资产,因此需要由技术用户处理。 在大多数情况下,建议在应用程序运行时不要更改/修改连接器,因此,需要提供这些连接器,以便应用程序在运行时使用。

使用自定义连接器需要三件事:

  1. 提供WorkItemHandler接口的实现,该接口将在运行时执行。
  2. 将实现绑定到服务任务名称
  3. 在工具内创建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。 有关它的更多详细信息,请参见此处。

参考: KIE-WB / JBPM控制台Ng –来自Drools&jBPM博客的JCG合作伙伴 Geoffrey De Smet的配置 。

翻译自: https://www.javacodegeeks.com/2013/11/kie-wb-jbpm-console-ng-configurations.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366823.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EasyUI常用控件禁用方法

来自&#xff1a;http://blog.csdn.net/jin_guang/article/details/36905387 特此感谢 1.validatebox可以用的用法:前两种适用于单个的validatebox; 第三种应用于整个form里面的输入框; <1>.$("#id").attr("readonly", true); ----- $("#id…

linux内核percpu变量声明,Linux kernel percpu变量解析

Linux 2.6 kernel 中的 percpu 变量是经常用到的东西&#xff0c;因为现在很多计算机都已经支持多处理器了&#xff0c;而且 kernel 默认都会被编译成 SMP 的&#xff0c;相对于原来多个处理器共享数据并进行处理的方式&#xff0c;用 percpu 变量在 SMP、NUMA 等架构下可以提高…

django组件 分页器

1 from django.shortcuts import render,HttpResponse2 3 # Create your views here.4 from app01.models import *5 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger6 7 def index(request):8 9 10 批量导入数据: 11 12 Booklist[] …

自己写一个H5项目CI系统

持续集成&#xff08;Continuous integration&#xff0c;简称CI)系统在软件自动化构建&#xff08;包括编译、发布、自动化测试&#xff09;方面有着重要的作用&#xff0c;在之前&#xff0c;前端项目简单&#xff0c;很多时候发布都只是一些简单的拷贝&#xff0c;而随着web…

25.QT-模型视图

模型视图设计模式的核心思想 使模型(数据)与视图(显示)相分离模型只需要对外提供标准接口存取数据,无需数据如何显示视图只需要自定义数据的显示方式,无需数据如何组织存储当数据发生改变时,会通过信号通知视图当用户与视图进行交互时,会通过信号向模型发送交互信息 在QT中提供…

休眠事实:多级访存

在多个级别上检索根实体及其子关联是很常见的。 在我们的示例中&#xff0c;我们需要加载一个包含其树&#xff0c;分支和叶子的森林&#xff0c;并且我们将尝试查看Hibernate对于三种集合类型的行为&#xff1a;集合&#xff0c;索引列表和包。 这是我们的类层次结构的样子&…

linux系统fuser命令,Linux系统使用Fuser命令的方法

fuser命令是一个非常聪明的unix实用程序&#xff0c;用于查找正在使用某个文件、目录或socket的进程。 它还提供有关拥有该进程的用户和访问类型的信息。。fuser工具显示了使用指定文件或文件系统的每个进程的进程ID(PID)。安装如果你的精简版运行fuser提示如下信息&#xff1a…

网络基础之 Nmap 命令

nmap......转载于:https://www.cnblogs.com/changha0/p/9898020.html

react-router 源码浅析

用 react-router 也用了比较久了&#xff0c;对他的内部工作方式却只是了解皮毛&#xff0c;而且大部分还是通过别人的博客。最近两周打算自己探究一下他的实现。 注意&#xff01;因为我只使用过 v3 版本的 react-router&#xff0c;因为对他的使用方式比较熟悉&#xff0c;所…

前5个有用的隐藏Eclipse功能

Eclipse是野兽。 仅凭其力量才能超越其神秘感的设备。 有人将其称为连续体跨功能器 。 其他人则称它为透湿器 。 是的&#xff0c;它是如此之大&#xff0c;需要花费数年才能掌握。 然后&#xff0c;您的经理出现并告诉您&#xff1a;我们正在使用NetBeans。 开玩笑。 除了Ada…

linux如何解除密码,如何在Linux下解除PDF文件的密码?

【51CTO.com快译】今天&#xff0c;我碰巧与一位朋友共享一个受密码保护的PDF文件。我知道该PDF文件的密码&#xff0c;但不想透露。相反&#xff0c;我只想解除密码&#xff0c;将文件发送给朋友。于是我开始在网上找一些简单的方法&#xff0c;好解除PDF文件的密码保护。上网…

C#中结构体定义并转换字节数组

ref: https://www.cnblogs.com/dafanjoy/p/7818126.html C#中结构体定义并转换字节数组 最近的项目在做socket通信报文解析的时候&#xff0c;用到了结构体与字节数组的转换&#xff1b;由于客户端采用C开发&#xff0c;服务端采用C#开发&#xff0c;所以双方必须保证各自定义结…

解析robots.txt

案例&#xff1a; http://www.taobao.com/robots.txt 学习&#xff1a; User-agent: * 这里的*代表的所有的搜索引擎种类&#xff0c;*是一个通配符Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录Disallow: /require/ 这里定义是禁止爬寻require目录下面的目录Disal…

2018移动端页面适配-自适应最新方案直接写px--------通过gulp工作流搭建一体化的移动端开发环境

1.开始 在flexible的GitHub上面写着 由于viewport单位得到众多浏览器的兼容&#xff0c;lib-flexible这个过渡方案已经可以放弃使用&#xff0c;不管是现在的版本还是以前的版本&#xff0c;都存有一定的问题。建议大家开始使用viewport来替代此方案。vw的兼容方案可以参阅《如…

jclouds的命令行界面

序幕 我使用和为jclouds贡献了一年多的时间。 到目前为止&#xff0c;我已经在很多领域广泛使用了它&#xff0c;尤其是在Fuse生态系统中 。 它的强大之处在于它缺少一件事&#xff0c;该工具可用于管理jclouds也提供访问权限的任何云提供商。 类似于EC2命令之类的工具&#xf…

中兴linux下载软件,国产操作系统中兴新支点使用WPS For Linux办公软件的体验报告...

以下将给你带来在国产操作系统中兴新支点操作系统下使用WPS For Linux办公软件的体验报告&#xff0c;WPS For Linux提供Deb、Rpm、Tar.xz、Snap软件包&#xff0c;你可以选择Tar.xz源码包编译安装&#xff0c;或在系统自带的软件中心下安装&#xff0c;也可以参考采用snap方式…

Java 教程(开发环境配置+基础语法)

Java 开发环境配置 在本章节中我们将为大家介绍如何搭建Java开发环境。 window系统安装java 下载JDK 首先我们需要下载java开发工具包JDK&#xff0c;下载地址&#xff1a;http://www.oracle.com/technetwork/java/javase/downloads/index.html&#xff0c;点击如下下载按钮&am…

数据采集工具Telegraf:简介及安装

接着上一篇博客&#xff1a;InfluxDB简介及安装&#xff0c;这篇博客介绍下Linux环境下Telegraf安装以及其功能特点。。。 官网地址&#xff1a;influxdata 官方文档&#xff1a;telegraf文档 环境&#xff1a;CentOS7.4 64位 Telegraf版本&#xff1a;0.11.1-1 一、Telegraf介…

初探小程序插件

插播公司招聘信息&#xff1a; https://cnodejs.org/topic/5a915706653c43b914684f90 小程序插件可以干嘛&#xff1f; 周二晚上&#xff08;3.13&#xff09;的一个小程序新功能发布了-【小程序插件】&#xff0c;一开始以为是小程序发布了类似npm的组件管理工具&#xff0c;…

流畅和稳定的API的Lambda

几周前&#xff0c;我写了关于Java 8 lambda的介绍 。 在本简介中&#xff0c;我解释了什么是lambda以及如何将它们与Java 8中也引入的新Stream API结合使用。 Stream API为集合提供了更实用的接口。 此接口在很大程度上取决于lambda。 但是&#xff0c;lambda不仅具有改进的收…