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

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

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

14. Введение

в технологии

публикации

533

Интерфейс OLE DB (Object Linking and Embedding DataBase — связывание и встраивание объектов баз данных) является более универсальной технологией для доступа к любым источникам данных через стандартный интерфейс COM (Component Object Model — объектная модель компонентов). Данные могут быть представлены в любом виде и формате (например, в качестве данных могут выступать реляционные БД, электронные таблицы, документы в rtf-фрмате и т. д.). В интерфейсе OLE DB используется механизм провайдеров, под которыми понимаются поставщики данных, находящиеся в надстройке над физическим форматом данных. Такие провайдеры еще называют сервис-провайдерами, благодаря им можно объединять в однотипную совокупность объекты, связанные с разнообразными источниками данных.

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

Интерфейс OLE DB может использовать для доступа к источникам данных интерфейс ODBC. В этом случае применяется OLE DB-провайдер для доступа к ODBC-данным. Таким образом, интерфейс OLE DB не заменяет интерфейс ODBC, позволяет организовывать доступ к источникам данных через различные интерфейсы и в том числе ODBC.

Интерфейс ADO (ActiveX Data Objects — объекты данных ActiveX) предоставляет иерархическую модель объектов для доступа к различным OLE DB-провайдерам данных. Он характеризуется еще более высоким уровнем абстракции и базируется на интерфейсе OLE DB. Объектная модель ADO включает небольшое количество объектов, которые обеспечивают соединение с провайдером данных, создание SQL-запроса к данным, создание набора записей на основе запроса и др. Разрабатывая интерфейс ADO, фирма Microsoft предназначала его для использования в Интранет/Интернет сетях для доступа к различным источникам данных.

Статическая публикация БД

При публикации БД на Web-страницах используются следующие способы формирования Web-страниц:

статическая публикация Web-страниц, содержащих информацию из БД;

динамическая публикация Web-страниц, содержащих информацию из БД.

Рассмотрим особенности формирования каждого типа страниц.

В случае статистической публикации Web-страницы создаются и хранятся на Web-cepeepe до поступления запроса пользователя на их получение (в виде файлов на жестком диске в формате Wcb-документа). Генерацию таких страниц может выполнять обычное Windows-приложение, имеющее доступ к БД.

534

Часть 4. Публикация

баз данных в Интернете

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

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

Динамическая публикация БД

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

При динамической публикации страницы создаются после поступления запроса пользователя на сервер. Сервер передает запрос на генерацию таких страниц программе-расширению сервера, которая формирует требуемый документ и затем сервер отсылает готовые Web-страницы обратно обозревателю. Для формирования динамических страниц используются различные средства и технологии: ASP, РНР и IDC/HTX-страницы, программы расширения сервера на основе интерфейсов CGI и ISAPI.

В случае использования ASP, РНР и IDC/HTX-страниц запрос на получение динамически формируемой Web-страницы передается специальным динамическим библиотекам, входящим в состав Web-сервера. Например, если используется Personal Web Server и публикация осуществляется средствами IDC/HTX, то применяется динамическая библиотека «httpodbc.dll». Такие библиотеки анализируют файл ASP или IDC и НТХ файлы, которые используются в качестве шаблона.

Путь к файлу ASP или IDC задается в строке запроса. Сервер по расширению имени файла в строке запроса принимает решение о передаче управления требуемому модулю расширения. Если указывается ехе-файл, то используется интерфейс CGI. При указании в строке запроса dll-файла применяется интерфейс ISAPI.

При реализации модулей расширения сервера в формате интерфейсов программирования CGI и ISAPI для использования шаблонов программист должен разрабатывать собственные средства. Например, в инструментальных системах быстрой разработки приложений, таких как Delphi или С++Builder, разработаны специальные компоненты, входящие в состав

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

библиотеки VCL, которые позволяют разрабатывать Web-нриложсния и автоматически генерировать Web -документ на основе шаблона, аналогичного шаблону НТХ.

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

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

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

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

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

