ОБЗОРЫ

Анализ наиболее известных средств интеграции приложений

О задачах интеграции приложений PC Week/RE рассказывал достаточно много. А также о том, почему в подобных проектах стоит применять не самописные заплаты и мосты, а уже проверенные практикой программные продукты. И тогда кажущаяся сложность проекта на начальных этапах с лихвой будет скомпенсирована относительной простотой его развития в дальнейшем. В связи с этим имеет смысл более подробно остановиться на имеющихся инструментах и платформах для решения интеграционных задач. Рынок таких продуктов очень фрагментирован: компаний-производителей на нем - десятки. Фактически для каждой возникающей прикладной задачи можно найти подходящий по цене инструмент. Для настоящего обзора мы постарались отобрать несколько наиболее популярных и выделить некоторые типовые классы продуктов. Мы взяли для этой цели предложения шести вендоров: BEA WebLogic, IBM WebSphere, Microsoft BizTalk, Oracle 10g, SAP NetWeaver и ИВК "Юпитер". Здесь дан общий обзор продуктовых линеек. Более детальную информацию можно получить из других источников (например, из отчета "Методы и средства интеграции корпоративных приложений" RC Group за 2003 г.), но в любом случае стоит иметь в виду, что это только информация к размышлению. Выбор продукта EAI (Enterrise Application Integration, интеграция корпоративных приложений) определит судьбу информационной системы предприятия как минимум на пять лет вперед, и к нему нужно относиться очень осторожно (обзор основных свойств EAI см. PCWeek/RE, N35/2003, с. 37).

BEA WebLogic

BEA WebLogic Integration 8.1 - это инструмент интеграции, входящий в платформу BEA WebLogic Platform, которая строится по принципу "все включено". Используя единую оболочку, его пользователь может осуществлять работы, связанные с интеграцией приложений и информационным взаимодействием с бизнес-партнерами (B2B), прописывать бизнес-процессы, а также создавать бизнес-логику программ на языке Java. Всего в платформу входит пять главных компонентов: виртуальная машина Java, сервер приложений, средство построения порталов, пакет инструментов интеграции и среда разработки.

Разработка интеграционного проекта в BEA webLogic Integration

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

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

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

BEA является одним из ведущих вендоров, вкладывающих средства в развитие последних технологических новшеств наподобие семейства стандартов XML (XSLT, XQuery и пр.) и Web-сервисов. И эти усилия находят отражение в предлагаемой ею платформе, в которой поддержка новейших стандартов реализована наиболее полно. Конечно, стоит учитывать, что область применения самих этих технологий пока незначительна, но они закладывают основу для дальнейшего развития ИС на базе WebLogic.

В погоне за новыми веяниями компания не забыла и о предоставлении инструментов для решения классических интеграционных задач компаний. В платформе есть развитая функциональность MOM (Message Oriented Middleware - межплатформное ПО, ориентированное на работу с очередями), в основе которой лежит ПО гарантированной доставки, совместимое со стандартом JMS (Java Messaging Service - служба сообщений Java), и брокер сообщений, функционирующий под управлением сервера приложений.

WebLogic представляет один из самых полных на сегодня наборов интерфейсов для интеграции корпоративных приложений, файлов и баз данных разной природы.

Для платформы создано много готовых коннекторов (практически для всех основных западных ERP-систем и систем документооборота), синтаксических анализаторов форматов файлов, средств для обращения ко всем исполняемым модулям программ Windows и Java, а также взаимодействия с интеграционными платформами других фирм. Есть и среда для ускоренного создания новых коннекторов. Кроме того, BEA предлагает специализированные расширения (интерфейс Application View) для создания еще одного слоя абстракции, скрывающего от пользователя сложности EAI-адаптеров.

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

Вендор предусматривает разнообразные ценовые условия для желающих приобрести его продукт. Стоимость версий начального уровня зависит от числа возможных IP-подключений для созданного решения. Редакция Professional (5 подключений) стоит $995, Workgroup (20 подключений) - $4000, а полнофункциональный пакет обойдется в $90 000 на сервер.

IBM WebSphere

