Управление бизнес-процессами в программной среде Microsoft

29 апрель, 2007 - 13:59КО

В последнее время рост интереса к программным средствам, связанным с управлением бизнес-процессами (Business Process Management, BPM), очевиден. Однако поставщики ПО этого класса довольно свободно трактуют терминологию, относящуюся к предметной области, и зачастую клиентам непросто сориентироваться и выбрать решение, способное действительно повысить конкурентоспособность бизнеса и вместе с тем создать прочный и гибкий фундамент для дальнейшего совершенствования и развития «IT-вооружения» организации. В данной статье автором предпринята попытка познакомить читателя с тем, что представляют собой подобные системы, и очертить круг выполняемых ими задач.

Предпосылки

В начале 90-х годов термин «управление бизнес-процессами» относился полностью к управленческой дисциплине и подразумевал методологию выявления, анализа и оптимизации бизнес-процессов (БП) предприятия. Под БП при этом понимается упорядоченная последовательность действий, необходимых для достижения определенного результата. Важным шагом здесь стал переход от понимания предприятия как набора отдельных функциональных блоков (сбыт, маркетинг, производство, логистика и т. д.) к его представлению в виде совокупности бизнес-процессов, пересекающих функциональные границы отдельных подразделений (рис .1).

Управление бизнес-процессами в программной среде Microsoft
Рис. 1. Бизнес-процессы организации затрагивают разные функциональные отделы

Целью ставилось повышение рентабельности предприятия и получение конкурентного преимущества за счет внедрения продуманных последовательностей действий, постоянного их совершенствования в замкнутом цикле «Внедрение – Исполнение – Измерение – Улучшение». Эта дисциплина породила соответствующий класс ПО, призванный помочь оптимизировать бизнес-процессы (например, хорошо известные IDC SCHEER ARIS, AllFusion Process Modeler и др.). Подобные инструменты позволяют визуально моделировать процессы, задавать их различные параметры и выбирать наиболее целесообразные и эффективные варианты.

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

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

Несколько лет назад наступила эпоха архитектуры, ориентированной на сервисы (Service-Oriented Architecture, SOA). В предлагаемой статье мы не будем углубляться в детали принципов SOA – этому посвящено огромное количество публикаций. Отметим лишь, что основной идеей SOA является представление функций и данных предприятия в рамках отдельных сервисов. SOA-архитектура действительно обеспечивает значительные преимущества в довольно проблемной области интеграции. Говоря просто, теперь достаточно написать только «обертку» существующего модуля или приложения, экспортирующего определенную функциональность в виде сервиса (на практике в большинстве случаев это будет Web-сервис), – и мы получим некий «строительный кирпичик», который сможем использовать где и как угодно.

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

Необходимо определить логические взаимосвязи между сервисами, чтобы объединить их в бизнес-процессы. Однако SOA не предлагает никаких средств «дирижирования» сервисами. Бизнес-процессы могут меняться, и достаточно быстро. А это означает дорогостоящее внесение изменений в уже развернутую сервисную инфраструктуру. Пока существует не так много систем, экспортирующих свою функциональность в виде сервисов. Очевидно, что найдутся лица, заинтересованные в сборе метрик исполняемых бизнес-процессов (сколько продано товаров определенной категории в регионе x? Сколько финансовых транзакций на сумму больше y произведено вчера? и т. д.). Следовательно, нужны средства сбора статистики и анализа активностей.

Решить описанные задачи вручную едва ли возможно, и уж в любом случае очень дорого. Когда пришло осознание этого факта, по сути, и зародился класс ПО, названный «Системы управления бизнес-процессами».

Системы управления бизнес-процессами

Попробуем определить, что именно мы хотели бы получить от системы управления бизнес-процессами.

Прежде всего необходимо формализовать существующие бизнес-процессы. Желательно, чтобы этим занялись не IT-специалисты, а аналитики, хорошо представляющие себе элементы и последовательности деловых действий организации. Разумеется, аналитику, не обладающему специальными техническими навыками, требуется простой в использовании инструмент моделирования бизнес-процессов. Нужна также по возможности несложная и понятная нотация их визуального описания. Нотаций на данный момент существует много – это и расширения UML (так называемые профайлы UML для определенной области моделирования), IDEF, eEPC, BPNL и другие. Их подробное рассмотрение и сравнение выходит за рамки этой статьи, а желающие могут ознакомиться с материалами, размещенными на www.bpmi.org.

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

Как правило, при этом речь идет об интеграции различных информационных систем, а зачастую – и о разных платформах. В таком случае хорошо бы иметь предоставляемые разработчиком интеграционные компоненты (в терминах систем управления бизнес-процессами они называются «адаптерами»). Адаптеры делятся на две категории: адаптеры протоколов, обеспечивающие взаимодействие при помощи транспортных протоколов (HTTP, SMTP, POP3, FTP, FILE и т. д.), и адаптеры приложений, рассчитанные на интеграцию с существующими информационными системами – распространенными СУБД, ERP-, CRM-системами и пр.

