Вадим Федоров,
консультант по продуктам, InterSystems Corporation
vadim@intersystems.ru

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

Бурное развитие информационных технологий в последние 10-15 лет привело к тому, что сейчас на крупных предприятиях работает множество различных информационных систем (ИС). Разрозненные приложения, разработанные в разное время, на базе разных технологий, разными компаниями; системы управления предприятиями от известных поставщиков, новейшие B2B- и B2C-решения, порталы - все эти приложения оказалось крайне сложно заставить работать вместе. Однако, чтобы выжить в конкурентной борьбе, предприятия должны развиваться, решать все новые и новые задачи, непрерывно совершенствовать существующие бизнес-процессы, а это практически невозможно, если на предприятии используется набор разрозненных систем. Интеграция корпоративных приложений (Enterprise Application Integration) как раз и позволяет решить задачи, которые бизнес ставит перед ИТ.

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

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

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

В конце 90-х гг. стало понятно, что требуется не только осуществлять обмен данными между системами, но и управлять продолжительными по времени бизнес-процессами, которые могут затрагивать сразу несколько приложений на предприятии. Моделирование, автоматизация, оптимизация бизнес-процессов в рамках всей организации образуют еще одну задачу интеграции корпоративных приложений - управление бизнес-процессами (Business Process Management, BPM).

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

Мониторинг бизнес-активности (Business Activity Monitoring) - результат конвергенции бизнес-аналитики (Business Intelligence) и интеграции приложений в режиме реального времени. Цель мониторинга бизнес-активности - предоставить оперативную информацию о процессах, протекающих в корпоративной ИС, что позволяет снизить издержки и ускорить выполнение самых важных бизнес-процессов.

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

InterSystems Ensemble