На сегодня платформа WebSphere корпорации IBM является наиболее полнофункциональной среди всех других наборов инструментов EAI. Она поддерживает разные стили интеграции - на уровне данных, обмена сообщениями, сквозных бизнес-процессов, B2B-интеграции, исполнения бизнес-логики программ на языке Java и пр.

Ключевых интеграционных приложений в платформе шесть: две системы MOM - Business Integration InterChange Server (ICS) и MQ Business Integration Message Broker (WSMB), опирающиеся на ПО управления очередями MQ (бывшая MQSeries); сервер приложений Application Server (WAS); портальное ПО Portal Server, функционирующее на базе WAS, и система workflow, которая стыкуется с WSMB. Корпорация IBM часто меняет названия продуктов, их комплектацию и назначение. Недавно в состав WebSphere был включен Business Integration Workbench - средство проектирования бизнес-процессов и управления ими. Помимо перечисленных основных продуктов выпускаются еще десятки дополнений к ним.

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

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

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

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

Стоимость продуктов IBM высокая. Хотя (как и компания BEA) корпорация предлагает варианты от $500 для ограниченного по функциональности и числу пользователей решения WebSphere Express, основные продукты типа WebSphere Business Integration Server могут стоить сотни тысяч долларов. Однако главные затраты проекта связаны с консалтингом: без привлечения квалифицированных специалистов в интеграционном проекте обойтись непросто, столь обширен и сложен продуктовый ряд этого вендора. В дальнейшем, правда, эти начальные затраты должны окупиться (особенно в крупных структурах), так как любую возникающую затем техническую проблему можно решить средствами IBM. Кроме того, крупная организация может сэкономить на стоимости владения создаваемым решением, так как IBM предлагает множество инструментов и средств разработки, упрощающих управление этим решением и его развитие.

Microsoft .NET/BizTalk 2004

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

Создание схемы бизнес-процесса в Microsoft BizTalk 2004

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

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

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

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

На мой взгляд, BizTalk Server имеет три неоспоримых преимущества перед другими рассмотренными в данном обзоре продуктами:

- он крайне прост идеологически;

- позволяет разработчикам решений интеграции наиболее полно использовать свои знания платформы Windows;

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

Однако эти же свойства определяют и слабые стороны продукта: BizTalk функционирует только на платформе Windows и в существенной степени опирается на нее. Поэтому, несмотря на то что партнеры Microsoft предлагают много коннекторов для разных систем и файловых форматов, при попытке использовать BizTalk в гетерогенной среде, особенно содержащей старые платформы и унаследованные протоколы связи, могут возникать непредвиденные сложности. Для снижения сложностей внедрения продукта в ряде вертикальных отраслей в арсенале Microsoft имеются дополнительные платные наборы, состоящие из шаблонов решений и специализированных компонентов, поддерживающих типовые для этих отраслей протоколы обмена данными. Такие ускорители (Accelerators) есть, например, для финансового сектора и здравоохранения.

BizTalk обладает отличными ценовыми характеристиками. BizTalk Server Enterprise Edition - самая технологически полная версия продукта - стоит всего $24 999 на процессор. А если требуется согласовать всего два приложения, то достаточно версии Partner Edition ценой менее $1000.

Oracle 10g

Корпорация Oracle поставляет технологии нескольких классов, ориентированные на разные стили интеграции. Это интеграция на уровне данных (технология Transparent Gateways и коннекторы базы данных), пользовательского интерфейса (портал), сервера приложений и системы MOM. Полный набор средств для интеграции приложений называется Oracle Integration.

Общим для этих решений является опора на СУБД Oralce 10g, в которой хранятся как все метаданные и настройки интеграции, так и рабочие данные - свойства объектов и очередей сообщений. Использование СУБД для таких целей несколько повышает планку требований к оборудованию, но одновременно увеличивает надежность, защищенность, масштабируемость решения и его способность к инкорпорированию данных из других систем.

Настройка системы Oracle 10g Integration

