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 и приложения
-
Cockpit
-
Tasklist
-
Admin
Начало работы с 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 |
Применяет конфигурационный файл |
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 для тестирования. Схема базы данных и все необходимые таблицы создаются автоматически при первом старте движка. Если вы хотите использовать автономную базу данных по вашему выбору, выполните следующие шаги:
-
Убкдитесь в том, что ваша база данных входит в число поддерживаемых СУБД.
-
Самостоятельно создайте схему базы данных для Camunda 7.
-
Установите схему базы данных, чтобы создать все необходимые таблицы и индексы по умолчанию, используя наше руководство по установке схемы базы данных.
-
Поместите jar-файл JDBC драйвера для вашей СУБД в папку
configuration/userlib. -
Добавьте JDBC URL и креденшелы для логина в конфигурационный файл, как описано ниже.
-
Перезапустите 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-headers |
Заголовки, которым разрешено передаваться через CORS запросы. Если заголовков несколько, их можно разделять запятыми. |
|
|
.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 эндпоинт |
false |
Деплоймент
Camunda Run также поддерживает опции конфигурации для кастомизации деплоймента.
| Префикс | Имя свойства | Описание | Значение по умолчанию |
|---|---|---|---|
openbpm.bpm.run.deployment |
.deploy-changed-only |
Это свойство может быть полезным для управления поведением движка при деплойменте на случай перезапуска подобно 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-свойство. |
Пустой |
openbpm.bpm.run.process-engine-plugins |
.plugin-class |
Часть вхождения списка process-engine-plugins. Задает класс плагина движка управления процессами. |
- |
.plugin-parameters |
Часть вхождения списка process-engine-plugins. Задает параметры движка управления процессами как пары key:value. |
Пустой Map |
Чтобы зарегистрировать плагин движка управления процессами, выполните следующие шаги в Camunda Run:
-
Найдите и прочитайте документацию по плагину.
-
Найдите Java класс, который реализует интерфейс
ProcessEnginePluginдля вашего плагина. -
Выясните, предоставляет ли плагин какие-либо конфигурационные параметры. Если да, вы сможете сконфигурировать свой плагин с использованием этих параметров. Если таких параметров нет, пропустите данный шаг.
-
-
Скачайте
.jarфайл для плагина и поместите его в каталог${RUN_HOME}/configuration/userlib/. -
В файле конфигурации 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
Мы выполним следующие шаги:
-
Поместим архив
camunda-bpm-test-first-plugin.jarв каталог${RUN_HOME}/configuration/userlib/. -
Добавим следующее содержимое к конфигурационному файлу 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 -
Запустите 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 |
Устанавливает уровень логирования для всех доступных категорий логирования. Допустимые значения: |
- |
.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