Рефераты - Афоризмы - Словари
Русские, белорусские и английские сочинения
Русские и белорусские изложения

Интернет-технологии и системы

Работа из раздела: «Программирование, компьютеры и кибернетика»

/

- 9 -

/

Содержание

Введение

§1. Теоретические сведения

1.Интернет технологии

1.1 Основы Интернет технологий

1.2 Элементы управления ActiveX

1.3 Апплеты и сервлеты Java

1.4 Интерфейсы CGI и WinCGI

1.5 Интерфейсы ISAPI/NSAPI

16 SP, РНР и IDC/HTX-страницы

1.7Формирование Web-страниц

2. Web-приложения, публикующие БД

2.1 Принципы функционированияWeb

2.2 Архитектура Web-приложений

2.3 Web-приложения на основе CORBA

2.4 Технологии публикации баз данных

2.5 Публикация баз данных средствами MS FrontPage XP

2.6 Организация работы с БД с помощью ASP

§2. Публикация содержимого баз данных на Web-страницах

1.1 Статистическая и динамическая публикация

1.2 Публикация статических Web-страниц

1.3 Публикация динамических Web-страниц

1.4 Динамическая публикация отчетов из БД

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

Заключение

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

Введение

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

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

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

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

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

Размещение информации из БД во всемирной сети стало возможным в связи с развитием технологий Интернета.

Объект исследования - процесс организации учебной деятельности студентов высших учебных заведений при изучении баз данных и их публикации в интернете.

Предмет исследования - изучение баз данных и их публикация в интернете.

Цель данной курсовой работы - совершенствование знаний для публикации баз данных в интернет.

Цель исследования потребовала решения ряда конкретных задач:

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

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

Построение локальных интранет-сетей на основе технологии публикации БД в Интернете. При этом локальные сети строятся на принципах Интернета с наличием при необходимости выхода в глобальную сеть.

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

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

Применение языка SQL для поиска необходимой информации в БД.

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

Стандартизация пользовательского интерфейса на основе применения обозревателей Web с типовым внешним видом и типовой реакцией на действия пользователя.

Использование обозревателя Web в качестве дешевой клиентской программы для доступа к БД.

§1. Теоретические сведения

1.Интернет технологии

1.1 Основы Интернет технологий

В Интернете вся информация размещается на Web-страницах, написанных на языке HTML (в этом случае имеем HTML-страницы) или его расширениях, таких как DHTML (Dynamic HTML -- динамический HTML) и XML (extensible Markup Language -- расширяемый язык разметки). В содержимое Web-страницы может входить текстовая информация, ссылки на другие Web-страницы, графические изображения, аудио-, видеоинформация и другие данные. Эти страницы хранятся на Web-сервере.

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

В функции Web-обозревателя входит отображение Web-страниц, которые формирует Web-сервер. При этом Web-обозреватель устанавливает соединение с требуемым Web-узлом, используя протокол передачи данных HTTP.

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

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

сценарии, подготавленные на различных языках сценариев (JavaScript, JScript и VBScript) и вставленные в обычный Web-документ;

апплеты и сервлеты Java;

элементы управления ActiveX;

консольные ехе-программы, реализованные с использованием интерфейса CGI;

ехе-программы, реализованные с использованием интерфейса WinCGI;

динамические библиотеки, реализованные с использованием интерфейса ISAPI;

динамические страницы IDC/HTX;

активные серверные страницы ASP;

персональные домашние страницы РНР.

Дадим краткую характеристику каждого из названных средств.

Сценарии JavaScript, JScript и VBScript

Сценарии, написанные на языках JavaScript, JScript или VBScript, используют для динамического управления интерфейсными объектами (компонентами) Web-документа. Эти языки являются языками интерпретируемого типа (код выполняется в процессе интерпретации). Интерпретация и выполнение сценариев осуществляется обозревателем или сервером. Сценарии являются расширением языка HTML и могут включаться в тело Web-документа.

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

JavaScript представляет собой объектно-ориентированный язык с С-по-добным синтаксисом. Сценарии на языке JavaScript используются в обозревателе Netscape Navigator, а сценарии на языке J Script используются в обозревателе Internet Explorer. Лексика и синтаксис этих языков практически идентичны, отличия заключаются в используемых объектных моделях обозревателей (совокупностях элементов, их атрибутов и событий Web-документа). В обозревателе Internet Explorer дополнительно поддерживается язык сценариев VBScript, по возможностям функционально эквивалентный языку JScript, но более простой в освоении. Этот язык наиболее часто используется программистами, имеющими опыт работы с Microsoft Visual Basic.

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

1.2Элементы управления ActiveX

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

В коде объектов ActiveX имеется потенциальная возможность наличия вируса. Если загрузить такой объект, то компьютеру клиента в принципе может быть причинен вред. Для частичного устранения этого недостатка ком- пания Microsoft добавляет в свои коды цифровую подпись (signing), которая обозначает, что данный объект создан надежной компанией. При этом обозреватель Internet Explorer, используя такой объект, выдает предупреждающее сообщение с предоставлением возможности пользователю отменить выполнение кода этого объекта. Этот механизм предназначен для идентификации модулей ActiveX и не устраняет возможность заражения вирусом компьютеров пользователей, использующих объекты ActiveX.

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

1.3 Апплеты и сервлеты Java

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

1.4 Интерфейсы CGI и WinCGI

Для создания модулей расширения Web-сервера могут использоваться интерфейсы CGI (Common Gateway Interface -- общий шлюзовой интерфейс) или интерфейсы программирования API (Application Program Interface -- интерфейс прикладного программирования).

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

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

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

Существует адаптированный вариант общего интерфейса для среды Windows 3.1 -- WinCGI. Этот интерфейс отличается от интерфейса CGI тем, что управляющие параметры передаются через INI-файл, а входной и выходной потоки данных перенаправлены в специальные файлы. В остальном механизм взаимодействия с сервером аналогичен механизму, используемому интерфейсом CGI.

