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

Компании, сталкивающиеся с проблемами интеграции, обычно идут по пути постановки своим ИТ-подразделениям задачи обеспечения обмена данными с помощью языков программирования и баз данных, однако, такие решения применимы, когда необходимо интегрировать только две системы. В случаях, когда таких систем больше, подобные проекты приводят к возникновению «долгостроев». Более перспективный путь — использование интеграционных платформ.

На рынке интеграционных платформ наиболее заметны компании IBM, BEA Systems, Oracle, Microsoft. Предварительный сравнительный анализ программных продуктов для реализации интеграционных решений показывает приблизительную сопоставимость их функциональных возможностей, однако углубленное рассмотрение интеграционных продуктов выявляет и определенные отличия.

IBM WebSphere

Сегодня платформа WebSphere предлагает полный набор функций EAI (Enterprise Application Integration) и поддерживает различные стили интеграции: на уровне данных, обмена сообщениями, сквозных бизнес-процессов, В2В-интеграции, исполнения бизнес-логики программ на Java и пр. В этой платформе шесть ключевых интеграционных приложений: две системы класса MOM (Message-Oriented Middleware — программное обеспечение промежуточного слоя, ориентированное на обмен сообщениями) — это Business Integration Interchange Server (ICS) и MQ Business Integration Message Broker (WSMB), опирающиеся на ПО управления очередями MQ (бывшая MQSeries); сервер приложений WebSphere Application Server (WAS); ПО построения порталовPortal Server, функционирующее на базе WAS; система workflow, которая стыкуется с WSMB. Относительно недавно в состав WebSphere было включено средство проектирования и управления бизнес-процессами — Business Integration Workbench.

Помимо перечисленных основных продуктов выпускаются еще десятки дополнений к ним, и это одна из главных проблем, которая подстерегает компанию, решившуюся выбрать технологию интеграции WebSphere. Наличие огромного количества продуктов усложняет ориентацию в них, а за полноту линейки приходится расплачиваться еще и тем, что многие продукты были получены в результате приобретения других фирм и в итоге предоставляют идентичные функции, которые не всегда четко стыкуются. Правда, следует отметить, что компания IBM постепенно устраняет проблему нестыковок и, например, модифицировала все свои брокеры сообщений так, чтобы они были совместимы с семейством адаптеров WebSphere Business Integration Adapters (WBIA), предназначенным для подключения наиболее популярных платформ автоматизации бизнеса и протоколов.

Большинство продуктов, входящих в платформу WebSphere, можно назвать образцовыми в своих классах, особенно брокер сообщений WSMB или сервер приложений WAS. Последний предлагает поддержку J2EE 1.3 и ряд дополнительных возможностей. К их числу относятся, скажем, встроенные возможности высокоуровневого (т.е. без программирования) задания бизнес-правил и сценариев (процессов), что позволяет эффективнее связывать компоненты EJB в рамках общего сценария бизнес-логики. Аналогичным образом этот сервер приложений позволяет работать с Web-сервисами, собирая их в рамках единого процесса и публикуя его затем как новый Web-сервис. Анализ развития сервера приложений показывает, что он все больше ориентируется на интеграцию на уровне бизнес-процессов.

Традиционно IBM большое внимание уделяет поддержке унаследованных платформ, и в WebSphere имеются соответствующие средства. С другой стороны, как один из законодателей в области новейших технологий, корпорация обеспечила в платформе и широкую поддержку Web-сервисов. Средства для работы с ними предлагаются на каждом уровне — от брокера сообщений до портала. Но, в отличие от продуктов ВЕА, как одного из основных конкурентов, ряд совсем новых стандартов, таких, как WS-Security, пока не поддерживается.

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

BEA WebLogic

ВЕА WebLogic Integration — инструмент интеграции, входящий в платформу ВЕА Web-Logic Platform, построенную по принципу «все включено». Используя единую оболочку платформы, пользователь может осуществлять работы, связанные с интеграцией приложений и информационным взаимодействием с бизнес-партнерами, реализовывать процессы, а также создавать бизнес-логику программ на языке Java. Всего в платформу входит пять главных компонентов: виртуальная Java машина, сервер приложений, средство построения порталов, пакет инструментов интеграции и среда разработки. Возможности интеграции WebLogic Integration опираются на сервер приложений: он используется и в качестве среды исполнения для логики брокера сообщений, и как система выполнения сценариев бизнес-логики и портала.

