Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Технологии разработки Internet-приложений. Учебное пособие
.pdf
собой байтовый код, который интерпретируется виртуальной Java-
машиной, входящей в состав обозревателя. У апплетов отсутствует
возможность производить запись на диск пользователя. Поэтому
использование механизма апплетов гарантирует целостность
локальных данных пользователей.
Загрузка апплета производится при загрузке Web-документа.
Принцип функционирования апплета включает возможность
подключения Java-классов, хранящихся на сервере. Таким
образом, сам апплет содержит только необходимый код, а при
последующем взаимодействии пользователя с интерфейсными
элементами апплета могут дополнительно подгружаться
требуемые Java-классы, реализующие дополнительные функции.
Байтовый код апплета может начать выполняться сразу после
загрузки в компьютер клиента или активизироваться с помощью
специальных команд.
Используя библиотеку классов Java, можно создавать
мультимедийные страницы и организовывать распределенные
процедуры вычислений с использованием различных серверов и с
использованием различных протоколов.
Используемый для выполнения апплетов интепретатор байткода, входящий в состав виртуальной машины Java, имеет
встроенную систему безопасности, блокирующую операции
записи информации на диск и операции адресной арифметики.
Апплет может быть специализирован для работы с внешними
базами данных. С этой целью в Java включены наборы классов для
поддержки графического пользовательского интерфейса и классы
для доступа к БД. С помощью этих классов апплет может
получить от пользователя информацию ввода параметров запроса
к базе данных.
Для включения дополнительного действия в Web-приложение
достаточно включить тег апплета в Web-документ и поместить
апплет-класс в библиотеку апплетов на сервере. При этом
изменения в конфигурацию Web-сервера вносить не нужно.
Для взаимодействия Java-апплета с внешним сервером баз
данных разработан специализированный протокол JDBC (Java
DataBase Connectivity – совместимость Java с базами данных),
который построен на принципах интерфейса ODBC и применяется
для стандартизации кода Java-апплета при организации доступа к
21

различным СУБД. Протокол JDBC является посредником между
Java-кодом и драйвером ODBC.
Сравним достоинства и недостатки использования технологии
Java и наиболее распространенного в настоящее время интерфейса
CGI. Использование технологии Java-апплетов реализует более
гибкий механизм. Апплет выполняется локально на машине
пользователя, поэтому он может обеспечивать динамическое
взаимодействие с пользователем гораздо быстрее. Кроме того,
апплет может использоваться для выполнения функций, не
доступных CGI-модулю. Однако с точки зрения обеспечения
безопасности данных компьютеров клиентов сети использование
CGI-модуля более целесообразно, так как CGI-модуль
выполняется на стороне сервера и получить доступ к ресурсам
компьютера пользователя сети не может.
1.6. Архитектура Web-приложений, публикующих базы
данных
При публикации базы данных на Web-страницы в архитектуру
Web-приложений вводятся дополнительные уровни, включающие
сервер базы данных, сервер приложений и источник базы данных.
При такой архитектуре Web-сервер передает запрос на
генерацию Web-страниц программе-расширению Web-сервера,
которая формирует требуемый документ по информации из базы
данных и затем Web-сервер отсылает готовые Web-страницы
обратно обозревателю. Для формирования динамических страниц
используются различные средства и технологии: ASP и IDC/HTXстраницы, программы-расширения сервера на основе интерфейсов
CGI и ISAPI.
При использовании ASP, PHP и IDC/HTX-страниц запрос на
получение динамически формируемой Web-страницы передается
специальным динамическим библиотекам, входящим в состав
Web-сервера. Например, если в качестве Web-сервера
используется Personal Web Server и публикация осуществляется
средствами IDC/HTX, то применяется динамическая библиотека
«httpodbc.dll». Такие библиотеки анализируют файл ASP или IDC
и НТХ-файлы, которые используются в качестве шаблонов.
Напомним, что при публикации базы данных на Web-
страницах используются статическая и динамическая публикация
22

Web-страниц, содержащих информацию из базы данных. При
статической публикации подготовка Web-страницы осуществляется с помощью обычных приложений баз данных, которые
формируют Web-документ на жестком диске. Причем, Webдокументы создаются и хранятся на Web-сервере до поступления
запроса пользователя на их получение. Такой способ не позволяет
публиковать базы данных в реальном масштабе времени, и,
естественно, этот способ публикации используется в случае когда
информация в базе данных обновляется относительно редко. Тем
не менее при статистической публикации уменьшается нагрузка на
сервер при обработке запросов, так как серверу в этом случае нет
необходимости обращаться с запросом к серверу базы данных, а
достаточно передать готовую Web-страницу обозревателю.
При динамической публикации Web-страницы создаются
после поступления запроса пользователя на Web-сервер.
Поступивший запрос на генерацию Web-страниц Web-сервер
передает программе-расширению сервера, которая формирует
требуемый документ, и затем Web-сервер отсылает готовые Webстраницы обратно обозревателю.
Программы-расширения Web-сервера, публикующие базы
данных, используют принципы, на которых строятся приложения
баз данных. При статистической и при динамической публикации
должна использоваться архитектура приложений баз данных,
дополненная характерными компонентами архитектуры Webприложений.
Выводы
1. Сформулировано определение понятия «Web-приложение».
2. Приведена обобщённая классификация Web-приложений.
3. Рассмотрены основные архитектурные шаблоны, исполь-
зующиеся при проектировании Internet-приложений, и дана их характеристика.
4. Сформулированы принципы функционирования Web-
приложений.
5. Дана характеристика Web-приложений, функционирующих
с сетях Intranet.
6. Рассмотрены Web-приложения с модулями расширения
клиентской и серверной частей.
23

