Эволюция технологий интеграции приложений идет «от сложного к простому». Чем более насыщенной различными функциями становилась распределенная информационная среда, чем больше прикладных решений необходимо было объединить в работающее целое, тем насущнее становился поиск логически простых механизмов такого объединения. Связь распределенных компонентов одного приложения или разных приложений друг с другом на базе обращений, внедряемых в программный код, интеграция каждого приложения с каждым создает такую путаницу взаимосвязей, что легче решить проблему интеграции вручную. Web-сервисы дали возможность перенести процессы интеграции с программного уровня на уровень передачи сообщений между прикладными функциями, оформленными в виде сервисов.

Специфика реализации Web-сервисов полностью изолирована от интеграционного механизма, который использует стандартный способ описания и обращения к сервисам-приложениям и стандартный обмен XML-сообщениями для передачи информации между ними. Появление концепций сервис-ориентированной архитектуры (service-oriented architecture, SOA) и корпоративной сервисной шины (enterprise service bus, ESB) позволило создать унифицированную среду интеграции всех приложений предприятия с минимальным числом взаимосвязей между ними [1]. В этой среде прикладные функции определены как независимые сервисы с вызываемыми интерфейсами, а обращение к этим сервисам в определенной последовательности позволяет реализовать бизнес-процессы предприятия. Точечное использование технологии Web-сервисов для интеграции отдельных прикладных решений сменяется комплексным подходом. Развивается новое направление в технологиях интеграции — средства описания и реализации бизнес-процессов как взаимодействующих сервисов, или управление бизнес-процессами (business process management, BPM).

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

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

Компания Microsoft, которая наряду с IBM играет сегодня ведущую роль в стандартизации технологий Web-сервисов, предлагает собственную реализацию механизмов интеграции приложений и средств управления бизнес-процессами в новой версии BizTalk Server 2004 [2, 3].

BizTalk Server 2004

Рис. 1a. Интеграция различных прикладных систем внутри предприятия

Основной задачей сервера BizTalk Server 2004 является интеграция приложений компании и ее партнеров в единый бизнес-процесс. Рис. 1 иллюстрирует два основных сценария такой интеграции: интеграция различных прикладных систем внутри предприятия и интеграция, при которой в одном бизнес-процессе участвуют системы разных организаций. В обоих случаях ни одно отдельно взятое приложение не имеет сведений о бизнес-процессе в целом. Компоновка действий, выполняемых приложениями, в бизнес-процесс осуществляется средствами, получившими название Orchestration. Поскольку каждое приложение может иметь собственный протокол для обмена данными, BizTalk Server включает инфраструктуру передачи сообщений, отвечающую за преобразование разных форматов данных в унифицированную форму и обмен сообщениями между приложениями. Средства Orchestration и инфраструктура передачи сообщений реализуют базовые возможности BizTalk Server. Кроме того, предусмотрены сервисы для работы с информацией, которые позволяют анализировать выполнение бизнес-процессов в реальном времени и осуществлять с ними взаимодействие пользователей.

Рис. 1b.в одном бизнес-процессе участвуют системы разных организаций

Создание бизнес-процесса

Бизнес-процесс в BizTalk Server 2004 — это одна или несколько функций Orchestration, которые представляют собой исполняемый код. В BizTalk Server принципиально не дается возможности написать бизнес-процесс на традиционных языках программирования. Вместо этого процесс задается с помощью графических средств, позволяющих составить логическую последовательность шагов, направленных на решение определенной бизнес-задачи, и описать с помощью специальных форм условия, циклы и другие особенности поведения бизнес-процесса. Средства создания бизнес-процесса используют модель отправки, получения, проверки и преобразования XML-сообщений и документов, на которой базируется инфраструктура передачи сообщений в BizTalk Server.

