Все о системах управления бизнес-процессами
 
Почитать
Поговорить
Побродить
Завершить


 
Возвращаясь к теме roundtrip

Литература:

Автор: Bruce Silver

Оригинал статьи: Roundtripping Revisited

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

Затем возникла новая концепция: BPM-система (BPM Suite), объединяющая в одном интегрированном пакете моделирование, средства исполнения и BAM, что сулило лучшее взаимопонимание между бизнесом и ИТ и динамичность (agility), позволяющую реагировать на непрерывно меняющиеся требования бизнеса. Модель процесса вдруг перестала быть просто спецификацией бизнес-требований – оказалось, что на самом деле это первая фаза реализации процесса. Нет проблем, сказали BPEL-вендоры. Мы просто сгенерируем «скелет» кода BPEL из модели процесса, и передадим его разработчику BPEL. Готово! Вовлечение бизнеса! Взаимопонимание между бизнесом и ИТ!

Но такой взгляд на интерфейс между фазой моделирования процесса и фазой проектированием его исполнения – как на односторонний канал передачи информации – изначально был ущербным. Одна проблема возникает на стороне моделирования. Экспорт модели в BPEL, с его блочной структурой, накладывает новые ограничения на диаграмму. При попытке сгенерировать и экспортировать BPEL из модели, абсолютно корректной с точки зрения спецификации BPMN, вдруг появляются сообщения об ошибках. Другая проблема встает на стороне BPEL. Когда BPEL-проект обретает плоть и кровь, он неизбежно отклоняется от исходной диаграммы BPMN, и бизнес-аналитики теряют контакт с исполняемой схемой вскоре после передачи информации. Замечательная вовлеченность бизнеса, ничего не скажешь!

Мы получили то, что стало известно как “roundtrip”-проблема. Простого способа обеспечить на протяжении всего жизненного цикла процесса соответствие между моделью в BPMN или другой аналогичной нотации и исполняемым BPEL не существует. Суть дела в том, что вы не можете модифицировать модель процесса в соответствии с изменениями в BPEL. Нельзя вернуть обратно зубную пасту, выдавленную из тюбика. Таким образом, модель не является текущим взглядом бизнеса на реализацию процесса. Фактически, она остается тем, чем была всегда – начальными бизнес-требованиями.

Проблема roundtrip застала некоторых BPEL-вендоров врасплох. Для них, пришедших к BPM от интеграции, идея подпустить людей бизнеса сколько-нибудь близко к реализации представлялась как минимум безвкусицей. Но стало ясно: вовлечение бизнеса – это, в конечном счете, ключевой элемент ценности BPM. И вендоры признали, что да, действительно, BPMN-BPEL roundtrip – это серьезная проблема.

Тем временем, группа меньших по размеру компаний достигла успехов в привлечении как покупателей BPM, так и аналитиков, полностью игнорируя BPEL. Такие вендоры, как Lombardi, Appian и Savvion, сконцентрировавшиеся в большей степени на процессах, вовлекающих людей, чем на интеграции, открыли путь для новой разновидности BPMS, в которой детали исполнения накладываются прямо на модель процесса в виде свойств шагов BPMN-процесса, относящихся к исполнению. Новая разновидность не предусматривает передачу информации между различными инструментами (с разными моделями потоков, моделями данных и моделями программирования), а использует преимущество единого инструмента, совместно используемого бизнесом и ИТ, где бизнес фокусируется на шагах и потоках, а ИТ – на том, как эти шаги исполняются.

Для этой новой разновидности BPMS проблемы roundtrip не существует. Если ИТ необходимо внести правку в последовательность шагов, то модифицированная модель процесса немедленно становится видна бизнес-аналитику. Сам инструментарий способствует совместной работе бизнеса и ИТ на протяжении всего цикла разработки, и хорошо стыкуется с agile-методологиями итерационной разработки, которые существенно сокращают продолжительность цикла от модели до внедрения. Преимущества вовлечения бизнеса и большей динамичности с лихвой перекрывают недостаток проприетарной среды исполнения BPMS, и в последние годы этот подход выбрало большинство BPMS вендоров. Когда крупные компании – поставщики промежуточного ПО, приверженные стандартам, такие как BEA и TIBCO, выскочили на арену BPM, купив «чистые» (pureplays) BPMS, они взялись не за BPEL. Вместо этого они выбрали подход, в котором моделирование и реализация едины, несмотря на проприетарную среду исполнения, и оба постепенно трансформируют свои системы в направлении полной поддержки стандарта BPMN.

