BPM&SOA

BPM&SOA – введение

Аналитики, лидеры индустрии и поставщики программного обеспечения много пишут о сервис-ориентированной архитектуре (Service Oriented Architecture, SOA) и о том, почему этот подход стал основным при проектировании архитектуры информационных систем предприятия. Под SOA здесь подразумевается концепция, в рамках которой приложение строится из набора готовых компонентов — “кирпичиков”, часть из которых уже существует на предприятии, а часть предоставляется внешними поставщиками сервисов. Основным преимуществом такого подхода является типизация компонентов ИТ-решений и возможность быстрого перестроения приложения в случае необходимости. Однако в области SOA существует несколько вопросов, которые являются центром дискуссий вокруг данной концепции.

При использовании многих приложений логика и правила выполнения большинства бизнес-процессов могут быть отделены от собственно реализации приложений. Отделение логики процессов позволяет изменять поддерживаемые приложением процессы для удовлетворения требований клиентов. Однако способность изменять встроенные процессы и их логику ограничена и доступна только через предопределенные шаблоны или конфигурации.soa&bpmПри этом имеются существенные выгоды от обеспечения более полных функциональных возможностей для встроенных в приложения процессов, но эта монолитность мешает приложениям приспосабливаться к уникальным потребностям различных клиентов. Можно сравнить монолитное приложение с бетонным строением, которое невозможно перестроить без разрушения. Строение, созданное из крупных компонентов, в случае необходимости легко изменить, используя существующие материалы и докупив новые блоки — сервисы. Если требования клиента обеспечиваются функциональностью встроенных в монолитное приложение процессов, то оно работает хорошо.

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

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

BPM&SOA – Service Oriented Architecture

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

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

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

Технология web-сервисов базируется на следующих открытых стандартах:
• XML — расширяемый язык разметки, предназначенный для хранения и передачи структурированных данных;
• SOAP — протокол обмена сообщениями на базе XML;
• WSDL — язык описания внешних интерфейсов web-сервисов на базе XML;
• UDDI — универсальный интерфейс распознавания, описания и интеграции (Universal Discovery, Description and Integration), позволяющий создавать каталоги web-сервисов, предоставляющих их во всеобщее пользование.

Web-сервисы базируются на языке XML, что означает независимость от платформы. А благодаря тому, что web-сервисы основаны на открытых стандартах и протоколах, достигается простота их разработки и отладки. Наконец, web-сервисы обеспечивают свободное взаимодействие между поставщиком и потребителем. Это означает, что когда сервис изменяется вследствие применения новой версии, замены приложения или изменения платформы, то использующее данный сервис приложение менять не нужно.

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

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

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

BPM&SOA – Business Process Management

Любая организация использует много процессов, для повышения эффективности которых необходимо обеспечить их “сквозную” автоматизацию. Управление такими процессами требует применения специализированной системы Business Process Management (BPM), которая позволяет управлять процессами в течение всего их жизненного цикла. Системы ВРМ — это совокупность приложений и систем класса middleware, поддерживающих специализированные задачи управления “сквозными” процессами (моделирование, внедрение, оперативное управление и администрирование, мониторинг и анализ показателей эффективности), а также взаимодействие людей и информационных систем.

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

“Сквозные” процессы, автоматизированные в ВРМ-системах, могут объединять в единое целое процессы в монолитных системах и создавать их “сквозную” автоматизацию. Большинство ВРМ-систем позволяет организовать управление процессами намного легче и дешевле по сравнению с монолитными системами. В дополнение к этому средства внесения изменений в процессы, управляемые ВРМ-системами, позволяют осуществлять эти изменения максимально быстро и с минимальными затратами.

Можно предположить, что роль ВРМ-систем является центральной для проектирования SOA, и правильно говорить о создании процессно-ориентированной архитектуры (Process Oriented Architecture, РОА). В связи с этим следует отметить, что понятия “сервис” и “процесс” взаимозависимы и могут применяться на разных уровнях обобщения. Небольшой процесс может быть организован в качестве сервиса в случае возможности его типизации, но в то же время сервис может быть разбит на подсервисы, взаимодействующие в рамках процесса, если типизация на данном уровне недопустима. Сервисы существуют для того, чтобы быть использованными в процессах, и все больше сервисов будет создаваться централизованно для применения множеством компаний. В этом случае ключевые преимущества будут достигаться за счет совершенствования внутренних бизнес-процессов предприятия.

BPM&SOA – заключение

С появлением концепции SOA и в результате ее активного обсуждения вновь актуальной стала проблема эффективности использования информационных технологий, а кроме того, повысился интерес к бизнес-процессам и системам класса ВРМ как инструментам автоматизации процессов. Однако при построении ИТ-архитектуры на основе SOA сложность заключается не только в типизации сервисов, но и в изменении подходов к управлению организацией с функционально-ориентированных на процессно-ориентированные, что требует изменения управленческой культуры в компании.

Взаимосвязь между SOA и ВРМ настолько сильна, что SOA без ВРМ не может быть реализована, тогда как ВРМ без SOA прекрасно существует. Но чем выше степень автоматизации бизнеса и разнообразнее задачи, тем сильнее становится необходимость в SOA по причине сложности ИТ-инфраструктуры и проблем, связанных с поддержкой. Взаимное пересечение ВРМ и SOA требует успешного развития обоих направлений, и многие аналитики сходятся во мнении, что успех SOA зависит главным образом от правильного управления бизнес-процессами.

Ссылки:
1. Bloomberg J. Process-Driven SOA: Leveraging Service-oriented Architecture for Business Process Innovation// ZapThink White Paper. 2006. June.
2. Hill J. Achieving Agility: SOA Will Build Organizational Agility, but Watch the Hype//Gartner Research. 2006. April.
3. Ultimus. Ultimus and the Business Process Ecosystem: Complementing SAP and Enterprise Applications//Ultimus White Paper. 2006. June.

Андрей Константинович Коптелов,  Директор департамента развития и внедрения информационных технологий, Блока развития компании IDS Scheer Россия и страны СНГ
Источник: КОМПЬЮТЕР ПРЕСС, август 2008