Сложно и долго — на протяжении длительного времени специалисты ИТ именно так характеризовали интеграционные проекты. А как только интеграция приложений успешно завершалась, руководство или отраслевые отделы тут же высказывали первые пожелания об изменениях, поскольку за это время предприятие успевало «уйти дальше». В результате кропотливый процесс объединения затруднял работу над дальнейшими проектами, поскольку обслуживание промежуточного программного обеспечения становилось все сложнее.
Вполне возможно, что именно сервис-ориентированная архитектура (Service-Oriented Architecture, SOA) поможет найти выход из сложившейся ситуации, поскольку в противовес монолитному интеграционному подходу она предлагает подход модульный, сервис-ориентированный. При использовании архитектуры SOA служба ИТ располагает своего рода конструктором, позволяющим быстро и просто комбинировать службы и добавлять новые услуги. Естественно, в окружении SOA тоже применяется промежуточное ПО: в сервис-ориентированной парадигме таковой является сервисная шина предприятия (Enterprise Service Bus, ESB), гибко связывающая отдельные приложения и службы друг с другом.
Американское консалтинговое агентство Gartner полагает, что в течение трех ближайших лет 80% предприятий интегрируют свои важнейшие системы ИТ в SOA. Планировщики SOA ориентируются не на отдельные системные компоненты, они мыслят в терминах деловых процессов, к которым можно привязать определенные службы, а к тем, в свою очередь, приписать определенные приложения, интерфейсы и аппаратное обеспечение. ESB заботится о том, чтобы предоставление системами сервисов друг другу осуществлялось даже без обращения к коду приложений. Она берет на себя управление коммуникацией между службами, посредничество между различными транспортными протоколами и форматами данных, а также идентификацию и распределение бизнес-событий.
Языку разметки XML отводится особая роль в SOA, и на то существуют различные причины. Так, уже 40% всех данных, создаваемых ежедневно по всему миру, представлено в формате XML. Кроме того, начиная с прошлого года многие учреждения приняли XML в качестве стандарта для хранения так называемых «чувствительных» данных.
Главное преимущество этого языка — разграничение между отображением и самими данными. К тому же он независим от производителей, систем и платформ. За прошедшее десятилетие этот универсальный язык породил множество отраслевых специфических диалектов и уточнений, например, определение схем XML (XML Schema Definition, XSD) или пространство имен XML (XMLNS Namespace) для достижения однозначности выражений. Даже сложные, высокоструктурированные и повторяемые информационные блоки можно передавать в виде сообщений XML, что создает все необходимые условия для применения в SOA: обмен данными XML происходит независимо от модели программирования и платформы. С помощью использующих XML служб Web вызов функций возможен и за пределами приложений, систем или границ предприятия. В случае создания на основе XML нового языка разметки, последний сразу же становится частью общей конструкции, а значит, разработчикам не придется заботиться о вопросах совместимости и возможности обмена данными. В итоге эти преимущества приводят к экономии времени и средств, что выгодно как для заказчиков, так и для поставщиков.
Однако использование XML в SOA бросает разработчикам новый вызов. С одной стороны, распространенные защитные механизмы непригодны для данных XML, поскольку этот язык не имеет собственных механизмов безопасности. В результате предприятию придется идти на дополнительные затраты для обеспечения внутренних стандартов безопасности. С другой стороны, универсальное применение XML приводит к тому, что язык становится очень «текстоeмким», и в результате при передаче требуется увеличенная пропускная способность, а при обработке — высокая производительность процессора.
Сначала соответствующее сообщение разбирает так называемый синтаксический анализатор XML Parser, затем формат проверяется на правильность схемы, при необходимости текст переформатируется и упрощается для внутренней обработки, в частности, могут быть удалены ненужные атрибуты и пространства имен. В заключение проверяется и расшифровывается подписанное цифровой подписью или закодированное содержимое. На этом же этапе проверяются права вызова определенных сетевых служб. Вся информация должна быть включена в сообщение XML, чем и объясняется сравнительно низкая доля имеющихся в нем полезных данных. В результате серверу приложений приходится затрачивать значительную часть своей вычислительной мощи на обработку данных XML, вместо того чтобы предоставлять свои ресурсы приложениям. Классическое решение этой проблемы — горизонтальное масштабирование, но такой подход требует немалых временных затрат и порождает дополнительные расходы.
Наконец, следует учитывать еще и такой момент, касающийся применения XML в SOA: SOA состоит не только из сервисов Web и соответствующих данных XML. Необходима простая и быстрая интеграция уже существующих систем, форматов сообщений и протоколов. Речь идет как о конвертировании форматов данных и протоколов, так и об интеграции важных систем предприятия. Разработчики многих приложений, скорее всего, и не задумывались о том, что когда-то, благодаря сервисам Web и SOA, к ним будет возможен прямой доступ из ненадежных сред.
Для многих перечисленных здесь проблем существуют решения на основе программных средств, однако в последнее время все большее значение приобретают подходы на базе аппаратного обеспечения: так называемые устройства SOA. Подобное устройство под названием WebSphere DataРower предлагает, например, компания IBM. Этот вид специальных вычислительных устройств дополняет, подобно брандмауэрам и маршрутизаторам, инфраструктуру ИТ и снижает нагрузку на сети и серверы. Устройства SOA можно назвать промежуточным программным обеспечением, превратившимся в аппаратное. Они предоставляют функциональность ESB и берут на себя часть обработки XML, которую до этого выполняло программное обеспечение. Каждое устройство поставляется в форм-факторе 1U, т. е. является стоечным и подсоединяется к сети через встроенный адаптер Ethernet.
Когда приложение принимает из сети Internet транзакцию, оно передает её внутренним системам (Back-End System). При пересылке сообщение разделяется на несколько пакетов TCP/IP, которые маршрутизатор перенаправляет адресату по различным сетевым соединениям, если этому действию не препятствует промежуточный брандмауэр. И для маршрутизатора, и для брандмауэра устройство SOA является адресатом, обрабатывающим содержимое не только отдельных пакетов, но и сообщения в целом. Результат обработки определяет, какой конечной системе будет передано данное сообщение. Иначе говоря, устройство SOA осуществляет специальную маршрутизацию сообщения, которое при этом подвергается специфичной для XML проверке безопасности.
Некоторые устройства SOA предназначены исключительно для ускорения: они разгружают сервер приложений от обработки XML, проводя анализ синтаксиса, сжимая данные XML, проверяя схему XML или посылая сообщению запрос посредством Xpath, а затем пересылая его далее. Специализированное оборудование выполняет подобные задачи гораздо быстрее и эффективнее, чем программное обеспечение.
Другие устройства не только ускоряют обработку XML, но и берут на себя дополнительные задачи по обеспечению безопасности. Когда предприятие интегрирует посредством SOA свои важнейшие системы и инфраструктуру других отделов или своих партнеров,
к их окружению начинают предъявляться новые требования: необходимо позаботиться о мониторинге уровня сервиса, а также контроле безопасности и доступа. С помощью устройств SOA служба ИТ добивается требуемого уровня безопасности данных и в состоянии реализовать директивы безопасности для сервисов Web на основе XML. К ним относятся шифрование XML, фильтрация и цифровые подписи, а также безопасность сервисов Web и контроль доступа. В целях обеспечения безопасности эти устройства поддерживают такие общеупотребительные протоколы, как LDAP, RADIUS, Kerberos или SAML. Кроме того, они обладают всеми необходимыми функциями для интеграции в инфраструктуру с открытыми ключами (Public Key Infrastructure).
В контексте интеграции в SOA давно существующих критически важных систем специализированные устройства также приобретают все большее значение, поскольку определенные модели этого аппаратного обеспечения позволяют осуществлять более гибкую интеграцию приложений и систем. Например, для того чтобы предприятия могли включить свои мэйнфреймы в «мир» SOA и сервисов Web, им необходимо сначала организовать контроль доступа для защиты изолированных приложений, что потребует определенных усилий со стороны разработчиков. В таких случаях устройства SOA освобождают от необходимости решения подобных задач, так как обеспечивают простую интеграцию мэйнфреймов в SOA. Они выступают в качестве переводчиков между бинарными форматами сообщений, простым текстом и XML, а также преобразуют протоколы. Иначе говоря, берут на себя задачи традиционных технологий интеграции корпоративных приложений (Enterprise Application Integration, EAI). В таком случае внешние пользователи, например, деловые партнеры или клиенты, смогут обращаться к внутренним приложениям, не используя написанный на языке Cobol механизм вызова удаленных процедур (Remote Procedure Call).
По информации IBM, еe первые клиенты уже добились успехов в использовании таких устройств. Например, крупная компания, специализирующаяся на предоставлении финансовых услуг, смогла предложить новые сервисы после установки четырех устройств SOA WebSphere DataPower. Не будь этой возможности, проект потребовал бы две дюжины серверов. Ожидается, что благодаря простоте развертывания оборудования затраты окупятся уже через полгода. Другая компания из той же отрасли воспользовалась подобным устройством для интеграции своего мэйнфрейма. Внедрение решения заняло в десять раз меньше времени, чем это позволило бы ранее применявшееся программное обеспечение собственной разработки, содержать и совершенствовать которое стало довольно трудно. Кроме этого, благодаря применению специализированного оборудования предприятию удалось снизить свои расходы и быстрее приступить к реализации процессов защиты от мошенничества. Компания надеется, что выбранное решение окажется менее подверженным возникновению ошибок при внедрении новых служб, чем используемое ранее.
ВЫВОД
Для того чтобы в полной мере использовать преимущества устройств SOA, их необходимо интегрировать в решения управления и среду разработки, ориентированную на XML. Важно отметить, что устройства должны отвечать требованиям различных групп пользователей, особенно при интеграции проектов SOA в масштабах предприятия, поскольку запросы специалистов по приложениям и архитекторов систем безопасности, точно так же, как сотрудников отдела ИТ и их коллег из сетевого управления, существенно различаются (см. Рисунок 1). Достигнуть оптимального результата можно благодаря различным интерфейсам и функциям управления.
Жаклин Е. Вакер — менеджер по маркетингу отдела WebSphere компании IBM Deutschland.
© AWi Verlag