Используется также интерфейс FastCGI, который близок к интерфейсу CGI, но в то же время обладает преимуществами интерфейсов ISAPI/NSAPI (рассмотрены ниже). Приложения, написанные в соответствии с ним, запускаются как отдельные изолированные процессы, но являются постоянно активными и не завершаются после обращения к данным, как CGI-сценарии.

1.5 Интерфейсы ISAPI/NSAPI

Более перспективными являются интерфейсы ISAPI/NSAPI (Internet Server API/Netscape Server API), разработанные фирмами Microsoft и Netscape соответственно. Они также предназначены для разработки дополнительных модулей расширения Web-сервера. В случае их использования модули расширения реализуются в виде библиотек DLL. Запуск модуля расширения выполняется сервером в ответ на запрос обозревателя на загрузку URL-адреса этого модуля. Взаимодействие между сервером и модулем расширения осуществляется с помощью специальных объектов (Request, Response). Сервер передает параметры запроса модулю расширения и получает сформирован-ный Web-документ,' который передается с помощью протокола HTTP обозревателю.

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

1.6 ASP, РНР и IDC/HTX-страницы

ASP, РНР u IDC/HTX-страницы -- это специальный тип страниц, используемых для динамического формирования на сервере Web-страниц, содержащих информацию из БД.

IDC-страница содержит алиас (псевдоним) БД, или системную запись, используемую операционной системой для связи с базой данных) БД, SQL-запрос к базе данных, идентификатор пользователя и пароль для доступа к БД. НТХ-страница содержит HTML-шаблон, определяющий какую информацию и в каком формате будет иметь результирующий файл. Этот файл поддерживает все теги языка HTML и дополнительные теги для размещения информации из БД.

Активная серверная страница ASP (Active Server Page) содержит одновременно HTML-шаблон и SQL-запрос к БД. В ASP-странице используются средства языка J Script и объектная модель ASP, с помощью которых организуется доступ к БД и формируется внешний вид создаваемой Web-страницы. В ASP-страницах, также как в IDC-страницах, поддерживаются все теги языка HTM L и используются дополнительные теги для размещения кода на языке JScript.

PHP-страницы разрабатываются с помощью одноименного языка обработки сценариев PHP (Personal Home Page tools -- средства персональных домашних страниц). Синтаксис языка РНР напоминает смесь синтаксиса языков программирования С, JAVA и Perl.

ASP, РНР и IDC/HTX-страницы обрабатываются Web-сервером, в результате сервер генерирует Web-страницу содержащую информацию из БД, которая отсылается обозревателю. Рассмотрим процесс формирования Web-страниц, содержащих информацию из БД.

1.7 Формирование Web-страниц

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

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

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

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

консольные ехе-программы, использующие интерфейс CGI;

ехе-программы, использующие интерфейс WinCGI;

динамические библиотеки, использующие интерфейс ISAPI;

динамические страницы IDC/HTX;

активные серверные страницы ASP.

Кроме того, для организации связи программных расширений Web-сервера с БД используются современные интерфейсы доступа к данным OLE DB, ADO и ODBC. Эти интерфейсы являются промежуточным уровнем между источником данных и приложением, в качестве которого выступают программные расширения Web-сервера.

2. Web-приложений, публикующие БД

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

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

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

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

Обмен данными в сети Интернет осуществляется на аппаратном уровне на основе протокола TCP/IP и протокола более высокого логического уровня HTTP.

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

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

2.2 Архитектура 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 или ЮС и НТХ-файлы, которые используются в качестве шаблонов.

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

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

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

Двухуровневые Web-приложения

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

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

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

Например, если на Web-узле установлен Web-сервер Microsoft Internet Information Server, то может использоваться технология ASP-страниц, IDC/ НТХ-страниц, CGI или ISAPI-технология, а в случае установки сервера Apache может применяться CGI-технология.

При необходимости формирования параметризованного URL на уровне обозревателя могут использоваться сценарии на JavaScript для проверки правильности ввода параметров запроса.

После того как пользователь выбрал требуемую ссылку, обозреватель отсылает URL Web-серверу. Для обработки такого запроса сервер вызывает требуемый модуль расширения и передает ему параметры URL. Модуль расширения сервера формирует SQL-запрос к БД.

Из модуля расширения сервера доступ к БД может осуществляться различными способами и на основе различных интерфейсов. Например, в случае использования технологии ASP-страниц применяется несколько уровней интерфейсов: объектная модель ADO, объектный интерфейс OLE DB, интерфейс ODBC. Также возможен вариант непосредственного доступа к БД. Например, в случае модуля ISAPI, разработанного в среде Delphi, для доступа к БД может использоваться один посредник -- драйвер BDE (Borland DataBase Engine), входящий в состав программных средств модуля расширения сервера.

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

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

Трехуровневые Web-приложения

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

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

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

Таким образом, в трехуровневой архитектуре вся обработка SQL-запроса выполняется на удаленном сервере. Достоинства такой архитектуры по сравнению с предыдущей состоят в следующем:

уменьшение сетевого трафика -- в сети циркулирует минимальный объем информации;

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

повышение устойчивости Web-приложения к сбоям;

взаимозаменяемость компонентов архитектуры трехуровневого Web-приложения;

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

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

Многоуровневые Web-приложения

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

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

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

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

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

Основные достоинства многоуровневой архитектуры Web-приложений заключаются в следующем:

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

обеспечение более гибкого межплатформенного управления между Web-сервером и сервером БД;

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

2.3 Web-приложения на основе CORBA

Архитектура современных Интернет-приложений -- это трехзвенная модель с использованием клиент/серверной архитектуры и интерфейса CGI. Однако использование CGI-интерфейса для объектно-ориентированных клиентов Java не эффективно, из-за того, что этот интерфейс достаточно медленный и не обладает требуемой гибкостью. Отметим, что попытки некоторых фирм-разработчиков программного обеспечения серверов оживить CGI, внедряя в него серверные API, являются тупиковыми.

