Home > BPM, Исмаель Халими > Системы BPM 2.0

Системы BPM 2.0

Декабрь 23rd, 2008

Первый подробный доклад по системе BPM был написан 8 лет назад. Эта публикация, специально приготовленная к семинару, помогла не только определить понятие и особенности системы, но и дала толчок возникновению новой отрасли. Тогда акроним, состоящий из трех букв и заимствованный у музыкантов, мгновенно стал сенсацией. И такого успеха не мог ожидать никто.

Сегодня это буквосочетание описывает все, начиная с существовавших workflow решений и заканчивая модулем управления бизнес-правилами, инструментарием для построения блок-схем, генераторами Java-кодов, или даже консалтинговыми услугами по модернизации бизнес процессов. Эта неразбериха, одинаково активно поддерживалась и производителями ПО, и ИКТ аналитиками, так как позволяет и тем и другим свободно продавать свои услуги окончательно запутавшимся пользователям:

Клиенты, с которыми доводилось общаться, в один голос заявляют о том, что нужны перемены. Они уже испробовали первую версию системы BPM, разочаровались, и теперь хотят получить нечто большее это система BPM 2.0. Этот термин изначально был придуман Брюсом Силвером (Bruce Silver). Определение BPM 2.0, оказалось довольно радикальным. Оно не оставляет никаких загадок или неточностей, а значит, что у производителей нет никаких шансов нажиться на этом. Но знаете что? Лучше сделать пользователей счастливыми, чем думать о благополучии производителей. Итак, знакомьтесь – система BPM 2.0!

Система BPM 1.0 Система BPM 2.0
Предназначена для бизнес-аналитиков Используется инженерами
В основе инструментарий для моделирования процессов В основе полнофункциональная платформа BPMS
Множество инструментов для множества систем Единый инструментарий в среде Eclipse
Используется только J2EE экспертами Активно используется ABAP, PHP и VB программистами
BPEL, BPML, WSFL, XLANG, XPDL BPEL
ARIS, HIM, UML, Патентованные нотации BPMN
BPEL Редактор BPMN Дизайнер
Наличие кода Отсутствие кода
Основывается на дискрипторах публикации Публикация по одному клику
Использует коннекторы приложений Генерирует web-сервисы на лету
Генерирует Java-код Встроенный интерпретатор BPEL- кода
Пользовательский интерфейс Web 1.0 Пользовательский интерфейс Web 2.0
Захватите свой модуль управлениябизнес-правилами Встроенный модуль управления бизнес-правилами
Захватите свою систему BAM Встроенная система BAM, функционирующая в режиме реального времени
Специальный процесс имитации Встроенный имитатор процесса
Непрерывная модернизация процесса Динамическая оптимизация процесса
Модуль управления процессами с закрытымисходным кодом Модуль управления процессами на базе Open Source
Регистрационный взнос $250,000 Попробуйте уже сегодня и совершенно бесплатно

Используется инженерами

Для начала необходимо развеять самое большое заблуждение, связанное с системой BPM: бизнес-аналитики могут использовать BPM инструментарий для моделирования и публикации исполняемых бизнес-процессов. И даже говоря об элементарном документ-ориентированном workflow процессе, когда бизнес-аналитик определяет, какие пресс-релизы будут печататься на сайте, его компетенция заканчивается там, где начинаются любые трансакции с внутренним корпоративным порталом. Во-первых, ни один программист никогда не позволит бизнес-аналитику копаться в корпоративной ERP (Планирование ресурсов предприятий) системе; во-вторых, ни один бизнес-аналитик не хочет просыпаться посреди ночи от звонка генерального директора, если вышеупомянутая ERP система выйдет из строя. Вывод прост: система BPM 2.0 не предназначена для бизнес-аналитиков без технического образования. Напротив, система BPM 2.0 предназначена для инженеров, которые достаточно подкованы, чтобы свободно общаться с бизнес-аудиторией и могут без труда отличить цикл do-while от выражения for-each. Создатели системы BPM 2.0 не стремятся внушить бизнес-аналитикам, что пришло время избавиться от IT-специалистов. Наоборот, наша задача подтолкнуть инженеров-программистов к пониманию требований бизнеса и применению их на практике, тем самым совершенствуя существующие IT-системы.

