По материалам корпорации Sun Microsystems (http://www.sun.com).

Идея SOA (Service Oriented Architecture), разумеется, не возникла на пустом месте; ее появление стало прямым следствием общего развития ИТ, а сама концепция базируется на фундаментальных архитектурных принципах и технологиях, уже используемых на ИТ-рынке. Многие ИТ-достижения (и их авторы) последних лет с полным основанием могут считать себя в той или иной мере причастными к идеям SOA. Не ставя перед собой задачу ранжирования подобных заслуг, можно уверенно сказать, что один из "источников и составных частей" SOA — это, конечно, технология Java, изначально нацеленная на создание распределенных компонентных систем в среде Интернета.

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

Все это предисловие понадобилось, чтобы высказать, в общем-то, вполне очевидную вещь: компания Sun Microsystems, автор и главный разработчик платформы Java, вполне естественно стала сегодня одним из ключевых игроков в сфере SOA-технологий.

Совместимость и интеграция — это базовые положения SOA. И здесь Sun опирается на мощный фундамент Java Enterprise System (JES), где все основные серверы и инструменты работают на единой технологической базе, в рамках единого продукта. Но относительно недавно в арсенале компании появился качественно новый программный комплекс, который, базируясь на Java Platform, более конкретно ориентирован на создание SOA-систем в виде интегрированных распределенных композитных приложений. Это Sun Java Composite Application Platform Suite (Sun Java CAPS).

Данный продукт появился у Sun в результате приобретения летом 2005 г. фирмы SeeBeyond, одного из признанных лидеров на рынке интеграционных программных платформ. Ее ключевой продукт SeeBeyond ICAN 5, уже имевший свою историю развития и применения, получил сначала новое название Sun Java Integration Suite и рассматривался как составная часть общего комплекса JES. Однако потом Sun пересмотрела компоновку своего ПО и представила Java CAPS в виде самостоятельной платформы, в которую в дополнение к решениям SeeBeyond вошли необходимые компоненты из состава JES.

Добавим еще, что один из краеугольных проблем создания SOA-систем — решение задач управления идентификацией. Для этого компания предлагает пакет Sun Java Identity Management Suite.

Мы рассмотрим в этой статье структуру Sun Java CAPS, имея в виду даже не столько представить сам продукт, сколько продемонстрировать на его примере основные подходы к созданию SOA-инструмента.

Технические характеристики Sun Java CAPS

  • Поддержка программных платформ: J2EE, .NET, CICS, CORBA, COM+/DCOM, IMS TM.
  • 80 адаптеров для бизнес-приложений, баз данных, eCommerce, Web/Portals, унаследованных систем, включая инструмент для быстрой разработки новых.
  • Поддержка стандартов безопасности: AS2, SOAP Security, XML Digital Signature, S/MIME & PKCS, SSL & TLS, RSA, DES, Triple-DES, RC2, AES, MD5, SHA-1, LDAP.
  • Поддержка операционных систем: Windows, Solaris, z/OS, Tru64, Linux, AIX, HP/UX (RISC и Itanium), HNS (HP NonStop Server).
  • Поддержка стандартов Web Service & Process: SOAP 1.2, WSDL 1.2, UDDI 2.0, BPEL4WS.
  • Поддержка стандартов J2EE: все спецификации J2EE 1.3, включая Java, EJB, JSP, JMS, JCA, JMX, JNDI, JTA и т. д.
  • Поддержка стандартов преобразования данных: управление метаданными для распространенных Web-сервисов (WSDL, XML Schema, DTD).
  • Поддержка XML, X12, SAP-IDoc, SAP-BDC, SWIFT, HL7, EDIFACT, ASTM, HTML, NCPDP, Proprietary Fixed, Delimited Text.

Архитектура и основные принципы

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

Ключевые принципы, положенные в основу Java CAPS, таковы:

  • комплексность — единая среда разработки, управления и мониторинга для всех компонентов, входящих в состав решения;
  • полнота — полнофункциональная, безопасная и масштабируемая платформа, поддерживающая архитектуру SOA, разработку новых и использование существующих решений;
  • стандартизация — гетерогенный характер композитных приложений поддерживается благодаря соответствию отраслевым стандартам, таким, как Java Enterprise Edition (JEE), Java Message Service (JMS), язык BPEL, нотация Business Process Modeling Notation (BPMN), XML и Web Services.

Пакет Sun Java Composite Application Platform Suite состоит из программных средств и компонентов, объединенных в структуру, соответствующую общему подходу к созданию SOA (рис. 1). Интеграция приложений поддерживается благодаря инструментам с графическим интерфейсом, оптимизирующим исходный код для стандартизации совместной работы и выполнения бизнес-процессов. Разработчики могут применять графическую модель или непосредственно исходный код, синхронизируемый с графической моделью. Кроме того, они могут воспользоваться внешними интегрированными средами разработки (IDE).

Рис. 1. Пакет Sun Java CAPS соответствует общей структуре SOA-платформы (а) и содержит все необходимое для создания и поддержки композитных приложений на базе архитектуры SOA (б).

Возможности интеграции подразумевают полную интеграцию приложений с помощью ведущих систем обмена сообщениями, преобразования на базе технологий Java и XSLT и обширного набора соединительных блоков. Управление бизнес-процессами (BPM) автоматизирует многошаговые бизнес-процессы, в которые включены инфраструктурные системы и сотрудники. Мониторинг деловой активности (Business Activity Monitoring, BAM) позволяет создавать сложные панели управления и системы оповещения. Возможности извлечения, преобразования и загрузки (ETL: Extract, Transform, Load) применяются для пакетной передачи.

Система поддерживает широкий класс приложений типа B2B и средства создания единого главного индекса для общих объектов (клиентов, пациентов, поставщиков и т. п.) Эти возможности объединяются с помощью:

  • общей среды разработки Enterprise Designer (рис. 2);
  • единой среды исполнения с мониторингом на базе Enterprise Manager;
  • технологии Java Message Service (JMS) для передачи сообщений;
  • единого репозитария для поддержки многократного использования Web-сервисов для всех интеграционных компонентов пакета Java CAPS.

Рис. 2. Enterprise Designer предлагает единый интерфейс для всех компонентов композитного приложения.

В Java CAPS входят три основные группы продуктов: средства интеграции, инфраструктурные компоненты и инструменты разработки.

Средства интеграции

Sun SeeBeyond eGate Integrator. Платформа для распределенной интеграции, основанная на Web-сервисах и совместимая с JEE; служит базой Java CAPS. eGate Integrator обеспечивает основную интеграцию, включая подключение систем, гарантированный обмен сообщениями и преобразование данных. Это реализуется за счет создания единой среды для разработки, внедрения, мониторинга и управления при интеграции отдельных программных компонентов. Продукт сертифицирован на совместимость с JEE и поддерживает использование своей технологии интеграции на JEE-серверах приложений сторонних разработчиков. Он также включает средства управления изменениями интеграции на уровне предприятия, значительно сокращая совокупную стоимость владения.

Sun SeeBeyond eInsight Business Process Manager. Продукт используется для интеграции процессов на более высоком уровне, чем eGate Integrator. Он позволяет бизнес-аналитикам моделировать, тестировать, реализовывать, отслеживать, контролировать и оптимизировать бизнес-процессы, организующие работу с любым числом Web-сервисов, систем, сотрудников и партнеров. ПО eInsight Business Process Manager представляет открытую среду моделирования с графическим интерфейсом, построенную на базе BPMN и BPEL.

Sun SeeBeyond eVision Studio. Создает интерактивные композитные Web-страницы для взаимодействия пользователей с приложениями и бизнес-процессами без дополнительного программирования. В продукт входит конструктор макетов страниц и большой набор компонентов графического интерфейса. Кроме того, eVision Studio позволяет создавать портлеты для работы на серверах Sun Java System Portal Server.

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

Sun SeeBeyond eXchange Integrator. Автоматизация взаимодействия с коммерческими партнерами — один из наиболее эффективных способов одновременного сокращения затрат, повышения удобства для пользователей и увеличения прибыли. Задача заключается в управлении взаимоотношениями при увеличении числа партнеров и видов отношений, для которых используются форматы XML, EDI (Electronic Data Interchange) и другие, в том числе проприетарные. Будучи основным компонентом интеграции взаимодействия между предприятиями (B2B) в данном наборе, eXchange Integrator представляет собой решение на основе Web-инфраструктуры, предназначенное для управления профилями партнеров и отслеживания сообщений, ускоряющее формирование и поддержку взаимоотношений с партнерами с помощью удобной системы управления профилями, широкой совместимости с протоколами взаимодействия между предприятиями (включая сертификацию AS2) и защищенной передачи данных.

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

Sun SeeBeyond eView Studio. В современном деловом мире важная информация распространяется на предприятиях через разнородные системы, в том числе через решения CRM и ERP, биллинговые системы, системы электронной коммерции и поддержки клиентов. Sun SeeBeyond eView Studio обнаруживает сходные записи в разных системах, используя технологию очистки и сопоставления данных для автоматического создания перекрестного указателя разнообразных локальных идентификаторов, представляющих один и тот же объект. С помощью такого перекрестного указателя Java CAPS может обмениваться информацией между различными системами, сохраняя единое представление.

Sun SeeBeyond eBAM Studio. Стратегия мониторинга деловой активности (BAM) заключается в том, чтобы определить события, в отношении которых требуется предпринять какие-то действия, на основании сочетания бизнес-событий в режиме реального времени (или практически реального времени) в разных приложениях и других информационных ресурсах. В решение Sun SeeBeyond eBAM Studio входят мастера настройки конфигурации, позволяющие задавать правила BAM и соответствующие показатели производительности (KPI). Кроме того, это решение обеспечивает среду для выполнения таких правил и выводит графическое представление изменений KPI. В итоге получается композитное приложение для мониторинга бизнеса с панелями управления для пользователей, отчетами и оповещениями, создаваемыми без программирования.

Sun SeeBeyond eWay Intelligent Adapters. Технология интеллектуальных адаптеров eWay Intelligent Adapter ускоряет интеграцию с Web-сервисами на базе архитектуры коннекторов J2EE (J2EE Connector Architecture, JCA). В решение Sun входит более 80 готовых адаптеров eWay Intelligent Adapter для интеграции приложений и предприятий на базе Web-сервисов. В Java CAPS эти адаптеры используются для доступа к разрозненным системам на базе распределенных архитектур и протоколов, в том числе JEE, Microsoft .NET, унаследованных технологий, таких, как IBM CICS, CORBA и Microsoft DCOM, а также к приложениям Siebel и SAP. В систему входит начальный набор адаптеров eWay Intelligent Adapter, другие адаптеры можно приобрести отдельно.

Варианты поставки

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

Sun Java B2B Suite (Business-to-Business) ориентирован на клиентов, которым нужно эффективно управлять решением разнообразных задач в сфере "бизнес-бизнес", например, цепочками поставок, дистрибьюторскими сетями и центрами обмена информацией.

Sun Java ESB Suite (Enterprise Service Bus) нацелен на пользователей, которым требуется упростить сложные и дорогостоящие инфраструктуры обмена сообщениями. Java ESB Suite поддерживает открытые стандарты для Web-сервисов, XML, преобразований и интеллектуальной маршрутизации и позволяет применять усовершенствованную распределенную сервисную шину уровня предприятия.

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

Sun Java Web Infrastructure Suite повышает безопасность Web-инфраструктуры, укрепляет связи с клиентами и партнерами и сокращает операционные расходы. В этот пакет включены продукты для Web-инфраструктуры и инфраструктуры идентификации.

Продукты для инфраструктуры

В систему Java CAPS входят компоненты систем Java Application Platform Suite и Java Web Infrastructure Suite. Они создают надежный фундамент для сервера приложений и поддержки идентификации в системах интеграции, а также предоставляют пользователям возможность взаимодействия с порталом для работы с композитными приложениями.

Java System Application Server. Этот сервер приложений JEE обеспечивает основу для служб приложений и Web-сервисов уровня предприятия. В системе Java CAPS он используется для запуска программ обработки бизнес-логики и адаптеров eWay для взаимодействия с внешними приложениями. Кроме того, он обеспечивает работу служб безопасности, выполнение транзакций, исполнение бизнес-правил и управление связью. Java System Application Server выполняет все эти задачи, используя новую модульную архитектуру, основанную на компонентах, соответствующих отраслевым стандартам.

Java System Portal Server. Пользовательский портал для совместной работы, исполнения бизнес-процессов и работы с композитными приложениями, включающими и унаследованные компоненты. Управление и контроль доступа в сервере портала основаны на идентификаторах, что обеспечивает вывод отдельных данных для разных категорий пользователей — сотрудников, партнеров, поставщиков и клиентов. Определение содержания портала в зависимости от категории пользователя значительно повышает продуктивность. Наполнение для разных категорий пользователей можно создавать в любом средстве разработки порталов, совместимом со спецификацией JSR-168, например, Sun SeeBeyond eVision Studio или Sun Java Studio Creator.

Java System Directory Server Enterprise Edition. Выступает в качестве основного каталога для интеграции композитных приложений на основе Java System Portal Server. Позволяет важнейшим приложениям предприятия и большим экстранет-приложениям получать доступ к одним и тем же непротиворечивым, точным и надежным идентификационным данным. Данное решение создает прочную основу для управления идентификацией, предоставляя централизованное хранилище профилей, прав доступа и информации о ресурсах сети и приложений. Оно легко интегрируется в инфраструктуры с несколькими типами платформ и поддерживает защищенную паролем синхронизацию по требованию с Microsoft Windows Active Directory (на правах ограниченной лицензии).

Java System Access Manager. Открытое и стандартизованное решение для аутентификации и авторизации на основе политик, использующее единую инфраструктуру, которая поддерживает комплексную интеграцию приложений. Решение защищает информацию о приложениях и идентификационную информацию в Sun Java System Directory Server EE и масштабируется в соответствии с развитием бизнеса, предлагая такие возможности, как однократная проверка подлинности и объединение доверенных сетей партнеров, поставщиков и клиентов (ограниченная лицензия).

Средства разработки

Java Studio Creator. Позволяет разработчикам переключаться между работой в графическом интерфейсе, управлением ресурсами через листки свойств и средства настройки и прямым редактированием исходного кода Java, SQL, HTML, JavaServer Pages (JSP) и XML. Все отображаемые экземпляры приложения синхронизируются с исходным кодом, что обеспечивает единство и гибкость разработки. В Java Studio Creator используется технология NetBeans, включающая такие возможности, как новый набор компонентов JavaServer Faces, поддержка портлетов JSR-168, удобный доступ к базам данных, модель ускорения приложений и т. д.

Java Studio Enterprise. Среда проектирования и разработки приложений уровня предприятий. В нее встроены все функции, необходимые для разработки, отладки и тестирования приложений для предприятий, Web-сервисов и компонентов порталов на базе стандартов JEE. В Java Studio Enterprise также используется платформа NetBeans, известная среди разработчиков ПО с открытым кодом своей удобной и полнофункциональной средой.

Об эффективности применения Java CAPS

Осенью 2005 г. исследовательская компания Butler Group (http://www.butlergroup.com) провела исследование, посвященное эффективности применения технологии разработки композитных приложений на примере использования продукта SeeBeyond ICAN (который стал затем основой Java CAPS). Его результаты были представлены в виде отчета "Разработка композитных приложений, сравнение совокупной стоимости владения" (Developing Composite Applications, Comparing the Total Cost of Ownership). В частности, компаниям, использовавшим этот продукт при выполнении у себя проектов, было предложено отметить отдельные его преимущества по сравнению с используемыми ранее традиционными средствами интеграции. На рис. 3 показаны доли положительных ответов на соответствующий вопрос по отдельным характеристикам ИТ-проектов.

Рис. 3. Преимущества использования Java CAPS в проектах (на основе опроса, проведенного в 2005 г. компанией Butler Group).