7. Проведен анализ архитектуры Web-приложений, публику-
ющих базы данных.
Вопросы для самопроверки
1. Сформулируйте определение понятия «Web-
приложение».
2. Какие вопросы должны учитываться разработчиком
Web-приложений?
3. Перечислите основные виды Internet-приложений?
4. Что понимается под архитектурой системы?
5. Охарактеризуйте понятие «архитектурный шаблон».
6. Дайте характеристику основным архитектурным шаблонам
Web-приложений.
7. Перечислите и охарактеризуйте принципы функционирова-
ния Web-приложений.
8. Дайте характеристику Web-приложениям, использующимся
в сетях Intranet.
9. Какие дополнительные возможности предоставляет Intranet-
приложение?
10. Охарактеризуйте Web-приложения с модулем расширения
сервера.
11. В каких двух состояниях может находится Web-сервер?
Охарактеризуйте их.
12. Какой из интерфейсов является стандартным протоколом
взаимодействия между Web-сервером и модулем расширения?
13. Дайте характеристику Web-приложениям с модулем рас-
ширения клиентской части.
14. Что представляют собой элементы ActiveX?
15. Что понимается под исполняемыми программами?
16. Какие дополнительные условия вводятся при публикации
базы данных на Web-странице?
17. Сформулируйте определение понятий «статическая» и
«динамическая» публикации. Перечислите их особенности.
Литература и ссылки на Internet-ресурсы
Основная: [1].
Дополнительная: [5, 6].
Internet-ресурсы: [1].
24

2. INTERNET-ПРИЛОЖЕНИЯ. КЛАССИФИКАЦИЯ
WEB-ПРИЛОЖЕНИЙ
План
2.1. Двухуровневые Web-приложения.
2.2. Трехуровневые Web-приложения.
2.3. Многоуровневые Web-приложения.
2.4. Web-приложения на основе технологии CORBA.
2.5. Web-приложения на основе интерфейсов OLE DB, ADO и
ODBC.
2.1. Двухуровневые Web-приложения
При двухуровневой архитектуре Web-приложений источник
базы данных хранится на том же компьютере, где находится Web-
сервер. Для доступа к источнику базы данных используются
модули расширения. В простейшем случае в архитектуру Web-
приложений добавляется источник базы данных (рис. 2.1).
Схема функционирования Web-приложения при такой
архитектуре заключается в следующем. Обозреватель для начала
работы с Web-приложением отсылает URL-адрес главной страницы
Web-приложения Web-серверу. Последний, обработав URL запроса,
высылает главную страницу Web-приложения обозревателю в
формате HTML. Эта страница несет общую информацию о Web-
приложении и позволяет выбрать требуемую для пользователя
функцию из ряда других, предоставляемых этим Web-приложением.
Если пользователю необходима определенная информация из
базы данных, то обозреватель по ссылке, находящейся в
загруженной HTML-странице, формирует URL запроса к модулю
расширения сервера, при этом могут использоваться различные
технологии в зависимости от используемого Web-сервера на Web-
узле и других особенностей работы Web-приложения.
Например, если на Web-узле установлен Web-сервер Microsoft
Internet Information Server, то может использоваться технология ASPстраниц, IDC/ НТХ-страниц, CGI или ISAPI-технология, а в случае
установки сервера Apache может применяться CGI-технология.
При необходимости формирования параметризованного URL
на уровне обозревателя могут использоваться сценарии на
JavaScript для проверки правильности ввода параметров запроса.
25

