![](/user_photo/8997_nLds_.jpg)
Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009
.pdf14. Введение |
в технологии |
публикации |
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>