В основе полнофункциональная платформа BPMS

Так как система BPM была изначально рассчитана на бизнес-аналитиков, вендоры пришли к выводу, что нужно использовать тот единственный инструментарий, доступный бизнес-аналитикам: графическую систему построения блок-схем. Единственная проблема заключалась в том, что именно так потребители и поступали. Ведь, если у бизнес-аналитика перед глазами процесс, представленный в виде диаграммы, использующей инструментарий, который не предполагает наличия правил, способных сделать процесс исполняемым, то позже сделать этот процесс исполняемым уже невозможно. В итоге пользователь попусту тратит время и чувствует себя обманутым. Если вы хотите воспользоваться системой BPM 2.0, не покупайте инструментарий для моделирования процесса, вместо этого приобретите полнофункциональную платформу BPMS и начните строить исполняемые процессы с первого дня.

Инструментарий в среде Eclipse

Не так давно для того, чтобы превратить карту процесса в опубликованный код требовалось как минимум 7 инструментов: первый – для моделирования процесса на уровне бизнеса, другой – для описания технических деталей, третий – для построения коннекторов с внешними системами, четвертый – для переноса данных туда-сюда, пятый – для определения бизнес-правил, шестой – для создания потока работ пользовательских интерфейсовa, и седьмой – для публикации всех кодов как совокупности компонентов патентованной среды выполнения. Использование этих инструментов требовало разностороннего опыта, протекало в различных условиях, использовало различные языки, а переход от одного инструмента к другому сопровождался потерей информации. Таким образом, весь процесс становился крайне сложным. Ни один пользователь не мог работать с системой без помощи крайне дорогих консалтинговых услуг софтверного вендора, который просто собирал кусочки воедино, а не строил все с нуля, опираясь на четкую архитектуру. Система BPM 2.0 создает весь процесс с помощью одного инструмента, и этот инструмент сформирован в среде Eclipse. Сегодня Oracle и SAP уже поддерживают Eclipse, поэтому позаботьтесь о том, чтобы ваша система BPM 2.0 работала в среде Eclipse.

Активно используется ABAP, PHP и VB программистами

Продукты BPM-системы первого поколения требовали хорошего знания J2EE, или что ещё хуже, патентованных языков описания. И хотя этот язык очень удобен для вендоров ПО, он состоит из сложного набора спецификаций, которые оказываются совершенно непонятными большинству IT-специалистов. Объект-ориентированное программирование – это мощный инструмент, но большинство программистов его не понимают, предпочитая не иметь с ним дела, и отдавая предпочтение чему-нибудь попроще, например, PHP или Visual Basic. И хотя в мире насчитывается 2 миллиона программистов, но лишь незначительная часть из них способна написать EJB компоненты. Еще меньшее количество из них знает, как сочетать спецификацию EJB со стандартом JMS, Servlets и Message-Driven Beans. Сравните их с 3 миллионами PHP кодировщиков и 8 миллионами VB разработчиков, и картина станет ясной. Система BPM 2.0 не для J2EE гуру или, по крайней мере, не только для них. Система BPM 2.0 нацелена на инженеров, которые могут прочитать BPMN диаграмму, понимают язык XML Schema, представленный в виде дерева, переносить и принимать компоненты графических интерфейсах пользователя. Если вы уверены, что можете все это сделать без труда, тогда система BPM 2.0 именно то, что нужно.

BPEL