Механизм исполнения процессов. Здесь есть множество технических нюансов. Так, одновременно может исполняться ряд бизнес-процессов, различающихся по длительности (скажем, процесс оформления кредита может занять и дни, и месяцы). Соответственно, данный механизм ради сохранения вычислительных ресурсов должен уметь приостанавливать подобные бизнес-процессы, сохраняя их состояние, и возобновлять при наступлении какого-либо события, влияющего на дальнейший их ход. БП бывает также транзакционным по своей сути. Представим себе, например, финансовую транзакцию, вовлекающую множество участников. Механизм исполнения при этом должен уметь в случае необходимости делать «откат» (допустим, если на определенном шаге произошел сбой либо наступило некое логическое условие).

Средства мониторинга и сбора статистики. Для управления бизнесом, чтобы понимать, что происходит в организации и какова ее производительность, очень важно определять метрики БП и анализировать полученную информацию. Система управления бизнес-процессами должна предоставлять нам такую возможность.

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

Часто меняются и параметры самих БП (к примеру, политика предоставления скидок), поэтому должна быть возможность корректировать их «на лету», не нарушая ход бизнес-процесса.

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

Следует отметить, что системы управления бизнес-процессами переживают сейчас этап активного развития, и в нашей статье перечислена только основная их функциональность – вполне вероятно, что в ближайшее время она расширится, тем более, что на рынке интерес к подобным системам будет расти (согласно оценке Gartner Group и IDC, примерно на 20% ежегодно).

В качестве иллюстрации того, как все описанное выше может выглядеть на практике, приведем пример использования для управления бизнес-процессами одного из наиболее распространенных продуктов данного класса – Microsoft BizTalk Server 2006.

BizTalk Server 2006

Управление бизнес-процессами в программной среде Microsoft
Рис. 2. Использование Microsoft Visio для моделирования бизнес-процесса

Управление бизнес-процессами в программной среде Microsoft
Рис. 3. BizTalk-оркестровка в Microsoft Visual Studio

Как уже упоминалось, первым шагом внедрения системы управления бизнес-процессами является определение и формализация БП организации. В случае использования BizTalk Server 2006 для этого обычно применяется расширение (add-in) для Microsoft Visio – известного и распространенного инструмента моделирования. Для бизнес-аналитика он предоставляет набор специальных фигур (shapes), с помощью которых строятся диаграммы бизнес-процессов (рис. 2).

После того как диаграмма создана и прошла проверку корректности, она экспортируется в формат, понимаемый BizTalk Server. Здесь за дело берется IT-специалист. Его инструментарий – Microsoft Visual Studio, и он работает на техническом уровне – с сообщениями, структурами данных, протоколами, портами и т. д. Для разработки BizTalk-решения есть специальные шаблоны (templates) проектов BizTalk, в рамках которых доступны специфические артефакты – оркестровки, карты преобразований (maps), конвейеры обработки (pipelines), XML-схемы сообщений. Построенная модель бизнес-процесса имеет вид оркестровки BizTalk (рис. 3). Далее задаются технические параметры для конкретной модели. Например, шаг БП «Получить данные заказчика» означает получение данных из CRM-системы. На этом этапе IT-специалист задает интеграционные параметры (это могут быть параметры адаптера системы, формат сообщения, протокол, адрес и т. д.). В результате бизнес-процесс «материализуется» уже в технических терминах взаимодействия разнородных информационных систем.

Управление бизнес-процессами в программной среде Microsoft
Рис. 4. Портал Business Activity Monitoring

После этого уже не составляет особого труда посредством инструментария BizTalk Server определить интересующие метрики бизнес-процессов и сделать их доступными на корпоративном портале мониторинга бизнес-активности (Business Activity Monitoring) (рис.4). Никакого кодирования в этом случае не требуется. Портал позволяет заинтересованным лицам легко получать ответы на вопросы типа «Сколько товара х было продано в регионе y за такой-то период? Сколько финансовых транзакций на сумму больше х было совершено за сегодняшний день?» или уведомления о достижении каких-либо пороговых величин.

Надо отметить, что BizTalk Server нашел широкое применение в различных отраслях (в настоящее время насчитывается уже более 6 тыс. его внедрений по всему миру) – в финансовой сфере, производстве, электронном документообороте, логистике, здравоохранении и пр. Показательно также то, что BizTalk Server является основой систем «Электронного правительства» Великобритании, Чехии, Болгарии, Ирландии.

Продукт активно развивается – на июль 2007 г. запланирован выход промежуточной версии BizTalk Server 2006 R2. Самыми интересными дополнениями в ней станут поддержка технологии радиочастотной идентификации (RFID) и наличие адаптеров для интеграции BizTalk с новой реализацией SOA от Microsoft – Windows Communication Foundation. Кроме того, в планах корпорации выпуск принципиально нового поколения системы управления бизнес-процессами BizTalk Server – как ожидается, это произойдет в 2008 г.

[email protected]