В роли второго основного строительного блока платформы выступает сервер приложений Oracle Application Server 10g. Он представляет собой композиционный продукт, включающий инфраструктурные компоненты J2EE, репозиторий данных (в том числе СУБД для репозитория) и т. п. На нем-то и базируется Oracle Integration, в который входят два основных модуля. Первый, Oracle InterConnect, является брокером сообщений, обеспечивающим асинхронное взаимодействие приложений и построенным по архитектуре hub and spoke. Так же как и в IBM WebSphere ICS, в нем применяется идеология преобразования сообщений о происходящих в интегрируемых приложениях событиях в некоторый "обобщенный" вид.

Второй, OracleAS ProcessConnect, - это средство для интеграции на уровне бизнес-процессов и B2B. В предыдущих версиях для подобной интеграции приходилось применять связку Oracle InterConnect и Oracle Workflow, теперь подобная интеграция делается более прозрачно. Как и в платформах BizTalk, IBM, WebLogic и SAP NetWeaver, интеграция может вестись не только на уровне приложений, но и на уровне бизнес-партнеров - через обмен данными EDI, RosettaNet, UCCnet и HIPAA. Подобно большинству других платформ, Oracle Application Server и Oracle ProcessConnect обеспечивают поддержку Web-сервисов.

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

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

Самый существенный недостаток системы (в основном ProcessConnect) - ее относительная идеологическая сложность (из-за желания сделать продукт пригодным как для внутренней, так и для межкорпоративной интеграции). А главное достоинство - общность и надежность. Цена продукта не очень высокая: 20 тыс. долл. в расчете на процессор.

SAP NetWeaver

Платформа SAP NetWeaver - продукт лидера в секторе ERP-систем крупных предприятий России. Учитывая стремление компаний по возможности избавляться от "зоопарка" развернутых вычислительных платформ, ей также стоит уделить внимание.

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

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

Одна из главных задач NetWeaver связана с интеграцией приложений самой SAP. Компоненты NetWeaver вроде сервера приложений, способного исполнять не только код Java, но и код сценариев ABAP (язык разработки в SAP R/3), позволяют открыть бизнес-функциональность системы для интеграционных решений. Основой NetWeaver является сервер приложений SAP Web Application Server, на базе которого развернута инфраструктура обмена данными SAP Exchange Infrastructure (SAP XI). Фактически SAP XI представляет собой реализацию брокера сообщений и предлагает типичные его функции, включая преобразование сообщений, их маршрутизацию, механизмы публикации и подписки. В качестве входного формата данных шины используется XML. Поверх SAP XI функционирует также механизм "дирижирования" бизнес-процессами (workflow).

К SAP XI через Web-сервисный протокол SOAP пристыковываются внешние приложения. Под управлением сервера приложений функционируют JCA-совместимые адаптеры, позволяющие транслировать фирменный интерфейс приложения в SOAP-интерфейс.

На конец прошлого года платформа не имела достаточного количества сертифицированных коннекторов для подключения инородных приложений и в этом отношении опиралась на технологии партнеров - webMethods Integration Platform, Microsoft BizTalk и семейство IBM WebSphere Business Integration. SAP, однако, работает над созданием "экосистемы" производителей адаптеров. Примером этого сотрудничества служит договор с фирмой iWay, поставляющей коннекторы к десяткам разных систем.

Как и Oracle 10g, платформа SAP предлагает два репозитория метаданных об интеграционных связях - один для разработки (он называется Repository) и один для развертывания (Directory). Это позволяет вести разработку и тестирование в условиях, максимально близких к "живой" системе. Кроме того, SAP поставляет уже заполненный Repository для своих собственных приложений. Крайне полезно и наличие средств управления жизненным циклом интеграционного решения.

Из особенностей платформы стоит отметить, что интеграция с .NET и WebSphere не ограничивается уровнем коннектора к шине обмена данными, а распространяется и на более высокие слои: совместимыми оказываются и системы управления контентом, и портал, и даже среды разработки. SAP позволяет использовать среду разработки Eclipse, IBM WebSphere WSAP поддерживает среду выполнения SAP Web Application Server через SAP Java Connector, а Visual Studio .NET поддерживает SAP WAS через SAP .NET Connector.

