Camunda 7 Run

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

Это руководство дает нам первоначальное представление о Camunda Run, предварительно упакованном, легком по весу дистрибутиве Camunda 7. Camunda Run легко конфигурировать, это не требует познаний в Java.

Предварительные условия и аудитория

Чтобы использовать это руководство, вам как минимум необходимо знать, что такое Camunda 7 и что она делает. Ознакомьтесь с Check out the руководством по быстрому старту, если никогда раньше не использовали Camunda 7. The Руководство по установке тоже не помешает, если Camunda 7 для вас совсем в новинку.

Данное руководство расскажет вам про Camunda Run и научит его конфигурировать. Оно может служить как справочная страница для опций по конфигурации и работе. Оно не дает пошаговых инструкций по установке Camunda Run. Если вам необходим узнать подробности об установке или начале работы с Camunda Run, перейдите на инструкцию по установке.

Что такое Camunda Run?

Camunda Run — это полный дистрибутив Camunda 7. Он включает:

Начало работы с Camunda Run

Чтобы начать работать с Camunda Run, скачайте дистрибутив и распакуйте его. Внутри вы найдете следующую структуру:

camunda-bpm-run
├── configuration/
│   ├── keystore/
│   │   └── поместите ваш SSL key store сюда, если хотите использовать HTTPS
│   ├── resources/
│   │   └── поместите ваши BPMN файлы, формы и скрипты сюда
│   ├── sql/
│   │   └── необходимые SQL скрипты для подготовки вашей системы базы данных
│   ├── userlib/
│   │   └── поместите ваш драйвер базы данных и остальные необходимые JAR файлы сюда
│   ├── default.yml
│   └── production.yml
├── internal/
├── start.bat
└── start.sh
└── shutdown.sh
└── shutdown.bat

Выполните один из стартовых скриптов (start.bat для Windows, start.sh для Linux/Mac). Через несколько секунд вы получите доступ к Camunda web apps через http://localhost:8080/camunda/app/ и к REST API через http://localhost:8080/engine-rest/.

При выполнении одного из двух стартовых скриптов без каких-либо аргументов Camunda Run стартует с конфигурацией по умолчанию как фоновый (detached) процесс. Чтобы выключить Camunda Run в таком "detached" режиме, воспользуйтесь одним из двух скриптов выключения (shutdown.bat для Windows, shutdown.sh для Linux/Mac).

При явной передаче аргументов одному из двух стартовых скриптов Camunda Run режим по умолчанию (detached) отключается, и вы можете сконфигурировать Camunda Run в соответствии с вашими нуждами. Более того, Camunda Run стартует как процесс на переднем плане (foreground), если только аргумент --detached не будет явно передан в скрипт start.bat или start.sh.

Аргументы стартового скрипта

Стартовые скрипты (start.bat для Windows, start.sh для Linux/Mac) принимают следующие аргументы:

Аргумент Описание Состояние по умолчанию

--webapps

Разрешает использование Camunda web apps

enabled

--rest

Разрешает использование REST API

enabled

--example

Разрешает использование приложения по умолчанию

enabled

--production

Применяет конфигурационный файл production.yaml

disabled

--detached

Запускает Camunda Run как фоновый (detached) процесс. Это поведение стартовых скриптов по умолчанию. Чтьобы отключить его, явно передайте валидный аргумент в скрипт.

enabled

--oauth2

Разрешает интеграцию со Spring Security OAuth2. См. документацию, посвященную интеграции со Spring Security OAuth2, для получения более подробной информации.

false

--help

Распечатывает сообщение, показывающее доступные аргументы для стартовых скриптов.

-

Запуск Camunda Run с использованием Docker

Camunda Run также доступна как Docker-образ. См. раздел по Camunda Run в документации Camunda Docker (это здесь), чтобы узнать подробности.

Опциональные компоненты

По умолчанию Camunda Run запускается вместе с веб приложениями (web apps), REST API и модулями с примерами. Если вы хотите разрешить использование только некоего подмножество от перечисленного набора, выполните стартовый скрипт через интерфейс командной строки с любыми свойствами из числа --webapps, --rest или --example, чтобы включить конкретные модули.

