Camunda описание бизнес процессов

image

BPM-разработка — дело непростое. Это обусловлено тем, что процесс должен быть читаемым и понятным заказчику, а не только корректным с технической точки зрения.

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

2018 год принципиально изменил наш подход к разработке бизнес-процессов. Ниже — о том, как эволюционировал этот подход и как менялись мы.

Вместо пролога

Наш отдел занимается разработкой бизнес-процессов — начиная от самых маленьких и незначительных, заканчивая крупными и крайне прибыльными. До последнего времени для разработки мы использовали продукт от IBM, который позволяет достаточно быстро выпустить в продакшен работающий бизнес-процесс.

Первый проект на Camunda: Создание и запуск бизнес-процесса

IBM BPM — мощная платформа, которая включает богатый набор возможностей, таких как описание самих процессов, UI-форм, интеграционных модулей. К тому же эта платформа имеет довольно низкий порог входа, что позволяет начинающим разработчикам практически сразу погружаться в проект. Но есть у этого продукта и недостатки, которые если и не тормозят разработку, то уж точно не способствуют скорости и качеству:

  • Нет вменяемого контроля версий. IBM BPM просто не дает возможности нормально хранить процессы (код) в репозитории и использует свое собственное хранилище, которое не знает о таком понятии, как merge, например.
  • Разработка на Java 6. Возможно, на момент написания этой статьи уже можно разрабатывать на Java 7, но в 2019 году это слабое утешение.
  • IBM BPM крутится на WebSphere, в итоге разработчикам надо запасаться терпением при каждом обновлении своего модуля. К тому же это дополнительная головная боль для админов, которым периодически приходится возвращать к жизни этого монстра в случае его зависания.
  • Разработка интеграционных модулей в среде Integration Designer, которая в действительности является затюненным не в лучшую сторону Eclipse.
  • Нет нормальной возможности Unit-тестирования.
  • Высокая стоимость платформы.

image

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

Так как его мы переписывали полностью, старого кода почти не было, мы могли практически ни в чем себя не ограничивать и поэтому в качестве языка разработки выбрали Kotlin. Было интересно попробовать этот новый язык, о котором слышали по большей части положительные отзывы. На некоторых других проектах в нашем отделе был успешный опыт внедрения. Финальный стек получился таким: Camunda, Spring Boot 2, Kotlin, Postgre.

Что это такое Camunda?

image

Camunda — это open-source-платформа для моделирования бизнес-процессов, которая написана на Java и в качестве языка разработки использует Java. Она представляет собой набор библиотек, которые и позволяют выполнять описанные процессы. Для интеграции Camunda в проект достаточно добавить несколько зависимостей.

Для хранения процессов можно выбрать in-memory или персистентную СУБД — в зависимости от задач. Мы выбрали Postgre, так как нам важна история для «разбора полетов». По умолчанию платформа разворачивается на H2.

Разработка состоит из двух частей: создание flow-процесса в специальной утилите Camunda Modeler и написание java-кода, который обрабатывает шаги процесса, описанные на диаграмме. Чтобы из процесса вызвать java-код, достаточно реализовать интерфейс JavaDelegate, поднять этот Bean (можно указать делагат по полному имени, но через Bean удобнее и гибче) в контексте и указать его id на нужном шаге процесса. На Kotlin делегат выглядит еще более лаконично. Логика работы делегатов довольно проста: что-то вычитали из контекста, выполнили какие-то действия и положили обратно в контекст.

image

Рабочее окно Camunda Modeler

Пример делегата на Java:

Пример делегата на Kotlin:

import org.camunda.bpm.engine.delegate.DelegateExecution import org.camunda.bpm.engine.delegate.JavaDelegate class KotlinExampleDelegate: JavaDelegate < override fun execute(execution: DelegateExecution) < val someVar = execution.getVariable(«someVariable») //some code execution.setVariable(«otherVariable», «someValue») >>

В делегате можно описывать бизнес-логику, интеграции и всё, что душе угодно.

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

