Некоторые, наиболее известные стандарты описания бизнес-процессов
Небольшая подборка наиболее известных стандартов языков описания БП
Есть у меня в жизни такое хобби (помимо программирования и рассуждений о судьбах российского электронного документооборота) — я читаю лекции на специальности «Программное обеспечение» в ИжГТУ. Кто занимается тем же, меня поймет: ничем кроме хобби это быть не может! Ну да, не об этом речь…
В этом году, в осеннем семестре мне предложили прочесть курс «Компьютерное моделирование» (не ищите его в ГОСе, это сугубо кафедральное изобретение) и как это обычно бывает, в процессе чтения родилось множество идей, вопросов, просто мыслей, да и просто подбирается зачастую неплохой материал.
Одним из разделов курса был обзор некоторых, наиболее известных, языков моделирования, используемых в проектировании и разработке ПО (ну и всевозможных связанных задачах). Понятно, что я просто не мог обойти внимание языки и стандарты в области описания и реализации бизнес-процессов.
Если кому-то интересно, вот примерный список известных мне на сегодняшний день более-менее популярных независимых стандартов (т.е. не просто решений, поддерживаемых 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 https://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, напишите в комментариях, буду весьма признателен.
Комментарии 0