Одним из перспективных направлений развития интранет-сетей является использование технологии CORBA (Common Object Request Broker Arhitectur -- общая архитектура брокеров объектных запросов) в сочетании с технологией Java-агшлетов. CORBA представляет собой шину (интерфейс) распределенных объектов с открытыми стандартами, используемую в клиент/серверных системах. Эта технология явилась результатом работы консорциума OMG

(Object Management Group -- группы управления объектами). Единственной конкурентоспособной технологией, обладающей аналогичными возможностями, является технология DCOM (Distribute Common Object Model -- распределенная модель объектов общего применения), разработанная фирмой Microsoft.

Технология Java предполагает большую гибкость при разработке распределенных приложений, но в полной мере не поддерживает технологию клиент/сервер. Интерфейс CORBA позволяет обеспечить связь переносимых приложений Java и объектов CORBA. Технология объектов CORBA предназначена для использования в Web-приложениях вместо CGI-интерфейса.

В результате объединения Java-апплетов и CORBA-интерфейса появилось новое понятие -- объектная модель Web, означающая использование объектных моделей различных интерфейсов (модели CORBA, ADO и др.) при построении Web-приложений.

На первом уровне находится клиентское приложение -- обозреватель. В обозревателе выполняется клиентский Java-апплет, из которого может осуществляться обращение к объектам CORBA.

На втором уровне находится Web-сервер, обрабатывающий HTTP-запросы и CORBA-вызовы клиентских приложений.

На третьем уровне находится сервер-приложений. В его роли могут выступать серверы ORB (Object Request Broker -- посредник запросов объектов) или распределенные объекты CORBA, функционирующие как серверы приложений промежуточного звена и выполняющие прикладные функции и набор компонентных сервисов (услуг). Серверы ORB являются унифицированными фрагментами программы, используемыми в распределенных приложениях в качестве связующего звена между клиентскими приложениями и сервером.

Объекты CORBA взаимодействуют с серверами БД последнего уровня, используя, например, SQL в случае реляционных БД. Кроме того, объекты CORBA на сервере могут взаимодействовать и друг с другом. В основе механизма взаимодействия между объектами CORBA лежит протокол ПОР (Internet Inter-ORB Protocol -- Интернет-протокол взаимодействия ORB). Протокол НОР основывается на протоколе TCP/IP с добавленными компонентами обмена сообщениями и функционирует как общий опорный протокол при организации взаимодействия серверов ORB и объектов CORBA. В дополнение к ПОР в технологии CORBA используются ESIOP-протоколы (Environment-Specific Inter-ORB Protocols -- зависящие от среды протоколы взаимодействия ORB), которые применяются в специализированных сетевых средах.

Java-клиент может непосредственно взаимодействовать с объектом CORBA, используя Java ORB. При этом серверы CORBA замещают уровень HTTP-сервера и выступают в качестве программного обеспечения промежуточного уровня, обеспечивая взаимодействие между объектами (object-to-object). Интерфейс CORBA ПОР функционирует в сети Интернет так же, как и протокол HTTP.

Протокол HTTP в этом случае используется для загрузки Web-документов, апплетов и графики, CORBA используется для организации с помощью Java-апплетов клиент/серверных приложений.

Серверный компонент CORBA предоставляет «настраиваемый» интерфейс, который можно конфигурировать с помощью визуальных средств. CORBA- объект обладает определенными функциональными возможностями, реализует инкапсуляцию свойств и методов и генерируемых объектами событий. Можно создавать целые ансамбли объектов, «стыкуя» выходные события с входными методами. Разработка таких визуальных объектов поддерживается средствами быстрой разработки приложений -- RAD (Rapid Application Development). В частности, CORBA-объекты поддерживаются в системах RAD C++Builder, JBuilder и Delphi.

На последнем четвертом уровне размещается сервер баз данных или другой источник данных, то есть практически любой источник информации, к которому CORBA может получить доступ. Сюда входят процедурные мониторы транзакций (TP Monitors), MOM (Message-Oriented Middleware -- промежуточное программное обеспечение, ориентированное на обмен сообщениями), ODBMS (ODBMS- объектные СУБД), электронная почта и т. д.

В настоящий момент интерфейсы CORBA/HTTP поддерживается почти всеми серверными платформами, включая Unix, NT, OS/2, NetWare, MacOS, OS/400.

Рассмотрим механизм функционирования Web-приложения при использовании технологии Java-апплетов и объектов CORBA.

Для начала работы с Web-приложением в Web-обозреватель загружается главная HTML-страница, которая содержит встроенные апплеты Java. При этом Java-апплеты и используемые в апплете Java-классы подгружаются с Web-сервера при открытии HTML-страницы. Причем Web-обозреватель формирует запрос Web-серверу на поиск Java-апплета ил требуемого Java-класса. Web-сервер находит апплет и загружает его в обозреватель в форме байт-кода. Web-обозреватель при загрузке апплета сначала запускает систему безопасности реального времени Java. Для вызова апплетом серверных объектов CORBA используется IDL-сгенерированный клиентский стаб (Interface Definition Language -- пассивный язык написания интерфейсов), который позволяет вызывать объекты сервера ORB или может использоваться интерфейс динамических вызовов CORBA DII (Dynamic Invocation Interface) для генерации запроса к серверу при выполнении апплета.

Объединение технологий CORBA, Java и Интернета обеспечивает приводимые ниже достоинства.

Масштабируемость и устойчивость Web-приложения, заключающиеся в том, что серверы Web и ORB могут взаимодействовать с использованием CORBA ORB. При этом объекты ORB могут выполняться на нескольких серверах для обеспечения баланса нагрузки (load-balancing) серверов для входящих клиентских запросов. ORB может отправить запрос первому доступному объекту, а также увеличить число доступных объектов по необходимости. CORBA позволяет объектам сервера действовать последовательно, используя транзакции и связанные сервисы CORBA. В отличие от технологии CORBA, интерфейс CGI при большом количестве запросов не имеет возможности распределить нагрузку между несколькими процессами или процессорами.