В большинстве случаев этот подход удобен и работает успешно. Взаимодействие с процессом происходит через DelegateExecution, который позволяет, например, работать с контекстом, инцидентами и так далее.

Это то, чего мы хотели?

В самом начале, при выборе инструмента, мы искали решение со следующими возможностями:

  • Восстановление процесса ровно с того места, где произошел сбой, и желательно, чтобы это было из коробки.
  • Некоторый GUI, где можно посмотреть, что вообще с процессом происходит.
  • Возможность написания юнит-тестов не только на логику и интеграцию, но и на сам процесс.
  • Java 8 и выше.
  • Развитое сообщество.

Хорошо читаемый трейс, возможность задания числа попыток выполнить шаг перед падением, кастомный обработчик при падении — например, если при падении мы хотим поменять статус некоторой сущности на Error. Последнее сделать достаточно легко, просто реализовав DefaultIncidentHandler. Правда, есть забавный момент при работе этого обработчика: код восстановления из ошибки срабатывает при каждом заходе на шаг процесса. Не могу сказать, что это — супербаг или проблема. Скорее, об этом нужно просто помнить и учитывать при разработке.

Читайте также:  Бизнес аналитика лучшие книги

Мы решили это примерно так:

override fun resolveIncident(context: IncidentContext) < val incidentList = Context.getCommandContext().incidentManager.findIncidentByConfiguration(context.configuration) if (incidentList.isNotEmpty()) < // некоторый код при восстановлении инцидента >>

GUI у Camunda есть, и он неплохой.

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

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

Rest у Camunda действительно мощный и позволяет творить с процессами практически что угодно. Например, стартовать процесс можно по /process-definition/key/aProcessDefinitionKey/start таким нехитрым запросом:

< «variables»: < «aVariable» : < «value» : «aStringValue», «type»: «String» >, «anotherVariable» : < «value» : true, «type»: «Boolean» >>, «businessKey» : «myBusinessKey» >

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

Для юнит-тестирования мы используем обычный Junit. Плюс есть довольно интересная библиотека для тестирования самого процесса — ‘org.camunda.bpm.extension’, name: ‘camunda-bpm-assert’. С ее помощью можно описывать тесты для проверки flow-процесса.

Это довольно удобно, так как искать проблемы в случае багов во flow зачастую сложнее, чем в коде. Такое тестирование защищает, например, от неаккуратного рефакторинга и несколько раз действительно нас выручало.

Необходимость в Java 8 частично отпала, так как использование Kotlin на многих процессах устранило потребность в «восьмерке». Kotlin очень хорошо вписался в проект и позволил сосредоточиться только на написании бизнес-логики. Трудно поверить, но в основном всё то, что говорят о крутости Kotlin, — правда. Сущности с большим числом полей, которыми славятся практически все приложения с интеграциями, теперь выглядят не так страшно, и маппинги между сущностями стали гораздо более читабельными. Часто критикуемое null safety действительно работает и выручает в большинстве случаев.

Community у Camunda достаточно развитое. Об этом говорит тот факт, что постоянно появляются новые библиотеки на GitHub для тестирования и метрик.

Приятно, что Camunda отлично интегрируется со Spring. Добавить необходимых зависимостей, пару аннотаций и пару конфигурационных бинов — собственно, вот и вся интеграция! В результате мы пишем обычное spring-приложение, к которому все привыкли, добавляя flow бизнес-процесса. Взаимодействие происходит через Java API, которое позволяет выполнять манипуляции с процессами из java-кода.

Например, запустить процесс можно всего одной командой:

runtimeService.startProcessInstanceByKey( «MyTestProcess», «MyBusinessKey», mapOf( «key1» to «value1», «key2» to «value2», ) )

Здесь MyTestProcess — Id-шник процесса, а не инстанса. MyBusinessKey — уникальный ключ для запускаемого инстанса процесса. Мы обычно используем для этого поля некое бизнесовое значение — для более быстрой навигации между инстансами и поиском.

Примерно таким же образом можно разбудить «заснувший» процесс.

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

image

Вместо эпилога