Приложение-пример

По умолчанию дистрибутив Camunda Run деплоит и запускает приложение-пример, когда стартует сам. Когда оно запущено, это приложение создает деплойменты с многочисленными определениями в рамках стандартов BPMN и DMN, а также ресурсы форм и запускает экземпляры заданных процессов.

Вы можете отключить деплоймент самого приложения-примера, разрешив любую комбинацию других модулей с помощью свойств --webapps и --rest у стартового скрипта. Тогда приложение-пример не стартует и его ресурсы не будут находиться в classpath у Camunda Run.

Вы также можете отключить запуск приложения-примера, установив свойство openbpm.bpm.run.example.enabled в false или удалив его из свойств приложения. Тогда приложение-пример и его ресурсы будут находиться в classpath у Camunda Run, однако, приложение не стартует.

Отключение приложения-примера с использованием любых из вышеперечисленных механизмов НЕ удалит не=икаких деплойментов или экземпляров процессов из Camunda Run, если они уже были созданы. ВАм придется удалять эти данные вручную через web apps, REST API или очистку базы данных, сконфигурированной в свойствах приложения.

Выбор между конфигурацией по умолчанию и продакшен конфигурацией

Camunda Run поставляется с двумя разными конфигурационными файлами, которые находятся в папке configuration.

  • Конфигурация default.yml содержит только необходимую уонфигурацию,а именно базу данных H2, демо пользователя и CORS для REST вызовов из клиентского прложения.

  • Конфигурация production.yml предназначена для предоставления рекомендованных свойств в соответствии с configuration is intended to provide the recommended properties according to the инструкциями по безопасности. При использовании Camunda Run в продакшен окружении убедитесь в том, что вы создали свою кастомизированную конфигурацию, основанную на этой конфигурации и внимательно прочитали инструкции по безопасности.

По умолчанию Run запускается с конфигурацией default.yml. Чтобы подключить конфигурацию production.yml, выполните стартовый скрипт со свойством --production. Использование --production отключает приложение-пример. Его можно подключить обратно, явно передав --example стартовому скрипту. Однако, мы не рекомендуем использовать приложение-пример в продакшен.

Подключение к базе данных

Camunda Run предварительно сконфигурирован для использования файловой базы данных H2 database для тестирования. Схема базы данных и все необходимые таблицы создаются автоматически при первом старте движка. Если вы хотите использовать автономную базу данных по вашему выбору, выполните следующие шаги:

  1. Убкдитесь в том, что ваша база данных входит в число поддерживаемых СУБД.

  2. Самостоятельно создайте схему базы данных для Camunda 7.

  3. Установите схему базы данных, чтобы создать все необходимые таблицы и индексы по умолчанию, используя наше руководство по установке схемы базы данных.

  4. Поместите jar-файл JDBC драйвера для вашей СУБД в папку configuration/userlib.

  5. Добавьте JDBC URL и креденшелы для логина в конфигурационный файл, как описано ниже.

  6. Перезапустите Camunda Run.

Деплоймент BPMN моделей

В нераспакованном дистрибутиве вы найдете папку resources. Все файлы (включая BPMN, DMN, CMMN, формы м файлы скриптов) будут задеплоены на старте Camunda Run.

Вы можете ссылаться на формы и скрипты в BPMN-диаграмме через embedded:deployment:/my-form.html, camunda-forms:deployment:/myform.form или deployment:/my-script.js. Деплоймент требует добавления дополнительного / в качестве префикса к имени файла.

Деплойменты через REST API все еще возможны.

Автоматическое подхватывание лицензии

Если вы скачали enterprise версию Camunda Run, вам понадобится лицензионный ключ, чтобы подключить enterprise возможности. См. раздел, посвященный лицензиям в документации, чтобы узнать больше.

Конфигурируем Camunda Run

Как и со всеми другими дистрибутивами, вы можете подогнать Camunda Run под ваши потребности. Для этого необходимо отредактировать один из конфигурационных файлов, который вы найдете в папке конфигураций.