Предложенный Microsoft подход не только ускоряет построение бизнес-процесса и облегчает его понимание, но, и это главное, позволяет представить процесс как взаимодействие изолированных и слабо связанных программных компонентов — одно из основных условий реализации сервис-ориентированной прикладной архитектуры. И хотя приложения, интегрированные в BizTalk Server, не обязаны быть Web-сервисами, подобная парадигма интеграции позволяет со временем перейти к полноценной поддержке SOA. В процессе «от Orchestration» каждое событие и связанная с ним передача информации функционально не зависит от любого другого события, поэтому изменение одного шага бизнес-процесса не повлияет на логику процесса в целом и на целостность всех остальных этапов процесса. Поэтому модификация любого интеграционного интерфейса или всего процесса в BizTalk Server значительно упрощается по сравнению с тем, скольких усилий придется приложить при разработке процесса с помощью процедурного языка, когда кодируется структура всех объектов процесса, логика его выполнения, преобразование форматов данных, бизнес-правила и связь с транспортной инфраструктурой. Изменения любой части такого кода неизбежно влияют на целостность программы, а «жестко прошитый» в коде бизнес-процесс становится серьезным препятствием для реализации адаптивной ИТ-среды, поскольку в нем трудно быстро и без ошибок отразить изменения, возникшие в требованиях бизнес-задачи. Автоматизация бизнес-процесса с помощью слабо связанных компонентов коренным образом меняет возможность ИТ-инфраструктуры реагировать на изменения в бизнесе, что и объясняет значение, которое сегодня придается средствам BPM и SOA проповедниками идей адаптивного предприятия». В BizTalk Server 2004 сделаны вполне реальные шаги к воплощению этих идей в жизнь.

В автоматизации бизнес-процесса, как правило, принимают участие пользователи (бизнес-аналитики, например) и профессиональные разработчики, поэтому в BizTalk Server предусмотрены средства построения процесса для тех и других. Разработчики используют модуль Orchestration Designer, интегрированный в среду разработки Visual Studio .Net. Модуль позволяет определять последовательность действий, которые формируют бизнес-процесс, путем логического соединения серий форм. Эти формы описывают такие операции в рамках бизнес-процесса, как получение, отправка и создание сообщения, определение вида и направления передачи сообщения, задание условия для выполнения различных задач на основе логических выражений, повторное выполнение действия при соблюдении определенного условия, преобразование для передачи данных из одного документа в другой, параллельное выполнение нескольких операций одновременно, контекстное выполнение групповых операций в элементарных и сложных транзакциях, а также задание правил обработки ошибок и т.д.

Для бизнес-пользователей BizTalk Server предоставляет более удобную графическую среду Visio для определения бизнес-процесса. Построенное в ней описание импортируется в Visual Studio .Net для окончательной обработки, но, в свою очередь, может включать элементы, разработанные с помощью инструментария Orchestration Designer. После создания процесс Orchestration автоматически преобразуется в стандартные сборки для среды .Net Framework, на базе которой реализован BizTalk Server.

Реализация бизнес-процесса с помощью Web-сервисов, которые обмениваются XML-документами на базе протокола SOAP, в BizTalk Server первоначально была основана на разработанной в Microsoft спецификации определения бизнес-процессов XLANG, однако сейчас совместными усилиями Microsoft, IBM и ряда других компаний в качестве стандарта описания бизнес-процесса продвигается язык BPEL (Business Process Execution Language). Использование BPEL дает возможность включать в бизнес-процессы приложения, реализованные на разных программных платформах. BizTalk Server 2004 позволяет импортировать определенные с помощью BPEL бизнес-процессы для работы с процессом Orchestration; допускается и обратное.

В дополнение к средствам создания и выполнения бизнес-процессов Orchestration, BizTalk Server 2004 включает новую систему задания бизнес-правил Business Rule Composer. Бизнес-правила (или политики) представляют собой совокупность правил, определяющих те или иные действия в бизнес-процессе. Этот компонент подвержен наиболее частым изменениям в жизненном цикле бизнес-процесса, и, для того чтобы упростить внесение этих изменений, его реализация может быть полностью отделена от реализации бизнес-процесса. В Business Rule Composer правила создаются с помощью специального инструментария, с которым могут работать обычные пользователи. Набор правил представляется как объект, на который ссылается процесс Orchestration; реализация правил отдельно от исполняемого кода бизнес-процесса позволяет их просматривать, модифицировать или заменять как на этапе разработки, так и во время выполнения, не вызывая изменений в описании операций или перезагрузки бизнес-процесса. При реализации правил непосредственно в бизнес-процессе Orchestration (это также возможно) для их изменения требуется открыть процесс в Orchestration Designer, изменить нужные формы, затем провести новую сборку процесса и выполнить перезагрузку соответствующих приложений.