Ключевым преимуществом своей платформы ВЕА считается возможность снижения требований к группе разработки за счет использования трехуровневого подхода к созданию программных систем: уровень бизнес-аналитика (оперирует понятиями потоков документов), сборщика прикладной логики из готовых компонентов (создание процессов) и разработчика компонентов J2EE. В платформу интегрированы также средства генерации программного кода из визуальных описаний, что в принципе позволяет создавать программы на Java программистам, привыкшим работать с Visual Basic или Кобол. Стоит заметить, что, как показал наш опыт, полностью этот подход реализовать не удается: сколько-нибудь нетривиальные процессы невозможно прописать только средствами высокого уровня и приходится прибегать к программированию на Java.

Помимо компонентов разработки в платформу включены инструменты для управления и сопровождения создаваемой инфраструктуры, в том числе, управления ее производительностью, настройками безопасности и жизненным циклом системы. Весьма развита функциональность MOM, в основе которой лежит программное обеспечение гарантированной доставки, совместимое с Java Messaging Service, и брокер сообщений, функционирующий под управлением сервера приложений. Для платформы создано много готовых адаптеров (практически для всех известных ERP-систем и систем документооборота), синтаксических анализаторов форматов файлов, средств обращения ко всем исполняемым модулям программ Windows и Java и взаимодействия с интеграционными платформами других фирм. Имеются также возможности по ускоренному созданию новых адаптеров. Стоит, правда, учесть, что подключение очень старых приложений или использование сетей с унаследованными транспортными протоколами может потребовать от разработчиков нетиповых подходов — набор стандартных средств реализации подобных решений не слишком обширен.

Oracle 10G

Корпорация Oracle поставляет технологии нескольких классов, ориентированные на разные типы интеграции: на уровне данных (технология Transparent Gateways и адаптеры базы данных), на уровне пользовательского интерфейса (портал), на уровне сервера приложений и MOM. Полный набор средств интеграции приложений называется Oracle Integration. Общим для всех этих решений является использование СУБД Oralce 10g в качестве базы, в которой хранятся все метаданные и настройки интеграции, вместе с рабочими данными (свойствами объектов и очередей сообщений). Использование СУБД для таких целей несколько повышает планку требований к оборудованию, но одновременно увеличивает надежность, защищенность, масштабируемость решения.

В роли второго базового строительного блока платформы выступает сервер приложений Oracle Application Server 10g, представляющий собой композиционный продукт, включающий инфраструктурные компоненты J2EE, репозитарий данных (в том числе СУБД для репозитария) и т.п. Oracle Integration базируется на Oracle Application Server и состоит из трёх основных продуктов:

  • Oracle InterConnect — брокер сообщений, обеспечивающий асинхронное взаимодействие приложений. Как и в IBM WebSphere ICS, в нем применяется идеология преобразования сообщений о происходящих в интегрируемых приложениях событиях в некоторый «обобщенный» вид.
  • OracleAS ProcessConnect — средство для интеграции на уровне бизнес-процессов и В2В. В предыдущих версиях для подобной интеграции приходилось применять связку Oracle InterConnect и Oracle Workflow, теперь подобная интеграция делается более прозрачно. Как и в платформах Microsoft, IBM и BEA, интеграция может вестись не только на уровне приложений, но и на уровне бизнес-партнеров — через обмен данными EDI, RosettaNet и UCCnet. Подобно большинству других платформ, Oracle Application Server и Oracle ProcessConnect обеспечивают поддержку Web-сервисов.
  • Oracle BPEL Process Manager — новый продукт, поэтому рассматривать его положительные и отрицательные стороны еще рано. Язык BPEL в версии Oracle реализован на базе спецификации 1.1. Данный продукт, также как и большинство рассматриваемых продуктов, позволяет описывать взаимодействие интегрируемых систем с помощью визуальных средств разработки. Созданный таким образом процесс преобразуется в нотацию на BPEL. Продукт также позволяет разрабатывать процессы непосредственно на языке BPEL, причем графическое представление процесса будет создаваться автоматически. Также необходима поддержка стандартов WS-Security и WS-Addressing.

В целом нужно отметить, что на базе самого сервера приложений пользователь может строить новое транзакционное и Web-ориентированное прикладное программное обеспечение, в синхронном режиме подключая через J2EE Connector Architecture унаследованные платформы. Технология JCA 1.0 применяется как основная и как база для построения адаптеров к приложениям и протоколам для модуля ProcessConnect.

Преимуществом платформы Oracle 10g является наличие средств управления интеграционными метаданными. Помимо того, что метаданные вообще лежат в основе этой платформы интеграции, важно и применение двух репозитариев для этапов разработки и работы. При этом имеются средства для перемещения конфигурации из одного репозитария в другой, а также для клонирования настроек, хранящихся в репозитарии (аналогично Microsoft BizTalk Server 2004). Эти репозитарии построены на основе СУБД Oracle, что обеспечивает их высокую производительность и надежность. К недостаткам можно отнести (в основном это касается ProcessConnect) относительную идеологическую сложность (из-за желания сделать продукт пригодным как для внутренней, так и для межкорпоративной интеграции). Стоимость продукта исчисляется из расчета 20 тыс. долл. на один процессор.

