Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009

.pdf
Скачиваний:
4972
Добавлен:
14.05.2016
Размер:
14.64 Mб
Скачать

14. Введение в технологии публикации

563

table-cell — ячейка таблицы; •table-column — столбец таблицы.

К числу элементов объектной модели HTML-документа, которые могут быть использованы в качестве объектов потока XSL, относятся такие, как:

A, AREA, BASE, BODY, CAPTION, COL, COLGROUP, DIV, FORM, FRAIMSET, SCRIPT, TD, TEXTAREA, TITLE, TR.

Структура форматирования элементов в выходном документе на основе элементов в исходном ХМL-документе определяется с помощью правил построения, имеющих следующий формат записи:

<rule>

< шаблон> <действие>

</rule>

Например, правило построения:

<rule>

<target-element type="title"/>

<Р margin-left="1.2in" font="16pt "Sans Serif""> </P>

</rule>

задает форматирование элементов <title> в виде элементов <Р> в HTML-до- кументе, которые отображаются шрифтом гарнитуры Sans Serif, размером 16 пунктов и с левым полем в 1.2 дюйма.

Шаблоны служат для описания элементов исходного документа или эле-

ментов, на которые действуют правила построения, и имеют следующий формат:

<rule>

ctarget-element type="3nei\/ieHT"> <действие>

</rule>

Например:

<rule>

<target-element type="book"> <P font-size="18pt">

</P>

</rule>

В приведенном шаблоне значение параметра type определяет составную часть исходного ХМ L-документа (target-element — целевой элемент), к которому будет применено приведенное далее действие (форматирование с заданным размером шрифта).

564

Часть 4. Публикация баз данных в Интернете

Для сравнения элементов с целью определения форматируемых элементов в шаблонах используются следующие символы подстановки (трафаретные символы — wildcards):

<target-element/> — шаблон должен действовать на все элементы. Для распространения действия шаблона на дочерние элементы можно задать дополнительный отбор с помощью элементов <element>;

<any>...</any> — шаблон действует на произвольное число эелементов, вложенных в целевой элемент (<target-element/>).

Например, шаблон вида

<rule>

<element type="title">

<any>

ctarget-element type="paragraph"/> </any>

</element>

<действие>

</rule>

задает указанное форматирование (<действие>) для всех элементов элементов paragraph, размещенных на любом уровне вложенности элементов title.

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

Спецификатор has-value определяет, имеет ли заданный атрибут произвольное значение или нет. В составе правила построения указанный спецификатор записывается в следующем формате:

<rule>

ctarget-element type="element"> <attribute="HMfl" has-value="yes">

<действие>

</rule>

При задании такого спецификатора для анализируемой части XML-доку- мента будет Применено форматирование, определяемое указанным в шаблоне действием, если целевой элемент документа (параметр type) имеет атрибут с любым значением.

Спецификатор position определяет позицию элемента в составе XML-до- кумента и может принимать следующие четыре значения:

first-of-any — первый из родственных элементов указанного типа;

last-of-any — последний из родственных элементов указанного типа;

14. Введение в технологии публикации

565

first-of-type — первый из элементов указанного типа;

last-of-type — последний из элементов указанного типа.

Используя указанный спецификатор, можно задать различное форматирование для однотипных (of-type) и родственного типа (of-any) элементов документа, различающихся своим положением (позицией) в документе. В частности, такими элементами могут быть главы в книге или фамилии авторов в списке. Например, пусть в шаблоне для форматирования абзацев заданы следующие два правила построения.

<rule>

<target-element type="paragraph"> <действие 1 >

</rule>

<rule>

ctarget-element type="paragraph" position="first-of-type"> <действие2>

</rule>

Здесь для первого абзаца (position="first-of-type") мы задаем форматирование (<действие2>), отличное от форматирования (<действие1>) остальных абзацев.

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

Контрольные вопросы и задания

1.Назовите примеры прикладных задач публикации баз данных в Интернете.

2.Изобразите схему взаимодействия Web-обозревателя и Web-сервера с использованием программ расширения.

3.Дайте общую характеристику языкам подготовки сценариев.

4.Что представляют собой элементы управления ActiveX?

5.Каково назначение апплетов и сервлетов Java?

6.Дайте общую характеристику интерфейсу CGI.