Транспортная инфраструктура

Обмен документами между приложениями, включенными в бизнес-процесс, поддерживает инфраструктура передачи сообщений BizTalk Server (рис. 2). Приложения, которые интегрирует система, могут использовать разные форматы данных, но все внутренние операции в BizTalk Server проводятся только над XML-документами. Преобразование частных форматов в XML в ходе приема и отправки документов реализуется в так называемых конвейерах, которые используют общий репозитарий определений структуры и преобразования документов. Важным усовершенствованием новой версии BizTalk Server является использование спецификаций XML Schema для создания внутренней модели структуры и семантики частных форматов документов, которые участвуют в обмене данными между разными этапами бизнес-процесса.

Для получения и отправки сообщений используются адаптеры приема/отправки, предоставляющие механизмы связи для различных типов реализации этапов бизнес-процесса. BizTalk Server имеет набор встроенных адаптеров для наиболее распространенных способов связи с приложениями, а также среду для разработки новых адаптеров. Встроенные адаптеры поддерживают возможности обмена сообщениями на базе протокола SOAP, с помощью очереди сообщений MQT, путем чтения/записи данных в файловой системе Windows и в СУБД Microsoft SQL Server, посредством протоколов HTTP и SMTP.

Процессы Orchestration получают доступ к принятым сообщениям только после того, как пройдут обработку и будут преобразованы в XML-формат конвейерами приема сообщений. Для различных форматов документов, которые используются в обмене данными между приложениями в рамках бизнес-процесса, создаются внутренние определения их структуры и семантики в соответствии со стандартом XML Schema. Эти определения помещаются в хранилище MessageBox, построенное на базе SQL Server. Там же размещаются схемы преобразований документов, описанные в терминах по стандарту Extensible Stylesheet Language Transformation (XSLT), которые графически отображают корреляцию между разными XML-схемами. Схемы преобразований описывают необходимую трансформацию формата данных одного приложения в формат данных другого приложения на основе их XML-схем.

Обмен документами в BizTalk Server реализуется по принципу «публикация/подписка». В процессе оркестровки (т.е. описания того, как сервисы общаются друг с другом на уровне сообщений, включая бизнес-логику и взаимодействие при выполнении сложных процессов) создаются подписки с указанием желаемого типа сообщений. Когда XML-схема подходящего сообщения оказывается в хранилище MessageBox, оно направляется в процесс Orchestration, который тем самым получает сведения о действиях, которые необходимо произвести. После выполнения всех операций над данными исходящее сообщение передается конвейером отправки в нужное приложение. Использование модели общего для всех приложений информационного концентратора со схемами документов и преобразований упрощает интеграцию «один-ко-многим» или «многие-ко-многим». Скажем, если приложение создает документ, информация из которого используется несколькими другими приложениями, нужное число экземпляров XML-представления этого документа может быть передано из конвейера приема с помощью механизма публикации/подписки в несколько разных конвейеров отправки. Эти конвейеры с помощью соответствующих схем преобразований получат нужный формат документа для каждого использующего его приложения.

К возможностям BizTalk Server по реализации бизнес-процессов могут обращаться разные категории пользователей. Бизнес-аналитики обычно задают бизнес-правила и определяют логическую последовательность выполнения бизнес-процесса, указывая, какие данные должны передаваться в определенные приложения, как изменение одного документа повлияет на другие документы. После того, как такое описание создано, его фактическую реализацию осуществляет разработчик, который определяет XML-схемы документов, задействованных в процессе, схемы преобразований документов и сам бизнес-процесс как процесс Orchestration. Наконец, задачи развертывания бизнес-процесса, установки интеграционных связей между приложениями решает администратор системы.

Средства работы с информацией

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