Вот несколько ресурсов, которые были полезны при внедрении описанного выше стека. Рекомендую ознакомиться с ними, если интересна дополнительная информация по теме.

  • Camunda хорошо документирована — большинство нужных кейсов мы нашли в официальной документации.
  • Более детально про платформу, интересные кейсы и вообще про bpm можно посмотреть на этом канале. Его ведет наш коллега, который и предложил использовать Camunda.
  • Хороший доклад от Павла Финкельштейна про внедрение Kotlin.

Источник: habr.com

Первый проект на Camunda: создание и запуск бизнес-процесса

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

Видео-версия

1. Бизнес-процесс

Будем делать бизнес-процесс командировок. Вот он:

Делаем такой бизнес-процесс

Процесс довольно простой, но его достаточно, чтобы проиллюстрировать подход. Сделайте такой же бизнес-процесс и разместите его в папке resourcesBPMN (в приложении из пред.урока)

Куда добавить bpmn файл в Camunda

Обратите внимание на папку META-INF и файл processes.xml — они нужны, чтобы камунда подхватывала ваши файлы. Создайте их.

При попытке запуска приложения Camunda ругнется на то, что она не может найти правила переходов на шлюзах. Их нужно заполнить:

Читайте также:  Теневая экономика как угроза экономической безопасности бизнеса

Правила перехода на стрелке

Это выражение открывает нам важную тему для автоматизации процессов — контекст.

Что такое контекст в Camunda

С любым бизнес-процессом незримо связаны данные: если это процесс запроса командировок, ты мы должны знать кто, куда и когда летит. Без данных не существует бизнес-процессов.

BPMN не предоставляет средств моделирования контекста, и каждая BPMS-система предлагает какие-то свои варианты её описания.

В некоторых системах (IBM, ELMA и т.д.) контекст нужно обьявлять заранее и прописывать, какой квадратик к каким данным имеет доступ.

В Camunda контекст по-умолчанию глобальный, и все элементы бизнес-процесса имеют к нему доступ. Прописывать контекст заранее не надо.

Обращение к контекстной переменной в Camunda

Обращение к контекстной переменной осуществяется по её имени.

Таким образом необходимость принимать решения на развилках бизнес-процессов приводит к необходимости сохранить данные для этого решения.

Модель данных процесса

Чтобы успешно улететь в командировку, человек должен указать:

  • Откуда лететь
  • Куда лететь
  • Когда лететь туда
  • Когда лететь обратно
  • Почему надо лететь
  • Кто полетит
  • Какая стоимость командировки будет

Добавим такие поля на форму первой задачи:

Добавление полей на форму

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

Вот такая форма будет сгенерирована

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

В задачу согласования заявки надо добавить результат согласования и комментарий, в задачу покупки билетов — результат покупки билетов, описание заброннированого отеля и самолёта, комментарий к задаче. В задачах исправления заявки — комментарии от пред. сотрудников.

Ваш первый процесс готов, данные уже будут бегать между людьми по вашей логике.

Результат и что с ним не так

Такой наивный способ сделать (кстати вот исходники) процесс приводит к убогим результатам:

  • Страшные формы — без валидации, без ограничения на чтениезапись, без подсказок и справочников.
  • Сотрудники не определяются автоматически, людям могут делать чужие задачи.
  • Нет уведомлений о новых задачах (это встроенное поведение camunda).
  • Нет отмены заявок.
  • Нет аналитики.
  • Если мы захотим обработку заявок на командировку превратить в несколько процессов, то нам прийдется перекидывать кучу полей между процессами.
  • Одни и теже атрибуты приходится прокидывать на каждую форму. При добавлении нового нужно пройти по всем задачам и проделать это упражнение.

Вывод

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник: bpmn2.ru

Camunda BPM. Система управления бизнес-процессами

Тема 2. Пакеты прикладных программ