7.Каковы назначение и основные характеристики интерфейсов ISAPI/NSAPI?

8.Что представляют собой ASP, РНР и ЮС/НТХ-страницы?

9.В чем отличие интерфейсов OLE DB, ADO и ODBC?

10.В каких случаях целесообразно применять статическую публикацию баз данных и в каких динамическую?

11.Охарактеризуйте протоколы, используемые для передачи гипертекста.

12.Приведите примеры структурных тего языка HTML.

13.Какие теги языка HTML используются для создания форм?

566

Часть 4. Публикация баз данных в Интернете

14.Приведите примеры графических тегов и тегов задания гиперссылок.

15.Дайте общую характеристику языка XML.

16.Перечислите составляющие XML-документа.

17.Каково назначение определения типа XML-документа и как оно задается?

18.Каким образом задается стилевое оформление XML-документа?

19.Запишите XML-документ, описывающий книгу.

20.Приведите пример определения типа XML-документа, описывающего каталог книг.

Литература

1.ВеберДж. Технология^уаФ в подлиннике/ Пер. с англ. — СПб.: ВН V-Саикт- Петербург, 1999.

2.Вейнер Г1. Языки программированияJava иJavaScript / Пер. с англ. — ЛОРИ, 1998.

3.Дунаев С. Б. Технологии Интернет-программирования. — СПб.: БХВ-Петер- бург, 2001.

4.Коннолли Т., Бегг К. Базы данных. Проектирование. Реализация и сопровождение. Теория и практика. — М.: Вильяме, 2003.

5. Матросов А. В., Сергеев А. О., Чаунин М. П. HTML 4.0. - СПб.: БХВ-Санкт- Петербург, 2000.

6.Мещеряков Е. В., Хомоненко А. Д. Публикация баз данных в Интернете. — СПб.: БХВ-Петербург, 2001.

7.Пигпс-Моултис Н., Кирк Ч. XML / Пер. с англ. — СПб.: BHV-Санкт-Петер- бург, 1999.

8.Уильяме Э. Э Барбер К., Нъюкирк П. Active Server Page / Пер. с англ. - СПб.: БХВ-Петербург, 2001.

9.Фролов А. В., Фролов Г. В. Базы данных в Интернете: практическое руководство по созданию Web-приложений с базами данных. — М.: Издательско-тор- говый дом «Русская редакция», 2000.

15.Vl/еЬ-приложенияи Web-серверы

567

15. Web-приложения и Web-серверы

Современные Web-приложения применяются для создания информаци-

онных систем в сетях Интернет/интранет и обычно строятся как многозвенные (многоуровневые) приложения, публикующие БД.

Введение многоуровневой архитектуры при большом числе клиентских компьютеров обусловлено необходимостью уменьшения нагрузки на сервер баз данных и линии связи. Построение Web-приложений, предназначенных для использования в интранет, может существенно отличаться от построения сетевых приложений БД на основе клиент-серверных технологий.

В этой главе описываются принципы функционирования и архитектура Web-приложений, особенности Web-приложений, публикующих БД в сетях Интернет/интранет, а также рассматриваются характеристика и особенности.

15.1. Принципы функционирования Web-приложений

Программные средства сетей Интернет/интранет включают новую категорию программ — Web-приложения. К Web-приложениям относят набор Web-страниц, сценариев и других программных средств, расположенных на одном или нескольких компьютерах (клиентских и серверных) и объединенных для выполнения прикладной задачи. Web-приложения, публикующие БД в Интернет, представляют отдельный класс Web-приложений.

Современные информационные системы в сетях Интернет/интранет, построенные на основе Web-приложений, использующих БД, по своей архитектуре и организации работы опираются на принципы, заложенные в многоуровневых клиент-серверных приложениях и принципах функционирования Интернета. Основы архитектуры многоуровневых клиент-серверных приложений рассмотрены в предыдущей главе. Web-приложения имеют ряд особенностей функционирования, заключающиеся в принципах работы Интернета. Кратко напомним основные из этих принципов.

Web-приложения выполняются на стороне Web-сервера, который находится на Web-узлах сети Интернет. Web-сервер обрабатывает запросы обозревателя на получение Web-страниц и отсылает требуемые данные обозревателю в формате Web-документов.