Раньше не существовало единого стандарта для исполняемых процессов. Язык XLANG был элементом планшета, WSFL еще не существовал, и workflow-специалистам приходилось изобретать комплексы совершенно бесполезных интерфейсов. После того как компания BPMI.org выпустила спецификацию BPML, компаниям Microsoft и IBM пришлось отказаться от XLANG и WSFL соответственно. По политическим причинам компании Microsoft и IBM решили написать свои собственные спецификации, вместо того, чтобы использовать BPML. Так появился WS-BPEL, а год спустя была выпущена в производство первая коммерческая версия спецификации BPML. После трех лет сухих обсуждений, компания BPMI.org объединилась с OMG и отказалась от разработки BPML в пользу BPEL. Тем не менее, важно отметить, что на протяжении последних шести лет не было реального стандарта, что значительно замедлило освоение BPM-системы. Сегодня все изменилось. Спецификация BPEL победила. BPEL 2.0 – это самый подходящий вариант для пользователей, желающих построить процессы, ориентированные на результат, и все крупные вендоры его приняли. Система BPM 2.0 работает на основе BPEL, также как реляционные базы данных функционируют на основе SQL. Инженерам не нужно об этом беспокоиться, ведь если они выбрать подходящий инструмент, нет необходимости писать однолинейный BPEL код. BPEL спецификация – это ядро процесса, вокруг которого все и строится. Если кто-то утверждает, что наличие BPEL не является обязательным или что решение, которое вы собираетесь купить будет поддерживать BPEL в следующем году, вас обманывают. Вас пытаются втянуть в покупку очень дорогого патентованного ПО, от которого придется избавиться уже очень скоро.

BPMN

Что касается языка исполнения процесса, то раньше BPM решения использовали множество различных нотаций. Некоторые были сосредоточены на компонентах workflow, например, HIM; другие были более техническими, например, UML Activity Diagrams. Однако, большинство из них были патентованными, незавершенными и несовместимыми друг с другом. И тогда компания BPMI.org решила это исправить, но в этот раз с учетом прошлых ошибок и, убедившись, что компания IBM не разрабатывает ничего подобного. Так Стивен Уаит (Stephen White) совершил чудо и разработал платформу BPMN, которая вскоре стала стандартной нотацией для моделирования исполняемых бизнес-процессов. BPMN поддерживает оркестрирование web-сервиса, выполнение workflow, руководит многочисленными бизнес-процессами с помощью плавающих дорожек (swimlane). Система BPM 2.0 работает, благодаря тому, что переход с BPMN на BPEL можно произвести без переписывания кода. Тем не менее, платформа BPMN не совершенна и может позаимствовать некоторые уловки у HIM, но тот факт, что система поддерживает компенсирующие трансакции, спонтанные события, сложные циклы и множество плавающих дорожек, делает ее уникальной, эффективной и незаменимой.

BPMN Дизайнер

Ранние BPM решения, которые поддерживали спецификацию BPEL, предоставляли BPEL редактору только начальный инструмент для разработки, а не реальный полноценный инструментарий для дизайна бизнес-процессов. Проблема в том, что у BPEL очень сложная спецификация, особенно с точки зрения управления данными. Более того, спецификация BPEL очень сильно зависит от сложности спецификации web-услуг и требует, чтобы разработчик вручную синхронизировал многочисленные BPEL и WSDL файлы, чтобы развернуть непрерывный процесс. Для BPEL редакторов это оказалось непросто. Они также разработали модели процесса, которые имели достаточно высокую степень детализации, чтобы быть продемонстрированными широкой бизнес аудитории. Необходима нотация высокого уровня, называемая BPMN, а система BPM 2.0 должна располагать всеми преимуществами этого стандарта, чтобы предложить потребителям именно ту эффективность, которой они хотят добиться от BPM проектов.

Отсутствие кода

BPMN и BPEL стандарты – это очень мощное сочетание, которое позволяет организовать .весь процесс от картинки до кода без, собственно говоря, написания кода. На создание этих спецификаций было потрачено много сил, и это работа была вознаграждена накопленным количеством комплексных навыков, которых нет ни у одного вендора. Это означает, что большинство BPM решений, основанных на патентованных нотациях и языках исполнения, требуют написания кода, чтобы организовать исполняемый процесс. Двойной клик по аккуратным окнам и стрелочкам, и появляется Java-код или код на любом другом языке программирования. В самом коде нет ничего плохого, но так уж вышло, что написание и поддержание кода оказывается куда более сложным, чем его полное отсутствие. Благодаря системе BPM 2.0 можно выстраивать самые сложные процессы без всякого кода. Например, голландское правительство применяет эту систему для процесса, состоящего из 250 000 активностей. Значит, если система работает в таком масштабе, то она с легкостью сможет работать и в любых других условиях.