совместимость Web-обозревателей;

разграничение доступа и обеспечение безопасности данных;

надежность линий связи.

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

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

536

Часть

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

Протоколы

передачи

гипертекста

В сети Интернет могут использоваться различные платформы и серверы: для операционной системы Windows NT и Windows 2000 — это Microsoft Internet Information Server (MS IIS), для UNIX систем — Apache Server (этот сервер распространяется в исходных кодах, поэтому после перекомпиляции может выполняться и в других операционных системах), а для Windows 98 — Microsoft Personal Web Server.

Запросы от обозревателя поступают на сервер в соответствии с установленным протоколом обмена, например, H T T P (HyperText Transfer Protocol — протокол передачи гипертекста). В сети Интернет существует более десятка протоколов. Протокол HTTP является одним из самых распространенных протоколов и предназначен для передачи данных различных форматов между обозревателем и сервером. Соединение между компьютером-отправителем и компьютером-получателем осуществляется с помощью протокола низкого уровня T C P / I P (Transfer Control Protocol/Internet Protocol — протокол управления передачей/Интернет протокол).

Протокол T C P / I P представляет собой универсальный независимый от платформы протокол передачи данных по сети. За физическую передачу данных отвечает протокол IP. TCP представляет собой протокол более высокого уровня. Он разбивает в компьютере-отправителе файлы на пакеты, добавляет в каждый из них адрес получателя и их порядковый номер пакета в группе пакетов. В компьютере-получателе протокол TCP собирает файлы из пакетов, проверяет их целостность и может посылать запрос на повторную передачу.

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

Универсальный указатель ресурсов

Обозреватель формирует запрос на получение нужной страницы с помощью универсального указателя ресурса — URL (Universal Resource Locator). Для загрузки требуемой страницы в окне обозревателя указывается строка адреса. Загрузку требуемого документа можно осуществить и из Web-доку- мента с помощью специальных тегов.

Приведем структуру URL для протокола HTTP:

ИПр://<хост>/<порт>:<путь>?<поиск>

Здесь:

• http — имя протокола, используемого для доступа к ресурсу

14. Введение

в технологии

публикации

537

<хост> — имя домена, используемое для поиска требуемого Web-узла в Интернет

<порт> — номер порта, который задает номер логического канала связи в Интернете

<иуть> — задает локальный путь к файлу

<поиск> — дополнительные параметры запроса

Вобозревателях используют следующие два типа адресов указателей:

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

Относительные указатели используются для получения доступа к файлу, расположенному на том же компьютере, что и документ, в котором находится указатель на этот файл. Например, если обозреватель загрузил страницу, находящуюся по адресу "http://myweb", то при задании относительного адреса "/ту" реальный адрес будет "http://myweb/my". Относительные адреса удобны в использовании в пределах одного компьютера.

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

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

14.2. Состав и теги HTML-документа

HTML-документ есть разновидность Web-документа и в общем случае представляет собой текстовый документ (обычный ASCII-файл), который может быть отредактирован в любом текстовом редакторе. Он состоит из текстовых данных, обрамленных специальными управляющими операторами (тегами). Теги несут в себе служебную информацию для обозревателя и могут задавать различные режимы форматирования. По сути дела язык HTML является языком разметки документов, используемых в Интернете.

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

<HTML>

Теги могут быть парными и непарными. Парные теги делятся на открывающий и закрывающий. Пара таких гегов называется контейнером.

538

Часть 4. Публикация

баз данных в Интернете

Например, весь HTML-документ обрамляется следующими тегами:

<HTML>

<!—Это комментарий, который обозреватель не отображает. — >

Текст HTML-документа

</HTML>

Здесь <HTML> — открывающий тег, < / H T M L > — закрывающий тег, между ними могут находиться некоторые текстовые данные.

<!--Это комментарий, который обозреватель не отображает.—> — это пример непарного тега, который является комментарием и обозревателем не отображается.