Обмен данными в сети Интернет осуществляется на аппаратном уровне на основе протокола TCP/IP и протокола более высокого логического уровня HTTP. Упрощенная схема функционирования Web-приложения приведена на рис. 15.1.

568

Часть 4. Публикация баз данных в Интернете

TCP/IP

Рис. 15.1. Упрощенная схема функционирования Web-приложения

Напомним, что под Web-документом (Web-страницей) понимают документы, используемые в сети Интернет в форматах HTML, XML, шаблоны в форматах ASP, НТХ и т. д.

Для доступа к Web-страницам используются специальные клиентские программы — обозреватели Web, находящиеся на компьютерах пользователей Интернета. Обозреватель формирует запрос на получение требуемой страницы или другого ресурса с помощью адреса URL. Функции обозревателя заключаются в отображении Web-страниц, сгенерированных сервером или модулями расширения, и отправке запросов пользователя Web-приложению. Обозреватель является связующим звеном между пользователем и Web-при- ложением. При этом Web-обозреватель устанавливает соединение с требуемым Web-узлом, используя различные протоколы передачи данных, нами рассматривается использование протокола HTTP.

Web-приложения в сетях интранет

Развитие технологий в сети Интернет привело к появлению новых архитектурных и технологических решений для локальных корпоративных инт- ранет-сетей. Сети интранет построены на том же аппаратно-программном обеспечении, принципах и протоколах, что и сеть Интернет. В общем случае под сетью интранет понимают выделенную часть сети Интернет, в которой

выполняется Web-приложение (информационная система).

Применение Интернет-технологий в корпоративных интранет-сетях позволяет повышать эффективность функционирования сетей и используемых в них информационных систем.

Приложения, построенные на основе использования Интернет-техноло- гий, характеризуются надежностью и масштабируемостью, открытостью архитектуры, простотой изучения и использования.

15.Vl/еЬ-приложенияи Web-серверы

569

Надежность WEB-приложений обусловлена устойчивостью работы про- граммно-аппаратных средств сети Интернет, устойчивость к сбоям которых испытана в течение многих лет. Например, наиболее популярные WEB-cep- вера осуществляют обработку более 50 миллионов обращений в день, не имея при этом катастрофических сбоев.

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

Открытость архитектуры интранет-приложений основывается на гибкой многоуровневой архитектуре и стандартизированных протоколах и форматах документов, доступных для модификации.

Простота изучения и использования интранет-приложений обусловлена стандартизацей пользовательского интерфейса на основе применения однотипного клиентского приложения — обозревателя со стандартным пользовательским графическим интерфейсом. Достаточно освоить принципы работы одной программы обозревателя, чтобы можно было работать с любыми инт- ранет-приложениями.

Кроме того, использование интранет-приложений характеризуется значительным снижением денежных затрат (в десятки и сотни раз) на обслуживание, модернизацию и наращивание сети интранет по сравнению с традиционными корпоративными сетями, построенными на клиент/серверных технологиях. Важным достоинством сетей интранет является возможность развертывания на существующей инфраструктуре корпоративных локальных и глобальных сетей. Для построения сети интранет допускается простое встраивание в существующие корпоративные сети с использованием существующего аппаратного обеспечения.

При использовании Web-приложений в сети интранет может использоваться архитектура, показанная на рис. 15.2. Сеть интранет в общем случае имеет различную внутреннюю структуру, построенную на принципах Интернет. Причем сеть интранет может и не иметь выход в Интернет.

Сеть интранет строится на основе архитектуры распределенных приложений БД и архитектуры Web-приложений. Напомним, что взаимодействие между распределенными компонентами такой сети осуществляется на аппаратном уровне на базе протокола TCP/IP, а на логическом уровне — на принципах, заложенных в протоколе HTTP.

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

570

Часть 4. Публикация баз данных в Интернете

Рис. 15.2. Схема функционирования Web-приложения с использованием модулей расширения

Вкачестве клиентских приложений в этой архитектуре выступают Webобозреватели, которые обращаются с запросами к серверу БД или к серверу приложений через Web-cepeep. В зависимости от используемой архитектуры Web-cepeep может находиться на сервере БД или на сервере приложений.

Вфункции Web-cepeepa в сети интранет входит обработка запросов Webобозревателей на получение информации из разделяемых БД, преобразование этих запросов (может выполняться модулями расширения Web-cepeepa)

