Коннекторы
|
Этот раздел перенесён из документации 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