XSLT в архитектуре клиент-сервер

We use cookies. Read the Privacy and Cookie Policy

XSLT в архитектуре клиент-сервер

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

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

Очевидный минус этого решения в том, что оно слишком сильно зависит от презентации данных. Новая презентация (например, версия "для печати" или для мобильного устройства) или сравнительно серьезное исправление старой заставляют, чуть ли не полностью (в зависимости от качества проектирования) переписывать Web-приложение.

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

Схема взаимодействия XML и XSLT в архитектуре клиент-сервер представлена на рис. 2.4. На этом рисунке нет четкой границы, которая отделяла бы клиента от сервера. Дело в том, что существует два принципиально различных способа использования XSLT в подобной архитектуре: преобразования могут выполняться как на стороне сервера, так и на стороне клиента. Рассмотрим подробнее оба способа.

Рис. 2.4. XML и XSLT в архитектуре клиент-сервер