СОДЕРЖАНИЕ
ЧТО ТАКОЕ BPM, BPMN, BPMS?
КАКИЕ РЕШЕНИЯ СУЩЕСТВУЮТ НА РЫНКЕ?
ЧТО ТАКОЕ CAMUNDA BPM?
КОМПОНЕНТЫ И АРХИТЕКТУРА СИСТЕМЫ
СЦЕНАРИИ ИСПОЛЬЗОВАНИЯ
ФАКТЫ О CAMUNDA
РАЗВЕРТЫВАНИЕ STANDALONE PROCESS ENGINE
УСТАНОВКА CAMUNDA MODELER
МОДЕЛИРОВАНИЕ И РАЗВЕРТЫВАНИЕ БИЗНЕС-ПРОЦЕССА

4.

BPM / BPMN / BPMS
BPM (Business process management) — Концепция управления организацией,
рассматривающая бизнес-процессы, как ресурсы организации, непрерывно адаптируемые
к постоянным изменениям, и полагающаяся на такие принципы, как понятность и
видимость бизнес-процессов в организации за счет их моделирования с использованием
формальных нотаций, использования программного обеспечения моделирования,
симуляции, мониторинга и анализа бизнес-процессов, возможность динамического
перестроения моделей бизнес-процессов силами участников и средствами программных
систем.
Иначе говоря, BPM отвечает на вопросы какая, где, когда, зачем и как выполняется задача и
кто отвечает за ее выполнение.

5.

BPM / BPMN / BPMS
Жизненный цикл управления бизнеспроцессами
Design (Проектирование)
Modeling (Моделирование)
Execution (Исполнение)
Monitoring (Мониторинг)
Optimization (Оптимизация)
Reengineering

6.

Участники
Участники управления бизнес-процессами:
Архитектор процессов — отвечает за описание и
проектирование бизнес-процессов.
Процессный аналитик — отвечает за построение, внедрение,
мониторинг и оптимизацию бизнес-процессов.
Владелец процесса — отвечает за исполнение бизнес-процесса
от начала до конца, в соответствии с определенными целевыми
показателями эффективности и в конечном итоге за создание
ценности для потребителя

7.

Области применения BPM-систем
Везде, где бизнес-процессы:
Описаны и формализованы, прозрачны, упорядочены
Используют несколько информационных систем
В процессе задействованы несколько участников
Отрасли:
Торговля (оптовая, интернет-магазины)
Банки и финансы
Страхование
Сфера услуг
Производство
Телекоммуникации и т.д.

8.

BPM / BPMN / BPMS
BPMS (Business Process Management System) – программное обеспечение,
обеспечивающее прикладную реализацию концепции BPM.
EPC
(Event-driven process chain)
Object Management Group
(OMG)
Нотации моделирования бизнес-процессов
IDEF0
(Методология функционального
моделирования)

9.

BPM / BPMN / BPMS
BPMN (Business Process Modeling Notation) – нотация (система графических обозначений и
их описание в формате XML) бизнес-процесса.
Текущая версия: BPMN 2.0 (2.0.2 – Январь 2014)
Object Management Group
(OMG)

10.

BPM / BPMN / BPMS
Пример диаграммы BPMN

11.

Существующие
решения
Lombardi BPM
BPEL
Популяризаторы BPMN в
России

Читайте также:  Как я проиграл бизнес

12.

Существующие
решения
Основана двумя бывшими разработчиками jBPM,
перешедшими из Red Hat в Alfresco
Alfresco – ведущий спонсор проекта.
Camunda – отделилась от проекта
Activiti (fork) в 2013 году
Менее емкая реализация BPMN
Отсутствует поддержка DMN и CMMN
Производительность ниже чем у Camunda:
http://www.bpm-guide.de/2016/06/12/scientific-performance-benchmarkof-open-source-bpmn-engines/

13.

Существующие
решения
.NET стек, российская разработка
Удобное моделирование, с
пошаговой отладкой сценариев,
процессов, пользовательских
форм
Готовая коробка с интеграцией с 1С
Предприятие
Тяжеловесные компоненты, в
частности графический редактор
Недорогая

14.

Существующие
решения
Дорогостоящие (Высокая TCO)
Закрытый код и архитектура
Тяжеловесные
Работают в проприетарном стеке технологий
Неполная поддержка BPMN
Сложно квалифицировать специалистов

