Дмитрий Шульгин,
специалист по продвижению бизнес-приложений, Microsoft
dshulgin@microsoft.com

Новая версия сервера интеграции Microsoft BizTalk Server 2004*, вышедшая в апреле 2004 г., основана на принципиально новой архитектуре и предлагает ряд полезных возможностей, таких, как улучшенная поддержка технологии Web-сервисов, средства разработки, интегрированные в среду Visual Studio .NET, и многое другое. Среди достоинств новой версии необходимо отметить значительное увеличение скорости работы BizTalk-приложений и упрощение процесса разработки, а также появление нескольких новых сценариев интеграции (пример - автоматизация управления потоками работ с помощью службы Human Workflow Services).


* См. также Александр Ложечкин "Microsoft BizTalk Server 2002 - второе пришествие", "BYTE/Россия" № 5'2002; Элдар Мусаев "Microsoft BizTalk Server 2004 - автоматизация документооборота и интеграция систем предприятия", "BYTE/Россия" № 6'2004.

На сегодняшний день Microsoft BizTalk Server 2004 используется для автоматизации бизнес-процессов организации в рамках двух основных сценариев:

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

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

Microsoft BizTalk Server - четыре года на рынке

В начале марта в штаб-квартире Microsoft (http://www.microsoft.com) в Редмонде (шт. Вашингтон, США) прошли специальные мероприятия, посвященные четырехлетней годовщине официального выпуска ведущего интеграционного продукта корпорации - BizTalk Server. Хотя на самом деле вполне можно было бы отметить и пятилетний юбилей - с момента появления на рынке бета-версии этого решения.

Тогда, в апреле 2000 г., первые презентации предварительного варианта BizTalk Server 2000 наталкивались порой на откровенное непонимание - зачем нужна подобная система? И в этом нет ничего удивительного - ведь тогда и термин XML был в новинку, даже многие ИТ-специалисты не совсем понимали, зачем нужна структуризация данных на основе единого отраслевого стандарта и какие выгоды сулит использование специализированных средств обработки XML-документов. Именно Microsoft BizTalk Server стал в то время одним из пионеров, на примере которого можно было показать преимущества и перспективы XML-технологий.

Впрочем, все это началось еще раньше: в начале 1999 г. корпорация Microsoft выступила с инициативой BizTalk, которая была поддержана лидерами различных отраслей. В марте того же года был создан руководящий комитет BizTalk Steering Committee, в состав которого вошли ведущие в своих отраслях поставщики, органы стандартизации и корпоративные заказчики, а в конце года были утверждены разработанные Microsoft спецификации BizTalk Framework Document Specification 1.0, необходимые для проектирования и разработки программных решений, обеспечивающих XML-взаимодействие между приложениями. В конце 1999 г. Microsoft выпустила первый инструментальный набор BizTalk JumpUp Kit 1.0, включавший также механизм организации обмена XML-документами. Спустя несколько месяцев на смену этому средству пришел BizTalk Server 2000, правда, пока в виде бета-версии…

С тех пор Microsoft выпустила уже три версии данного продукта. Последний вариант, BizTalk Server 2004, представленный в марте 2004 г., - это мощное средство, полностью интегрированное с Visual Studio .NET 2003 и Microsoft Office System, предназначенное для взаимодействия людей, приложений и данных при решении единых бизнес-задач. Это позволяет применять его в трех основных областях: управление бизнес-процессами (business process management, BPM), интеграция корпоративных приложений (enterprise application integration, EAI) и транзакции электронного бизнеса (B2B).

В настоящее время более 4000 организаций применяют BizTalk Server для автоматизации своей работы и повышения эффективности бизнеса; аналитики считают этот продукт одним из безусловных лидеров на рынке интеграционных серверов.

Следующая версия продукта, BizTalk Server 2006, будет построена на архитектурном ядре нынешнего варианта 2004 и будет содержать модифицированные и расширенные функции для всех направлений применения этого решения.

Андрей Колесов

Интеграция внутрикорпоративных приложений

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

Для построения интеграционного решения, как правило, необходимы следующие предпосылки:

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

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

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

Fig.1
Рис. 1. Интеграция внутрикорпоративных приложений.

Исходное сообщение, поступающее из системы "Заказы", необходимо разделить, создав два новых типа сообщений - для систем "Склад" и "Биллинг". Эту задачу решает "Преобразователь сообщений". На его вход поступает одно сообщение типа "Заказ", на выходе образуется два новых сообщения, содержащих данные для систем "Склад" и "Биллинг". На этом шаге необходимо перевести данные из формата сообщения типа "Заказ" в формат, понятный системам "Склад" и "Биллинг".

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

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

Транспортные службы обеспечивают взаимодействие бизнес-приложений с промежуточным интеграционным слоем. В BizTalk Server 2004 транспортные службы представлены инфраструктурой транспортных адаптеров и службы выполнения. Адаптеры можно разделить на две категории: технологические, которые обеспечивают взаимодействие с конкретным транспортным уровнем, и адаптеры приложений, реализующие взаимодействие с конкретным бизнес-приложением.

Ряд адаптеров (HTTP, FTP, FILE, SOAP, SQL, MSMQT, SMTP) поставляются вместе с продуктом. Часть адаптеров (MQ Series, SAP R/3) Microsoft предоставляет дополнительно. Инфраструктура транспортных адаптеров позволяет создавать дополнительные адаптеры.

Системный администратор следит за процессом обмена с помощью блока "Мониторинг". Этот блок позволяет отслеживать процесс обмена с двух точек зрения:

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

Ядро BizTalk Server 2004 содержит два важных компонента, позволяющих серверу интеграции выступать в качестве связующего звена между приложениями: компонент обмена сообщениями (Messaging) и компонент для реализации логики процесса (Orchestration).

Компонент Messaging отвечает за прием и отправку данных во внешние системы. Обмен данными происходит в виде сообщений, которые фактически представляют собой документы, значимые с точки зрения бизнеса (например, форма заказа). Компонент Orchestration отвечает за исполнение логики бизнес-процесса, связанного с определенным типом документа (или сообщения, в терминах BizTalk Server). Бизнес-процесс описывается в виде последовательности операций, которая носит название "схема Orchestration". Формирование структуры сообщения, а также описание логики бизнес-процесса в виде схемы Orchestration выполняется с помощью графической среды разработки (в рамках VS.NET).

Для унификации процесса обработки сообщений внутри BizTalk Server используется XML. Фактически с реальными форматами систем приходится иметь дело только в двух случаях: предобработка сообщения в момент поступления его в BizTalk Server и постобработка - в момент отдачи сообщения во внешнюю систему. Все блоки внутри "контура BizTalk Server" обмениваются друг с другом только XML-сообщениями.

При реализации "Преобразователя сообщений" задействуется функциональность BizTalk Server, позволяющая управлять схемами преобразования одного документа в другой. Схема преобразования может задавать простую трансформацию, например, копирование содержимого элемента. При более сложных трансформациях используются функции-преобразователи (функтоиды). Функтоид - это фрагмент исполняемого кода, который может произвольно определять сложные взаимосвязи между XML-схемами. Для часто используемых трансформаций BizTalk Server 2004 предоставляет ряд встроенных функтоидов различных категорий: математические, логические, агрегатные, функтоиды для доступа к БД и т. п.

При построении интеграционной платформы, помимо мониторинга работы системы в целом, необходимо отслеживать выполнение конкретных бизнес-процессов и экземпляров этих процессов для конкретных данных. Для целей бизнес-мониторинга, в дополнение к средствам технического мониторинга, в BizTalk Server 2004 существуют службы Business Activity Monitoring (BAM). С помощью инструмента Tracking Profile Editor разработчик задает информацию, которая будет доступна для компонентов BAM при выполнении сценария Orchestration. Представления BAM доступны бизнес-пользователям, например, в виде таблиц Microsoft Excel. С помощью BAM можно исследовать различные "представления" бизнес-процесса, например, отражать графически тренды продаж, текущее состояние складских запасов или другие индикаторы бизнес-процесса.

Часто возникает ситуация, когда при обмене сообщениями исходная система должна пройти авторизацию в целевой системе. В идеале авторизация должна выполняться автоматически, без вмешательства оператора. Сервер BizTalk Server поддерживает механизм Single Sign-On (SSO), обеспечивающий автоматическую авторизацию. Правила авторизации, а также необходимые параметры доступа (credentials) указываются системным администратором однократно и хранятся в защищенном хранилище, в рабочей БД BizTalk Server. В процессе обмена сообщениями BizTalk Server автоматически находит и подставляет необходимые данные при обращении к системам.

Взаимодействие с внешними системами

Развитие предыдущего сценария - работа с удаленной системой (B2B) с помощью Web-сервисов. Отметим, что поддержка взаимодействия с Web-сервисами существовала и в предыдущих версиях BizTalk Server, однако в последней версии продукта она была значительно улучшена. На рис. 2 показана схема такого взаимодействия: система "Заказы" принимает новый заказ, на основании которого формирует управляющие сообщения для систем "Склад" и "ERP". Процедуры обработки и транспортировки собщений аналогичны предыдущему сценарию.

Fig.2
Рис. 2. Интеграция с внешними системами.

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

Сервер интеграции BizTalk Server 2004 поддерживает работу с Web-сервисами двумя способами:

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

Средства разработки приложений BizTalk, базирующиеся на Visual Studio .NET, теперь позволяют добавить в проект ссылку (URL) на Web-сервис либо идентифицировать Web-сервис на основе информации в каталоге UDDI. После того как информация о Web-сервисе добавлена в проект, разработчик получает возможность прямого обращения к методам данного Web-сервиса. Существует также возможность публикации схемы Orchestration в виде Web-сервиса в каталоге UDDI с помощью специального Мастера.

Построение электронного документооборота

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

Для выбора наиболее адекватной реализации того или иного сценария нужно ответить на следующие ключевые вопросы:

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

Ниже рассматриваются два основных подхода с использованием технологий и продуктов Microsoft.

BizTalk Orchestration и Microsoft InfoPath

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

Комбинация BizTalk Server с Microsoft InfoPath позволяет разработчикам проектировать структурированные и динамические маршруты движения документов, включая обработку электронных форм документов. BizTalk Server взаимодействует с Microsoft InfoPath, поддерживая динамическое заполнение форм или обработку запросов из форм через механизм Web-сервисов.

В комбинации с технологией организации совместной работы SharePoint и адаптером BizTalk для Windows SharePoint Services Libraries (свободно доступен для загрузки с сайта Microsoft) разработчики могут проектировать структурированные потоки документооборота для портальных сценариев взаимодействия. Документы (например, электронные формы Microsoft InfoPath) можно получить или записать в библиотеки документов SharePoint как часть бизнес-процесса.

Данный подход позволяет реализовать ряд типовых сценариев, в которых не требуется визуализация процесса вне Orchestration. Он будет развиваться в следующих версиях BizTalk Server.

Human Workflow Services

Службы Human Workflow Services (HWS) построены на основе функциональности BizTalk Orchestration путем добавления возможностей для построения динамических потоков документооборота во время выполнения. Для этого используются определенные заранее условия и ограничения, роли пользователей.

Службы HWS представляют собой интерфейс приложения (API), представленный в виде Web-сервиса и ориентированный исключительно на разработчика. Этот API достаточно сложен в изучении и освоении (по сравнению с предыдущим подходом). Службы HWS не предоставляют инструментов для графического описания процессов, подходящих для работы пользователей.

Microsoft InfoPath имеет встроенную панель задач, посредством которой пользователи могут видеть информацию, связанную с HWS-процессами, и управлять ею. С выходом Microsoft InfoPath SP1 появилась возможность реализовать уровень представления данных для решения, построенного на HWS.

Функциональность службы HWS должна рассматриваться для тактических реализаций со специфическими текущими требованиями к функциональности, описанными выше. Службы HWS будут поддерживаться без развития функциональности в следующей версии BizTalk Server. Программный интерфейс приложения будет поддерживаться в соответствии с политикой компании Microsoft в отношении серверных продуктов, однако нужно учитывать, что на смену HWS придут другие технологии. Эти технологии, концептуально развивающие HWS, будут реализованы в следующих серверных ОС Microsoft (Longhorn). Пути миграции от текущих решений на базе HWS на эти новые реализации еще не определены, и с высокой вероятностью они не будут простыми.

Заключение

Встроенные средства проектирования и разработки Microsoft BizTalk Server 2004 во многом облегчают работу как бизнес-аналитика, так и разработчика за счет удобной графической среды проектирования, наличия базовых механизмов интеграции и следования лучшей мировой практике автоматизации бизнес-процессов. Однако проекты автоматизации, по праву считающиеся одними из самых сложных в индустрии, требуют тщательно продуманного подхода и проектирования, а также владения специальными навыками и знаниями. Использование интеграционной платформы Microsoft BizTalk Server для автоматизации бизнес-процессов дает возможность формализовать подходы к автоматизации и выработать определенную долговременную стратегию объединения систем и людей в единый "информационный контур".

Интеграция SAP ERP и Microsoft Office

На проходившей в конце апреля в Копенгагене конференции пользователей SAP - SAPPHIRE'05 компании SAP (http://www.sap.com) и Microsoft объявили о начале совместной работы над созданием нового продукта с кодовым названием Mendocino, который должен соединить напрямую функциональность системы mySAP Enterprise Resource Planning (mySAP ERP) с развитыми средствами обработки и анализа информации приложений Microsoft Office.

Цель проекта - интегрировать процессы SAP, такие, как управление расписанием, мониторинг бюджета, управление сотрудниками и их поездками, непосредственно в Microsoft Office. Например, с помощью такого продукта можно будет синхронизировать информацию между Exchange Server и SAP, получать ERP-сведения прямо в Microsoft Excel, а также работать с данными через формы Microsoft Office InfoPath.

Ограниченный круг заказчиков сможет познакомиться с Mendocino уже в IV квартале текущего года, а его широкие поставки начнутся в 2006 г.