Таким образом, один ответ на проблему roundtrip – это сказать, что она больше не существует, что это артефакт дней минувших, попытка применить BPEL в области, к которой он не имеет отношения… к BPM! Я считаю, что в этом утверждении истины больше, чем крупица. Но это еще не конец истории.

В последние годы я преподавал моделирование бизнес-процессов средствами BPMN бизнес- и ИТ-пользователям. Естественно, я ожидал увидеть слушателей, чьи компании выбрали BPMN в качестве стандарта моделирования процессов. Но они приходили не из-за того, что только что приобрели Lombardi, Savvion или Appian. На самом деле, если они и успели сделать выбор BPM для исполнения процессов, то в большинстве случаев это был BPEL. Он стандартен, широко распространен, доступен в виде open source. Именно его используют для исполнения бизнес-процессов IBM и Oracle. Все это – факторы в пользу BPEL. Но стандартизовать и BPMN, и BPEL? Нет, конечно это нелогично. Обычно решения принимались независимо разными группами внутри компании, не имеющими никакого представления о заботах других. Но решения были приняты, и если BPM суждено развиваться в этих компаниях, то с этим надо что-то делать.

После того, как я около года был в лагере сторонников мнения «roundtrip мертв», я теперь столкнулся с необходимостью снова вернуться к этой теме. В частности, на моих курсах слушатели интересуются: какие стратегии или паттерны следует использовать в диаграммах BPMN, чтобы они хорошо стыковались с предполагаемой BPEL-реализацией? Не предполагал, что мне придется об этом задумываться.

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

