Корпорація: мови управління бізнес-процесами. BPML h2>
Підготовлено: за матеріалами зарубіжних сайтів h2>
Ми
вже писали про мову реалізації бізнес-процесів для Web-сервісів
(Бізнес-процеси і XML). Пропонована увазі читачів стаття присвячена
іншої мови - мови моделювання бізнес-процесів. p>
В
2000 р. в Каліфорнії була заснована некомерційна організація Business Process
Management Initiative (Ініціатива з управління бізнес-процесами, скор. BPMI).
Вона поставила собі за мету розробку і просування відкритих, повних і
безкоштовних стандартів на основі мови XML для підтримки і розвитку систем BPM в
бізнесі (Business Process Management - управління бізнес-процесами). p>
В
березні 2001 р. ця організація опублікувала мова моделювання бізнес-процесів
(Business Process Modeling Language, скор. BPML), у листопаді 2002 р. --
специфікації для графічного представлення моделювання бізнес-процесів
(Business Process Modeling Notation, скор. BPMN). Остання версія
BPMN-специфікації була випущена в травні 2004 р. Все це доступно для завантаження на
сайті BPMI (http://www.bpmi.org/). Незабаром очікується поява ще одного
продукту - мови запитів для бізнес-процесів (Business Process Query
Language, скор. BPQL). p>
Що таке мова BPML h2>
Мова
BPML доповнює мову реалізації бізнес-процесів (Business Process Execution
Language, скор. BPEL). BPML може використовуватися для визначення детальних
бізнес-процесів, що виконуються при виклику кожного web-сервісу. BPML перетворить
( "меппірует") бізнес-операції в обмінні повідомлення. Ця мова може
використовуватися для визначення корпоративних бізнес-процесів, комплексних
web-сервісів та багатостороннього співробітництва. У розробці BPML-специфікацій
бере участь цілий ряд організацій: CSC, Intalio, SAP, Sun, SeeBeyond, Versata і
ін p>
Як
випливає з BPML-специфікацій, призначення BPML полягає в наступному:
"BPML - це мова XML, призначений для визначення формальної моделі,
виражає здійсненні процеси, які описують всі аспекти корпоративних
бізнес-процесів. BPML визначає операції різного рівня складності, транзакції
і компенсації, керування даними, паралелізм, обробку виключень і
операційну семантику. Граматика BPML оформляється у вигляді XML-схеми, що забезпечує
сталість визначень і їх обмін між гетерогенними системами і
інструментами моделювання ". p>
BPML
- Це багатий і зрілий мова, за допомогою якого можна описувати як прості,
так і складні бізнес-процеси. Оскільки BPML і BPEL - це мови з блокової
структурою, то у них однаковий набір виразів і схожий синтаксис. За
порівняно з операціями, які підтримує BPEL, можливості BPML ширше.
Синтаксис BPML підтримує операції та їх типи, процеси, властивості, сигнали,
розкладу і нестандартні ситуації. p>
Прості типи операцій BPML h2>
Action:
виконує або викликає виконання операції, що включає обмін вхідними та
вихідними повідомленнями. p>
Assign:
присвоює нове значення показника. p>
Call:
запускає процес і чекає його завершення. p>
Compensate:
ініціює компенсацію для зазначених процесів. p>
Delay:
висловлює проміжок часу. p>
Empty:
нічого не робить. p>
Fault:
видає повідомлення про помилку в поточному контексті. p>
Raise:
активізує сигнал. p>
Spawn:
запускає процес без очікування його завершення. p>
Synch:
синхронізує по сигналу. p>
Складні
типи операцій BPML p>
All:
виконує операції паралельно. p>
Choice:
виконує операції з одного з складових комплектів, вибраного у відповідь на
подія. p>
Foreach:
одноразово виконує операції для кожного пункту зі списку. p>
Sequence:
виконує операції в послідовному порядку. p>
Switch:
виконує операції з одного з складових комплектів, вибраного на основі
істинного значення умови. p>
Until:
виконує операції один або більше разів на основі справжнього значення умови. p>
While:
не виконує операції або виконує їх один або більше разів на основі істинного
значення умови. p>
Складна
операція - це операція, що включає в себе одну або більше дочірніх операцій.
Вона встановлює контекст для виконання дій і направляє це виконання.
Складні операції визначають ієрархічну організацію. Вона може бути простою --
наприклад, повторюване виконання однієї і тієї ж операції, або більш складною --
наприклад, встановлення вкладеного контексту для виконання множинних
операцій. BPML також підтримує й інші форми організації, в тому числі
циклічні графи і рекурсивні операції. Складні операції використовуються в тих
випадках, коли потрібно ієрархічна організація, зокрема, для
встановлення нового контексту, необхідного при виконанні дочірніх операцій. p>
Прості
операції - це операції, які можуть призвести до виконання множинних
операцій, зокрема такі, як action, call, compensate і spawn. Але сама
проста операція не визначає контекст для виконання інших операцій.
Наведений нижче короткий огляд мови дає більш детальний аналіз різниці між
складними і простими операціями і показує, що BPML включає всі логічні
конструкції суворого мови програмування. p>
Складна
операція, що включає комплекти множинних операцій, повинна вибирати, який
з них використовувати. Для цього застосовується кілька стандартних логічних
конструкцій. Операція choice чекає події, яка повинна бути ініційовано, а
потім вибирає комплект операцій, пов'язаний з обробником цієї події.
Операція switch оцінює умови і вибирає комплект операцій, пов'язаний з тим
умовою, значення якого є неправдою. Всі інші складні операції,
визначені в специфікації BPML, включають тільки один комплект операцій,
тому їм не доводиться приймати подібні рішення. p>
Складна
операція також визначає, скільки разів повинні бути виконані операції із загального
набору операцій. Для цього використовуються наступні стандартні логічні
конструкції: операція until - повторює виконання операцій, поки значення
умови не стане справжнім; операція while - повторює виконання операцій,
поки значення умови залишається істинним, і операція foreach - виконує
операції одноразово для кожного пункту списку. Всі інші названі вище
складні операції виконують дії з комплекту операцій одноразово. p>
Крім
цього, складна операція визначає порядок виконання інших операцій. Операція
sequence забезпечує виконання всіх дій з комплекту операцій в
послідовному порядку. Операція all забезпечує виконання всіх дій з
комплекту операцій одночасно. Інші складні операції мови BPML
забезпечують виконання операцій у послідовному порядку. p>
Складна
операція вважається завершеною, коли закінчено виконання всіх дій з
комплекту операцій. Це включає всі дії, перераховані в списку операцій,
і всі процеси, що запускаються з визначення, зробленого в контексті комплекту
операцій. Вкладені процеси, процеси обробки нестандартних ситуацій
розглядаються як дії з комплекту операцій. p>
Прості
операції переривають виконання (abort) або видають повідомлення про помилку (fault),
якщо їх завершення перешкоджає несподівана помилка. Складні операції
перериваються і розриваються, якщо одне з дій, що входять до їх складу,
розривається таким чином, що його відновлення неможливо. p>
Володіючи
засобами додаткової підтримки вкладених процесів та іншого синтаксису,
BPML може вважатися розширеним варіантом мови BPEL. У тих випадках, коли ці
мови використовуються спільно, наскрізний огляд показує роль кожного
бізнес-процесу в загальній картині і те, які бізнес-операції він виконує. p>
BPEL
і BPML - це схожі підходи до вирішення однієї і тієї ж проблеми: визначення
логіки процесів у мові XML таким чином, щоб результат міг використовуватися
як виконуваний код програмними продуктами на основі BPM. Це що розвиваються
мови. Всі ці продукти є рішеннями однієї і тієї ж проблеми, їх
специфікації і мови концептуально схожі, тому з часом вони, можливо,
будуть об'єднані в єдину специфікацію. p>
Список літератури h2>
Клайв
Фінкелстайн (Clive Finkelstein). "Корпорація: мови управління
бізнес-процесами. BPML "
(The Enterprise: Business Process Management Languages Part 2: BPML). p>
Сайт організації Business Process Management Initiative:
http://www.bpmi.org/. p>
Для
підготовки даної роботи були використані матеріали з сайту http://citcity.ru/
p>