Публикация по одному клику

По своей природе бизнес-процессы способны изменяться, а система BPM обещает упростить процесс осуществления изменений. Все это звучит многообещающе, но если разработчику приходится писать множество дескрипторов публикаций и конфигурировать различные интерфейсы web-сервисов, чтобы опубликовать процесс, о легких изменениях остается только мечтать. Для решения этой проблемы, система BPM 2.0 предлагает радикальный метод ‘Публикация по одному клику’. После того, как процесс проверен, все данные отображены, бизнес правила определены, в параметры workflow установлены, стоит просто кликнуть на клавишу и процесс будет опубликован в среде выполнения процесса без дополнительных усилий. Все проще простого.

Генерирует Web-сервисы налету

Большинство BPM решений это замаскированные системы workflow, поэтому они не поддерживают интеграцию с внутренними корпоративными системами. Дистрибутивные трансакции и система надежных сообщений такому инструментарию непонятны. Остальные виды интеграции с корпоративными приложениями всегда была осложнены необходимостью получения специальных коннекторов, например, при интеграции с такими корпоративными приложениями как PeopleSoft или SAP. В конце 90-х EAI вендоры заработали целое состояние, продавая коннекторы. Например, хотите ввести заказ на покупку для этой версии SAP R/3, приобретайте коннектор X, стоимость которого для одного центрального процессора составляла 25.000 долларов. Хотите получить список сотрудников для версии SAP R/3, приобретайте коннектор за те же 25.000 долларов? На самом деле, каждый специалист может налету, без создания кода написать один стандартный коннектор для всех версий SAP R/3 и многого другого, который будет одинаково хорош как для стандартных, так и специальных трансакций. То же самое можно выполнить и для приложения Oracle, PeopleSoft, Siebel, и большинства других. И если у вас не возникнет непреодолимое желание разработать одноразовый коннектор для API интерфейсов, этого не придется делать никому и никогда.

Встроенный интерпретатор BPEL-кода

Все предыдущие BPEL и BPML спецификации основывались на генерировании Java-кода: можно было написать код на языке BPEL, а генератор кода автоматически переводил его в Java-код, который публиковался в Виртуальной Java-Машине или J2EE-серверах приложений. Теперь хорошая новость: вендоры ПО могут относительно легко работать с BPEL. Плохая новость: этот метод не работает. Так же как база данных Oracle не может генерировать C-код для исполнения заданного SQL-запроса, функциональная платформа BPMS не должна генерировать Java-код, чтобы выполнить BPEL-процесс. Генерирование Java-кода только еще больше усложняет публикацию процессов, приводит к разрыву с семантикой процесса и на порядок затрудняет отладку и контроль. И, наконец, все процессы попросту замедляются. Ситуация усугубляется, если приходится иметь дело с моделью EJB компонентов сохранения состояния данных процесса, использующих Entity Beans и Контейнерно управляемое хранение состояния (Container-Managed Persistence). С помощью динамичного компилятора система BPM 2.0 в исходном формате интерпретирует BPEL 2.0 код в байт-код процесса, который в точности отображает Pi-Calculus семантику, и не использует никаких EJB компонентов сохранения состояния, полагаясь исключительно на прямое взаимодействие с базой данных. Поэтому, если для вас важна эффективность и универсальность, то система BPM 2.0 это как раз то, что нужно.

Пользовательский интерфейс Web 2.0

Решения BPM 1.0 базировались на пользовательских интерфейсах Web 1.0, в основном стандартных email-клиентах и web-порталах, использовавших списки задач и формы, созданные с помощью обычного HTML. Система BPM 2.0 пользуется преимуществами Web 2.0 и технологий Office 2.0, такими как AJAX для решения различных задач. И пока система BPM пока еще не воспринимается как передовая и модная технология, именно использование Web 2.0 позволит привлечь в ней внимание самой продвинутой аудитории.