Гибкость архитектуры CORBA позволяет клиентам непосредственно вызвать методы на сервере. Клиенты передают параметры напрямую, используя прекомпилированные стабы, или генерируют их во время выполнения апплета, используя сервисы динамических вызовов CORBA DII. Можно вызывать на сервере любой метод, определенный с помощью IDL, а не только один метод, описанный посредством HTML, можно передавать любые типизированные параметры вместо обычных строк.

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

CORBA расширяет объектную модель Java для распределенной среды и позволяет Java-апплетам вызывать широкий спектр определенных на IDL операций на сервере. В противоположность этому, клиенты HTTP ограничены небольшим набором операций. Приложения серверной части -- это обычные объекты CORBA. Следовательно, они доступны в любой момент времени. Нет необходимости проходить через издержки обращения к CGI-сценариям для каждого вызова.

CORBA предоставляет средства для создания трехзвенной архитектуры клиент/сервер. Кроме того, технология CORBA разгружает код Java-апплетов, определенные компоненты могут быть распределены в среде клиент/сервер. Клиентская часть апплета может оставаться маленькой, что сокращает время загрузки апплета.

Кроме технологии CORBA, для расширения возможностей применения Web могут использоваться следующие конкурирующие технологии: сокеты, DCOM с ActiveX и RMI (Remote Method Invocation -- механизм вызова удаленных методов) другие технологии. Тем не менее, технология CORBA остается лидером среди всех интерфейсов распределенных объектов благодаря хорошим архитектурным и функциональным возможностям, устойчивости в работе и легкости в настройке.

В частности, технология CORBA по сравнению с ближайшим ее конкурентом -- технологией DCOM обеспечивает следующие преимущества:

*полная и корректная реализация поддержки различных ОС;

CORBA реализована целиком на Java, в связи с этим она хорошо интегрируется с Java;

легкость конфигурирования и настройки серверов и клиентов CORBA;

корректная реализация вызовов распределенных методов;

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

более высокая (более чем на 20%) производительность приложений;

корректная реализация механизма транзакций;

корректная реализация долговременных, или сохраняемых объектных ссылок;

поддержка CORBA-интерфейсом URL-имен;

открытый стандарт CORBA-интерфейса.

Таким образом, CORBA обеспечивает инфраструктуру распределенных объектов, что позволяет приложениям распространяться через сети, языки, границы компонентов и операционные системы. Java обеспечивает инфраструктуру переносимых объектов, которые работают на всех основных операционных системах. CORB А дает независимость от сетей, a Java -- независимость от реализации.

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

2.4 .Технологии публикации баз данных. Работа WEB-серверов с изменяющейся информацией

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

Существуют три метода, благодаря которым WEB-серверы получают возможность пересылать динамические данные: расширение серверной стороны (Server Side Includes, SSI), общий шлюзовый интерфейс (Common Gateway Interface, CGI) и интерфейс прикладного программирования (API). Язык Java также входит в число средств, обеспечивающих динамический доступ к базам данных. Однако модули Java выполняются независимо от WEB-сервера. Все методы сильно различаются друг от друга, и каждому из них присущи свои достоинства и недостатки.

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

SSI, однако, не столь удачно, как CGI и интерфейсы API, выполняет пересылку информации, извлеченной из базы данных, в браузер и обратно. Это объясняется тем, что метод SSI не обеспечивает столь глубоких возможностей программирования и расширенного доступа на уровне API к внешним ресурсам, например, серверам баз данных, которые предоставляются другими технологиями. Кроме того, метод SSI создает серьезную дополнительную нагрузку на системные центральный процессор и память, так как WEB-серверу необходимо целиком прочитывать HTML-документы, отыскивая SSI-маркеры, и предпринимать соответствующие действия.

CGI -- спецификация, позволяющая WEB-серверам выполнять внешние прикладные программы, которые генерируют HTML-документы и пересылают их назад в браузер. Программы CGI могут работать в диалоговом режиме с пользователем браузера, принимать данные и даже обмениваться информацией с внешним сервером ресурсов, таким, как сервер базы данных, через API базы данных. CGI-сценарии можно готовить почти на любом языке, понимаемом WEB-сервером, в том числе на популярном языке Perl, С, C++, Бейсик, REXX, Паскаль и Windows CGI.

2.5 Публикация баз данных средствами MS FrontPage XP

В условиях высокой стоимости готовых систем управления на основе баз данных для предприятий индустрии гостеприимства Российской Федерации, особенно малых, можно предложить использование стандартных решений широко используемых офисных пакетов, таких, как Microsoft Office или программных продуктов Lotus. Использование данных средств позволяет решать довольно сложные вопросы, в частности интерактивное информирование клиентов об услугах, их наличии, возможность бронирования в режиме реального времени, внесение информации о клиенте (в процессе того же бронирования) и обработку полученной информации для отправки в системы принятия решений.

Рассмотрим основные шаги в реализации баз данных туристских предприятий в Интернет стандартными средствами.

Следует оговорить некоторые ограничения: все средства обработки и реализации активных страничек на стороне сервера должны быть продуктами Microsoft.

Ядром интернет-приложений выступает WEB-сервер. Для туристских предприятий рекомендуется Microsoft Internet Information Server 4.0. По сравнению с остальными серверами, данный пакет позволяет легко установить и настроить сервер; к сожалению, он имеет недостаток в виде некоторого количества «дыр», что облегчает хакерам взлом. Можно только надеяться на успешное их устранение в следующих версиях.

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