Так, в состав BizTalk Server 2004 включено средство мониторинга деловой активности Business Activity Monitoring (BAM). В среде выполнения бизнес-процессов BizTalk Server в реальном времени могут происходить тысячи коротких и длинных транзакций, операций документооборота и других элементов процессов. Для разных пользовательских ролей в компании могут потребоваться разные аналитические параметры; например, менеджеру по закупкам нужны ежедневные сведения о количестве утверждаемых или отвергаемых заказов, а менеджеру по продажам — обновляемые каждый час данные о заказанных продуктах. BAM — это OLAP-инструментарий, который позволяет создавать качественные и количественные метрики эффективности для всех видов деятельности в рамках бизнес-процесса. Для определения этих метрик может быть использована система автоматической трассировки бизнес-процесса Health and Activity Tracking, которая предоставляет данные о ходе выполнения процесса в реальном времени и в «исторической» перспективе.

Поддерживаемые BizTalk Server бизнес-процессы могут взаимодействовать с офисными приложениями от Microsoft, а стандартным компонентом сервера являются сервисы поддержки документооборота Human Workflow Services. В Microsoft Office 2003 Web-сервисы можно вызвать из Outlook и Word с помощью функции SmartDocs, а также из форм InfoPath.

Перспективы

BizTalk Server 2004 — сервер интеграции, поддерживающий взаимодействие с Web-сервисами и во многом близкий по структуре своего функционирования к реализации идей сервис-ориентированной архитектуры. BizTalk Server позволяет представлять приложения в виде набора Web-сервисов, взаимодействующих на базе общих XML-схем деловых документов. Следующим этапом развития системы должен стать переход на платформу Indigo, которая разрабатывается Microsoft для полноценной поддержки среды Web-сервисов на основе стандартов надежного обмена сообщениями, безопасности и реализации элементарных транзакций [3]. Усовершенствованная инфраструктура управления бизнес-процессами, наряду с технологиями Indigo, станет частью операционной системы Longhorn под названием Windows Orchestration Engine. Встроенные в Longhorn средства оркестровки бизнес-процессов станут непосредственно доступны целому ряду программных продуктов — от новой версии офисных приложений Microsoft и системы сервисов для совместной работы SharePoint до серверов управления проектами, управления содержанием.

Литература
  1. Наталья Дубова, SOA: подходы к реализации. Открытые системы, № 6, 2004.
  2. Microsoft BizTalk Server 2004. Enterprise Integration. Microsoft, December 2003.
  3. Дэвид Чаппел, Концепция и архитектура BizTalk Server 2004. Microsoft, 2003.

Язык описания бизнес-процессов

Растущее распространение в бизнес-среде Web-сервисов делает необходимой модель, которая позволила бы описать организацию взаимодействия Web-сервисов для поддержки сложных бизнес-процессов. Спецификация Business Process Execution Language for Web Services (BPEL4WS, или просто BPEL) представляет собой реализованный на базе XML язык, служащий для определения и выполнения процесса. BPEL позволяет описывать функциональные элементы бизнес-процесса через взаимодействующие Web-сервисы. BPEL определяет независимые от платформы конструкции для реализации исполняемых бизнес-процессов и протоколов обмена сообщений. Задача языка — обеспечить возможность интеграции в бизнес-процесс разнородных прикладных компонентов.

Работу по созданию модели описания бизнес-процессов в компаниях IBM и Mirosoft начали независимо, но затем решили объединить свои усилия в разработке общего стандарта. Поэтому спецификация BPEL4WS является развитием более ранних предложений обеих компаний — Microsoft XLANG и IBM WSFL, обеспечивая конвергенцию структурного подхода к описанию процессов Microsoft с ориентацией на графическое представление, которую проповедовали инженеры IBM. В результате BPEL можно использовать в качестве основы для разнообразных стилей моделирования бизнес-процессов.

Первая спецификация BPEL4WS 1.0 была опубликована совместно компаниями IBM, Microsoft и BEA Systems в августе 2002 года, а в мае 2003 года появилась версия BPEL4WS 1.1, список разработчиков которой пополнился представителями компаний SAP и Siebel. Эта версия спецификации имеет модульную структуру и дополняет базовые концепции моделирования бизнес-процессов поддержкой как выполняемых моделей, так и абстрактных бизнес-протоколов. В настоящее время, BPEL4WS 1.1 проходит рассмотрение в OASIS, где для работы над стандартом создан комитет WSBPEL Technical Committee.