Как раз к таким продуктам и относится InterSystems Ensemble - новый продукт корпорации InterSystems (http://www.intersystems.com), представляющий собой платформу интеграции приложений, которая объединяет функциональность сервера интеграции, сервера приложений, высокопроизводительную объектную базу данных и интегрированную среду разработки и управления, предлагая все это в виде целостного продукта. Объединение технологий обеспечивает этой платформе мощность, необходимую для простой интеграции самых сложных систем и быстрой разработки композитных приложений.

Ensemble состоит из следующих ключевых элементов (рис. 1): библиотека и средства разработки адаптеров, абстракция (универсальная архитектура сервисов), координация, оркестровка бизнес-процессов, встроенное хранилище, средства интеграции и разработки, утилиты мониторинга и администрирования. Чтобы понять, как перечисленные выше основные задачи интеграции корпоративных приложений решаются с помощью Ensemble, рассмотрим подробно эти элементы.

Fig.1 Рис. 1. Архитектура InterSystems Ensemble.

Адаптеры

Адаптер - это программа, соединяющая Ensemble c интегрируемыми приложениями, технологиями или источниками данных. Библиотека адаптеров Ensemble состоит из более чем 250 адаптеров. Несмотря на то, что каждый адаптер имеет свои уникальные атрибуты (определяемые приложением, источником данных или технологией, подключение к которым он обеспечивает), все адаптеры имеют общий набор возможностей, гарантирующих простую, согласованную модель интеграции, и обеспечивают надежность и управляемость операций.

Шесть классов адаптеров Ensemble обеспечивают самые широкие возможности взаимодействия. Адаптеры данных позволяют подключить унаследованные нереляционные, реляционные и объектные базы данных. Естественно, InterSystems предлагает и адаптер к собственному продукту - постреляционной СУБД Cache. Адаптеры приложений обеспечивают интеграцию с популярными корпоративными приложениями, такими, как решения SAP, а также продуктами специализированных поставщиков, например, i2. Транзакционные системные адаптеры для таких систем, как Bea Tuxedo и CICS, позволяют новым приложениям взаимодействовать с унаследованными системами, в то же время сохраняя транзакционную целостность системы обработки транзакций. Адаптеры эмуляции позволяют взаимодействовать с приложениями (например, на IBM 3270), эмулируя работу пользователя. Адаптеры протоколов дают возможность использовать специализированные (часто специфические для определенной отрасли) протоколы, например, SWIFT для банковской сферы или HL7 для здравоохранения. Технологические адаптеры обеспечивают привязку ко всему спектру технологий: от низкоуровневых протоколов коммуникации до систем электронной почты.

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

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

Абстракция

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

Представьте себе, например, проект интеграции, который должен объединить SAP, унаследованное приложение на мэйнфрейме, с базой данных Adabas; Windows-приложение, предоставляющее набор Web-сервисов; Java-приложение, построенное с использованием технологий J2EE; и реляционное приложение с набором хранимых процедур. В среде Ensemble функциональность и данные в этих приложениях доступны как набор классов со своими свойствами и методами. Аналитик или разработчик может работать с этими классами. Универсальная архитектура сервисов позволяет ему абстрагироваться от сложности множества языков, объектных моделей, баз данных, платформ и других технологий, использованных для построения и развертывания исходных приложений.

Помимо этой "входящей" абстракции, платформа Ensemble обеспечивает и "исходящую" абстракцию. Когда ресурсы уже доступны как классы Ensemble, с ними можно работать из внешних или композитных приложений через интерфейс ActiveX, ODBC, JDBC, XML, Web-сервисы, через специализированные объектные интерфейсы из .NET- или Java-приложений, EJB-серверов и т. д.

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

Координация

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

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

Оркестровка

Для моделирования бизнес-процессов в Ensemble используется специализированный язык Business Process Language (BPL), описывающий бизнес-процессы в XML-документе. Ensemble BPL основан на языке Business Process Execution Language for Web Services (BPEL4WS) - современнoм стандарте для моделирования сложных бизнес-процессов.

Язык BPEL4WS

Business Process Execution Language for Web Services (BPEL4WS) - язык, предложенный IBM, Microsoft, BEA Systems и рядом других организаций. Он позволяет определить бизнес-процессы, которые охватывают несколько Web-сервисов и стандартизуют обмен сообщениями внутри организации и между партнерами. BPEL4WS предназначен для описания оркестровки, т. е. взаимодействия Web-сервисов друг с другом на уровне сообщений, включая бизнес-логику и кооперацию при выполнении сложных процессов в пределах одного предприятия. BPEL4WS базируется на таких стандартах, как XML Scheme, SOAP и WSDL.

Используя графические средства моделирования бизнес-процессов Ensemble, аналитики имеют возможность задавать последовательности работ и потоки информации на BPL (рис. 2). При этом они могут сконцентрироваться именно на бизнес-процессах, так как взаимодействие Ensemble с приложениями осуществляется на уровнях координации и адаптеров. Кроме того, аналитики и разработчики могут непосредственно создавать XML-документы на BPL, что позволяет реализовать более сложные бизнес-процессы. Поскольку Ensemble позволяет работать со стандартным языком BPEL4WS, можно использовать средства управления бизнес-процессами третьих фирм. Наконец, есть возможность написать код для создания наиболее сложных бизнес-процессов и логики интеграции.

Fig.2
Рис. 2. Создание диаграммы на Business Process Language в InterSystems Ensemble.

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

Хранение

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

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

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

Высокопроизводительная встроенная объектная база данных позволяет хранить не только метаданные, но и все сообщения между интегрируемыми системами и бизнес-процессами. Хранилище сообщений Ensemble, где долговременно хранятся и индексируются с помощью Bitmap-индексов все сообщения, предоставляет доступ в реальном времени как к текущим, так и к ранее обработанным сообщениям для аудита, управления и мониторинга бизнес-активности.

Встроенные в Ensemble средства разработки позволяют из готовых компонентов быстро построить Web-приложение для мониторинга бизнес-активности, а поскольку встроенная база данных полностью поддерживает SQL, можно использовать встроенные или внешние инструменты для создания отчетов и любые средства бизнес-аналитики. Все это дает Ensemble богатые возможности для решения задач мониторинга бизнес-активности.

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

Разработка

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

Fig.3
Рис. 3. Среда разработки и интеграции Ensemble Studio.

Среда разработки позволяет аналитикам использовать средства моделирования бизнес-процессов в виде диаграмм на Business Process Language или XML-документов (причем, поскольку поддерживается индустриальный стандарт BPEL4WS, можно использовать и инструментальные средства третьих фирм), а разработчикам - создавать код на встроенных языках реализации бизнес-логики Object Script и Basic.

Композитные приложения можно создавать на платформах .NET, Java или при помощи других средств разработки. Благодаря универсальной архитектуре сервисов все ресурсы Ensemble доступны разработчику через удобные и быстрые интерфейсы.

Важную роль в интеграционных проектах играют Web-сервисы, крайне удобные для взаимодействия систем в режиме реального времени. Ensemble может быть и источником, и потребителем Web-сервисов. Каждый класс и бизнес-процесс Ensemble можно представить как Web-сервис. Поддерживаются также оркестровка Web-сервисов c помощью BPEL4WS и стандарт UDDI. С помощью Web-сервисов можно создавать и композитные приложения нового поколения в соответствии с набирающей популярность архитектурой, ориентированной на службы (Service Oriented Architecture).

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

Управление

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

Fig.4
Рис. 4. Утилиты администрирования InterSystems Ensemble.

С помощью портала управления и мониторинга Ensemble решаются такие задачи, как управление бизнес-процессами, событиями, задачами, сообщениями (просмотр и поиск как текущих, так и уже обработанных сообщений), и многие другие. Кроме того, существует специальная утилита Visual Trace (рис. 5), которая позволяет и разработчикам, и администраторам отслеживать движение каждого сообщения между приложениями и бизнес-процессами.

Fig.5
Рис. 5. Ensemble Visual Trace.

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

***

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

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

Источники дополнительной информации

  1. Материалы сайта InterSystems (http://www.intersystems.ru/ensemble/index.html).
  2. Trevor Matz. Universal business integration. An idea whose time has come. Business Integration journal. March 2004.
  3. Ensemble White Paper. Evaluating integration brokers. Applying the Gartner Group's Technical selection criteria to Ensemble. Gartner Group, 2003.
  4. Ensemble White Paper. InterSystems Ensemble: Integration for Today's Rapidly Changing Enterprise. IDC, 2003.