setup drools Kie执行服务器凭据

Mat*_*ann 1 drools business-rules kie-wb

我正在尝试设置由kie-drools-wb-webapp-6.2.0配置的kie执行服务(kie-server-services-6.2.0),当我尝试通过遵循webapp url来获取访问权限时执行服务器它显示BASIC身份验证,并且不知道如何继续访问执行服务器,还获取端点URL,用于配置kie-wb的内置规则示例并获取REST或WSDL工作.kie-wb有一个角色为"admin"的用户名,我可以正确构建规则.非常感谢!!

Art*_*ika 16

试着回答你的问题我决定从一开始就创建HOWTO,以便在远程服务器上执行我的Drool规则.

我的任务是集成Kie Workbench和Execution Server,因此业务用户可以创建Drools规则并将它们部署到Repo,而开发人员可以通过调用独立Drools执行服务器的REST服务来使用这些规则.

您应该按照以下步骤操作:

在使用Drools Execution Server之前,让我使用这样的术语:

  • Kie Drools Workbench - 用于创建和部署模型和规则文件到Maven存储库的UI
  • Kie Execution Server - 是独立的Drools执行服务器.它使用REST命令调用并返回执行结果
  • 假设你安装了Tomcat 7.0/8.0和Maven

部署Drools Workbench

目前部署的Kie Drools Workbench最稳定版本是6.1.0.Final.使用这个仅用于在Tomcat 7.0上部署!

  • 你可以从Jboss sonar repo下载名为kie-drools-wb-distribution-wars的文件,使用版本6.1.0.Final和tomcat7.war

  • 确保将以下jar添加到Tomcat的lib目录:javax.security.jacc-api-1.4.jar,kie-tomcat-integration.jar,slf4j-api-1.7.2.jar

  • 确保您拥有或添加了以下角色/用户到Tomcat的tomcat-users.xml:

<role rolename="admin"/> <!-- Tomcat Admin role -->
<role rolename="analyst"/> <!-- Kie Workbench Analyst role. -->
<role rolename="kie-server"/> <!-- Kie Drools Execution Server role. Needed to make REST Rules execution request -->
<user username="admin" password="admin" roles="manager-gui,manager-script" /> <!-- Tomcat Admin user -->
<user username="user1" password="user1" roles="admin, kie-server" /> <!-- Kie Drools Execution Server user. Needed to make REST Rules execution request -->
Run Code Online (Sandbox Code Playgroud)

  • 将tomcat7.war部署到Tomcat.我相信你知道怎么做
  • 打开链接:http:// localhost:8080/kie-drools-wb-distribution-wars-6.1.0.Final-tomcat7.0 /.使用上一步中配置的管理员凭据进入Workbench.在我们的例子中user1/user1
  • 在Kie Workbench中创建一个Model,Rules文件.验证它们并单击"部署".确保你有一个jar文件,你的项目被放到Maven回购!

    作为示例,您可以使用我为测试目的创建的规则和模型:Drool规则文件:

    import com.arty.drlwb.MyExampleType;
    
    rule "one"
    when 
    MyExampleType(message == "Hello Worlddddd")
    then
    System.out.println("Hello World:)");
    end
    
    Run Code Online (Sandbox Code Playgroud)

部署Kie Drools执行服务器

在本To-Do编写的那一刻,Kie Drools Execution Server的最稳定版本是kie-server-services-6.2.0.Beta3.war.你可以在这里下载,Jboss声纳回购:

    <response type="SUCCESS" msg="Kie Server info">
      <kie-server-info>
      <version>6.2.0.Beta3</version>
      </kie-server-info>
    </response>
Run Code Online (Sandbox Code Playgroud)

<kie-container>
       <container-id>{your_container_id}</container-id>
       <status/> 
       <release-id>
            <group-id>{your_project_group_id}</group-id>
            <artifact-id>{your_project_artifact_id}</artifact-id>
            <version>{your_project_version}</version>
      </release-id>
     <resolved-release-id/>
</kie-container>
Run Code Online (Sandbox Code Playgroud)

<response type="SUCCESS" msg="List of created containers">
 <kie-containers>
 <kie-container container-id="{your_container_id}" status="STARTED">
 <release-id>
<artifact-id>{your_project_artifact_id}</artifact-id>
<group-id>{your_project_group_id}</group-id>
<version>{your_project_version}</version>
</release-id>
 <resolved-release-id>
<artifact-id>{your_project_artifact_id}</artifact-id>
<group-id>{your_project_group_id}</group-id>
<version>{your_project_version}</version>
</resolved-release-id>
</kie-container>
</kie-containers>
</response>
Run Code Online (Sandbox Code Playgroud)

使用XML格式.原因使用您自己的模型而不是MyExampleType:

<batch-execution lookup="defaultKieSession">
<insert out-identifier="message" return-object="true" entry-point="DEFAULT">
    <com.arty.drlwb.MyExampleType>
          <message>Hello Worlddddd</message>
    </com.arty.drlwb.MyExampleType>
</insert>
<fire-all-rules/>
</batch-execution>
Run Code Online (Sandbox Code Playgroud)

  • 检查您的Tomcat控制台.如果你得到Hello World :)消息和SUCCESS响应类型现在都适合你!

PS由于关于该主题的文档的运气,我从GitHub检查了服务器的来源.看看kie-server-clientkie-server-integ-tests代码和测试.希望这可以帮助.