6. Основные технологии, применяющиеся при построении WWW
систем
Архитектура клиент-сервер WWW
Сеть Интернет организована по схеме
клиент-сервер. В классическом случае данная схема функционирует следующим
образом:
клиент формирует и посылает запрос на сервер баз данных;
сервер
производит необходимые манипуляции с данными, формирует результат и передаёт
его клиенту;
клиент
получает результат, отображает его на устройстве вывода и ждет дальнейших
действий пользоватля.
Цикл повторяется, пока пользователь не закончит работу с
сервером.
В сервисе WWW для передачи информации
применяется протокол НТТР (HyperText Transmition Protocol) версия 1.1.
Рис. 1 Схема клиент-сервер WWW-HTTP
Основные транзакциив HTTP:
1. Браузер декодирует первую часть URL (Universal Resource
Locator) и устанавливает соединение с сервером.
2. Браузер
передает остальную часть URL на сервер.
3. Сервер определяет по URL путь и имя
файла.
4. Сервер пересылает указанный файл
браузеру.
5. Сервер прерывает соединение.
6. Браузер отображает документ.
Необходимо отметить, что при указанных
транзакциях сервер не имеет никакой информации о состоянии браузера. Т.е. HTTP
можно считать "однонаправленным" протоколом, и взаимодействовать с
сервером возможно только через механизм URL, это создает некоторые трудности
при реализации клиентской части.
Обработка данных и динамическое формирование документов
Механизмы, с помощью которых реализуется
серверная часть обработки данных в Internet сервераx:
Internet Server Application Programming Interface (ISAPI), реализуется через механизм
DLL. C помощью ISAPI Internet connector возможно взаимодействие с базами данных
(SQL Server, Oracle, RBase,
Access, Paradox, dBASE)
через драйверы
Open Database Connectivity (ODBC), также возможна реализация других расширенных функций
(создание различных фильтров запросов).
Основным средством
разработки приложений является Microsoft Visual C++ 4.1 (The Internet Server
API Extension Wizard). Данный механизм поддерживается Microsoft Internet Information
Server (MIIS).
Server Sides Includes
(SSI/SSI+) - технология динамического формирования документов (в т.ч. и работы
с БД). Скрипт (точнее серверные инструкции) находится в HTML файле обычно
имеющем расширение sht или shtm, при этом серверные инструкции размещаются
между специальными разделителями (tokens), а сами инструкции записаны на языке Сscript,
хотя это в большей степени зависит собственно от сервера. При пересылке такой
файл сканируется сервером на наличие SSI инструкций и результат динамически
подставляется в посылаемый документ. SSI реализуется через специальные компоненты
(DLL), которые входят в состав сервера. По аналогичному принципу (для
Web
-мастера) организована
работа со скриптами на языке
PHP, в этом случае, программные конструкции включаются в
HTML
с помощью
разделителей <? php
и ?>. Схожей
по технике формирования динамических страниц является технология
Active
Server
Pages
(ASP) от
Microsoft. Данная
технология опирается на использование разнообразных объектов и компонент (
COM,
ActiveX
и т.п.),
работа с которыми ведётся средствами языков
VBScript
или
JavaScript.
Common Gateway Interface
(CGI), - реализуется через дополнительные программы (скрипты) на любом из
языков программирования высокого уровня (наиболее часто используют С++, Perl (Practical
Extraction and Report Language), VisualBasic, Pascal, Java). Основа -
спецификация набора переменных. С помощью CGI приложений возможно
взаимодействие с любыми базами данных через формирование SQL запросов, или
другие механизмы; также возможна реализация счетчиков посещений, гостевых книг
и других расширений.
Помимо серверной
обработки данных и взаимодействия с клиентом со стороны сервера применяются и
другие подходы. Например, современные программы просмотра предоставляют
возможность взаимодействия с их объектами с помощью JavaScript или VBScript. В этом случае, клиент (программа
просмотра) получает программный код, и исполняет его "своими силами". Именно
таким образом зачастую организуется предварительная проверка правильности
заполнения пользовательских форм.
Более гибким средством
является технология Java, с помощью которой можно строить
универсальные системы со смешанной архитектурой, приложения, выполняемые на
стороне клиента, называются апплетами (applets), на
стороне сервера - сервлетами (servlets). Достаточно
большую популярность получает Flash-технология, в рамках которой
можно создавать медиа-насыщенные интерактивные ресурсы, основная рабочая
нагрузка при этом ложится на компьютер пользователя.
Для описания данных и
организации взаимодействия между приложениями электронной может использоваться
язык XML (eXtensible Markup Language
<? xml version="1.0" ?>) ,
ориентированный на описание структур документов.
Заключение
В рамках данного
короткого обзора описана технологическая основа сервиса WWW
. Для построения систем электронной коммерции могут применяться сугубо
специализированные системы, которые, тем не менее, основываются на общих
технологиях (протокол HTTP, компоненты CGI
, идеология SSI (в широком смысле, включая PHP
, ASP)), Java, JavaScript
и т.п.
Безусловно, многое
осталось за рамками обзора, в частности, технологии с использованием шаблонов, ActiveX
, Microsoft.Net и многое
другое. Основная цель данного обзора - общий взгляд на особенности технологии клиент-серверного
взаимодействия WWW.
Материалы, рекомендуемые к самостоятельному изучению