2014-10-24 11 views
1

Я пытаюсь настроить службу выполнения kie (kie-server-services-6.2.0) для обеспечения, предоставляемого kie-drools-wb-webapp-6.2.0, когда я пытаюсь для получения доступа, следуя URL-адресу webapp на сервере выполнения, он показывает аутентификацию BASIC и не знает, как продолжить доступ к серверу выполнения, а также получить URL-адрес конечной точки для подготовки примеров правил построения kie-wb и получить работу REST или WSDL. У kie-wb есть имя пользователя с ролью «admin», и я могу правильно строить правила. Большое спасибо!setup drools Kie учетные данные сервера выполнения

ответ

15

Пытаясь ответить на ваш вопрос, я решил с самого начала создать HOWTO то, что я сделал, чтобы получить мои правила Drool, выполненные на удаленном сервере.

Моя задача - интегрировать Kie Workbench и Execution Server, чтобы бизнес-пользователи могли создавать правила Drools и развертывать их в Repo, в то время как разработчики могли использовать эти правила, вызывая службы REST автономного сервера выполнения Drools.

Вы должны выполнить следующие действия:

Перед использованием Drools Execution Server, позволяют мне использовать такую ​​терминологию:

  • Кие Drools Workbench - это пользовательский интерфейс для создания и развертывания модели и файл Правила (s) в репозиторий Maven
  • Kie Execution Server - автономный сервер выполнения Drools. Он потребляет REST вызовы команд и возвращает результаты
  • Предполагается выполнение у вас есть Tomcat 7.0/8.0 и Maven установлен

Развертывание Drools Workbench

Наиболее стабильной версии Кие Drools Workbench для развертывания на момент равен 6.1.0. Используйте это для развертывания только на Tomcat 7.0!

  • Вы можете скачать файл с именем-Drools кие-ШП-Дистрибуция войны из Jboss sonar repo, используйте версию 6.1.0.Final и tomcat7.war

  • Убедитесь, что вы добавили следующие банки для запуска Tomcat Lib каталога: javax.security.jacc-апи-1.4.jar, Кие-кот-integration.jar, SLF4J-апи-1.7.2.jar

  • Убедитесь, что вы имеете или добавлены следующие роли/пользователям tomcat-users.xml вашего Tomcat:

<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 -->

  • Deploy 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 repo!

    В качестве примера можно использовать правила и модели я создал для целей тестирования: слюней правило файл:

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

Развертывание кия Drools Execution сервера

На момент это To-Do, пишущее самую стабильную версию Kie Drools Execution Server: kie-server-services-6.2.0.Beta3.war. Вы можете скачать его здесь, Jboss sonar repo:

  • Deploy -сервер кий-сервисы 6.2.0.Beta3.war на Tomcat
  • запроса Make GET на http://localhost:8080/kie-server-services-6.2.0.Beta3/services/rest/server/. Если вы попросили указать использование пользователя/пароля, который вы настроили для kie-server роль в tomcat-users.xml. Вы должны увидеть тот же ответ:

<response type="SUCCESS" msg="Kie Server info"> 
 
     <kie-server-info> 
 
     <version>6.2.0.Beta3</version> 
 
     </kie-server-info> 
 
    </response>

<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>

<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>

Используйте формат 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>

  • Проверьте консоль Tomcat. Если вы получите Hello World :) сообщение и тип ответа SUCCESS все работает для вас сейчас!

P.S Из-за удачи документации по теме я проверил источники сервера от GitHub. Взгляните на kie-server-client и kie-server-integ-tests код и тесты. Надеюсь это поможет.

+0

Nice writeup. Я бы добавил, если вы получаете исключение: «После первого запуска этот контекст должен быть доступен через java: URL», проверьте свою версию Tomcat. Если вы используете Tomcat v7, убедитесь, что у вас есть как минимум 7.0.26 (см. Https://hibernate.atlassian.net/browse/HHH-7099) – eze

+0

Ваши инструкции были очень полезными. Тем не менее, следующий тег должен быть добавлен в раздел Host файла server.xml, чтобы меню появилось на странице приветствия:

+0

Quite полезно, знаете ли вы, есть ли способ загрузить все правила с удаленного автономного сервера на мой локальный хост? Во-вторых, есть ли другой способ подключения к автономному серверу помимо REST для выполнения правила? – Bhushan

 Смежные вопросы

  • Нет связанных вопросов^_^