Если отладка сайта будет происходить в off-line, то необходимо установить и сервер, способный работать в режиме off-line. Таким сервером рекомендуется сделать личный сервер WEB от Microsoft под названием Personal WEB Server. Это русскоязычный пакет, позволяющий организовать WEB-сервер на локальном компьютере с установкой возможности выполнения активных серверных страниц.

Использование самого стандартного пакета MS Office позволяет ускорить все процедуры по построению и публикации сайта на сервере.

Таким образом, резюмируя вышесказанное, можно отметить: для создания мощного сайта туристскому предприятию необходимы MS Office+FrontPage и MS Internet Information Server.

Следует указать, что при использовании этой связки можно избежать изучение следующих средств: программы CGI, приложения ISAPI, разработки активных серверных страниц ASP, клиентских сценариев JavaScript, клиентских сценариев VisualBasic Script, апплетов Java, элементов управления ActiveX, SQL сервер и SQL запросы, интерфейсов DB Library, ODBC, Remote Data Object, OLE DB и т. д.

Покажем пример создания базы данных о клиентах с возможностью заполнения ее через Интернет. В пакете MS FrontPage создаем новый WEB-сайт с использованием заготовок WEB Site Templates.

2.6 Организация работы с БД с помощью ASP

стандартизация пользователь интерфейс

Активные серверные страницы ASP

Новая технология фирмы Microsoft - активные серверные страницы ActiveServerPages (ASP) - позволяет использовать языки сценариев VBScript и JavaScript для создания динамичного, интерактивного содержимого WorldWideWeb. Применение технологии ASP дает возможность выполнять сценарии на сервере и отображать результат с помощью любого Web-броузера независимо от того, поддерживает он языки сценариев или нет.

До недавнего времени создание динамичного, интерактивного содержимого в Internet/Intranet требовало использования CGI или ISAPI/NSAPI-интерфейсов. В этом случае клиенты посылали HTTP-запросы, которые адресовались не статическим HTML-страницам, а серверным программам, написанным с помощью специальных средств, которые бы обрабатывали параметры и отсылали клиенту результат в виде потока HTML-тегов. Недостатком такого подхода является то, что создание программ такого рода - дело довольно затруднительное, никак не связанное с непосредственным написанием HTML-страниц.

Что предлагает технология ASP? С ее помощью можно создавать сценарии, выполняемые в контексте сервера. Такие программы интегрируются непосредственно в HTML-страницы и не требуют каких-либо дополнительных средств разработки. Самое важное, что создание HTML-страниц и создание серверных программ - это единый процесс.

Следует отметить, что указанная технология базируется на двух проверенных временем решениях: ActiveXScripting - для поддержки языков сценариев на уровне внутрипроцессорных CJM-серверов и OLEAutomation - для выполнения серверных компонентов ActiveX. Существует, однако, некоторое ограничение на тип этих компонентов. Так как они выполняются в контексте сервера, то не должны иметь пользовательский интерфейс.

Активные серверные страницы хранятся на сервере в файлах с расширением ASP. Каждый файл представляет собой ASCII-файл, в котором объединяются текст, отображаемый в клиентском броузере, теги языка HTML, служащие для форматирования текста, и программа на языке сценария.

Обзор объектов и компонентов ASP

Механизм активных серверных страниц включает в себя пять встроенных объектов и ряд серверных компонентов, обеспечивающих серверные страницы всей функциональностью, c возможностью использования в сценариях, выполняемых на сервере. Рассмотрим сначала встроенные объекты. Эти объекты перечислены в таблице.

Объект Application используется для обмена информацией между пользователями данного приложения. Этот объект имеет два метода: Lock и Unlock - и может реагировать на два события - OnStart и OnEnd. Метод Lock блокирует изменения свойства объекта Application, метод Unlock отменяет данный запрет. Объект Application может хранить переменные. Использование объектов OnStart и OnEndтребует размещения соответствующего программного кода в глобальном файле GLOBAL.ASA.

Объект

Назначение

Application / Приложение

Используется для обмена информацией между пользователями данного приложения.

Request / Запрос

Используется для получения значений параметров запроса, посланного клиентом.

Response / Ответ

Используется для посылки информации клиенту.

Server / Сервер

Обеспечивает доступ к методам и свойствам сервера.

Session / Сеанс

Используется для хранения информации в течение сеанса.

Объект Request содержит только один тип атрибутов - коллекция:

Атрибут

Описание

ClientCertificate

Возвращает значения, хранящиеся в клиентском сертификате, посланном на сервер.

Cookies

Возвращает cookie-значения , посланные в HTTP-запросе.

Form

Возвращает значения элементов формы, посланные на сервер.

QueryString

Возвращает значения строки запроса, посланной в URL на сервер.

ServerVariables

Возвращает значения серверных переменных.

Объект Response используется для посылки информации клиенту.

Рассмотрим набор атрибутов объекта Response:

Тип атрибута

Атрибут

Описание

Коллекция

Cookies

Позволяет установить cookie-значения.

Свойство

Buffer

Показывает, забуферизирована ли выходная HTML-страница.

Свойство

ContentType

Определяет тип HTTP-содержания для ответа клиенту.

Свойство

Expires

Определяет временную задержку перед кэшированием страницы после окончания сеанса связи.

Свойство

ExpiresAbsolute

Определяет дату/время кэширования страницы после окончания сеанса связи.

Свойство

Status

Значение строки состояния, возвращаемой сервером.

Метод

AddHeader

Устанавливает HTML-заголовок.

Метод

AppendToLog

Добавляет строку в конец журнала изменений сервера

Метод

BinaryWrite

Записывает в выходной поток HTTP без перевода в символы.

Метод

Clear

Стирает любой выходной буфер HTML.

Метод

End

Останавливает процесс выполнения ASP и возвращает текущие данные.

Метод

Flush

Немедленно посылает клиенту данные из выходного буфера.

Метод

Redirect

Служит для переадресации на другую станцию, заданную в формате URL.

Метод

Write

Записывает строку данных в выходной поток HTTP.