Попытки создать более изощренную трансляцию предпринимались нечасто, и общее число их невелико. Наиболее удачные из мне известных предпринимались Марлона Думаса (Marlon Dumas) и его коллег из Университета Квинсленда в Австралии (см. http://eprints.qut.edu.au/archive/00005266/) и И Гао (Yi Gao), техническим директором начинающей компании-разработчика инструментария eClarus (см. http://www.eclarus.com/pdf/BPMN_BPEL_Mapping.pdf). Они применили разные подходы, но сошлись в общей стратегии. Она заключается в том, чтобы идентифицировать те фрагменты диаграмм, которые без труда преобразуются в BPEL, а оставшиеся фрагменты преобразовать или перерисовать в семантически эквивалентные, опять-таки приведя их к таким, для которых преобразование в BPEL не составляет труда. При таком подходе подмножество диаграмм BPMN, которое не может быть преобразовано в BPEL, в действительности оказывается весьма небольшим. На самом деле, множество проблемных паттернов, выделенных Думасом, не соответствуют спецификации BPMN. Однако такие подходы, насколько мне известны, не нашли широкого признания у BPMN-вендоров. Это проблема номер один.

Проблема номер два – более тонкая. Цель, которую поставили перед собой упомянутые выше исследователи – создать из BPMN «читабельный» BPEL – основывается на предположении, что разработчикам все же понадобится редактировать сгенерированный BPEL. С моей точки зрения, это в корне неправильно. Возможно, roundtrip-проблема не умерла, но односторонняя передача информации от требований к реализации – эта парадигма точно мертва, по крайней мере применительно к BPM. Парадигма совместной реализации, в которой исполняемый процесс накладывается на BPMN-модель,– вот к чему по-прежнему надо стремиться. Я смотрю на BPEL как на Java: вы можете генерировать его «под полой», но в этом случае у вас не должно возникнуть желания вручную его редактировать. Достоинства BPEL, которыми следовало бы воспользоваться – это его стандартность и общедоступность среды исполнения, а не его полезность в качестве языка исполнения для BPM.

Итак, если создание «читабельного» BPEL – это не та цель, к которой стоит стремиться, то что является такой целью? Я считаю, что целью должно быть определение возможно более широкого подмножества BPMN, допускающего автоматическую трансляцию в BPEL (с использованием последних достижений), и затем определение самой этой трансляции. Мне необходимо это знать, потому что я хочу иметь возможность учить моих слушателей использованию в диаграммах BPMN дружеских по отношению к BPEL паттернов. Уже сейчас фактически тренинги по BPMN – это в основном изучение паттернов, которые наилучшим образом выражают семантику процессов, так что концептуально в этом нет ничего нового. Если мы не редактируем BPEL прямо, то нам незачем беспокоиться об обратной трансляции в BPMN (но если редактируем, то беспокоиться определенно надо).

На фоне ожиданий, что IBM, SAP и Oracle повлияют на работы над BPMN 2.0, мы можем надеяться на некоторую помощь в этом со стороны самого стандарта. Но я не хочу ждать так долго.

Диалог с Думасом на тему roundtrip

Марлон Думас дал вдумчивый ответ на мою заметку о проблеме roundtrip. Чтобы разобраться по пунктам, ниже я цитирую комментарии Марлона, перемежая их моими ответами:

Марлон: Брюс, я согласен со многими из Ваших утверждений, но я решительно не согласен с тезисом о том, что BPEL – это аналог языка ассемблера и что читабельность кода BPEL, сгенерированного из BPMN, не важна. Вот основные мои возражения:

Марлон: 1) Вам не удастся исключить разработчика из жизненного цикла BPM – просто потому, что ни один бизнес-аналитик никогда в жизни не захочет писать что-либо напоминающее выражение XPath или любой другой язык регулярных выражений. А как иначе вы закодируете для целей исполнения все ваши условные выражения и функции преобразования данных, необходимые для запуска процессов и передачи данных? Надо просто познакомиться с опытом первых последователей парадигмы «BPM поверх SOA», например Danske Bank, в котором такой проект выполняется в течение 4 лет. У них есть три роли: бизнес-аналитик разрабатывает высокоуровневую модель при помощи нотации типа BPMN, архитектор решения уточняет модель т определяет какие ее части могут быть автоматизированы и каким образом, и наконец разработчик, который транслирует их (вручную) в исполняемую модель процесса (подробное обсуждение см. здесь: http://brahe.org/MamboPHD/index.php?option=com_docman&task=docclick&Itemid=31&bid=27&limitstart=0&limit=5).

Брюс: Никто и не говорит об исключении ИТ из жизненного цикла BPM. На самом деле, я даже согласен с 3 Вашими ролями, хотя я бы определил их функции несколько иначе. Бизнес-аналитик создает модель процесса в BPMN. Архитектор решения (ИТ) делает шаги процесса исполняемыми, конфигурируя их при помощи диалоговых окон, отрывающихся при помощи наведения и клика, и помощников (wizards), не прибегая к кодированию. Разработчик создает бизнес-сервисы при помощи Java, BPEL и чего угодно еще, при условии что их можно привязать к шагам процесса, чтобы сделать их исполняемыми. Разработчик может использовать SOA-инструментарий, в то время как бизнес-аналитик и архитектор решения используют BPMS.

Марлон: 2) Если мы вообще не беспокоимся о коде BPEL, то почему вендорам просто не разработать движок, непосредственно исполняющий BPMN? Если у вендора уже есть хороший движок BPEL, то ему не будет так уж сложно (при тех инженерных ресурсах, которыми он располагает) доработать его так, чтобы он непосредственно интерпретировал BPMN. И это позволит избавится от дополнительной суеты по поддержанию сложной трансляции между BPMN и BPEL, которая только усложняет трассировку и отладку. А если вендор так уж озабочен трансляцией BPMN во что-нибудь еще, то гораздо больше смысла было бы транслировать его в язык низкоуровневый по отношению к BPEL, например в набор привязанных к событиям (event-driven) правил, которые мог бы исполнять хорошо масштабируемый движок обработки сложных событий (CEP, Complex Event Processing).