ПРИМЕЧАНИЕ

Camunda Run базируется на стартере Camunda Spring Boot. Все конфигурационные свойства из camunda-spring-boot-starter доступны для кастомизации Camunda Run.

База данных

Дистрибутив поставляется с файловой базой данных h2 для целей тестирования. Для использования в продакшен рекомендуется подключаться к автономной базе данных.

Префикс Имя свойства Описание Значение по умолчанию

spring.datasource

.url

JDBC URL для базы данных.

-

.driver-class-name

Имя класса JDBC драйвера для вашей СУБД. Не забудьте положить jar-файл драйвера вашей СУБД в configuration/userlib.

-

.username

Имя пользователя для подключения к базе данных.

-

.password

Пароль для подключения к базе данных.

-

Аутентификация

Чтобы добавить аутентификацию к запросам, поступающим к REST API, вы можете подключить базовую аутентификацию.

Префикс Имя свойства Описание Значение по умолчанию

openbpm.bpm.run.auth

.enabled

Переключатель для подключения базовой аутентификации к запросам к REST API.

false

.authentication

Метод аутентификации, в настоящее время поддерживается только basic.

basic

Совместное использование ресурсов из разных источников

Если вы хотите позволить запросам из разных источников (cross-origin) к REST API, вам неоьходимо подключить CORS.

Префикс Имя свойства Описание Значение по умолчанию

openbpm.bpm.run.cors

.enabled

Переключатель для подключения CORS.

false

.allowed-origins

Источники, которым позволяется отправлять CORS-запросы. Если источников несколько, их можно разделять запятыми. Чтобы поддержать как HTTP аутентификацию, так и CORS, allowed-origins не должно быть равно *. Чтобы разрешить Camunda Modeler деплоиться с аутентификацией, включая file:// среди разрешенных источников.