Объект Server обеспечивает доступ к методам и свойствам сервера. Он обладает четырьмя методами: CreateObject, HTMLEncode, MapPath и URLEncode. Метод CreateObject служит для создания экземпляров серверных компонентов. Метод HTMLEncode используется для вывода на экран тегов языка HTML. Метод MapPath предназначен для преобразования относительных или виртуальных маршрутов в каталоги на сервере. Метод URLEncodeслужит для преобразования адресов в формате URL.

Объект Session используется для хранения переменных в течение одного сеанса работы с сервером. Данный объект включает следующие атрибуты:

Тип атрибута

Атрибут

Описание

Свойство

SessionID

Возвращает идентификатор сеанса для пользователя.

Свойство

Timeout

Определяет период простоя состояния сеанса для приложения (в минутах)

Метод

Abandon

Уничтожает объект Session и освобождает его источник.

Событие

Session_onStart

Это событие активизируется в начале сеанса.

Событие

Session_onEnd

Это событие активизируется в конце сеанса.

Как было сказано выше, помимо встроенных объектов можно использовать серверные компоненты. Рассмотрим их основные характеристики:

Название компоненты

Описание

AdRotator

Используется для замены изображений или видеороликов по заданному сценарию при каждом обращении на сервер.

BrowserCapabilities

Используется для получения различной информации о клиентском броузере.

DatabaseAccess

Обеспечивает доступ к базе данных и использует компонент ActiveXDataObjects (ADO).

ContentLinking

Применяется для управления списком URL-адресов, которые являются ссылками на страницы, расположенные на Web-узле.

FileAccess

Обеспечивает доступ к хранимым на сервере файлам.

В рамках активных серверных страниц поддерживаются специальные включаемые файлы - Server-SideIncludes (SSI). Для этого используется специальная директива #INCLUDE, размещаемая в ASP-файле. Обычно она выглядит так:

<!- #INCLUDEVIRTUAL='/scripts/samples/foo.asp' ->

и указывает на то, что к данному ASP-файлу подключается файл foo.asp, который находится в виртуальном каталоге сервера (опция VIRTUAL) /scripts/samples/. Как правило, во включаемых файлах размещается код, общий для всех страниц. Это может быть сборник подпрограмм, выполняемых на большинстве серверных страниц.

Встроенные объекты

Как было сказано выше существует пять встроенных объектов, используемых в программах сценариев: Application, Request, Response, Server иSession.

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

<%

Application.Lock

Application ('HitCount') = Application('HitCount') + 1

Application.Unlock

%>

Методы Lock и Unlock используются для блокирования изменений свойств объекта и для отмены этого запрета соответственно. Также объект Application может реагировать на два события - OnStart и OnEnd. Эти методы используются путем написания соответствующего кода в глобальном файле GLOBAL.ASA. Об этом будет рассказано в разделе 'Глобальный файл'.

Рассмотрим использование объекта Request на примере традиционной задачи - формы, заполняемой пользователем. Для начала необходимо создать форму. В качестве значения атрибута ACTION тега <FORM> нужно указать имя ASP-файла, например, formdemo.asp, и установить метод передачи данных POST. Пусть форма состоит из четырех текстовых полей ввода с именами UserName, UserAddress, UserEMail и UserComm. Пользователь заполняет форму и нажатием кнопки Submit отсылает ее на сервер. Что происходит на сервере? Получая команду SUBMIT, объект Request готов к обработке полей формы, то есть к отображению содержимого полей формы, сохранению их в файле или базе данных.

Для демонстрации вышеизложенного приведем пример ASP-страницы, которая устанавливает соединение с БД через ODBC, производит выборку и пересылает данные клиентскому браузеру.

<HTML>

<BODY>

<FONTFACE='MSSANSSERIF' SIZE=2>

<FORMACTION='/advworks/ ........ ' METHOD=POST>

<!-- Установление соединения -->

<% Setdb=Server.CreateObject('ADODB.Connection')

db.Open 'AWTutorial' ' имя БД в ODBC

SQLQuery='SELECT * FROMCustomers'

SetRScustomerList=db.Execute(SQLQuery) %>

<!-- Формирование шапки выходной таблицы -->

<TABLEWIDTH=600 BORDER=0>

<TR>

<TDALIGN=CENTERBGCOLOR='#800000'>Название фирмы</TD>

<TDALIGN=CENTERBGCOLOR='#800000'>Фамилия, Имя</TD>

<TDALIGN=CENTERWIDTH=150 BGCOLOR='#800000'>Адрес E-mail</TD>

<TDALIGN=CENTERBGCOLOR='#800000'>Город</TD>

<TDALIGN=CENTERBGCOLOR='#800000'>Штат/Провинция</TD>

</TR>

<!-- Формирование строк выходной таблицы-->

<% DoWhileNotRScustomerList.EOF %>

<TR>

<TDBGCOLOR='f7efde' ALIGN=CENTER>

<%= RScustomerList('CompanyName')%>

</TD>

<TDBGCOLOR='f7efde' ALIGN=CENTER>

<%= RScustomerList('ContactLastName') & ', ' %>

<%= RScustomerList('ContactFirstName') %>

</TD>

<TDBGCOLOR='f7efde' ALIGN=CENTER>

<A HREF='mailto:'>

<%= RScustomerList('ContactLastName')%>

</A><

/TD>

<TDBGCOLOR='f7efde' ALIGN=CENTER>

<%= RScustomerList('City')%>

</TD>

<TDBGCOLOR='f7efde' ALIGN=CENTER>

<%= RScustomerList('StateOrProvince')%>

</TD>

</TR>

<% RScustomerList.MoveNext

Loop %>

</TABLE>

</BODY>

</HTML>

§2. Публикация содержимого баз данных на Web-страницах

1. Статистическая и динамическая публикация

1.1 Публикация статических Web-страниц

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

