Уфимский
государственный авиационный технический университет
Одной из перспективных
идей создания кроссплатформенного реентерабельного программного
обеспечения (ПО), поддерживающего индустриальные стандарты открытых систем,
является разработка приложений на основе сервис-ориентированной архитектуры.
С помощью данного подхода создаются интерактивные web-ориентированные приложения,
статические и динамические Интернет-ресурсы, ПО
промежуточного уровня для интеграции прежде созданных (унаследованных)
программных систем. Один из подходов к созданию web-сервисов предлагает сервер Sybase SQL Anywhere. Web-сервисы создаются как хранимые
процедуры средствами языка СУБД WATCOM SQL, что упрощает как разработку
приложений, так и администрирование системы в целом.
Для повышения
эффективности создания web-сервисов, генерирующих html-страницы, используется технология
генерации сервисов на основе html-шаблонов. Данная технология очень похожа на
популярные подходы MS Active Server Pages (ASP), Sun Java Script Pages (JSP) и Personal Home Page (PHP). В данных подходах шаблон
представляет собой текст web-страницы на html, в который включены специальные
теги, распознаваемые web-сервером. Прежде чем отправить html-страницу на клиентский компьютер Web-сервер обрабатывает специальные теги,
вызывая при этом соответствующие скрипты, которые
могут быть связаны с базами данных (БД) и осуществлять запросы, выбирают
информацию, необходимую для отображения html-страницы. Для реализации данный
технологии необходим специальный web-сервер, поддерживающий данную технологию (например, MS Internet Information Server (IIS) для ASP, Apachi для PHP), шаблон html-страницы, скрипт, часто содержащий
обращение к БД, как на странице, так и нет, библиотека доступа к данным (например,
MS ADO) и БД (сервер данных).
Рассмотрим принцип работы
данной технологии на примере ASP. Браузер
клиента обращается к ресурсу, расположенному на сервере, посылая соответствующий HTTP-запрос. Если запрос был адресован
ASP-странице, IIS передает ее на обработку ISAPI-фильтру, который выполняет
включенный в состав страницы скрипт и возвращает серверу HTML-страницу. Если
скрипт содержит обращение к БД, то происходит связь с сервером БД и извлечение
необходимых данных. Из ASP можно
работать с любыми БД, созданными в
различных СУБД, например: Access, Excel, FoxPro, Oracle, Microsoft и др. Для
этого используют интерфейс ODBC (Open DataBase Connectivity, открытый интерфейс доступа к базам данных) и
объектная модель ADO (Active Data Objects),
позволяющая обращаться к источнику
данных ODBC. Использование интерфейса ODBC предполагает наличие
соответствующего
драйвера и назначение источника данных.
После того, как страница полностью готова,
она пересылается запросившему ее
клиенту.
На рисунке 1 изображен
принцип работы технологии ASP.
Рисунок 1
Рассмотрим принцип работы
технологии генерации сервисов на основе html-шаблонов. Данная технология
предполагает, что шаблон html-страницы предварительно обрабатывается
процедурой-генератором web-сервисов, которая в качестве результата своей работы
выдает текст хранимой процедуры, генерирующей в
качестве web-сервиса html-страницу с нужными данными, извлеченными из таблиц БД. Таким
образом, для создания подобных систем с сервис-ориентированной архитектурой требуется всего лишь сервер БД
СУБД Sybase Adaptive Server Anywhere и сгенерированная хранимая
процедура. Данная СУБД может работать в качестве web-сервера, для которого не требуется
никакого промежуточного ПО для генерации html-страниц.
На рисунке 2 изображен
принцип работы технологии генерации сервисов на основе html-шаблонов.
Рисунок 2
Подход к созданию web-приложений на основе html-шаблонов позволяет отделить работу
по написанию html-текста шаблона (дизайнерскую часть разработки) от программного кода,
связанного с обработкой данных. Таким образом, появляется возможность разделить
и распараллелить работу команды разработчиков, привлекая к совместному
творчеству дизайнеров и программистов. Дизайнеры и
программисты при создании html-шаблонов
будут пользоваться различными инструментами разработки html-страниц: дизайнеры используют
визуальные html-редакторы
с обязательным просмотром создаваемых страниц (растровые и векторные графические
редакторы, библиотеки изображений, пиктограмм стилей текста и т.п.);
программистам помимо редакторов кода приложения требуется html-редактор, позволяющий быстро и
удобно встроить фрагменты программного кода в текст шаблона html-страницы. Обычно для этих
целей использует текстовые html-редакторы.