15.

ЧТО ТАКОЕ CAMUNDA BPM?
Платформа с открытым исходным кодом, обеспечивающая
реализацию стандартов: BPMN (автоматизация рабочих процессов),
DMN (управление бизнес-правилами) и
CMMN (событийноориентированный подход к управлению процессами).
Основатели Camunda Services,
компании-разработчика Camunda,
также являются со-авторами стандарта
BPMN 2.0.
Открытый исходный код (Community-версия), Apache
2.0 / MIT лицензии
Технологический стек, основанный на популярном
языке программирования Java

16.

КОМПОНЕНТЫ СИСТЕМЫ (COMMUNITY)

17.

КОМПОНЕНТЫ СИСТЕМЫ (COMMUNITY)
Camunda Modeler
Кросс-платформенное приложение для моделирования бизнеспроцессов. Поддерживает нотации: BPMN 2.0, DMN 1.1, CMMN 1.1.
Camunda Tasklist
Веб-приложение для выполнения задач, требующих участия пользователя
(ввод и просмотр данных)
Camunda Cockpit
Веб-приложение, обеспечивающее мониторинг и управление бизнеспроцессами (интерфейс владельца или оператора бизнес-процесса)
Camunda Admin
Веб-приложение, интерфейс администратора системы. Управление
пользователями, группами, авторизациями.
REST/Java API
Программный интерфейс системы, обеспечивающий взаимодействие
как с внешними (REST), так и внутренними (Java) компонентами.

18.

КОМПОНЕНТЫ СИСТЕМЫ (ENTERPRISE)

19.

КОМПОНЕНТЫ СИСТЕМЫ (ENTERPRISE)
Enterprise Cockpit
Расширенная версия Camunda Cockpit, содержащая в себе
дополнительные функции: развертывание описаний процессов,
остановка и перезапуск экземпляров процессов, расширенный поиск по
экземплярам процессов, инспектирование пользовательских задач,
история процессов, миграция экземпляров процессов между версиями.
Camunda Optimize
Оптимизация и улучшение бизнес-процессов, выявление «узких мест»,
отчеты и «тепловые карты» процессов.
Доступны по подписке

20.

CAMUNDA OPTIMIZE

21.

СПОСОБЫ ИМПЛЕМЕНТАЦИИ
Встраивание в Java-приложения в качестве библиотеки или общей библиотеки

22.

СПОСОБЫ ИМПЛЕМЕНТАЦИИ
Standalone сервер процессов
Движок BPM доступен для
внешних приложений по сети,
через REST API.
Также доступны другие способы
взаимодействия: SOAP, WSDL,
JMS,

23.

СПОСОБЫ ИМПЛЕМЕНТАЦИИ
Кластер – решение для высоконагруженных сред
Также доступны multy-tenancy
режимы – использование BPMдвижка для нескольких тенантов
(«арендаторов»), изолированных
пространств.

24.

ТРЕБОВАНИЯ К СОВМЕСТИМОСТИ
Сервера приложений:
Apache Tomcat 7.0 / 8.0 / 9.0
JBoss Application Server 7.2 and JBoss EAP 6.1 / 6.2 / 6.3 / 6.4 / 7.0 / 7.1
Wildfly Application Server 8.2 / 10.1 / 11.0 / 12.0 / 13.0 / 14.0
IBM WebSphere Application Server 8.5 / 9.0
Oracle WebLogic Server 12c (12R1,12R2)
Spring Boot application with embedded Tomcat
Базы данных:
MySQL 5.6 / 5.7
MariaDB 10.0 / 10.2 / 10.3
Oracle 10g / 11g / 12c
IBM DB2 9.7 /10.1 / 10.5 / 11.1 (excluding IBM z/OS for all versions)
PostgreSQL 9.1 / 9.3 / 9.4 / 9.6 / 10.4
Microsoft SQL Server 2008 R2/2012/2014/2016
H2 1.4
Окружение JDK:
Sun/Oracle Hot Spot 7 / 8 / 9 / 10 / 11
IBM® J9 virtual machine (JVM) 7 / 8
OpenJDK 7 / 8 / 9 / 10 / 11