вSQL-запросы или другие форматы, понятные для сервера БД или сервера приложений.

Интранет-приложение предоставляет следующие дополнительные возможности:

• Реализация концепций удаленного доступа и управления. Концепция удаленного доступа подразумевает возможность удаленного подключе-

ния к интранет-сети, то есть подключение к сети интранет из любого компьютера сети Интернет. Под удаленным управлением понимается подклю-

чение к локальной сети и выполнение функциональных операций по управлению ресурсами локальной сети с удаленного компьютера. Для реализации дистанционного управления необходимо наличие специального сервера удаленного доступа и специального программного обеспечения на удаленном компьютере;

15.Vl/еЬ-приложенияи Web-серверы

571

Обеспечение доступа в Интернет клиентов сети. При этом становятся доступными услуги, предоставляемые сетью Интернет, связанные с возможностью получения свежей информации в различных сферах, становятся доступны услуги электронной почты, возможность обмена информацией с внешними информационными и деловыми источниками, а также использование приложений, находящихся в Интернете, использование Интернета для рекламы и т. д.

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

Современные сети интранет имеют различное назначение и особенности конкретной реализации. При этом выделяют следующие принципы построения сетей интранет:

иерархическая архитектура интранет-приложений. При такой архитектуре информация размещается иерархически сверху вниз. Для этого создают узловые серверы, на которых размещается наиболее важная информация, используемая совместно несколькими отделами или подсетями. При этом серверы могут составлять иерархическую структуру. На верхнем уровне находится сервер с информацией, необходимой для клиентов всей сети, а на нижних уровнях иерархии находятся специализированные серверы, содержащие информацию, используемую для групп клиентов сети. Таким образом обеспечивается максимально быстрый доступ к любой внутрисетевой информации и снижаются затраты на обновление корпоративной информации;

использование «двусторонней обратной связи» с клиентами сети для обработки их запросов. При этом процесс восстановления при сбоях или перерывах в работе происходит с использованием механизма транзакций. Интранет-приложения, построенные на основе этого принципа, называют транзакционными Web-приложениями. Их целесообразно использовать, к примеру, при создании Интернет-магазинов с помощью промышленных СУБД. При этом можно эффективно отслеживать осуществление всех операций цикла продажи товара (заказа товара, оплаты и доставки товара);

572

Часть 4. Публикация баз данных в Интернете

использование группового способа общения. В этом случае объединяются группы новостей с возможностью прямого обмена информацией между различными членами группы клиентов и разграничение доступа к информации для пользователей вне группы.

Применение архитектуры Web-приложений в сетях интранет но сравнению с традиционными архитектурами локальных сетей имеет следующие преимущества:

стандартизация пользовательского интерфейса — использование обозревателя в качестве универсальной клиентской программы позволяет упростить процесс обучения пользователей и обслуживания клиентских компьютеров;

более удобное администрирование и конфигурирование заключается в том, что в сети интранет вносимые в серверах приложений и серверах БД изменения не затрагивают клиентский уровень, то есть не надо вно-

сить изменения в огромное количество компьютеров пользователей сети при изменений конфигурации БД (достаточно изменить текст сценария, хранящийся на Web-cepBepe);

•удешевление установки и лицензирования клиентских компьютеров пользователей сети интранет.

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

Последовательно рассмотрим взаимодействие Web-приложения с дополнительными компонентами: модулем расширения клиентской части и моду-

лем расширения серверной части (рис. 15.1).

 

Web-приложения

с модулями расширения

сервера

Архитектура Web-приложений с модулями расширения сервера (рис. 15.3) может включать стандартные модули расширения — dll-библиотеки, реализующие, например, технологии ASP, IDC/HTX, объекты ActiveX. Кроме того, могут подключаться дополнительные модули, разработанные с использованием интерфейсов CGI, ISAPI и др.

В этом случае в функции Web-сервера входят обработка запросов Webобозревателей пользователей сети, вызов (загрузка) соответствующего модуля расширения сервера и передача ему параметров запроса. В результате обработки запроса модулями расширения сервера формируется Web-документ с использованием различных HTML-шаблонов. Готовый HTML-документ отсылается Web-обозревателю в формате протокола HTTP.

Web-сервер формирует динамически Web-страницы различными способами и отсылает готовые Web-страницы в формате протокола HTTP.