Все такие публикации создаются в результате экспорта соответствующих объектов базы данных. Если для такой операции используется база, созданная в рамках СУБД ACCESS (она входит в состав пакета MS Office), то рекомендуется придерживаться следующего порядка действий:

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

· выбрать объект для публикации, т. е. выбрать соответствующую вкладку диалогового;

· в этом окне выбрать папку для размещения файла, указать его имя и тип (html или htm) и сохранить, нажав соответствующую кнопку;

· при необходимости указать имя HTML-шаблона в появившемся после нажатия кнопки «Сохранить» диалоговом окне «Параметры вывода в формате HTML».

Полученный HTML-документ может содержать несколько страниц, связанных гиперссылками. Так в нашем примере он состоит из трех страниц (рис. 7.13). Из них первая или основная носит присвоенное отчету имя, а для остальных к этому имени добавляется номер страницы. В качестве примера на рис. 7.14 показана первая страница документа. Гиперссылки в виде переходов к предыдущей, последующей, а также первой и последней страницам, размещены в нижней части полосы. Содержательная часть страниц представлена значениями из учебной базы «Борей», распространяемой совместно с СУБД MS Access.

1.2 Публикация динамических Web-страниц

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

· использование HTML-форм и CGI-скриптов для их обработки;

· динамические публикации страниц в формате IDC/HTX;

· публикации динамических Web-страниц в формате ASP;

· применение специальных страниц доступа к данным.

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

Другие варианты организации динамической связи требуют, чтобы на сервере был определен соответствующий источник данных. Технология IDC (Internet Database Connector - средство связи сети Интернет с базою данных) / НТХ (HTml extension - расширение языка HTML) позволяет передать параметры запроса пользователя к базе данных как часть сообщения от браузера на сервер, получая в ответ динамически сформированную Web-страницу. Запрос, посылаемый серверу, - это текстовый файл в формате IDC, в котором содержится набор операторов языка SQL (Structured Query Language - язык структурированных запросов).

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

Какой же порядок динамического взаимодействия между пользователем и базой данных? Пользователь вводит в адресном окне браузера адрес IDC-файла. Web-сервер отыскивает этот файл в папке Scripts и активизирует динамическую библиотеку httpodbc.dll. Процедуры этой библиотеки просматривают IDC-файл и определяют имя внешнего источника данных (URL базы данных). Из библиотеки выбирается нужный драйвер, который взаимодействует с источником данных, выполняя запрос на языке SQL и извлекая нужную информацию из этого источника. После этого специальная процедура библиотеки извлекает из IDC-файла имя шаблона и формирует на основании его гипертекстовый файл, который отсылается браузеру компьютера клиента. Наконец, последний формирует и отображает Web-страницу в своем окне.

Технология публикаций ASP (Active Server Pages - страницы активного сервера) подобна рассмотренной первой. Отличие лишь в том, что она адаптирована к использованию Web-сервера, работающего в операционной системе Windows и вместо CGI-скриптов использует процедуры взаимодействия, написанные на языке VBScript, одной из ветвей языка Bisual Basic.

Самой современной и наиболее эффективной в настоящее время является технология динамической публикации на основе страниц доступа к данным (Data Access Pages - DSP). Страница доступа к данным представляет собой Web-страницу, на которой размещены связанные с внешним источником данных компоненты ActiveX, а также процедуры, написанные на языке VBScript. Сочетание гибкости управления объектами страниц доступа к данным с мощными функциональными возможностями компонентов ActiveX делает такую технологию чрезвычайно эффективной для организации удаленного доступа к данным и их динамической публикации на Web-страницах.

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

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

2.3 Динамическая публикация отчетов из БД

Помимо статической публикации отчетов из БД, в Intranet находит применение динамическая публикация отчетов из БД на основе запроса пользователя. Такой метод можно реализовать через CGI или с помощью специальных средств на основе API для Web-серверов. Ряд фирм предлагает такие средства, часто в них используются HTML-шаблоны для подстановки значений полей из записей БД. Примером средства динамической публикации может служить компонент InternetDatabaseConnector (IDC) для сервера MicrosoftIIS. IDC позволяет по SQL-запросу обращаться через интерфейс ODBC к настольным и реляционным СУБД. Рассмотрим подробнее процесс динамической публикации, обеспечиваемый IDC. На InternetInformationServer полный цикл работы IDC состоит из шести шагов, которые показаны ниже на схеме.

Шаг 1. InternetInformationServer принимает адрес URL.

Адрес URL посылается Web-броузером на InternetInformationServer.

Шаг 2. IIS загружает библиотеку Httpodbc.dll и передает ей адрес URL.

Библиотека Httpodbc.dll загружается и извлекает из полученного от IISURL-адреса имя IDC-файла (и другие элементы).

Шаг 3. Библиотека Httpodbc.dll читает IDC-файл.

IDC-файл содержит элементы в виде

field: value

Например, источник данных ODBC - Datasource: WebSQL,HTML-шаблон, в который будут размещены результаты SQL-запроса, - Template: sample.htx, имя пользователя, которое определяет, если это необходимо, имя для доступа к источнику данных ODBC - Username: sa,SQL-предложения, которые будут выполнены -

SQLStatement:

SELECTau_lname, ytd_sales

FROMpubs.dbo.titleview

WHEREytd_sales>5000

Шаг 4. Библиотека Httpodbc.dll соединяется с источником данных ODBC и выполняет SQL-предложения, находящиеся внутри IDC-файла.

Соединение с источником данных ODBC осуществляется библиотекой Httpodbc.dll, которая загружает ODBC-драйвер (в примере, указанном выше, - ODBC-драйвер для SQLServer) и соединяется с сервером, указанном в описании источника данных. В продолжении примера, при установлении связи, SQL-предложения из IDC-файла пересылаются ODBC-драйверу SQLServer, который перенаправляет их в SQLServer.

Шаг 5. Библиотека Httpodbc.dll выбирает данные из БД и отправляет их в HTX-файл.

