Є лише одна реальна користь, і все ж її величезна:
Розмежування проблем .
Отже, замість логіки оркестрації процесів вбудовується в нашу систему, вона набуває і зовнішньої конфігурації. Карта, в основному. Ви можете змінити його (набагато більше) самостійно, у вас можуть бути декілька процесів, кілька версій процесів, кілька версій декількох процесів, що працюють одночасно, і це все поза рамками будь-якого гідного рішення.
Історично концепція SoC вигравала багато разів - починаючи з принципу Unix "зроби одне, але зроби це добре", і застосовується знову і знову - як, наприклад, з виділеними серверними компонентами, такими як ESB, різні системи стійкості, кешування, балансування навантаження , моніторинг, як поділ CSS від HTML тощо
Ваш бізнес-процес та правила його потоку часто є ортогональними для ваших даних, "екранів" інтерфейсу користувача або "ієрархії" користувачів. Отже, має сенс розвивати та змінювати його окремо від інших аспектів системи. Це було передумовою, на якому BPM з'явився на початку 1990-х.
З того часу було створено багато інструментів та мов для підтримки цієї концепції, найбільш відомим є BPMN - графічна мова для створення "блок-схем", які безпосередньо відображають процеси. Хоча люди скаржаться на те, що його великий і негромадний (маючи понад 100 символів у словниковому запасі), і виступає за такі сучасні підходи, як S-BPM (має лише 5 базових символів), нинішня галузева практика полягає в дотриманні BPMN або його похідних, підмножин або побратимів.
Ви не виглядаєте задоволеними BPMN:
Тут, здається, програмісти виконують значну роботу в шарі рядків і ящиків, що для мене просто схоже на справді хитру, дійсно основну мову візуального програмування.
Але це не так вже й погано) За цим стоїть теорія. І версія 2.0 продемонструвала гарне уявлення про 1,0 недоліки.
Якщо ви збираєтеся піти так далеко, чому б просто не використовувати якусь мову сценаріїв?
Імперативна парадигма та мови сценаріїв - не завжди найкраща відповідь. Як ви, напевно, бачили в декларативних мовах (наприклад, HTML, CSS, SQL, Drools або внутрішніх Nginx, Graddle та Maven, Puppet тощо), отриманий код може бути набагато меншим та чистішим, ніж версія, написана " гідною мовою" як-от Java або C ++ ".
Щодо вашого іншого пункту:
Наскільки я можу сказати, є візуальними мовами програмування на даний момент, доповненими умовними умовами та циклами.
Ви подивилися на події та тригери ? BPMN - це мова, і ви повинні її вивчити перед використанням, або принаймні ознайомитись з нею.
Під капотом BPMN - це XML, тому ви можете редагувати його вручну або генерувати. І ви можете керувати ними версій, оскільки XML є текстовою. Однак наявність у форматі XML, яку можна перекласти на блок-схеми, не схоже на те, що її допоможе вам допомогти, і це правильно - написання власного аналізатора чи редактора для нього - це складне і дороге завдання з сумнівними перевагами.
На щастя, на ринку вже є інструменти, які це роблять.
Activiti є безкоштовним і досить популярним як серед розробників, так і власників бізнесу, через свою початкову ціну ( нуль ), доступність інформації та скромність. Останній пункт справді унікальний, оскільки Activi зосереджена лише на управлінні своїми бізнес-процесами, не намагаючись зв’язати вас із рішеннями цілих пакетів. Крім того, його відкрито - значить, вам потрібно знати лише Java та REST, щоб розпочати роботу та працювати. Недолік полягає в тому, що клієнтська інтеграція, інтеграція та логіка застосувань / бізнес та вся архітектура залишаються розробнику, тому якщо ваша команда розвитку слабка - готуйтеся до відмови. Загальна вартість власності може бути напрочуд високою для безкоштовного інструменту;)
З іншого боку спектру - Пега (Pega PRPC), правлячий король систем БПМ (за даними Gartner та Forester), який виглядає напрочуд добре для свого віку. Цей бегемот з кухонної раковиною навіть здатний керувати CRM, OCR та (якщо я не помиляюся) розпізнаванням мови, прогнозною аналітикою, керуванням бізнес-правилами та редактором інтерфейсу WYSIWYG. Однак він поставляється з серйозною ціною. Це не тільки коштує цілий капітал, але все розробляється в рамках веб-додатку, а це означає, що ви повинні використовувати браузер, який є IE8 (плюс деякі додатки, плюс некрасиві хаки, як, наприклад, використання Excel для редагування таблиць даних). Крім того, редагування Java, Javascript або HTML / CSS також проводиться за допомогою веб-браузера - тому попрощайтеся з одиничними тестами, виділенням коду IDE, рефакторингом та всіма вашими іграшками програмування, яких ви любили.
Хороша сторона? Ви можете впровадити складну систему ВІД ТИЖДЕННЯ [ PDF , див. сторінку 22]. І так, результат не гарантований.
IBM недавно (відповідно до часового темпу підприємства) придбала Ломбарді, і зараз пропонує дуже конкурентне рішення (але тоді вам доведеться купувати все , що ви знаєте). Appian - молодий продавець, який має цікаві уявлення та позитивні відгуки, але спосіб їх написання (дві додаткові мови DSL на додаток до візуальної) мені просто не подобається.
Є й інші гравці та їх рішення. Більшість із них - просто жахливі. Начебто - ваші очі, мозок і серце буквально кровоточать, коли ви просто дивитесь на них. Тож довіряйте своїм кишкам і не змушуйте своїх розробників та користувачів ненавидіти вас.
Примітка:
Система BPM однакова для процесів, що і Photoshop для зображень. Не бійтеся, що його візуально. Не змушуйте її робити роботу, яка не підходить для неї (пам’ятаєте веб-сайти, створені повністю у Photoshop, які було неможливо редагувати?). Нехай це буде просто і не робити помилок;)