OpenBPM Engine Run
|
Этот раздел перенесён из документации Camunda 7 и в дальнейшем будет доработан с учётом особенностей OpenBPM Engine |
Это руководство дает нам первоначальное представление о OpenBPM Engine Run, предварительно упакованном, легком по весу дистрибутиве OpenBPM Engine. OpenBPM Engine Run легко конфигурировать, это не требует познаний в Java.
Предварительные условия и аудитория
Чтобы использовать это руководство, вам как минимум необходимо знать, что такое OpenBPM Engine и что она делает. Ознакомьтесь с руководством по быстрому старту, если никогда раньше не использовали OpenBPM. Руководство по установке тоже не помешает, если OpenBPM Engine для вас совсем в новинку.
Данное руководство расскажет вам про OpenBPM Engine Run и научит его конфигурировать. Оно может служить как справочная страница для опций по конфигурации и работе. Оно не дает пошаговых инструкций по установке OpenBPM Engine Run. Если вам необходим узнать подробности об установке или начале работы с OpenBPM Engine Run, перейдите на инструкцию по установке.
Что такое OpenBPM Engine Run?
OpenBPM Engine Run — это полный дистрибутив OpenBPM Engine. Он включает:
-
OpenBPM Engine и приложения
-
Cockpit
-
Tasklist
-
Admin
Начало работы с OpenBPM Engine Run
Чтобы начать работать с OpenBPM Engine Run, скачайте дистрибутив и распакуйте его. Внутри вы найдете следующую структуру:
openbpm-engine-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). Через несколько секунд вы получите доступ к OpenBPM Engine web apps через http://localhost:8080/openbpm-engine/app/ и к REST API через http://localhost:8080/engine-rest/.
При выполнении одного из двух стартовых скриптов без каких-либо аргументов OpenBPM Engine Run стартует с конфигурацией по умолчанию как фоновый (detached) процесс. Чтобы выключить OpenBPM Engine Run в таком "detached" режиме, воспользуйтесь одним из двух скриптов выключения (shutdown.bat для Windows, shutdown.sh для Linux/Mac).
При явной передаче аргументов одному из двух стартовых скриптов OpenBPM Engine Run режим по умолчанию (detached) отключается, и вы можете сконфигурировать OpenBPM Engine Run в соответствии с вашими нуждами. Более того, OpenBPM Engine Run стартует как процесс на переднем плане (foreground), если только аргумент --detached не будет явно передан в скрипт start.bat или start.sh.
Аргументы стартового скрипта
Стартовые скрипты (start.bat для Windows, start.sh для Linux/Mac) принимают следующие аргументы:
| Аргумент | Описание | Состояние по умолчанию |
|---|---|---|
--webapps |
Разрешает использование OpenBPM Engine web apps |
enabled |
--rest |
Разрешает использование REST API |
enabled |
--example |
Разрешает использование приложения по умолчанию |
enabled |
--production |
Применяет конфигурационный файл |
disabled |
--detached |
Запускает OpenBPM Engine Run как фоновый (detached) процесс. Это поведение стартовых скриптов по умолчанию. Чтьобы отключить его, явно передайте валидный аргумент в скрипт. |
enabled |
--oauth2 |
Разрешает интеграцию со Spring Security OAuth2. См. документацию, посвященную интеграции со Spring Security OAuth2, для получения более подробной информации. |
false |
--help |
Распечатывает сообщение, показывающее доступные аргументы для стартовых скриптов. |
- |
Запуск OpenBPM Engine Run с использованием Docker
OpenBPM Engine Run также доступна как Docker-образ. См. раздел по OpenBPM Engine Run в документации OpenBPM Engine Docker, чтобы узнать подробности.
Опциональные компоненты
По умолчанию OpenBPM Engine Run запускается вместе с веб приложениями (web apps), REST API и модулями с примерами. Если вы хотите разрешить использование только некоего подмножество от перечисленного набора, выполните стартовый скрипт через интерфейс командной строки с любыми свойствами из числа --webapps, --rest или --example, чтобы включить конкретные модули.
Приложение-пример
По умолчанию дистрибутив OpenBPM Engine Run деплоит и запускает приложение-пример, когда стартует сам. Когда оно запущено, это приложение создает деплойменты с многочисленными определениями в рамках стандартов BPMN и DMN, а также ресурсы форм и запускает экземпляры заданных процессов.
Вы можете отключить деплоймент самого приложения-примера, разрешив любую комбинацию других модулей с помощью свойств --webapps и --rest у стартового скрипта. Тогда приложение-пример не стартует и его ресурсы не будут находиться в classpath у OpenBPM Engine Run.
Вы также можете отключить запуск приложения-примера, установив свойство openbpm.bpm.run.example.enabled в false или удалив его из свойств приложения. Тогда приложение-пример и его ресурсы будут находиться в classpath у OpenBPM Engine Run, однако, приложение не стартует.
Отключение приложения-примера с использованием любых из вышеперечисленных механизмов НЕ удалит не=икаких деплойментов или экземпляров процессов из OpenBPM Engine Run, если они уже были созданы. ВАм придется удалять эти данные вручную через web apps, REST API или очистку базы данных, сконфигурированной в свойствах приложения.
Выбор между конфигурацией по умолчанию и продакшен конфигурацией
OpenBPM Engine Run поставляется с двумя разными конфигурационными файлами, которые находятся в папке configuration.
-
Конфигурация
default.ymlсодержит только необходимую уонфигурацию,а именно базу данных H2, демо пользователя и CORS для REST вызовов из клиентского прложения. -
Конфигурация
production.ymlпредназначена для предоставления рекомендованных свойств в соответствии с configuration is intended to provide the recommended properties according to the инструкциями по безопасности. При использовании OpenBPM Engine Run в продакшен окружении убедитесь в том, что вы создали свою кастомизированную конфигурацию, основанную на этой конфигурации и внимательно прочитали инструкции по безопасности.
По умолчанию Run запускается с конфигурацией default.yml. Чтобы подключить конфигурацию production.yml, выполните стартовый скрипт со свойством --production. Использование --production отключает приложение-пример. Его можно подключить обратно, явно передав --example стартовому скрипту. Однако, мы не рекомендуем использовать приложение-пример в продакшен.
Подключение к базе данных
OpenBPM Engine Run предварительно сконфигурирован для использования файловой базы данных H2 database для тестирования. Схема базы данных и все необходимые таблицы создаются автоматически при первом старте движка. Если вы хотите использовать автономную базу данных по вашему выбору, выполните следующие шаги:
-
Убкдитесь в том, что ваша база данных входит в число поддерживаемых СУБД.
-
Самостоятельно создайте схему базы данных для OpenBPM Engine.
-
Установите схему базы данных, чтобы создать все необходимые таблицы и индексы по умолчанию, используя наше руководство по установке схемы базы данных.
-
Поместите jar-файл JDBC драйвера для вашей СУБД в папку
configuration/userlib. -
Добавьте JDBC URL и креденшелы для логина в конфигурационный файл, как описано ниже.
-
Перезапустите OpenBPM Engine Run.
Деплоймент BPMN моделей
В нераспакованном дистрибутиве вы найдете папку resources. Все файлы (включая BPMN, DMN, CMMN, формы м файлы скриптов) будут задеплоены на старте OpenBPM Engine Run.
Вы можете ссылаться на формы и скрипты в BPMN-диаграмме через embedded:deployment:/my-form.html, camunda-forms:deployment:/myform.form или deployment:/my-script.js. Деплоймент требует добавления дополнительного / в качестве префикса к имени файла.
Деплойменты через REST API все еще возможны.
Конфигурируем OpenBPM Engine Run
Как и со всеми другими дистрибутивами, вы можете подогнать OpenBPM Engine Run под ваши потребности. Для этого необходимо отредактировать один из конфигурационных файлов, который вы найдете в папке конфигураций.
|
OpenBPM Engine Run базируется на стартере OpenBPM Engine Spring Boot. Все конфигурационные свойства из openbpm-engine-spring-boot-starter доступны для кастомизации OpenBPM Engine 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
OpenBPM Engine Run можно сконфигурировать таким образом, чтобы отключить REST эндпоинт, который дает доступ к WADL файлу через свойство .
| Префикс | Имя свойства | Описание | Значение по умолчанию |
|---|---|---|---|
openbpm.bpm.run.rest |
.disable-wadl |
Отключает REST эндпоинт |
false |
Деплоймент
OpenBPM Engine Run также поддерживает опции конфигурации для кастомизации деплоймента.
| Префикс | Имя свойства | Описание | Значение по умолчанию |
|---|---|---|---|
openbpm.bpm.run.deployment |
.deploy-changed-only |
Это свойство может быть полезным для управления поведением движка при деплойменте на случай перезапуска подобно Spring Framework Integration |
true |
LDAP Identity Service
OpenBPM Engine может управлять пользователями и авторизациями самостоятельно, но если вы хотите использовать существующую базу данных аутентификации 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 в нашей документации.
В приведенной ниже таблице вы можете заметить специфические для OpenBPM Engine Run свойства для плагина Administrator Authorization.
| Префикс | Имя свойства | Описание | Значение по умолчанию |
|---|---|---|---|
openbpm.bpm.run.admin-auth |
.enabled |
Переключатель для подключения плагина Administrator Authorization. |
false |
Регистрация плагинов
OpenBPM Engine Run поддерживает два типа плагинов.
-
Плагины движка обработки процессов могут использоваться для расширения конфигурации движка обработки процессов для добавления большего количества функциональности.
-
Webapp плагины используются для расширения одного из веб приложений OpenBPM Engine (Cockpit, Tasklist, Admin или Welcome).
Оба типа плагинов поддерживаются в OpenBPM Engine Run, но регистрироваться они должны по-разному.
Регистрация плагина движка обработки процессов
OpenBPM Engine предоставляет механизм для плагинов движка обработки процессов, позволяющий пользователям добавлять и адаптировать функции движка через расширение его конфигурации. Вы можете использовать как плагины, разработанные командой OpenBPM Engine, так и разработки третьих сторон.
Больше подробностей о работе плагинов движка обработки процессов можно узнать в специальном разделе документации, посвященном плагинам движка обработки процессов.
В нижеприведенной таблице вы можете просмотреть свойства, специфические для OpenBPM Engine 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 |
Чтобы зарегистрировать плагин движка управления процессами, выполните следующие шаги в OpenBPM Engine Run:
-
Найдите и прочитайте документацию по плагину.
-
Найдите Java класс, который реализует интерфейс
ProcessEnginePluginдля вашего плагина. -
Выясните, предоставляет ли плагин какие-либо конфигурационные параметры. Если да, вы сможете сконфигурировать свой плагин с использованием этих параметров. Если таких параметров нет, пропустите данный шаг.
-
-
Скачайте
.jarфайл для плагина и поместите его в каталог${RUN_HOME}/configuration/userlib/. -
В файле конфигурации OpenBPM Engine 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/. -
Добавим следующее содержимое к конфигурационному файлу OpenBPM Engine 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 -
Запустите OpenBPM Engine Run.
TestPluginбудет считан из YAML-конфигурации и зарегистрирован в движке.
Регистрация плагина типа Webapp
OpenBPM Engine предоставляет механизм для расширения OpenBPM Engine Webapps вашей собственной функциональностью. Вы можете добавлять плагины во многих местах. Например, на дашборде процессов в Cockpit.
Плагин типа webapp — это Maven jar проект, который предоставляет расширения для серверной и клиентской стороны веб приложения. Вы можете найти больше информации о том, как структурировать ваши плагины здесь.
Чтобы зарегистрировать webapp-плагин, просто поместите jar файл в каталог configuration/userlib. См. "Запуск" в Starting with разделе OpenBPM Engine Run этого руководства, чтобы узнать, как ориентироваться в каталогах OpenBPM Engine Run.
Запуск приложения-примера
OpenBPM Engine Run поставляется с демо-приложением, которое деплоит ресурсы и запускает экземпляры процессов. Вы можете отключить запуск этого приложения, чтобы оно не создавало деплойментов и экземпляров процесса. Однако, ресурсы этого приложения будут по-прежнему доступны в classpath OpenBPM Engine Run. Чтобы узнать больше, обратитесь к разделу о приложении-примере.
| Префикс | Имя свойства | Описание | Значение по умолчанию |
|---|---|---|---|
openbpm.bpm.run.example |
.enabled |
Переключатель, разрешающий запуск приложения-примера. |
false |
HTTPS
OpenBPM Engine Run поддерживает HTTPS поверх SSL. Чтобы подключить его, вам понадобится валидный SSL сертификат, подписанный доверенным провайдером и хранимый в файле для хранения ключей (.jks или .p12). Для целей тестирования мы включили в пакет сертификат, подписанный нами самими. Вам не следует использовать его в продакшен. Чтобы разрешить его использование, добавьте следующие свойства в ваш конфигурационный файл:
server:
ssl:
key-store: classpath:keystore.p12
key-store-password: openbpm
key-store-type: pkcs12
key-alias: openbpm
key-password: openbpm
port: 8443
После запуска OpenBPM Engine Run вы можете получить доступ к webapps через https://localhost:8443/openbpm-engine/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 сертификату в хранилище ключей. |
- |
Логирование
OpenBPM Engine предоставляет точную и настраиваемую систему логирования. Обзор доступных категорий логирования можно найти в руководстве пользователя по логированию. Чтобы сконфигурировать поведение функции логирования в OpenBPM Engine Run, кастомизируйте ваш файл конфигурации при помощи следующих свойств.
Для получения дополнительной информации по конфигурированию логирования посетите Руководство по логированию от Spring Boot.
| Префикс | Имя свойства | Описание | Значение по умолчанию |
|---|---|---|---|
logging |
.level.root |
Устанавливает уровень логирования для всех доступных категорий логирования. Допустимые значения: |
- |
.level.{logger-name} |
Устанавливает уровень логирования для определенной категории логирования. Обзор доступных категорий можно найти в руководстве пользователя по логированию. Допустимые значения: OFF. ERROR. WARN. INFO. DEBUG. FATAL. TRACE |
- |
|
.file.name |
Задает местоположение файла с логами (например, logs/openbpm-bpm-run-log.txt) |
- |
Лицензия и атрибуция
Эта документация была создана на базе материала "Camunda 7 Docs" от Camunda, находится под лицензией Creative Commons Attribution-ShareAlike 3.0 Unported License .
Оригинал документации: https://docs.camunda.org