Фуфаев - Разработка и эксплуатация удалённых БД (1084483), страница 31
Текст из файла (страница 31)
Содержимое динамической %еЬ-страницы генерируется всякий раз при ее открытии. Динамическая %еЬ-страница может обладать следующими возможностями, которых нет у статических %еЬ-страниц: ° реагировать на данные, вводимые пользователем с помощью броузера. Например, динамические страницы способны возврагцать данные, полученные после заполнения формы или в результате выполнения запроса к базе данных; ° настраиваться по требованиям конкретного пользователя. Например, если пользователь укажет собственные предпочтения при посещении некоторого %еЬ-узла или %еЬ-страницы (например, область своих интересов или уровень квалификации), эту информацию можно будет сохранить, и впоследствии возвращаемая пользователю информация будет отбираться с учетом указанных предпочтений.
Если документы публикуются в динамическом режиме (например, по результатам выполнения запроса к базам данных), то сервер должен будет генерировать их в гипертекстовом формате. Следовательно, следует подготовить%еЬ-сценарии, предназначенные для выполнения преобразования данных различного формата в НТМ).-формат непосредственно в процессе их формирования. Эти сценарии должны интерпретировать содержание запросов, посылаемых клиентом с помощью форм НТМ1., а также соблюдать формат результирующих данных, генерируемых их приложениями-владельцами (например, СУБД). Поскольку база данных является динамическим объектом, изменяющимся в результате создания, вставки, обновления или удаления пользователями сохраня- 161 емых в ней данных, выработка динамических %еЬ-страниц — это гораздо более эффективный подход к работе, чем создание статических ФеЬ-страниц.
11.3. Требования к интеграции удаленных баз данных со средой УУеЬ Развитие интернет-технологий и систем управления удаленными базами данных однозначно показало высокую эффективность создания корпоративных баз данных, доступ к которым осуществляется в среде %еЬ. Переход к интеграции СУБД со средой %еЬ требует выполнения следующих условий: ° обеспечение защиты конфиденциальной информации; ° использование способов подключения удаленных пользователей, не зависящих от типов данных и программного обеспечения, в том числе с учетом развития СУБД как в настоящее время, так и в будущем; ° обеспечение возможности взаимодействия с базой данных независимо от типа используемого броузера или %еЬ-сервера; ° обеспечение открытости архитектуры, позволяющей взаимодействовать с разнообразными системами и технологиями доступа к данным, включая поддержку транзакций, охватывающих несколько запросов НТТР, и поддержку аутентификации на уровне сеанса и приложения; ° приемлемая производительность; ° минимальные требования к администрированию; ° наличие набора высокоуровневых инструментов разработки, позволяющих относительно просто и быстро создавать, внедрять в эксплуатацию и сопровождать новые приложения.
Выполнение данных условий связано также с оатимизацией архитектуры баз даиных. Как уже говорилось, для осуществления интеграции баз данных со средой %еЬ эффективна трехуровневая архитектура. В этой архитектуре роль клиента выполняет броузер, роль сервера приложений — %еЬ-сервер, а сервером базы данных являются традиционные СУБД (Я.>ЬБегтег, Огас1е и др.). В заключение сформулируем преимущества интеграции СУБД в среду ФеЬ: ° достаточная простота реализации; ° независимость от типов СУБД; ° высокий уровень стандартизации процессов передачи и обработки информации; ° возможность расширения информационных систем, в том числе при создании корпоративных связей.
11.4. Методы интеграции удаленных баз данных в среду ЪуеЬ Эффективность взаимодействия СУБД и среды %еЬ достигается следующими методами: ° применением языков сценариев; ° использованием общего шлюзового интерфейса; ~ формированием Соок)е-Файлов НТТР; ~ расширением возможностей %еЬ-сервера. Естественно, что это далеко не полный список возможных технологий интеграции удаленных баз данных в среду ФеЬ.
Рассмотрим некоторые из указанных методов. Применение языков сцеиариев. Для сохранения и передачи информации в среду %еЬ используют языки гипертекстовой разметки, например НТМ1.. Однако этот стандартный язык, позволяющий представлять в Интернете практически все виды информации, может вызывать определенные трудности при преобразовании приложений баз данных в %еЬ-приложения с тем же уровнем удобства работы пользователей.
Это обусловлено тем, что сам по себе язык НТМЕ не может содержать коды приложений, управляюших работой базы данных. Для преодоления этих трудностей и применяют языки сценариев, позволяющие встраивать код сценария в НТМ1.-код, который загружается по сети при каждом доступе к странице. Языки сценариев позволяют создавать Функции, встраиваемые в код НТМ)., благодаря чему и обеспечивается возможность автоматизации различных процессов доступа и манипулирования объектами баз данных.
На сегодняшний день достаточно популярными являются следуюшие языки сценариев: Латабспр1 иЗаспрг, УВВспрг, Рег1, РНР. Так как подробно описать данные языки не представляется возможным, рассмотрим лишь их некоторые особенности. )ауабсп р[ (компании 1Чегасаре) и звсп р[ (компании М)сгояой)— это практически идентичные интерпретируемые языки сценариев. В этих языках предполагается непосредственная интерпретация исходного кода и вставка сценария в документ НТМЬ.
При этом сценарии могут разрабатываться как для броузера, так и для сервера. 5ачаБспр1 обеспечивает доступ к объектной модели документа. Это язык программирования, который позволяет включать в НТМ1.- страницы функции и сценарии, способные распознавать и отвечать на действия пользователей, в том числе щелчки кнопками мыши, ввод данных и перемешение с одной страницы на другую. зачаВспрг по своему синтаксису аналогичен языку За~а, но он не поддерживает статических типов данных и не обеспечивает строгого контроля типов данных. В отличие от присущей языку 5ача си- 1бЗ стемы компилируемых классов, построенной на объявлениях, в языке )ачабспрг используется система времени выполнения на основе типов данных, включаюших в себя числовые, логические и строковые значения.
3ат абспр! дополняет язык )аха новыми возможностями при создании сценариев. УВБсг!р! — это интерпретируемый язык сценариев компании М!сгозой, назначение и принципы действия которого практически идентичны языкам сценариев Захабсг!р! и Ззсбрц Однако ЧВЯсг!р! обладает синтаксисом, который больше похож на синтаксис языка Ч!зла( Ваз!с. Этот язык, так же как и языки )ауабст!р! и 3вст!рг, может выполняться и броузером, и сервером до пересылки документа броузеру.
ЧВЗспр! — это процедурный язык, в котором в качестве основного элемента используются процедуры. Он произошел от языка программирования ЪЪиа1 Ваяс, получившего широкое распространение в последние годы и являющегося базовым языком сценариев пакета М!сгозой ОГТ!се. Основное отличие языка ЧВВспр! от ЧЬца! Ваяс состоит в том, что в целях обеспечения зашиты информации из него изъяты функции работы с файлами на компьютере пользователя. РЕКЕ (Ргасбса1 Ехггасг!оп апд Кероп Ьапяиаяе) — это высокоуровневый интерпретируемый язык программирования с широким набором удобных средств обработки текста. РЕКЕ объединяет в себе средства языка С и утилит зед, аю)г и зп операционной системы ЬХ1Х.
В настояшее время РЕКЕ является одним из наиболее широко применяемых языков для программирования серверной части приложения, который может использоваться для разработки более мощных сценариев по сравнению с обычными сценариями командного интерпретатора ()М1Х . На первых порах РЕК(. рассматривался как язык обработки данных, позволяюший перемешаться по файловой системе, просматривать и формировать отчеты с применением механизмов согласования с шаблоном и манипулирования текстом.
Однако по мере дальнейшего развития в этот язык были включены механизмы создания и управления файлами и процессами подключения к сетевым базам данных. Сначала РЕКЬ разрабатывался на платформе ЬМХ, но в то же время рассматривался как перспективный межплатформенный язык. К настояшему времени выпущена версия РЕКЕ (АсбуеРег1) для платформы %!пдоъъ. РНР (Нурепех! Ргергосеззог — препроцессор гипертекста ) представляет собой еше один широко применяемый язык сценариев с открытым исходным кодом, операторы которого могут встраиваться в код. НТМЬ.