Встроенный модуль управления бизнес-правилами

До настоящего времени BPM решения делились на два лагеря: те, в которых универсальный модуль управления бизнес-правилами является встроенным, и те, в которых типовое BPM решение не может исполнять сложные бизнес-правила. В результате, большинство потребителей, которые пытались публиковать результаты BPM решения прошлого поколения были вынуждены искать модуль управления бизнес-правилами у независимых вендоров, хотя на самом деле полноценный модуль им был не нужен. В системе BPM 2.0 модуль управления бизнес-правилами является неотъемлемой частью, и может быть использован BPM вендорами там, где это необходимо. Как сказал Джеймс Тейлор (James Taylor), BPM вендоры не могут дальше игнорировать важность модуля управления бизнес-правилами – они должны либо разработать нечто сопоставимое, либо, что более вероятно, позаимствовать решение у производителей изначальной комплектации. В решении BPM 2.0 система управления бизнес-правилами (BRMS) является частью платформы BPMS. Таким образом, можно работать всего лишь с одной платформой, чтобы четко отладить жизненный цикл процесса, формирующего правила. По большому счету, платформа BPMS оказалась тем оружием, которого так долго ждали.

Включает систему BAM, функционирующую в режиме реального времени

Также как и в сфере управления данными существуют отдельные вендоры, занимающиеся обработкой информации (database vendors) и анализом данных (business intelligence vendors), в сфере управления бизнес-процессами существуют отдельные вендоры, работающие с системами BPM и BAM. И если слияние компаний – это длительный процесс, то продукты ассимилируются гораздо быстрее. Так, система BAM является частью комплексного решения BPM 2.0. Система BAM необходима, так как работать без нее с решениями BPM просто невозможно. Это все равно, что водить автомобиль с закрытыми глазами.

Встроенный имитатор процесса

В BPM решениях первого поколения имитация процесса поддерживалась специальными имитаторами, которые основывались на примитивных автоматах, имитировавших исполнение процессов, публикуемых в отдельной рабочей среде. Теперь хорошая новость: такие имитаторы относительно просты в использовании. Плохая новость: они не отражают истинную природу целевой рабочей среды, не могут тщательно смоделировать испытание нагрузкой, и не показывают данных процесса, что представляет большую половину семантики системы, особенно при использовании стандарта BPEL (Язык описания бизнес-процессов). Такие имитаторы подходят для бизнес-аналитиков, которые не вникают собственно в исполнение моделируемого ими процесса, но оказываются совершенно бесполезными для людей, которые создают и отслеживают весь жизненный цикл процесса. Принимая во внимание вышеупомянутую особенность, система BPM 2.0 предлагает другой подход к моделированию, при котором механизм исполнения процессов используется как имитатор. Таким образом, получается, что имитируемые процессы извлекаются из внешних систем, которые моделируются самим модулем управления процессом. Итак, чтобы сымитировать любой процесс, система моделирования автоматически публикует совокупность экземпляров процесса и генерирует случайные величины, чтобы поддерживать имитационные модели, как в методе Monte Carlo. Модуль управления процессами исполняет совокупность имитируемых экземпляров процесса и позволяет инфраструктуре BAM собрать воедино все результаты и показать их бизнес-аналитику, который получает доступ как к ключевым показателям эффективности бизнес уровня, так и к системным характеристикам эффективности. При таком подходе семантика имитируемого процесса сохраняется со стопроцентной точностью и учитывает семантику процесса, который необходимо опубликовать. Более того, сочетая бизнес-индикаторы с параметрами системы, имитатор гарантирует, что и бизнес, и IT будут одинаково хорошо представлены при оценке процессов, опубликованных в продуктивной среде для решения критически важных задач. В конце концов, специальный имитаторы процесса – это всего лишь игрушки в руках бизнес-аналитиков, в то время как встроенный системы имитации – это точный измерительный инструмент, на который BPM специалисты всегда могут положиться.