BizTalk Server 2004

Платформа Microsoft дает разработчику ту же функциональность, что и мир J2EE, но только в рамках мира Windows. Инструменты, необходимые для реализации различных интеграционных подходов, разнесены в ней по нескольким продуктам, а часть функциональности непосредственно включена в ОС, например, компонент управления транзакциями MTS (Microsoft Transaction Server), Web-сервер Internet Information Server, библиотеки и среда исполнения «управляемого кода» .Net и пр.

Основную функциональность EAI несет BizTalk Server 2004 — сервер интеграции на базе XML, который может работать и как брокер сообщений, осуществляя преобразование и коммутацию поступающих в него сообщений, и как механизм выполнения бизнес-сценариев. В отличие от платформ на базе J2EE, где сервер приложений является основой для исполнения всей бизнес-логики как для низкого (компоненты EJB), так и для высокого (механизмы workflow) уровней, BizTalk отвечает только за высокоуровневую бизнес-логику и интеграцию систем, а выполнение логики низкого уровня реализуется моделью СОМ+ или .Net.

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

Принятая Microsoft модель интеграционной разработки позволяет разделить работу программиста и аналитика бизнес-процессов. Она напоминает модель ВЕА в платформе We-bLogic Integration Platform (естественно, она опирается на J2EE, а не на СОМ+). Бизнес-аналитик может графически рисовать бизнес-процесс (диаграммы workflow — схемы обмена документами и передачи управления), специалист по интеграции определяет точки вызова внешней функциональности (реализуемой СОМ-объектами, кодом .Net, Web-сервисами и т.п.), а разработчик низкого уровня программирует эту функциональность.

В BizTalk Server 2004 усилено разделение труда программиста и других участников проекта интеграции и помимо архитектора, задающего общую канву процесса, в настройке системы могут теперь участвовать и прикладные пользователи. Для этого введены два новых механизма: бизнес-правил и конфигурирования процесса. Среди достоинств BizTalk Server необходимо упомянуть, что продукт позволяет разработчикам интеграционных решений наиболее полно использовать свои знания платформы Windows, поскольку разработка ведется в единой интегрированной среде Visual Studio .Net.

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

Итого

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

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

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

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

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

Алексей Горбань (AGorban@ibs.ru) — ведущий консультант департамента интеграционных решений компании IBS (Москва)


WebSphere Application Server

Сервер приложений WebSphere Application Server (WAS) поставляет среду и инструменты управления приложениями и содержит набор различных сервисов, реализованных на базе J2EE. В большинстве случаев сервер используется как база для продуктов и решений IBM, таких как WebSphere Commerce, WebSphere Portal и т.п., однако WAS является мультиплатформным, что позволяет использовать его не для Windows, Linux и т.д. Продукт имеет среду выполнения сервлетов Java, средства поддержки Enterprise JavaBeans; аппарат управления сеансами и состояниями приложений, средства публикации и использование Web-сервисов, а также включает множество адаптеров для различных серверных систем, позволяющих сократить затраты на создание программного кода. В состав WebSphere Application Server входят механизмы, обеспечивающие масштабируемость, кластеризацию и распределения нагрузок. WAS — один из ведущих продуктов в области серверов приложений, непосредственно конкурирующий с BEA Application Server.

На базе WAS создано многоуровневое интеграционное решение IBM WebSphere Integration Server:

  • уровень вершины — средства разработки WebSphere Studio и WebSphere BI Modeler, позволяющие создавать описания процессов на BPEL;
  • верхний уровень — средство мониторинга WebSphere BI Monitor, позволяющее в реальном времени проводить анализ данных о выполнении процессов;
  • средний уровень — средство интерактивного взаимодействия с пользователями WebSphere Portal Server, платформа для бизнес-интеграции WebSphere BI Server и набор средств для обеспечения доступа к распределенной информации DB2 Information Integration;
  • нижний уровень — шина данных WebSphere MQ (бывшая MQ Series), представляющая собой средство обмена данными между приложениями. Web Services Gateway — следующий элемент этого уровня, представляющий собой один из инструментов защиты при запросах к Web-сервисам Internet и корпоративных сетей, значительно облегчающий администраторам аудит данных. Далее на этом уровне используется WBI Event/Message Broker — брокер обмена сообщениями между приложениями, одновременно обеспечивающий сбор оперативной информации;
  • базовый уровень — сервер приложений WebSphere Application Server. Основной элемент этого уровня — Business Integration Connect, представляющий собой инструмент поддержки широкого спектра форматов обмена данными и протоколов взаимодействия, позволяющий организациям быстро организовывать обмен данными. Также на этом уровне находятся средства обеспечения взаимодействия с приложениями, базами данных и т.д. Это, прежде всего, адаптеры, обеспечивающие обмен данными с приложениями, а также Host Access Transformation Services, инструменты, позволяющие преобразовывать интерфейсы старых приложений в Web-представления.