Брюс: И я о том же. Примерно это и сделали Lombardi, Appian и Cordsys. У большинства вендоров уже есть движок, который можно доработать, поэтому если он поддерживает семантику, выраженную в BPMN, то второй возможный вариант – это сделать BPMN площадкой для проектирования и спрятать проприетарный внутренний язык. Под это описание подошли бы Savvion, TIBCO, webMethods, а вскоре, я думаю, BEA и прочие. Почему не CEP-движок? Действительно, почему нет, если он работает? Движок оценивается по производительности, устойчивости и стоимости. Разве кого-нибудь волнует что представляет собой его внутренний язык? Я утверждал, что достоинство BPEL заключается в том, что для него есть недорогие высокопроизводительные движки, доступные из нескольких источников. Никакого отношения к языку, как таковому, это не имеет.

Марлон: 3) После того, как в BPEL так много инвестировано, маловероятно, что такие вендоры как Oracle и IBM заменят его BPMN. BPMN должен быть дополнением к BPEL (т.е. находиться на более высоком уровне абстракции).

Брюс: Не меняйте BPEL на BPMN, ведь в действительности они не конкурируют друг с другом. Я предлагаю поменять прямое редактирование BPEL (в BPM-системе, не обязательно в SOA-инструментарии) на BPMN плюс помощники (wizards), вызываемые по клику мыши, в духе Lombardi. Оба упомянутых Вами вендора уже сделали начальные шаги в этом направлении, и я предсказываю, что в течение пары лет BPM от Oracle и IBM в части инструментария станут гораздо более дружественными по отношению к бизнес-пользователям, не отказываясь при этом от BPEL в нижележащей среде исполнения.

Марлон: 4) Даже если мы решим использовать BPMN для определения исполняемого процесса (к чему сейчас стремятся различные вендоры), нам понадобятся две версии BPMN: «Бизнес-BPMN» и «Исполняемый BPMN», предназначенные для разных типов пользователей (например, для бизнес-аналитиков и архитекторов/разработчиков). Приоритеты бизнес-аналитика отличаются от приоритетов архитектора решения и приоритетов разработчика. Бизнес-аналитик захочет снабдить свою модель атрибутами, содержащими информацию о рисках, требованиях регулирующих органов, а также параметрами для имитационного моделирования. Архитектора решения и разработчика интересуют извлечение и передача данных, задание связей с приложениями, управление безопасностью, масштабируемостью и надежностью.

Брюс: Я согласен с тем, что модели процессов не всегда создаются с намерением их исполнять, а также с тем, что в зависимости от этого используемые стили BPMN могут несколько различаться. Но я думаю, что это результат незрелости обучения BPMN. Не уверен что Вы это имели в виду, но BPMN содержит массу атрибутов, введенных исключительно для генерации BPEL, причем они, как правило, игнорируются. Если Вы это подразумевали под исполняемым BPMN, то я согласен – давайте избавимся от всего этого барахла. Независимо от того, намереваемся мы создавать исполняемую версию или нет, есть еще линия раздела между разработчиками модели, которые думают о таких вещах, как обработка событийных исключений (event throw-catch), multipool процессах, связанных потоками сообщений, и о компенсациях транзакций, и теми, кто обо всем этом не заботится. Как раз эти возможности во многих BPMN-средствах отсутствуют, так что должна быть какая-то разграничительная линия по отношению к классам степени соответствия требованиям совместимости, и я работаю с ребятами из XPDL с целью продвижения этой идеи.

Марлон: Если Вы когда-нибудь передумаете и захотите познакомиться с трансляцией из BPMN в BPEL, которая достаточно полна И производит читабельный код, просто направьте Ваш браузер Firefox сюда: http://www.bpel4chor.org/editor/. Для примера взгляните на BPMN модель PriceRequest. Открыв, вы сможете экспортировать ее в BPEL – в меню четвертая кнопка слева («Export to BPEL4Chor»). Примечание: этот полностью онлайновый BPMN-редактор работает только в Firefox и его загрузка в окно браузера занимает от 10 до 15 секунд. Эта работа не завершена – если Вам удалось правильно экспортировать в BPEL Вашу любимую модель BPMN при помощи этого онлайнового редактора, просто бросьте email на gero.decker@hpi.uni-potsdam.de.