После того, как SQL-предложения будут выполнены, Httpodbc.dll прочитывает HTX-файл, имя которого определено в IDC-файле. HTX-файл содержит специальные HTML-теги, которые Httpodbc.dll использует для определения, где и как разместить результирующие данные SQL-запроса.

Шаг 6. Библиотека Httpodbc.dll отправляет заполненный результирующий HTML-документ InternetInformationServer, который возвращает его клиенту.

После того, как все выбранные данные будут записаны в HTX-файл, заполненный HTML-документ отправляется клиенту. Результирующая Web-страница отображается броузером.

Кроме построения приложений для генерации отчетов и для поиска по образцу, существует возможность создания на базе IDC диалоговых приложений регистрации данных. Более сложные приложения обработки транзакций IDC не поддерживает из-за невозможности обеспечить целостность сложных транзакций при отсутствии понятия сеанса для протокола HTTP. Новый продукт ActiveServerPage (ASP) позволяет строить более сложные серверные приложения с использованием VBScript и обеспечивает поддержку транзакций.

Рис. 1. Динамическая публикация БД с помощью IDC

Публикация статических страниц Web

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

Источником для создания статической страницы Web может служить любой определенный в базе данных набор записей. Как правило, такие страницы публикуются по таблице базы данных или результату выполнения запроса. На рис. 2 представлена страница Web, полученная в результате публикации запроса базы данных Softdrinks.mdb.

Рис. 2. Статическая страница Web, построенная в результате опубликования таблицы базы данных

Примечание

Большинство примеров, приведенных в этой главе, основаны на тех же данных о продажах безалкогольных напитков, которые были использованы в предыдущем блоке. Листы рабочей книги с данными были преобразованы в отдельные таблицы, между полями которых были установлены связи (рис. 3). Полученная база данных была сохранена в файле Softdrinks.mdb. Поскольку для публикации динамических страниц Web требуется внешний источник данных, этот файл был опубликован на сервере Web, а вам впоследствии предстоит зарегистрировать его как системный внешний источник данных драйвера ODBC для баз данных в формате MS Access под именем Drinks.

Рис. 3. Схема базы данных Softdrinks.mdb

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

Рис. 4. Статическая страница Web, созданная в результате опубликования отчета

Если публикуемый отчет состоит из нескольких страниц, то в результате публикации получаются несколько файлов гипертекста, связанных друг с другом гиперссылками. Гиперссылки упрощают просмотр отчета в окне обозревателя Web. На рис. 5 представлен конец последнего листа отчета, опубликованного на странице Web, с навигатором, состоящим из четырех текстовых гиперссылок.

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

Примечание

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

Публикация таблиц, результатов выполнения запросов и отчетов в формате HTML

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

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

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

Примечание

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

2. Выбрать команду Файл ? Экспорт или одноименную команду контекстного меню, появляющегося после щелчка правой кнопкой мыши на имени публикуемого объекта. Открывается диалоговое окно экспорта объекта, представленное на рис. 6.

Рис. 6. Диалоговое окно Экспорт объекта: Запрос 'СделкиПоДатам' как

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

4. Выбрать в раскрывающемся списке Тип файла альтернативу Документы HTML (*.html;*.htm).

5. Установить состояние флажка Сохранить формат. Если флажок установлен, то при публикации будет сохраняться форматирование экспортируемого объекта. Если флажок сброшен, набор записей будет опубликован в виде однородной таблицы HTML, ширина столбцов которой будет подобрана автоматически по размерам элементов данных. На рис. 7 представлен результат публикации того же запроса, что на рис. 2, но со сброшенным флажком Сохранить формат.

Рис. 7. Статическая публикация запроса без сохранения формата

6. Нажать кнопку Сохранить.

7. В открывшемся диалоговом окне Параметры вывода в формате HTML, представленном на рис. 8, можно указать спецификацию файла шаблона, который будет применен при форматировании файла гипертекста, а можно оставить это поле пустым, сразу нажав кнопку OK.

Рис. 8. Диалоговое окно Параметры вывода в формате HTML

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

Весомым преимуществом полученной таким образом статической страницы Web является возможность ее редактирования с помощью других приложений MS Office 2000. Все данные на странице Web организованы в виде таблицы HTML, что позволяет управлять ее структурой и элементами форматирования. Например, воспользовавшись приемами редактирования и форматирования таблицы MS Word можно регулировать ширину ее столбцов, удалять при необходимости отдельные столбцы и строки, добавлять заголовки и комментарии, менять формат представления данных, расстояния между ячейками таблицы, варианты обводки и заливки ячеек. Наконец, можно назначить тему, и страница, опубликованная средствами MS Access, будет полностью совпадать по стилю оформления с другими страницами узла Web

Заключение

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

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

Построили локальные интранет-сети на основе технологии публикации БД в Интернете. При этом локальные сети строились на принципах Интернета с наличием при необходимости выхода в глобальную сеть.

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

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

Применяли язык SQL для поиска необходимой информации в БД.

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

Стандартизировали пользовательский интерфейс на основе применения обозревателей Web с типовым внешним видом и типовой реакцией на действия пользователя.

Использовали обозреватель Web в качестве дешевой клиентской программы для доступа к БД.

Список литературы

1. Базы данных: Учебник для высших учебных заведений/ Под ред Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - 4-е издание доп. И перераб. - Спб.,2000г. - 736с.

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

3. Сахаров А.А. Принципы проектирования и использования многомерных баз данных (на примере Oracle Express Server) СУБД. 1996.

4. Конноли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация и сопровождение. М.: Вильямс, 2001.

5. Армстронг Т. ActiveX: создание WEB-приложений. К.: BHV, 1998.

6. http://www.citforum.ru/internet/intranet_app

7. Харитонова И.А., Михеева В.Д. Microsoft® Access 2000. -- СПб.: БХВ -- Санкт-Петербург, 1999

ref.by 2006—2025
contextus@mail.ru