Применение платформы NetWeaver разумно (и, наверное, неизбежно), если в компании уже развернута SAP R/3. Однако при наличии приложений разных вендоров кажется неизбежным применение других интеграционных технологий (в первую очередь IBM и Microsoft BizTalk) и адаптеров сторонних производителей, что серьезно удорожает проект.

ИВК "Юпитер"

ИВК "Юпитер" - один из немногих российских продуктов, обеспечивающих функции интеграции на уровне данных и обмена сообщениями. Он разрабатывался для нужд государственных структур, предъявляющих особые требования к защищенности информации и возможностям интеграции унаследованных систем, в первую очередь мэйнфреймов. Но в равной степени ИВК "Юпитер" поддерживает и современные вычислительные платформы. Продукт представляет собой интегрированное средство, сочетающее свойства виртуальной машины, транспортной магистрали, некоторые качества систем документооброта и средств защиты данных. Подробно он уже рассматривался в PC Week/RE (см. N44/2002, с. 37; N20/2003, с.23), поэтому поговорим о нем вкратце, остановившись лишь на его основных достоинствах и недостатках.

Напомним, что архитектурно система состоит из двух больших логических частей: одна обеспечивает стандартную функциональность на изолированной машине, а другая - связь разных компьютеров. На каждой машине присутствует реализация так называемой унифицированной модели вычислительного процесса: она включает среду исполнения ИВК "Юпитер" и набор библиотек. Объем функциональности библиотек таков, что можно создавать готовые приложения, опираясь только на API ИВК "Юпитер". Эти приложения автоматически становятся кроссплатформенными. С точки зрения интеграции важно сокращенное подмножество этого API - в наиболее простом варианте интегрируемое приложение для взаимодействия с ИВК "Юпитер" должно напрямую или через "обертку", wrapper, поддерживать всего три вызова.

Серьезных конкурентных преимуществ у ИВК "Юпитер" несколько. Главное - то, что особое внимание в нем уделено вопросам безопасности. Это единственный продукт, имеющий полноценный набор сертификатов от государства, подтверждающих возможность его применения в системах, где обрабатывается государственная тайна. Все транзитные хранилища, а также каналы передачи сообщений защищены. Продукт обеспечивает контроль целостности вычислительного процесса: в начале загрузки среды исполнения ИВК "Юпитер" сканирует все приложения, установленные на ПК, на предмет того, разрешено ли им здесь находиться и не изменена ли их версия. Он также предлагает средства настройки параметров безопасности, выраженные в терминах нормативно-регламентной документации, а не ОС. Здесь, например, стоит упомянуть об удобной для документооборота ИС в организации системе адресации узлов: она иерархическая, а наименования привязаны к должностям и подразделениям. Заметим, что при этом не требуется сервер адресов, необходимый во многих других системах MOM.

Важным свойством, отсутствующим в других продуктах, является встроенная возможность эмуляции IP поверх многих унаследованных транспортных протоколов, что дает возможность гарантированной доставки сообщений в гетерогенной сети (гетерогенные транспортные протоколы поддерживает лишь IBM WebSphere MQ). Стоит упомянуть о том, что помимо гарантированной доставки есть встроенные средства контроля гарантированной обработки. В принципе, ИВК "Юпитер" предлагает весь традиционный функционал средств MOM (расширенный возможностями документооборота).

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

Состав рассматриваемых платформ

Конечно, по богатству функционала ИВК "Юпитер" не может сравниться с IBM WebSphere, но для множества проектов его средства будут весьма полезными, особенно если учесть его низкую цену (3800 руб. для рабочей станции и 29 000 руб. для шлюза). Более того, благодаря таким функциям, как сертифицированные средства защиты трафика и слежения за безопасностью, его можно использовать вместе с западными серверами приложений для построения защищенных Web-ориентированных приложений на Java. В проектах, где могут потребоваться эти качества, придется смириться с относительной закрытостью платформы и вытекающими отсюда минусами - высокими требованиями к квалификации разработчиков и потенциальными проблемами в модификации создаваемого решения.

С автором можно связать по адресу: vbor@pcweek.ru.