Брюс: Если судить по тому, что Вы рассказали здесь, а также приватно, это очень круто. Я намерен посмотреть!

Прочие комментарии

CraigH: Я думаю, Марлон ухватился не за тот конец. Дело не в том, чтобы сгенерировать читабельный BPEL для разработчиков – дело в том, чтобы отразить все изменения в процесс, которые вносят разработчики, обратно в модель аналитиков. До тех пор, пока разработчики используют свое собственное представление процесса, при попытке аналитика внести правки разработчика (BPEL) обратно в модель BPMN будет оставаться масса возможностей ошибочной интерпретации. Это означает, что кто-то – вероятно, разработчик – должен быть способен взглянуть на представление BPEL и определить какие кусочки BPEL каким кусочкам BPMN соответствуют, чтобы хотя бы определить в какие части карты BPMN нужно вносить исправления.

Занятие это ручное, подверженное ошибкам и неэффективное. Но что хуже всего, оно продолжает традицию взаимоотношения между аналитиками и программистами в стиле «мы и они», от которого мы только начали избавляться. Совместная работа над одной и той же моделью – вот отличная для этого возможность.

jdubray: Craig, хотя работа этой группы исследователей заслуживает внимания, я от всего сердца с Вами согласен. Эту статью я написал, чтобы аргументировать более подробно: http://www.infoq.com/articles/seven-fallacies-of-bpm

Комментарии
#1 Анатолий Белайчук, 10.12.2007 14:09

Чтобы еще больше расширить спектр мнений - тут же на сайте опубликована статья Рашида Хана (Ultimus) "О рекламной шумихе вокруг BPM" (/library/articles/hyping/index.html). Еще одно подтверждение тезиса Брюса: вендоры "не врубаются" smile

#2 Андрей Гордиенко, 10.12.2007 17:32

BPEL, по-моему, уже просто устарел. Сегодня он не соответствует тем целям, для которых создавался. Нужно просто найти ему замену. Некий XML-стандарт для отображения графической BPMN-нотации.
Давайте вспомним о том, что BPEL возник раньше BPMN. Тем самым спровацировав постановку телеги впереди лошади. Что такое, по сути, BPEL? Это "ассемблер" для графической нотации. Если в ассемблере можно реализовать не все команды ЯВУ, значит это ассемблер просто никуда не годится. Где это видано, чтобы ЯВУ пытались приспособить под ограничения ассемблера? Видимо, просто пришло время предложить что-то новое вместо BPEL, то, что изначально полностью соответсвует нотации BPMN.
Для чего в принципе нужен BPEL?
а) Для портирования БП в среду другой BPMS
б) Для построения [u]исполнимого[/u] описания БП, причем исполнимого с максимальным быстродействием...
С портированием и сейчас не всё здорово - BPEL, сгенеренный для одной системы далеко не всегда работает в другой. От высокого быстродействия тоже толку мало, если в нем в принципе невозможно полноценно выстроить, например human-to-human взаимодействия. По этой причине я считаю, что XML-спецификацию нужно "подтягивать" к BPMN, а не BPMN к созданной ранее XML-спецификации.

По поводу деления BPMN на "для аналитиков" и "для архитекторов" считаю, что такое деление...
а) должно быть возможным, но не более того
б) граница между первым и вторым должны устанавливаться гибко - в зависимости степени компьютерной грамотности людей, занятых моделированием БП.
Наиболее оптимально с моей точки зрения задание такой границы с помощью системных атрибутов, определяющих права доступа и доступные интерфейсы. При таком решении BPMN "для аналитиков" - это просто верхний уровень описания, из которого скрыты детали технической реализации. В свою очередь новая XML-спецификация должна четко разграничивать унифицированные конструкции от специфических для данной конкретной реализации BPMS. Это как раз для целей портирования. Теоретически XML-спецификация может быть построена с расширяемым синтаксисом (то есть, с самомодифицируемым синтаксисом, наподобие синтаксических расширений в языках .NET).
Исполняющее ядро, которое смогло бы поддерживать всю подобную функциональность, скорее всего, окажется тяжеловесным. Поэтому я не исключаю некоторых компромисных промежуточных решений, в виде ряда ступенек на пути к озвученному. И первую из этих ступенек мы уже наблюдаем - отказ от BPEL в ряде BPM-систем.

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

