Создание серверных XSQL-страниц

ОГЛАВЛЕНИЕ

Архитектура XSQL-страниц


XSQL Servlet - это средство, обрабатывающее SQL-запросы и поставляющее результирующие наборы данных в виде XML-документов. Этот процессор работает как Java Servlet, и в результате его работы получается XML-файл, содержащий в себе SQL-запрос. Он использует Oracle's XML Developer's Kit для осуществления большинства этих операций.

Использовать XSQL Servelt можно с любым Web-сервером, который поддерживает Java-сервлеты. Данные направляются от клиента к сервлету и возвращаются клиенту. Последовательность событий такова:

  • Пользователь в браузере задает адрес (URL), который обрабатывается и передается Java Web-сервером для XSQL Servelt. Адрес (URL) содержит имя конечного XSQL-файла (.xsql) и, возможно, набор параметров, таких как: значения и имя стиля. Кроме того, пользователь может вызвать XSQL Servelt из командной строки, минуя браузер и Java Web-сервер.
  • Сервлет передает XSQL-файл XML Java -разборщику, который разбирает XML и создает API для доступа к содержанию документа.
  • Процессор страниц (это компонент сервлета) использует API для передачи XML-параметров и SQL-выражений (находящихся между тегами "xsql:query" и "/xsql:query"). Кроме того, процессор страниц передает любые XSL-операторы XSLT-процессору.
  • Процессор страниц создает DOM (Document Object Model - объектная модель документа), посылая SQL-запрос под управлением Oracle8i, который возвращает результат запроса. Результат размещается в XML-файле на месте, которое отмечено тегом "xsql:query".
  • Если это необходимо, результат запроса и любые другие XML-данные трансформируются XSLT-процессором с использованием заданных стилей. Данные могут быть преобразованы в HTML или любые другие форматы, определенные стилем. XSLT-процессор может выборочно применять различные стили, имея в виду тип клиента, который сделал исходный URL-запрос. Информация о клиенте получается от него посредством HTTP-запроса.
  • XSLT-процессор передает готовый документ обратно на браузер клиента, который в свою очередь отображает его пользователю.