Обработка XML ранее была вне компетенции сетевой инфраструктуры

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

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

Существует множество типов обработки XML-трафика, которые можно выполнять на сетевом уровне. Среди них два самых важных — это перенаправление XML и преобразования в соответствии с Extensible Stylesheet Language Transformations (XSLT).

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

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

XSLT — язык обработки, принятый консорциумом W3C и применяемый для отображения размеченных посредством XML документов HTML-браузерами и преобразования между различными XML-форматами. К достоинствам XSLT следует отнести кросс-платформенность (он поддерживается на платформах Microsoft .Net и J2EE), а кроме того, он является стандартным и зрелым решением (спецификация XSLT 1.0 была выпущена в 1999 году).

Отделяя представление от информационного наполнения, а обмен данными — от бизнес-логики, проще и дешевле изменить представление Web-сайта за одну ночь или связаться с новыми торговыми партнерами. Но обработка XSLT требует больших ресурсов, и производительность некоторых приложений, предусматривающих большой трафик, может существенно зависеть от скорости обработки XSLT. Акселераторы XML могут принести значительный выигрыш за счет освобождения серверов от обработки и благодаря тому, что они увеличивают скорость обработки XSLT значительно больше, чем позволяют чисто программные решения.

Ускорение XSLT для Web-серверов конфигурируется автоматически, если сайт уже настроен на использование команд обработки таблиц стилей XSL. В этом случае специальный тег в начале XML-документа сообщает, какую таблицу стилей XSL следует применить к документу, чтобы пользователь мог его увидеть.

Таблица стилей сама представляет собой документ XML, идентифицируемая командой обработки с помощью URL. Акселератор перехватывает ответ HTTP, находит команду обработки в документе XML, извлекает XSL через URL, применяет ее к документу XML и передает итоговый файл HTML-браузеру пользователя. Даже если на сайте имеются тысячи страниц и сотни или тысячи таблиц стилей XSL, установка и конфигурирование решения акселерации XML должна быть простой, поскольку акселератор «изучает» конфигурацию по мере того, как через него проходят команды обработки документов XML.

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

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


Как работает XML-ускоритель

XML-ускоритель позволяет снять нагрузку на преобразование данных XML с сервера Web-приложений