Динамическая оптимизация процесса

Сторонники ре-инжиниринга бизнес-процессов активно продвигали концепцию непрерывной модернизации, и многие вендоры, начали поддерживать эту методологию BPM-системы и разрабатывать новые решения. Тем не менее, появился ряд проблем. Так, изменение процесса, который был уже запущен и опубликован, оказалось куда более сложным, чем это изначально предполагалась, особенно когда нужно было переписать софтверный код, чтобы изменения вступили в силу. Кроме того, так как произвести изменения в процессе значило заново пройти весь его жизненный цикл от моделирования до имитации и публикации, многие запланированные изменения так и оставались всего лишь планами. Система BPM 2.0 помогла отойти от концепции непрерывной модернизации процесса и ознаменовала появление модели динамической оптимизации процесса, при которой элементы процесса могут быть оптимизированы налету, не прибегая к повторной публикации всего процесса. Благодаря использованию встроенного BPEL интерпретатора, многократно используемые путеводители по процессам, сформированные бизнес-правила, и обработка исключительных ситуаций на уровне экземпляров, экземпляры текущего процесса могут быть оптимизированы в режиме реального времени и не требуют передовых технических навыков. Именно такое решение позволило Голландскому Правительству производить регулярные изменения в процессах, на завершение которых может понадобиться до пяти лет. И если у вас еще остались сомнения в том, что система BPM может использоваться для поддержки длительных трансакций, то лучше эти сомнения оставить раз и навсегда.

Модуль управления процессами на базе Open Source

Скоро модуль управления процессами станет самым важным компонентом любой IT-инфраструктуры. Поэтому необходимо позаботиться о приобретении самого лучшего страхового полиса. Это основная причина, по которой архитектура системы BPMS должна быть выстроена на основе модуля управления процессами на базе Open Source. В этом случае, что бы ни случилось с вашим вендором, вы гарантированно получите квалифицированную помощь. Сеть, которую многие сегодня называют Internet 2.0, была фактически построена на базе web-сервера Open Source Apache, благодаря которому сегодня функционируют 67% всех web-серверов, подключенных к Internet.

Попробуйте уже сегодня и совершенно бесплатно

И последнее. Система BPM слишком хороша для того, чтобы оставаться недоступной для потенциальных пользователей из-за своей высокой стоимости. До недавнего времени, полнофункциональная BPMS-система корпоративного класса стоила более 250.000 долларов. Если необходимо добавить систему поддержки бизнес-правил, систему мониторинга активности бизнес-процессов (BAM) и несколько других корпоративных приложений, стоимость системы возрастет до 500.000 долларов. На мой взгляд, такой высоких ценовой диапазон привел к тому, что за последние шесть лет система BPM не пользовалась большим спросом. Тем не менее, благодаря системе BPM 2.0 эта ситуация изменится, так как BPMS решения корпоративного класса будут бесплатными при условии соблюдения определенных параметров публикации. Появление моделей-гибридов, которые сочетают формат Open Source и коммерческое ПО, будет способствовать тому, что многие вендоры смогут долгое время оказывать поддержку клиентам. В конце концов, и потребители, и системные интеграторы, и вендоры ПО будут только в выигрыше от эффективной работы BPM рынка.

Авторские пометки: разделы про имитацию и оптимизацию были добавлены 6 февраля 2006 года после консультации с Ноэмом Нашми (Naeem Hashmi) и Брюсом Силвером (Bruce Silver). Со временем возможно включение дополнительных разделов или переработка уже имеющихся. Любые изменения будут отмечены специальными пометками.

Пояснения в разделе правила были сделаны 11 февраля 2006 года на основе информации, полученной от Джеймса Тайлера (James Taylor).

Надежный модуль управления правилами должен быть неотъемлемой частью любой BPM 2.0 платформы, а BRMS объединяется с BPMS.

Исмаель Халими (Ismael Ghalimi)

BPM, Исмаель Халими

  1. No comments yet.
  1. No trackbacks yet.