Отдельно хочу сказать про то, что с моей точки зрения также упущено разработчиками стандартов автоматизированного управления БП. Это стандартизация отношений сущностей, которыми оперирует БП. Это контент, который рассматривается [u]в статике[/u] как совокупность взаимосвязанных объектов - примерно так представляют информацию ECM-системы. Потому что кроме собственно бизнес-процесса имеются еще и объекты, которые нужно иметь возможность быстро находить, когда в этом возникла необходимость, либо анализировать из взаимосвязи. Которые могут быть неявными с точки зрения БП, но явными с точки зрения контента.

И еще про то, чего с моей точки зрения не хватает современным BPM-системам. Им не хватает встроенных стандартных средств статистического анализа. Тех средств, которые способствовали бы массовому применению статистических методов управления качеством, выявления характера отклонений, возможности привязки к отклонениям аппарата принятия решения. И в том числе модифицирующих собственно схему БП. В итоге должна быть сформирована некая [u]самомодифицирующаяся[/u] модель - в рамках формализованных процедур самомодификации (например, 8D из модифицированной методологии "шесть сигм"). Должны быть встроенные средства выстраивания иерархии контролируемых параметров БП. И в конечном итоге - "электронные панели управления". Если бы существовали такие BPM-системы, они смогли бы предложить не просто модуль-кусочек для автоматизации некоторой бизнес-деятельности. Это могло бы быть комплексное завершенное решение, нацеленное не просто на охват некоторой совокупности БП, а на построение модели управления предприятием, включающей эффективные средства анализа и принятия решений.

#3 Анатолий Белайчук, 10.12.2007 18:31

Андрей

XML-стандарт для хранения BPMN уже есть, он называется XPDL. XPDL 2.0 разрабатывался таким образом, чтобы полностью покрывать BPMN 1.0. Стандарт работающий.

"Стандартизацию отношения сущностей" на BPM вешать не надо. Это дело DBMS, которую BPMS не заменяет. Разворачивайте в DBMS или в прикладной системы сущности неограниченно сложные и держите в экземпляре процесса ссылки на них -- вот правильная архитектура.

Статистические методы в BPM-системах присутствуют. (Хотя быть может их и не хватает - тут уж кому что нужно.) Например, в TIBCO Business Studio встроенно моделирование по методу Монте-Карло: рисуете схему процесса, задаете распределение входных параметров (на выбор - нормальное, равномерное, экспоненциальное), запускаете simulation, на выходе получаете распределение выходных параметров, времени исполнения процессов и т.д. Наверное где-то может быть полезным. Можете попробовать - Business Studio бесплатно отдается с сайта tibco.com.

