Журнал о системах электронного документооборота (СЭД)
Workflow и управление бизнес-процессами

Некоторые, наиболее известные стандарты описания бизнес-процессов

  1 комментариев Добавить в закладки

Есть у меня в жизни такое хобби (помимо программирования и рассуждений о судьбах российского электронного документооборота Улыбка) – я читаю лекции на специальности «Программное обеспечение» в ИжГТУ. Кто занимается тем же, меня поймет: ничем кроме хобби это быть не может! Улыбка Ну да, не об этом речь...

В этом году, в осеннем семестре мне предложили прочесть курс «Компьютерное моделирование» (не ищите его в ГОСе, это сугубо кафедральное изобретение) и как это обычно бывает, в процессе чтения родилось множество идей, вопросов, просто мыслей, да и просто подбирается зачастую неплохой материал.

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

Если кому-то интересно, вот примерный список известных мне на сегодняшний день более-менее популярных независимых стандартов (т.е. не просто решений, поддерживаемых 2-3 поставщиками, а именно специально разрабатываемых стандарта), связанных с описанием бизнес-процессов:

Стандарт

Авторы/Текущие разработчики Краткое описание
Business Process Modeling Notation (BPMN) Создан bpmi.org (Business Modeling & Integration). В настоящее время передан Object Management Group OMG Система графических обозначений для наглядного визуального представления схемы бизнес-процесса человеку.На сегодня это, пожалуй, наиболее популярная нотация для визуализации схем БП
Unified Modeling Language (UML) Был разработан в Rational Software. Ныне разрабатывается Object Management Group (OMG) Для описания бизнес-процессов используются диаграммы активностей, которые несколько схожи с нотацией BPMN. Скорее всего, после передачи BPMN в OMG, он целиком или частично войдет в UML
Business Process Executable Language (BPEL) Разрабатывается Organization for the Advancement of Structured Information Standards (OASIS) Представляет собой xml-нотацию для описания бизнес-процессов.Рассматривает бизнес-процесс как связанную последовательность веб-сервисов.Совместная разработка IBM, BEA, Microsoft, SAP, Siebel. Первоначально назывался BPEL4WS (Business Process Execution Language for Web Services), сейчас полное название WS-BPEL (Web Services Business Process Execution Language).Основной недостаток – ориентация только на автоматические процессы. Преодолеть это ограничение призвано планируемое расширение BPEL4People.
XML Process Definition Language (XPDL) Разрабатывается Workflow Management Coalition http://www.wfmc.org/   Конкурентный с BPEL формат (XML-формат для обмена информацией между средствами анализа бизнес-процессов и BPM-системами) В отличие от BPEL, в XPDL нет жесткой привязки к веб-сервисам, а используется абстрактное понятие внешнего приложения, кроме того имеется явное определение пользователей и ролей
Web Services Choreography Description Language (WS-CDL) Разрабатывается w3.org   Xml-язык для описания взаимодействия отдельных сервисов между собой (хореография) в отличие от описания общего процесса/шины (оркестровка), как в BPEL
 

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

Вообще-то, одной из основных целей разработки стандартов (особенно стандартов языков описаний) является обеспечение переносимости разработки между различными системами. Именно такую цель заявляли разработчики BPEL, причем, список компаний, принимавших участие в разработке, дает все основания полагать, что это условие было выполнено. Однако, все реализации Workflow/BPM движков, даже те, что поддерживали загрузку/выгрузку из/в BPEL, с которыми мне приходилось сталкиваться, переносимыми не были.

А проблема, как оказалось, лежала на поверхности: все движки, как основную модель повторного использования продвигали разработку прикладных блоков ВНУТРИ системы, тогда как BPEL (да и остальные стандарты, как мне удалось понять) основной моделью работы продвигают связывание и маршрутизацию между сервисами, разработанными ВНЕ системы. В последнем случае, весь прикладной код выносится в эти самые сервисы и никак не зависит от реализации движка. А на долю Workflow/BPM сервера остаются только задачи проверки условий, организации ветвлений и циклов, преобразования между пакетами сервисов, … – для всего этого (ну или как минимум большей части) возможностей BPEL уже вполне достаточно.

Косвенно эта идея находит подтверждение в том, как развиваются такие продукты компании Microsoft как Workflow Foundation и сервер BizTalk (может даже не столько сами продукты, сколько практика их использования) – блоки обращения к сервисам там были и раньше, но в последнее время, практически во всех вспомогательных материалах по разработке, почти все примеры строятся на взаимодействии внешних сервисов, а материалы по разработке собственных блоков уходят как бы на второй план.

 

P.S. Если Вам известны другие организации/языки/стандарты/... в области Workflow/BPM, напишите в комментариях, буду весьма признателен

Ещё материалы автора
Похожие записи
Комментарии (1)
Сейчас обсуждают
Больше комментариев