Коннекторы

Этот раздел перенесён из документации Camunda 7 и в дальнейшем будет доработан с учётом особенностей OpenBPM Engine

С зависимостью camunda-connect двидок управления процессами поддерживает простые коннекторы. В настоящее время существуют следующие реализации для коннекторов:

Коннектор ID

REST HTTP

http-connector

SOAP HTTP

soap-http-connector

Также в OpenBPM Engine существует возможность реализовать ваш собственный кастомный коннектор. Чтобы получить больше информации о расширении коннекторов см. справочник по коннекторам.

Конфигурирование OpenBPM Engine Connect

OpenBPM Engine Connect доступен только частично при использовании движка управления процессами (см. список ниже). В предварительно собранном дистрибутиве OpenBPM Engine Connect уже предварительно сконфигурирована.

Существуют следующие connect артефакты:

  • openbpm-engine-connect-core: jar-файл, содержащий только классы, составляющие ядро Connect. Артефакт уже доступен движку управления проуессами как зависимость. В дополнение к openbpm-engine-connect-core существуют отдельные реализации одного коннектора типа openbpm-engine-connect-http-client и openbpm-engine-connect-soap-http-client. Эти зависимости должны использоваться, когда коннекторы по умолчанию должны быть переконфигурированы или когда используются кастомные реализации коннекторов.

  • openbpm-engine-connect-connectors-all: одиночный jar-файл без зависимостей, содержащий коннекторы для HTTP и SOAP.

  • openbpm-engine-plugin-connect: плагин движка управления процессами для добавления Connect к OpenBPM Engine.

Координаты Maven

Импортируйте OpenBPM Engine BOM, чтобы гарантировать использование корректной версии для каждого проекта на Camunda.

openbpm-engine-connect-core

openbpm-engine-connect-core содержит классы, составляющие ядро Connect. Кроме того, коннекторы для HTTP и SOAP можно добавить через зависимости openbpm-engine-connect-http-client и openbpm-engine-connect-soap-http-client. Эти артефакты транзитивно подтянут свои зависимости, такие как Apache HTTP-клиент. Для интеграции с движком необходим артефакт openbpm-engine-plugin-connect. С учетом того, что импортируется BOM, координаты Maven выглядят следующим образом:

<dependency>
  <groupId>io.openbpm.connect</groupId>
  <artifactId>openbpm-engine-connect-core</artifactId>
</dependency>
<dependency>
  <groupId>io.openbpm.connect</groupId>
  <artifactId>openbpm-engine-connect-http-client</artifactId>
</dependency>
<dependency>
  <groupId>io.openbpm.connect</groupId>
  <artifactId>openbpm-engine-connect-soap-http-client</artifactId>
</dependency>
<dependency>
  <groupId>io.openbpm.bpm</groupId>
  <artifactId>openbpm-engine-plugin-connect</artifactId>
</dependency>

openbpm-engine-connect-connectors-all

Этот артефакт содержит коннекторы для HTTP и SOAP, а также их зависимости. Чтобы предотвратить конфликт с другими версиями этих зависимостей, они перемещены в разные пакеты. openbpm-engine-connect-connectors-all имеет следующие координаты Maven:

<dependency>
  <groupId>io.openbpm.connect</groupId>
  <artifactId>openbpm-engine-connect-connectors-all</artifactId>
</dependency>

Конфигурирование плагина движка управления процессами

openbpm-engine-plugin-connect содержит класс, называемый io.openbpm.connect.plugin.impl.ConnectProcessEnginePlugin, который можно зарегистрировать в движке управления процессами с использованием механизма плагина. Например, файл bpm-platform.xml при включенном плагине будет выглядеть следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<bpm-platform xmlns="http://www.camunda.org/schema/1.0/BpmPlatform"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.camunda.org/schema/1.0/BpmPlatform http://www.camunda.org/schema/1.0/BpmPlatform ">
  ...
  <process-engine name="default">
    ...
    <plugins>
      <plugin>
        <class>io.openbpm.connect.plugin.impl.ConnectProcessEnginePlugin</class>
      </plugin>
    </plugins>
    ...
  </process-engine>
</bpm-platform>
При использовании предварительно собранного дистрибутива OpenBPM Engine плагин уже сконфигурирован.

Использование коннекторов

Чтобы использовать коннектор, вам необходимо добавить элемент расширения OpenBPM Engine connector. Коннектор конфигурируется по уникальному connectorId, который задает используемую реализацию коннектора. Значения id используемых в наше время коннекторов можно найти в начале этого раздела. Кроме того, для конфигурации коннектора используется маппинг входа/выхода. Требуемые входные параметры и доступные выходные параметры зависят от реализации коннектора. Можно также предоставлять дополнительные входные параметры для использования внутри коннектора.

В качестве примера приводится укороченная конфигурация реализации SOAP для. Полностью этот пример можно найти в репозитории примеров OpenBPM Engine https://github.com/camunda/camunda-bpm-examples на GitHub.

<serviceTask id="soapRequest" name="Simple SOAP Request">
  <extensionElements>
    <camunda:connector>
      <camunda:connectorId>soap-http-connector</camunda:connectorId>
      <camunda:inputOutput>
        <camunda:inputParameter name="url">
          http://example.com/webservice
        </camunda:inputParameter>
        <camunda:inputParameter name="payload">
          <![CDATA[
            <soap:Envelope ...>
              ... // the request envelope
            </soap:Envelope>
          ]]>
        </camunda:inputParameter>
        <camunda:outputParameter name="result">
          <![CDATA[
            ... // process response body
          ]]>
        </camunda:outputParameter>
      </camunda:inputOutput>
    </camunda:connector>
  </extensionElements>
</serviceTask>

Полный пример для REST-коннектора также можно найти в репозитории примеров OpenBPM Engine на GitHub.

Лицензия и атрибуция

Эта документация была создана на базе материала "Camunda 7 Docs" от Camunda, находится под лицензией Creative Commons Attribution-ShareAlike 3.0 Unported License .

Оригинал документации: https://docs.camunda.org