При создании интеграционных решений необходимо проводить моделирование, тестирование, анализ и проверку процессов и моделей. Для этой цели предназначен продукт WebSphere Business Integration Workbench для платформы Windows, который работает совместно с WebSphere Business Integration Workbench Server и поддерживает:

  • MQ Workflow, автоматически проверяя достоверность потоков;
  • MQ Integrator Broker и Business Integration Message Broker, моделируя и управляя операциями потока;
  • WebSphere Business Integration Server, управляя модулями взаимодействия, бизнес-объектами, соответствиями, потоком операций и генерируя описания на языке WPDL (Workflow Process Definition Language).

IBM WebSphere Business Integration Workbench состоит из следующих компонентов:

  1. Business Modeler, позволяющий в рамках предприятия моделировать сбор, хранение, совместное использование данных предприятия, а также представление факторов, от которых зависят бизнес-процессы; моделировать процессы, используя интуитивно понятные функции и различные уровни детализации бизнес-процессов; осуществлять бизнес-анализ, используя мощные аналитические инструменты для выбора оптимальных бизнес-процессов, составления отчетов, анализа средневзвешенных величин и т.д.; моделировать производительность новых процессов по отношению к ряду факторов, включая время и расходы, что позволяет прогнозировать результат еще до начала внедрения; интегрировать потоки операций, генерируя программный код согласно описанным моделям процессов и экспортируя его.
  2. UML Modeler — средство моделирования на Unified Modeling Language, позволяющее описывать обязательные взаимодействия объектов (модуль взаимодействия) и взаимодействия объектов как функцию времени (последовательность); описывать взаимодействие между приложениями или пользователями и приложениями (пример использования); описывать отношения между классами (класс); задавать правила составления последовательностей (операция); описывать возможные состояния объекта и их изменения (состояние); описывать набор компонентов и отношения между ними (компонент); обмениваться кодом UML с Rational Rose и Rational XDE.
  3. XForm Designer (аналог Microsoft InfoPath), позволяющий разрабатывать графические интерфейсы, предоставлять разработчикам необходимые экранные макеты и интерфейсы, преобразовывать макеты интерфейсов и бланков в XML для последующего использования в других приложениях.

BPEL и другие

BPEL (Business Process Execution Language) — язык описания бизнес-процессов, первоначально разрабатывался коалицией IBM, Microsoft и BEA, на базе их собственных разработок в области описания бизнес-процессов XLANG (Microsoft) и WSFL (IBM). Сегодня это один из наиболее динамично развивающихся стандартов, поддерживаемых, в частности, компаниями SAP и Siebel. BPEL позволяет интегрировать бизнес-приложения, используя стандартные интерфейсы, и обеспечивать возможность координирования функций приложений с бизнес-процессом. Однако, несмотря на совместную работу над BPEL, реализация этого стандарта в интеграционных продуктах каждого участника коалиции несколько различается, поэтому сегодня еще рано говорить о том, что сценарий (процесс) созданный для платформы IBM, будет без проблем работать на платформе Oracle и т.д.

XPDL (XML Process Definition Language) — язык описания рабочих процессов, разработанный в 2002 году коалицией WfMC (Workflow Management Coalition) на базе языка описания workflow-процессов WPDL (Workflow Process Definition Language). XPDL позволяет формализовать модель рабочих процессов любой сферы деятельности. Описание процесса строится на базе объектов и условных/безусловных переходов между ними. Существует возможность формирования из объектов блоков, поддержки экспорта блоков из одного процесса в описание другого, выделения подпроцессов внутри основных процессов. Сегодня работы в рамках дальнейшего развития этого стандарта несколько замедлились.

BPML (Business Process Modeling Language) — язык моделирования бизнес-процессов, разработанный в 2000 году коалицией BPMI на основе технологии Web-сервисов. Позже появилась графическая аннотация этого языка — BPMN и автоматический перевод BPML в BPMN. На сегодняшний день реализованы инструменты, позволяющие переводить BPMN в графическое описания языка BPEL. Графическая аннотация BPMN очень похожа на UML 2.0 и в будущем, возможно, они будут интегрированы в единую модель. Будущее этого языка, как стандарта описания бизнес-процессов далеко не безоблачно, поскольку конкурировать с BPEL очень сложно.