* (все источники, включая file://)

.allowed-headers

Заголовки, которым разрешено передаваться через CORS запросы. Если заголовков несколько, их можно разделять запятыми.

Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers

.exposed-headers

Заголовки, которые могут считываться браузерами из CORS ответа. Простые заголовки ответов не должны включаться в этот список. Если заголовков несколько, их можно разделять запятыми.

None

.allow-credentials

Булев флаг, который помогает браузеру определить, может ли он делать CORS запрос с использованием креденшелов.

false

.preflight-maxage

Задает, как долго браузер может хранить в кеше результат pre-flight запроса в секундах.

1800

REST

Camunda Run можно сконфигурировать таким образом, чтобы отключить REST эндпоинт, который дает доступ к WADL файлу через свойство .

Префикс Имя свойства Описание Значение по умолчанию

openbpm.bpm.run.rest

.disable-wadl

Отключает REST эндпоинт /application.wadl. Web Application Description Language (WADL) — это XML описание задеплоенных RESTful веб приложений.

false

Деплоймент

Camunda Run также поддерживает опции конфигурации для кастомизации деплоймента.

Префикс Имя свойства Описание Значение по умолчанию

openbpm.bpm.run.deployment

.deploy-changed-only

  • Когда установлено в true, только деплойменты с измененными ресурсами будут деплоиться в базу данных движка.

  • Когда кстановлено в false, все деплойменты будут задеплоены без фильтрации их ресурсов.

Это свойство может быть полезным для управления поведением движка при деплойменте на случай перезапуска подобно Spring Framework Integration

true

LDAP Identity Service

Camunda 7 может управлять пользователями и авторизациями самостоятельно, но если вы хотите использовать существующую базу данных аутентификации LDAP, вы можете подключить плагин LDAP Identity Service (сервиса идентификации), который предоставляет read-only доступ к репозиторию LDAP.

Вы можете найти все доступные свойтва конфигурации в руководстве по LDAP плагину

Префикс Имя свойства Описание Значение по умолчанию

openbpm.bpm.run.ldap

.enabled

Переключатель для подключения плагина LDAP identity service plugin.

false

LDAP Administrator Authorization

Вы также можете использовать плагин Administrator Authorization (авторизации администратора), чтобы гарантировать, что надлежащий LDAP пользователь или ггруппа получит административный доступ. Вы можете просмотреть все доступные конфигурационные опции в разделе по плагину Administrator Authorization в нашей документации.

В приведенной ниже таблице вы можете заметить специфические для Camunda Run свойства для плагина Administrator Authorization.

Префикс Имя свойства Описание Значение по умолчанию

openbpm.bpm.run.admin-auth

.enabled

Переключатель для подключения плагина Administrator Authorization.

false

Регистрация плагинов

Camunda Run поддерживает два типа плагинов.

  • Плагины движка обработки процессов могут использоваться для расширения конфигурации движка обработки процессов для добавления большего количества функциональности.

  • Webapp плагины используются для расширения одного из веб приложений Camunda (Cockpit, Tasklist, Admin или Welcome).

Оба типа плагинов поддерживаются в Camunda Run, но регистрироваться они должны по-разному.

Регистрация плагина движка обработки процессов

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

Больше подробностей о работе плагинов движка обработки процессов можно узнать в специальном разделе документации, посвященном плагинам движка обработки процессов.

В нижеприведенной таблице вы можете просмотреть свойства, специфические для Camunda Run, предназначенные для регистрации плагинов движка обработки процессов.

Префикс Имя свойства Описание Значение по умолчанию

openbpm.bpm.run

.process-engine-plugins

Вы можете задать конфигурации плагина движка обработки процессов через это YAML-свойство.

Пустой List

openbpm.bpm.run.process-engine-plugins

.plugin-class

Часть вхождения списка process-engine-plugins. Задает класс плагина движка управления процессами.

-

.plugin-parameters

Часть вхождения списка process-engine-plugins. Задает параметры движка управления процессами как пары key:value.

Пустой Map

Чтобы зарегистрировать плагин движка управления процессами, выполните следующие шаги в Camunda Run:

  1. Найдите и прочитайте документацию по плагину.

    • Найдите Java класс, который реализует интерфейс ProcessEnginePlugin для вашего плагина.

    • Выясните, предоставляет ли плагин какие-либо конфигурационные параметры. Если да, вы сможете сконфигурировать свой плагин с использованием этих параметров. Если таких параметров нет, пропустите данный шаг.

  2. Скачайте .jar файл для плагина и поместите его в каталог ${RUN_HOME}/configuration/userlib/.

  3. В файле конфигурации Camunda Run добавьте класс плагина и любые конфигурационные параметры как список под YAML-свойством process-engine-plugins.

После завершения этого процесса ваш конфигурационный файл на YAML должен быть похож на этот:

  openbpm.bpm.run.process-engine-plugins:
    - plugin-class: canonical.name.of.the.PluginClass
Пример регистрации плагина движка управ ления процессами

Предположим, что вы хотите зарегистрировать плагин движка управления процессами, который называется TestPlugin. Доступна следующая информация:

  • Плагин предоставляется как .jar архив с именем camunda-bpm-test-plugin.jar.

  • Имя Java класса, который реализует интерфейс ProcessEnginePlugin — TestPlugin. Каноничное имя этого класса — io.openbpm.bpm.run.test.plugins.TestPlugin.

  • TestPlugin содержит следующие два параметра конфигурации:

  • parameterOne — значение типа String

  • parameterTwo — значение типа Boolean

Мы выполним следующие шаги:

  1. Поместим архив camunda-bpm-test-first-plugin.jar в каталог ${RUN_HOME}/configuration/userlib/.

  2. Добавим следующее содержимое к конфигурационному файлу Camunda Run на YAML:

       openbpm.bpm.run.process-engine-plugins:
         - plugin-class: io.openbpm.bpm.run.test.plugins.TestPlugin
           plugin-parameters:
             parameterOne: valueOne
             parameterTwo: true

    В приведенном выше примере мы используем каноничное имя класса TestPlugin в качестве YAML-ключа. YAML-значение состоит из набора пар ключ-значение, которые представляют собой конфигурационные параметры для TestPlugin и их значения. Некоторые плагины движка обработки процессов не имеют конфигурационных параметров. Для таких плагинов вам надо задать только YAML-свойство plugin-class, вот так:

       openbpm.bpm.run.process-engine-plugins:
         - plugin-class: io.openbpm.bpm.run.test.plugins.TestPlugin
         - plugin-class: io.openbpm.bpm.run.test.plugins.AnotherPlugin
  3. Запустите Camunda Run. TestPlugin будет считан из YAML-конфигурации и зарегистрирован в движке.

Регистрация плагина типа Webapp

Camunda 7 предоставляет механизм для расширения Camunda Webapps вашей собственной функциональностью. Вы можете добавлять плагины во многих местах. Например, на дашборде процессов в Cockpit.

Плагин типа webapp — это Maven jar проект, который предоставляет расширения для серверной и клиентской стороны веб приложения. Вы можете найти больше информации о том, как структурировать ваши плагины здесь.

Чтобы зарегистрировать webapp-плагин, просто поместите jar файл в каталог configuration/userlib. См. "Запуск" в Starting with разделе Camunda Run этого руководства, чтобы узнать, как ориентироваться в каталогах Camunda Run.

Запуск приложения-примера

Camunda Run поставляется с демо-приложением, которое деплоит ресурсы и запускает экземпляры процессов. Вы можете отключить запуск этого приложения, чтобы оно не создавало деплойментов и экземпляров процесса. Однако, ресурсы этого приложения будут по-прежнему доступны в classpath Camunda Run. Чтобы узнать больше, обратитесь к разделу о приложении-примере.

Префикс Имя свойства Описание Значение по умолчанию

openbpm.bpm.run.example

.enabled

Переключатель, разрешающий запуск приложения-примера.

false

HTTPS

Camunda Run поддерживает HTTPS поверх SSL. Чтобы подключить его, вам понадобится валидный SSL сертификат, подписанный доверенным провайдером и хранимый в файле для хранения ключей (.jks или .p12). Для целей тестирования мы включили в пакет сертификат, подписанный нами самими. Вам не следует использовать его в продакшен. Чтобы разрешить его использование, добавьте следующие свойства в ваш конфигурационный файл:

server:
  ssl:
    key-store: classpath:keystore.p12
    key-store-password: camunda
    key-store-type: pkcs12
    key-alias: camunda
    key-password: camunda
  port: 8443

После запуска Camunda Run вы можете получить доступ к webapps через https://localhost:8443/camunda/app/ и к REST API через https://localhost:8443/engine-rest/.

Префикс Имя свойства Описание Значение по умолчанию

server.ssl

.key-store

Название файла для хранения SSL сертификата. Этот файл должен быть помещен в каталоге configuration/keystore и иметь расширение .jks или .p12.

-

.key-store-password

Пароль для доступа к хранилищу ключей.

-

.key-store-type

Тип хранилища ключей Может быть равно jks или p12

-

.key-alias

Имя, идентифицирующее SSL сертификат в хранилище ключей.

-

.key-password

Пароль для доступа к SSL сертификату в хранилище ключей.

-

Логирование

Camunda 7 предоставляет точную и настраиваемую систему логирования. Обзор доступных категорий логирования можно найти в руководстве пользователя по логированию. Чтобы сконфигурировать поведение функции логирования в Camunda Run, кастомизируйте ваш файл конфигурации при помощи следующих свойств.

Для получения дополнительной информации по конфигурированию логирования посетите Руководство по логированию от Spring Boot.

Префикс Имя свойства Описание Значение по умолчанию

logging

.level.root

Устанавливает уровень логирования для всех доступных категорий логирования. Допустимые значения: OFF. ERROR. WARN. INFO. DEBUG. FATAL. `TRACE

-

.level.{logger-name}

Устанавливает уровень логирования для определенной категории логирования. Обзор доступных категорий можно найти в руководстве пользователя по логированию. Допустимые значения: OFF. ERROR. WARN. INFO. DEBUG. FATAL. TRACE

-

.file.name

Задает местоположение файла с логами (например, logs/camunda-bpm-run-log.txt)

-

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

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

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