25.

СЦЕНАРИИ ПРИМЕНЕНИЯ CAMUNDA
Визуализация, онлайн-мониторинг и
оптимизация бизнес-процессов
Camunda встраивается во внешнюю систему или
интегрируется с ней, собирая информацию о
процессах (Cockpit + Optimize)
Репозиторий бизнес-правил
Camunda используется для хранения бизнес-правил,
в качестве бэк-энда для калькуляторов,
скоринговых систем.
Автоматизация рабочих процессов
«под ключ»
Camunda развертывается в качестве BPM-движка,
в качестве интерфейса пользователя используется
Tasklist, либо кастомное приложение.
Интеграционный слой
Camunda используется в качестве интеграционного
решения, позволяющего связывать между собой
системы, данные и процессы.

26.

ПЕРСПЕКТИВЫ CAMUNDA BPM
Текущая версия: 7.10
Дорожная карта Camunda BPM:
https://camunda.com/learn/community/#roadmap
Перспективные сценарии использования:
RPA (Robotic Process Automation) – роботизация рабочих мест и бизнес-процессов,
основанная на использовании работников искусственного интеллекта.
IOT/BPM Everywhere – применение BPM в сфере интернета вещей.

27.

ФАКТЫ О CAMUNDA
Raiffeisen
Software
Sberbank CZ
Deutsche Bahn

28.

ЛИРИЧЕСКОЕ ОТСТУПЛЕНИЕ

29.

WORKSHOP ВВЕДЕНИЕ В CAMUNDA
КОНФИГУРАЦИЯ
УСТАНОВКА JDK
УСТАНОВКА CAMUNDA 7.10 BPM TOMCAT
ОБЗОР КОМПОНЕНТОВ СИСТЕМЫ

30.

ПЕСОЧНИЦА
Конфигурация:
Debian 9
JDK 1.8
Camunda Standalone
H2 Database

31.

Установка Oracle JDK 1.8
Получить ссылку на странице загрузки (предварительно принять лицензионное соглашение):
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Скачать и распаковать
cd /opt
wget —header «Cookie: oraclelicense=accept-securebackup-cookie»
https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linuxx64.tar.gz
tar -zxf jdk-8u201-linux-x64.tar.gz -C /usr/lib/
Сменить символическую ссылку на команды
update-alternatives —install /usr/bin/java java /usr/lib/jdk1.8.0_201/bin/java 100
update-alternatives —install /usr/bin/javac javac /usr/lib/jdk1.8.0_201/bin/javac 100

32.

Развертывание Camunda Standalone
https://camunda.com/download/
wget -O camunda-bpm-tomcat-7.10.0.tar.gz https://camunda.org/release/camundabpm/tomcat/7.10/camunda-bpm-tomcat7.10.0.tar.gz?__hstc=252030934.48bd143a05bcd6377ab2d01468408704.1526896213224
.1544020387991.1544027937821.27__hsfp=42
57730963
mkdir camunda
tar -zxf camunda-bpm-tomcat-7.10.0.tar.gz –C camunda
cd camunda
./start-camunda.sh
http://localhost:8080/camunda-welcome/index.html

33.

Моделирование и развертывание процесса
Camunda Modeler
https://camunda.com/download/modeler/
Прогноз погоды (REST API):
https://openweathermap.org/current
http://api.openweathermap.org/data/2.5/weather?q=Moscow,rumain»).prop(«temp»).numberValue()

35.

Скрипты и выражения
Языки выражений/EL
JUEL – Java Unified Expression Language:
Tasks
Sequence flow
Connectors
FEEL – Friendly Enough
Expression Language:
DMN Input Entries
Доступные скриптовые языки:
JavaScript (out-of-box JRE)
Groovy (предустановлен)
JRuby*
Jython*
* — добавить соответствующий JAR

Источник: ppt-online.org

Рейтинг
( Пока оценок нет )
Загрузка ...
Бизнес для женщин