Kie Server 是一个 Java web APP,允许你通过 REST/JMS 接口浏览规则和流程,并远程执行它们。 Kie Server 和 Workbench 的区别在于,Kie Server 主要负责远程执行规则和业务流程,它提供了用于查询、响应 http 请求的 JSON/REST 和 a XML/SOAP 接口。而 Workbench 则是完整的创建工具,包括流程的执行功能和远程 API。
Kie server 和 businees central 的区别:Kie-server 只提供了规则和流程的执行环境,它不能创建规则和流程。Business central 支持对规则和流程的执行和创建。
Workbench 和 business central 的区别:二者其实是同一个东西,从 2018 年 11 月,Workbench 改名为 business central。曾经 workbench 有两个发行版本:KIE Drools Workbench 和 KIE Workbench,二者的不同仅在于后者内置了 jBPM 引擎。但是随着 Kie server 的发布,这个内置的 jBPM 引擎已经从 KIE Workbench 中移除了。这样 Workbench 的两个发行的版本就统一了,并重新命名为 Business central。
Kie Server 和 Business Central(Workbench)是两个独立的 java web 应用,它们可以部署到各自的服务器上,也可以部署在同一台服务器( http://blog.athico.com/2015/10/installing-kie-server-and-workbench-on.html)。
一种 Kie Server 的功能插件。Kie Server 默认内置了两个 kie server 扩展: BRM 和 BPM。
Kie Container(kie容器)是 kjar 内存实例,允许对 kjar 的资源(域模型、流程、规则等)进行初始化和调用。Kie Server 通过 REST/JMS 协议来暴露 Kie 容器。
控制器、主服务器,提供一系列 REST 端点,负责对 Kie 服务器实例进行管理。例如这些端点:
指定 Kie Server 实例的当前状态。它是本地存储的(默认的文件),保存了以下信息:
服务器状态在收到某些事件时被持久化,这些事件包括:Kie 容器的创建、Kie 容器的销毁、控制器收到了 Kie 服务器实例的注册等。
一个在配置中设置的 Id。在启动时,每个 Kie 服务器实例都会被分配一个 ID,这个 ID 和主服务器上的某个配置相匹配。Kie 服务器实例会下载和使用这个配置来启动自身。
注意,主服务器(controller)类似于 Widlfly/JBoss EAP 的主域模式,但在这里,我们会用 unmanaged (非托管)模式运行服务器。
下载 7.18.0.Final
解压缩,进入 droolsjbpm-integration-7.18.0.Final
目录,运行:
mvn clean package -DskipTests
等待编译完成,进入 droolsjbpm-integration-7.18.0.Final/kie-server-parent/kie-server-wars/kie-server/target
目录。你会发现几个 war 包:
如果 jbpm server 正在运行,停止 jbpm server。将 kie-server-7.18.0.Final-ee7.war
拷贝到 jbpm-server-7.18.0.Final-dist/standalone/deployments
目录下。
可以将这个目录下原来的 kie-server.war 和 kie-server.war.deployed 删除。然后将 kie-server-7.18.0.Final-ee7.war
改名为 kie-server.war
启动 jbpm server,命令: ./bin/standalone.sh
用 wbadmin/wbadmin 登录业务中心。
添加用户命令:
./bin/add-user.sh -a -u kieserver -p password1! -g admin,kie-server
停止 jbpm server。
也可以不停止 jbpm server。wildfly 支持热部署,它会自动监听 standalone/deployments 目录,如果你删除一个 war 包,这个应用会自动从服务器上卸载,如果你拷贝一个 war 包到这个目录,它会自动发布这个应用。
我们停止 jbpm server 的原因是想因为 wildfly 的热部署会自动产生一些特殊后缀的文件(比如 .isDeploying/.failed/.deployed 等)。我们不想看到这些文件,因此手动停止 jbpm server。
进入 jbpm-server-7.18.0.Final-dist/standalone/deployments
目录,删除 business-central.war 和 business-central.war.deployed。
启动 jbpm server,命令: ./bin/standalone.sh
访问业务中心的首页: http://localhost:8080/business-central 和业务中心 REST 接口: http://localhost:8080/business-central/docs/ ,发现报 404 错误,因为业务中心已经被卸载了。但这不会影响 Kie Server 的运行,你仍然可以用这个地址访问 Kie Server 的 REST API: http://localhost:8080/kie-server/docs
Kie Server 和 Business Central 分别拥有各自的 REST API,二者的端点地址不一样。
Kie Server 的 REST API 的 Base URL 是: http://localhost:8080/kie-server/services/rest
。
Business Central 的 REST API 的 Base URL 是: http://localhost:8080/business-central/rest/
业务中心的源代码在这里: https://github.com/kiegroup/kie-wb-distributions
。
将代码拉到某个目录,比如 kie-wb-distributions ,进入该目录,运行 mvn clean install -DskipTests
进行编译。
编译成功后,可以在 kie-wb-distributions/business-central-parent/business-central-distribution-wars/business-central/target
目录下找到两个 war 文件:
其中,eap7.war 是 JBoss EAP 的版本,wildfly14.war 是 wildfly 版本。
将 business-central-7.20.0-SNAPSHOT-wildfly14.war 拷贝到 jbpm server 的 standalone/deployments 目录,并改名为 business-central.war。
启动 jbpm server。再次登录业务中心。