Статьи / Перенос процесса BPMN из IBM BPM в Camunda - пошаговое руководство
21.07.2020 г., перевод статьи Joe Pappas
Если вы думаете, что сможете экспортировать BPMN из IBM, что сможете открыть его в Camunda Modeler, вас может ждать сюрприз. Как было обнаружено, экспорт IBM BPMN не включает в себя информацию о диаграммах, которую такие инструменты, как Camunda Modeler, используют для отображения диаграммы. В этом руководстве мы рассмотрим два подхода, используя утилиты, разработанные нашей командой консультантов, чтобы помочь вам создать полную диаграмму, которую можно открыть и просмотреть не только в Camunda Modeler, но и в любом BPMN-совместимом инструменте проектирования.
Команда Camunda Consulting создала набор свободно доступных инструментов для миграции процессных потоков. Инструменты для миграции процессных потоков IBM можно найти здесь. Вы заметите, что в настоящее время есть два инструмента для IBM. Один - это BPMN-конвертер, а другой - Teamworks-файл, он же .twx конвертер. Сначала мы рассмотрим инструкцию по BPMN конвертеру, а затем перейдем к .twx конвертеру.
Руководство по конвертеру BPMN
Преобразователь BPMN можно найти здесь. Вы заметите, что это проект Maven, который можно открыть практически в любой интегрированной среде разработки. Eclipse и Intellij - две из самых популярных IDE. Но сначала вам нужно будет клонировать или скачать репозиторий инструментов миграции - это можно сделать здесь.
Для этого руководства мы будем использовать Eclipse в качестве нашей IDE.
- После клонирования или загрузки Git-репозитория скопируйте содержимое репозитория экспортного конвертера инструментов IBM BPMN в свежее рабочее пространство. Если, например, ваш Git-репозиторий находится на C:\gitRepos, то конвертер IBM BPMN вы найдете на C:\gitRepos\migrate-to-camunda-tools\IBM\create diagram from exported BPMN.
- Скопируйте всю папку в выбранную вами рабочую область.
- Далее запускаем Eclipse и выбираем рабочую область, в которую только что скопировали содержимое. После запуска Eclipse перейдите к File > Import > General > Projects from Folder or Archive.
- Нажмите на кнопку Next. В появившемся диалоговом окне нажмите на Directory (Каталог) и перейдите к папке, в которую вы только что скопировали содержимое вашей рабочей области. Ваш экран должен выглядеть примерно так (см. ниже).
- Нажмите Finish.
Проект будет импортирован в ваше рабочее пространство. Возможно, вы захотите обновить любые различия в компиляторе Java между предоставленным кодом и вашим окружением, но он должен работать как есть.
Далее мы создадим конфигурацию Run, которая позволит вам запустить конвертер в Eclipse:
- Щелкните правой кнопкой мыши по корневой папке проекта и выберите Run As > Run Configurations...
- В появившемся диалоговом окне дважды щелкните по Java Application, чтобы создать новую конфигурацию. Название проекта уже заполнено в этом диалоговом окне. При желании вы можете дать этой конфигурации новое имя.
- Далее необходимо выбрать основной класс. Нажмите кнопку Search, вы увидите, доступен только один класс - BPMNDiagramGenerator. Выберите его и нажмите на кнопку OK.
- Ваш экран должен выглядеть примерно так:
Теперь вам нужно предоставить два аргумента, первый - это экспорт BPMN из IBM, а второй - имя преобразованного файла. На всякий случай укажите путь и имена файлов в разделе Program arguments вкладки Arguments, заключенные в кавычки. Для начала будет предоставлен пример BPMN-файла. Для использования этого примера введите следующие данные для входного и выходного файлов:
”./src/main/resources/SampleBPMNfromIBM.bpmn”
”./src/main/resources/Converted.bpmn”
Ваш экран должен выглядеть примерно так:
Нажмите на Run. Должно открыться консольное окно, в котором вы увидите следующее:
BPMN diagram generated Diagram ./src/main/resources/SampleBPMNfromIBM.bpmn converted from IBM BPMN and can be found at ./src/main/resources/Converted.bpmn
Используя Camunda Modeler, откройте Converted.bpmn файл и среди вещей, которые вы заметите, будет 'swimlane', теперь 'pool' в Camunda BPMN, не совсем подходит как вы могли бы ожидать.
Алгоритм просто задает произвольные значения высоты и ширины, и вам нужно будет соответствующим образом настроить размер дорожки. Следующее, что вы заметите, это то, что преобразованная диаграмма будет выглядеть не так, как оригинальная. Этого можно ожидать, так как в экспортированном BPMN нет ничего, что указывало бы на какие-либо координаты. Это будет рассмотрено в следующем разделе. Наконец, вы заметите, что потоки последовательности - это не типичные прямолинейные линии, а скорее простые линии точка-точка, которые при перемещении объектов будут меняться на более привычные прямолинейные линии.
Вот пример процесса, созданного в Blueworks Live и экспортированного как BPMN:
И вот процесс в Camunda Modeler после того, как отсутствующая диаграмма была сгенерирована и пул был соответствующим образом скорректирован:
В следующем разделе мы рассмотрим другой инструмент, использующий другой формат экспорта IBM BPM, который сохранит точность исходной диаграммы.
Преобразование IBM BPM .twx файлов экспорта
Если требуется точность диаграмм и вы можете экспортировать свои процессы в формат .twx (также известный как Teamworks), то инструмент миграции .twx - то, что нужно. Файл .twx - это формат обмена проектами для IBM BPM, который содержит информацию о диаграммах в своих zipped xml файлах. xml-файлы, описывающие процессы, похожи на BPMN-файлы, но, скорее всего, не являются BPMN-файлами. Проект, с которым мы будем работать, действительно содержит пример xml файла, но мы рассмотрим, как вы можете извлечь нужные файлы из своего twx-файла.
Если вы уже клонировали/загрузили git-репозиторий, просто повторите шаги, описанные ранее, чтобы скопировать и открыть проект в рабочей области Eclipse. Вы даже можете использовать рабочую область, созданную ранее. Просто убедитесь, что инструмент .twx скопирован в отдельный каталог.
Далее мы создадим конфигурацию Run для образца, включенного в проект. Снова щелкните правой кнопкой мыши по корневой папке проекта и выберите команду Run As > Run Configurations.... Дважды щелкните по Java Applications среди вариантов, указанных в диалоговом окне. Если вы используете ту же рабочую область, что и раньше, убедитесь, что в качестве проекта было выбрано создание BPMN из TWX-экспорта. Выполните поиск основного класса, хотя в этот раз вы можете увидеть несколько вариантов. Убедитесь, что в качестве основного класса выбран BPMNGenFromTWX. Далее нам понадобится предоставить два аргумента для класса, один для входа и один для вывода, как и раньше.
”./src/main/resources/TWXOriginal.xml” “./src/main/resources/TWXConverted.bpmn”
Нажмите на Run. Должно открыться консольное окно, в котором вы увидите следующее:
BPMN diagram generated Diagram ./src/main/resources/TWXOriginal.xml converted from IBM .twx export and can be found at ./src/main/resources/TWXConverted.bpmn
Папка ресурсов содержит PNG файл (PictureOfProcess.PNG) оригинального процесса в IBM и будет выглядеть следующим образом:
Используя Modeler, откройте TWXConverted.bpmn, и он должен выглядеть следующим образом:
Как вы видите, используя подход экспорта .twx, вы можете сохранить точность исходной диаграммы, так как экспорт .twx содержит соответствующую информацию о диаграмме, хотя и не в BPMN-совместимой форме. Будут небольшие различия из-за стандартного масштабирования формы в IBM и Camunda.
Ваши собственные процессы в IBM BPM
Далее мы обсудим, как вы можете извлечь свой процесс xmls из файла .twx и использовать эти данные в качестве входных данных инструмента. Файл .twx - это просто zip, и самый простой способ распаковать его - это изменить расширение с .twx на .zip и, используя свою любимую утилиту zip, распаковать содержимое в папку.
После извлечения содержимого перейдите в корневую папку, а затем продолжите переход в папку /objects. Как вы увидите, она содержит ряд xml файлов, которые будут включать процессы вместе с потоками тренера. Обычно, процессы являются самыми большими файлами, и их имя начинается с "25", за которым следует длинная строка буквенно-цифровых символов. Откройте эти файлы-кандидаты в любимом текстовом редакторе. В самом начале файла вы увидите что-то вроде:
Найдите процесс, который вы хотите преобразовать и сделайте копию файла, дайте ему простое имя, и используйте его в качестве входных данных для другого запуска инструмента. Вы также можете изменить имя выходного файла. Счастливого конвертирования!
Создание jar-файла
Если вы хотите просто создать jar-файл любой из утилит, у вас есть несколько вариантов:
- Один из них - щелкнуть правой кнопкой мыши по файлу pom.xml и выбрать Run As > Maven install.
- Другой вариант - щелкнуть правой кнопкой мыши по корневой папке, выбрать Show in Local Terminal и выполнить следующую команду Maven: mvn clean package install.
В любом случае (или используя предпочитаемый вами метод) вы должны получить jar-файл в папке /target. Скопируйте эту jar куда угодно и введите следующую команду в терминале:
java -jar yourGeneratedJarFile.jar “your input file” “your output file”
Вот так! Пожалуйста, не стесняйтесь оставлять отзывы на форуме и смотрите этот Git-репозиторий на дополнительные конвертеры по мере их появления.