После того как пользователь выбрал требуемую ссылку,
обозреватель отсылает URL Web-серверу. Для обработки такого
запроса сервер вызывает требуемый модуль расширения и
передает ему параметры URL. Модуль расширения сервера
формирует SQL-запрос к базе данных.
Рисунок 2.1. Архитектура Web-приложения, использующего базы
данных
Из модуля расширения сервера доступ к базе данных может
осуществляться различными способами и на основе различных
интерфейсов. Например, в случае использования технологии ASPстраниц применяется несколько уровней интерфейсов: объектная
модель ADO, объектный интерфейс OLE DB, интерфейс ODBC.
Также возможен вариант непосредственного доступа к базе
данных. Например, в случае модуля ISAPI, разработанного в среде
Delphi, для доступа к базе данных может использоваться один
посредник – драйвер BDE (Borland DataBase Engine), входящий в
состав программных средств модуля расширения сервера.
Недостатки рассмотренной двухуровневой архитектуры
состоят в следующем:
1) повышенная нагрузка на Web-сервер, заключающаяся в
том, что вся работа по обработке URL-запросов, извлечению
информации из БД и формированию HTML-страниц выполняется
Web-сервером и модулями расширения Web-сервера;
2) низкий уровень безопасности, связанный с невозможностью, например, обеспечить требуемый уровень защиты инфор-
26

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

Для получения данных модуль расширения Web-сервера
формирует и отсылает SQL-запрос удаленному серверу базы
данных (например, SQL-серверу). На компьютере с установленным удаленным сервером и сама баз данных. SQL-сервер в
этом случае обеспечивает выполнение запроса и выдачу модулю
расширения Web-сервера результатов запроса.
Таким образом, в трехуровневой архитектуре вся обработка
SQL-запроса выполняется на удаленном сервере. Достоинства
такой архитектуры по сравнению с предыдущей состоят в
следующем:
1) уменьшение сетевого трафика – в сети циркулирует
минимальный объем информации;
2) увеличение уровня безопасности информации,
поскольку обработка запросов к базе данных выполняется
сервером базы данных, который управляет доступом к базе
данных, запрещая одновременное изменение одной записи
различными пользователями и реализуя механизм транзакций;
3) повышение устойчивости Web-приложения к сбоям;
4) взаимозаменяемость компонентов архитектуры
трехуровневого Web-приложения;
5) снижение сложности модулей расширения Web-сервера, в
которых отсутствует программный код, связанный с контролем
базы данных и разграничением доступа к ней.
Недостатком рассмотренной архитектуры является
увеличение времени обработки запросов, связанное с
дополнительным обращением по сети к серверу базы данных. Для
устранения этого недостатка между сервером базы данных и Web-
сервером должны использоваться высокоскоростные надежные
линии связи.
2.3. Многоуровневые Web-приложения
Дальнейшее развитие архитектуры Web-приложений и
технологии «клиент-сервер» привело к появлению многоуровневой архитектуры, в которой между модулем расширения Webсервера и базой данных, кроме сервера базы данных,
дополнительно вводится сервер приложений. Сервер приложений
является промежуточным уровнем, который обеспечивает орга-
28

низацию взаимодействия клиентов («тонких» клиентов) и сервера
базы данных (рис. 2.3).
Сервер приложений может использоваться для выполнения
различных функций, которые в предыдущей архитектуре
выполнялись сервером базы данных или модулем расширения
Web-сервера.
В качестве «тонкого» клиента в этой архитектуре выступает
программа-модуль расширения Web-сервера. Сервер приложений
может обеспечивать взаимодействие с Web-серверами и серверами
баз данных, функционирующими на различных аппаратно-программных платформах (компьютерах различных типов и под
управлением различных операционных систем). Такая архитектура
является основой для Intranet-сетей, создаваемых на основе
существующих локальных сетей.
Рисунок 2.3. Архитектура многоуровневого Web-приложения
Введение дополнительного уровня Web-сервера позволяет
публиковать информацию из баз данных локальных сетей в сети
Internet, получать информацию от других Intranet-сетей или Web-
узлов. Кроме того, при частичной или полной реорганизации
внутренней архитектуры локальных сетей появляется возможность
использовать преимущества сетей интранет, касающиеся
29

упрощения дополнительного подключения новых пользователей и
администрирования локальной сети.
Отметим, что в некоторых архитектурах информационных
систем Web-сервер может структурно объединяться с сервером
приложений. В этом случае программные средства, входящие в
состав модуля расширения, выполняют роль сервера приложений.
Основные достоинства многоуровневой архитектуры Web-
приложений заключаются в следующем:
1) разгрузка Web-сервера от выполнения части операций,
перенесенных на сервер приложений и уменьшение размера модулей
расширения сервера на основе разгрузки их от лишнего кода;
2) обеспечение более гибкого межплатформенного
управления между Web-сервером и сервером базы данных;
3) упрощение администрирования и настройки параметров
сети – при внесении изменений в программное обеспечение или
конфигурацию сервера базы данных не нужно вносить изменения
в программное обеспечение Web-сервера.
При функционировании Web-приложений с использованием
многоуровневой архитектуры сохраняется возможность параллельной работы Web-обозревателей и клиентских приложений баз
данных (рис. 2.4).
Рисунок 2.4. Архитектура смешанного Web-приложения
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