HTML-документ состоит из двух частей — заголовка и тела документа. Заголовок документа является не обязательным элементом, он может ис-

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

По функциональному назначению различают следующие основные группы тегов:

структурные теги, отвечающие за формирование основных разделов (частей) HTML-доку мента;

теги форматирования текста, управляющие выводом текста в окно обозревателя;

табличные теги, используемые для создания простейших таблиц;

теги кадров, служащие для разделения окна обозревателя на изолированные области вывода данных;

теги форм, служащие для поддержания диалога между HTML-страни- цей и пользователем;

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

ссылочные теги, формирующие ссылки на части документа или другие HTML-доку менты;

теги-дескрипторы внедряемых объектов, позволяющие внедрять апплеты, дополнительные модули, элементы управления ActiveX и другие объекты.

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

14. Введение

в технологии

публикации

539

Структурные теги

Структурные теги отвечают за выделение основных разделов (частей) HTML-документа. К ним относятся теги границ документа (<HTML> ...

</HTML>), теги заголовка документа (<HEAD> ... </HEAD>), теги тела документа (<BODY> ... </BODY>).

Тег <HTML> контейнерного типа, указывает начало HTML-доку мента, а тег </HTML> указывается в последней строке документа. Эти теги обозначают, что находящиеся между ними строки представляют единый HTML-доку- мент, а не обыкновенный файл в формате ASCII.

Замечание.

Хотя большинство современных обозревателей могут опознать документ и не содержащий тегов <HTML> и </HTML>, но, учитывая разнообразные области применения HTML (электронная почта и др.), их употребление желательно.

Внутри тегов <HEAD> ... </HEAD>, определяющих заголовок документа, могут находиться другие теги, задающие название документа и другую общую информацию. Например, название документа, которое обычно показывается в заголовке окна обозревателя, записывают между тегами <TITLE> и </TITLE> в виде текстовой строки.

Тело документа задается с помощью тегов <BODY> ... </BODY> в следующем формате:

<BODY атрибуты>

... содержимое документа...

</BODY>

Здесь атрибуты не обязательны и определяют внешний вид документа; содержимое документа — любые допустимые элементы HTML-доку мента.

Например, HTML-доку мент, содержащий заголовок и одну строку текста, имеет следующий вид:

<HTML>

<HEAD> <!—Это заголовок документа. -->

<title> Это заголовок простого HTML-документа! </title> </HEAD>

<BODY> <!—Это тело документа. --> Это текст простого HTML-документа! </BODY>

</HTML>

Приведенный пример представляет собой описание HTML-доку мента с минимальным набором тегов.

540

Часть 4.

Публикация баз данных в Интернете

 

Теги форматирования

текста

Теги форматирования текста используются для того, чтобы HTML-доку- мент был более наглядным и читаемым. В этом разделе приведем некоторые наиболее часто используемые из таких тегов.

Разделение текста на абзацы осуществляется с помощью тега контейнерного типа < Р ALIGN=aTpn6yT>.. .</Р>. Применение этого тега позволяет разделять текст на абзацы независимо от установок параметров окна обозревателя. В теге абзаца атрибут ALIGN может принимать значения LEFT, CENTER и RIGHT, задающие выравнивание текста по левому краю, по центру, и по правому краю соответственно. По умолчанию (при отсутствии атрибута) выравнивание текста осуществляется по левому краю.

Перевод каретки (каретка указывает на текущую позицию, в которую будет производится следующий вывод текста) на следующую строку в любом месте HTML-доку мента осуществляется тегом разрыва строки <BR>. В отличие от тега абзаца тег <BR> не пропускает строку.

Для повышения читабельности HTML-документа используются заголовки. Тег <Н1 > задания заголовка является контейнерным и имеет открывающий (<Н1 ALIGN=aTpn6yT>) и закрывающий (</Н1 >) теги. HTML располагает шестью уровнями (относительными размерами шрифта) заголовков: Н1 (самый верхний), Н2, НЗ, Н4, Н5 и Н6 (самый нижний). Например, задание заголовка со вторым уровнем размера шрифта имеет вид:

<Н2> Текст из файла </Н2>.

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

Тег <HR> позволяет провести рельефную горизонтальную линию в окне большинства программ просмотра, он не требует закрывающего тега. При указании этого тега до и после линии автоматически вставляется пустая строка.

Тег < l> является контейнерным и используется для выделения текста курсивом. Например:

<l> Выделенный текст </l>

Тег <В> является контейнерным и используется для выделения фрагментов текста полужирным шрифтом. Например:

<В>Этот текст будет выделен полужирным шрифтом!</В>

Тег <ТТ> является контейнерным и используется для вывода текста шрифтом фиксированной ширины. Например:

<ТТ> Этот текст выведен с использованием шрифта фиксированной ширины! </ТТ>

14. Введение

в технологии

публикации

541

Тег <U> является контейнерным и используется для подчеркивания текста. Например:

<и>Подчеркнутый текст</11>

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

Атрибут FACE используется для задания гарнитуры шрифта, которым обозреватель отображает соответствующий текст. При отсутствии шрифта нужной гарнитуры обозреватель использует шрифт с гарнитурой, установленной по умолчанию. Например:

<FONT FACE= "Arial"> Этот текст выводится с использованием шрифта Arial. </FONT>

Атрибут SIZE используется для указания размера шрифта в условных единицах от 1 до 7. Например:

<FONT SIZE=I> Текст выводится с использованием размера шрифта = 1 </FONT>

Пример простейшего HTML-документа, в котором использовано форматирование текста:

<HTML>

<HEAD> <!--Это заголовок документа. --> <title> Это заголовок HTML-документа! </title> </HEAD>

<body> <!—Это тело документа. — > <Н2> Текст из файла </Н2>

<BR>

<pALIGN=CENTER> <FONT FACE= "Arial">

<l> Выделенный текст, выведенный с использованием шрифта Arial</I> </FONT>

<BR>

<FONT SIZE=2>

<В>Этот текст будет выделен полужирным шрифтом и имеет размер 2!</В> <BR>

<ТТ> Этот текст выведен с использованием шрифта фиксированной ширины! </ТТ>

</Р>

</body>

</HTML>

542

Часть 4. Публикация

баз данных в Интернете

Вид описанного в приведенном примере HTML-доку мента в окне обозревателя Microsoft Internet Explorer показан на рис. 14.2.

' З Э то заголовок HTML-документа! - Microsoft Internet Ex...

файл

Правка

Дид

Перевод

Избранное Справка

Ф>

 

в

'

0D

О

Назад

*

Вперед

т

Остановить

Обновить

Домой

Цтш

| «V

Пс

J Адрес ® C:\nn. html

| J Ссылки |

ж

Текст из <райла

Выбеленный

текст,

выведенный

с

 

использованием

шрифта

Ariai

— jII

Этот текст будет выделен полужирным шрифтом

 

и имеет размер 2!

 

 

Этот текст

виведек

с использованием ифмфта фиксированной

zi

 

.

иптиич'

 

j

| jj p

Мой компьютер

 

^

Рис. 14.2. Вид документа с форматированием текста в окне обозревателя

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

Табличные теги

Для создания таблиц используется табличный тег <TABLE>, являющийся контейнерным тегом. В этом теге-контейнере размещается содержимое таблицы. В теге <TABLE> могут использоваться следующие атрибуты:

BORDER — для определения рамки таблицы. Ширина рамки устанавливается в пикселях, например BORDER=2 (по умолчанию 1);

ALIGN — для выравнивания таблицы в окне обозревателя. Имеет значения LEFT (по умолчанию), CENTER и RIGHT.

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

• <ТН> — задает заголовки столбцов (строк), которые выделяются полужирным шрифтом и центрируются в своих ячейках;

• <TD> — задает данные в ячейках.