Однако это всего лишь симуляция. Что касается статистического анализа реального исполнения процесса, то я в общем согласен с критикой Рашида Хана (см. комментарий #1 выше): как отделить простой от времени, потраченного на выполение? А уж самомодифицирующаяся модель - это, прошу прощения, чистая маниловщина. Адекватно реализовать в BPM-системе процесс as-is, поддерживать его в актуальном состоянии, убрать вопиющие неоптимальности - да уже это будет подвигом и замечательным результатом по критериям бизнеса. В смысле - бабок принесет немеряно smile

#4 Юлия Вагнер, 10.12.2007 19:03

Андрей
Иерархия контролируемых параметров - это отдельная песня. Как Вы думаете, сколько параметров РЕАЛЬНО способен контролировать человек? Не просто любоваться, а контролировать и управлять. Да не больше четырех-пяти. Все остальное - это потешить тщеславие: "вот, у меня есть". Строить иерархии из пяти показателей?
Можно возразить: в BPM заложить математические модели обработки этих параметров. Никто не мешает реализовать это в BPMS, в конце концов в другой системе и подцепить ее к BPMS, но зачем? Следующий шаг - стандартные процессы?

#5 Alexander Samarin, 18.12.2007 22:36

Брюс прав о том, что BPEL дожен генериться автоматически (как PostScript во многих системах). Intalio довольно успешно использует этот подход.

Исторически, многие производители ПО предлагают бизнес моделирование и реализацию моделей как отдельные продукты. Но тенденция (Intalio, SAP) -- это единая среда (часто, Eclipse), которая используется совместно (а в идеальном случае и одновременно) аналитиками и разработчиками.

Я, например, создаю в BPMN (Intalio) исполняемые бизнес процессы итеративно. Каждая итерация -- это Blackboxing, Structuring, Re-construction, Instrumentation -- требует опыт и аналитика и разработчика.

Насчет "самомодифицирующаяся модель" -- это еще никто в моей практике не заказывал, но просили реализовать самомодифицирующиеся реализации модели, т.е. процесс сам себя подстраивает под условия и динамику (KPI) своего исполнения. Просили, также, автоматически создавать модели, оптимизированные для каждого конкретного случая.

Насчет "чего ... не хватает современным BPM-системам" -- я бы хотел работать одновременно со следующими артефактами:

• Added-value chain
• Macro-process
• Events
• Process (coordination of activities)
• Activities (human and automatic)
• Rules (business)
• Rules (routing)
• Data objects -- minimum as XSD
• Documents
• Services (interactive services, solution services, functional services, etc.) -- minimum as WSDL
• Roles
• KPI and traceability
• GUI layouts

AS

#6 Максим Косенко, 19.12.2007 14:54

Вообще тема странная. Я даже не очень понимаю в принципе зачем нужен клиенту BPEL.

Вот Андрей сказал, для
а)портирования
б)ипсолнения и производительности.

Ну пункт А под ОЧЕНЬ большим сомнением, так как портирование это вопрос не только того насколько дотошно поддерживают стандарт разные системы, а и то, что часто портирование одной системы это просто достаточно серьезная смена IT части в компании. А тогда ценность возможности перетащить описания процессов мала, так как в новой инфраструктуре все это однозначно и не заработает и вообще мало пригодится.

Пункт Б - тоже. Очевидно что BPMN позволяет специфицировать расширенными аттрибутами модель и в принципе можно явно исполнять её. Вопрос как это делают совершенно не касается клиента. Для импорта/экспорта вполне пригоден XPDL. В чем хранить модель - опять-таки не касается клиента. Другое дело, что BPMN не описывает все что необходимо в самодостаточной системе. Но нужен ли для этого вообще стандарт - большой вопрос. Да, стандарт на нотацию, на принципы построения, на графическое отображение и на импорт/экспорт быть должен. Он и есть. А вот стандарт на исполнение...

Вопрос производительности мне кажется вообще не в тему. Никакой стандарт описания не поможет сделать производительность/масштабируемость bpms системы лучше. Это исключительно вопрос способностей и целей вендора.

Впрочем, как я тут уже говорил комментарием в прошлой статье, мое мнение, что и BPMN это не тот стандарт, который на самом деле удобен для использования в системе, где есть все то, что назвал Александр Самарин. Когда события, процессы, объекты, сервисы, правила это все параллельные блоки даже одной системы, то всем этим становится очень опасно управлять, так как слишком легко потерять контроль над системой. А причина тому - стандарт BPMN, который хорош лишь для четверти из решаемых вопросов. Как результат - вы просто не можете увидеть что будет на самом деле сразу. Придется строить картину в голове, заглядывая в блоки управления, которые делают конкурентные операции совершенно разными подходами.

#7 Анатолий Белайчук, 25.12.2007 17:56

Коллеги

Предлагаю продолжить дискуссию в обсуждении статьи "семь заблуждений" - в известном смысле, она продолжает тему данной статьи.

Главная | О проекте | Введение | Софт | Литература | Форум | Семинары | Ссылки | Архив новостей | Подписка на RSS-каналы | Карта сайта | Авторские права