Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОтветыБД.doc
Скачиваний:
105
Добавлен:
14.05.2015
Размер:
570.88 Кб
Скачать

4.2. Способы организации Интернет-доступа к сетевым субд. Примеры программирования активных серверных страниц для организации доступа к субд в технологиях asp, asp.Net, php.

История развития языков для гипертекстовых страниц:

1.HTML — язык компоновки документов и спецификации гиперссылок, используемый для кодировки документов в Web.

2.DHTML — дает возможность взаимодействия web-страниц с пользователем на клиентском компьютере.

3.Языки сценариев (JavaScript, VBScript) — генерируют объекты на основании HTML-страницы на стор клиента в окне браузера.

4. Технология создания динамических интерактивных Web-страниц с использованием объектно-ориентированного мультиплатформенного языка Java. Программы на языке Java называются аплетами и исполняются обычно на стороне клиента.

5.CGI-скрипты — программы, исполняемые на стороне web-сервера. CGI обеспечивает способ, посредством которого web-браузер осуществляет запускweb-приложения на стороне сервера, результатом его работы являетсяhtml-страница, посылаемая клиенту.

6.ASP (Active Server Pages) – язык описания активных серверных страниц (активные серверные страницы – это файлы, которые обрабатываются на сервере и содержат текст HTML и код сценариев). ASP позволяет перемешивать HTML-код с программным кодом, что позволяет встраивать серверные программы в страницы, причем первые будут выполняться только на стороне сервера.

7.PHP (Personal Home Page) — выполняющийся на стороне сервера мультиплатформенный язык описания сценариев, встраиваемый непосредственно в HTML-код. Целью создания языка является разработка динамически генерируемых страниц в кратчайшие сроки.

8.ASP.NET — 1997 г., технология создания веб-приложений и веб-сервисов, является составной частью платформы MS.NET и развитием более старой технологии MSASP.

Связь Web-сервера с серверами баз данных.

WWW - доступ к существующим БД может осуществляться по одному основ. сценариев:

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

2.Динамическое создание гипертекстовых документов на основе содержимого БД. Доступ к БД осуществляется программой (CGI,ASP,PHP), запускаемой в ответ на запросweb-клиента. Программа, обрабатывая запрос, просматривает содержимое БД и создает выходнойhtml-документ, возвращаемый клиенту. Эффективно для больших и часто обновляемых БД, но возрастает нагрузка на сервер.

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

www-клиент –www-сервер – обработчик – ИХ.

Использование скриптов, исполняемых Web-сервером.

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

Perl (PracticalExtractionandReportLanguage) является одним из наиболее гибких языковых средств, служащих для программирования интерфейсовCGI. Полнофункциональный язык программирования.

Технология Active Server Pages (ASP)— это модель программирования, которая позволяет создавать на Web-сервере динамические интерактивные Web-страницы, аналогичные серверным страницам Java (JavaServer Pages — JSP). Они могут формироваться с учетом того типа браузера, который имеется у пользователя, и создаваться на том языке, который поддерживается его компьютером, а также учитывать все предпочтения пользователя. Эта технология впервые была реализована в Web-сервереInternetInformationServer(IIS) 3.0 компанииMicrosoftи поддерживает интерпретацию сценариев ActiveX, позволяя в случае необходимости использовать один сценарий ASP для разных машин обработки сценариев. Основная поддержка предусмотрена для языка VBScript (этот язык сценариев использ. в технологии ASP по умолч.) и языка JScript.

Технология ASP обладает гибкостью CGI, но исключает возникновение дополнительной нагрузки, речь о которой уже шла выше. В отличие от сценария CGI, сценарий ASP выполняется как внутренний процесс сервера, кроме того, он является многопотоковым и оптимизирован для работы с большим количеством пользователей. Файлы, используемые в этой технологии, имеют расширение .asp и могут состоять из следующих основных компонентов:

1.текст;

2.дескрипторы HTML, заключенные в угловые скобки;

3.команды сценария и выражения вывода, выделенные парами символов <% и %>.

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

Технология ASP.NET— это следующая версия технологии активных серверных страниц ASP, которая была полностью модернизирована в целях достижения более высокого уровня производительности и масштабируемости. Ниже перечислены основные особенности этой технологии.

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

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

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

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

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

PHP (PHP Hypertext Preprocessor — препроцессор гипертекста РНР)представляет собой еще один широко применяемый язык сценариев с открытым исходным кодом, операторы которого могут встраиваться в код HTML. Он поддерживается многими Web-серверами, а также является предпочтительным языком Web-сценариев для Linux. Разработка языка РНР проводилась с учетом возможностей многих других языков, таких как Perl, С, Java и даже до определенной степени — платформы Active Server Pages. Он поддерживает нетипизированные переменные, поскольку это позволяет упростить разработку. Назначение данного языка состоит в том, чтобы дать возможность разработчикам Web быстро создавать сценарии динамического формирования страниц. Одним из преимуществ РНР является его расширяемость, поэтому уже разработан целый ряд модулей расширения для поддержки таких функций, как подключение к базе данных, передача и прием электронной почты, а также обработка данных в коде XML.

В настоящее время разработчики чаще всего применяют сочетание таких программных средств с открытым исходным кодом, как HTTP-сервер Apache, язык РНР и одну из систем баз данных — mySQL или PostgreSQL.

4.3. Хранение информации в XML-формате: преимущества и недостатки. Структура файла формата XML. Примеры организации хранения данных в XML-формате в СУБД MS SQL Server. Примеры формирования выборок данных в XML-формате с помощью SQL-запросов. Стандарт XQuery.

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

XML – метаязык (язык для описания др. языков), который позволяет, проектировщикам создавать специализированные дескрипторы для реализации функциональных возможностей; не достижимых с помощью HTML.

Язык XML представляет собой подмножество языка SGML (стандартный обобщенный язык разметки); он предназначен специально для оформления документов Web.

Язык XML уже фактически стал стандартным средством обмена данными в индустрии программного.

Термины:

DTD = Document Type Definition:

– Определяет структуру документа

– Задает описание документа: элементы, атрибуты, в каком порядке, количестве и т.д.

XML Schema:

– DTD с более широкими возможностями

– XML Schema позволяет создавать более расширяемые и гибкие описания

– XML Schema позволяет определять ограничения на тип данных.

Пространства имен (namespaces):

– Позволяют избегать многозначных толкований элементов и атрибутов (с одинаковыми именами)

– Группируют понятия, относящиеся к одному и тому же приложению (объекту, понятию)

– Используются уникальные идентификаторы – определяющие пространства имен

– Элемент или атрибут однозначно идентифицируется по своему имени плюс по пространству имен к которому элемент/атрибут относится.

XSL = EXtensible Stylesheet Language (расширяемый язык таблиц стилей):

– Преобразование XML-документа

Программные средства для работы с XML.

XML-Парсер:

– Проверки структуры документов и типов данных, задаваемых DTD/XML Schema

XSLT-процессор:

– Преобразование XML-документа в другой тип документа (XML, HTML, текстовый)

Процессор форматирования (formatting objects processor):

– Результат форматирования: PDF, PCL, PS, SVG и ряд других

XML-редактор:

– Создание, редактирование XML-документов, DTD, XML Schema и т.д.

XML-браузер:

– Преобразование XML в HTML

Преимущества XML

1.Простота — относительно простой язык, его стандарт не превышает по объему 50 стр.

2.Открытый стандарт; независимость от платформы и программного обеспечения. Язык XML также основан на стандарте (ISO 10646), в нем предусмотрена поддержка набора символов Unicode, и поэтому он может служить для представления текста на всех алфавитах.

3.Способность к расширению. В отличие от HTML он позволяет пользователям опр. собственные дескрипторов соответствии с требованиями к конкретному приложению.

4.Возможность повторного использования. Расширяемость языка XML позволяет также создавать библиотеки дескрипторов XML и повторно использ. их во многих приложениях.

5.Разделение информационного наполнения и средств представления. Язык XML позволяет хранить содержимое документа и независимо от этого описывать способ его представления (в браузере).

6.Улучшенное распределение нагрузки. Язык XML позволяет доставлять данные в браузер (на клиентский компьютер) для проведения некоторых вычислений на месте; при этом сервер частично освобождается от вычислительной нагрузки и обеспечивается более равномерное распределение нагрузки.

7.Поддержка интеграции данных из нескольких источников. Язык XML позволяет упростить объединение данных из различных источников.

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

9.Усовершенствованные механизмы поиска. При использовании XML поисковые машины могут применяться просто для интерпретации дескрипторов с описаниями.

Недостатки

1.Синтаксис избыточен – большой размер XML-документа; влияние на эффективность приложения (возрастает стоимость хранения, обработки и передачи данных).

2.Неоднозначность моделирования – нет общепринятой методологии для моделирования данных; в результате большой гибкости языка и отсутствия строгих ограничений, одна и та же структура может быть представлена множеством способов.

3.XML не содержит встроенной в язык поддержки типов данных – нет строгой типизации.

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

<ИмяУзла ИмяАтр1=”значение” ИмяАтр2=”значение” ...>

<!--вложенные теги и тексты--> </ИмяУзла>

Пример:

<?xml version=”1.0”?>

<books>

<book isbn=”1558604669">

<title>Principles of Multimedia Database Systems</title>

<authors><author>Subrahmanian</author></authors>

</book>

<book isbn=”1558603123”>

<title>Multimedia and Imaging Databases</title>

<authors>

<author>Khoshafian</author>

<author>Baker</author>

</authors>

</book>

</books>

SQL Server и XML: Способы хранить XML-данных в БД:

1.Преобразование схемы (схем) XML-документов в схему базы данных.

2. Использование опр. набора структур, позволяющего хранить любой XML-документ.

Поддержка XML начиная с версии 2000

– FOR XML - извлечение результатов запросов к базам данных в виде XML-потока;

– OPENXML - сохранение XML-документов в базе данных (предназначена для обратных действий – создания записи, на основе переданного ей XML-документа)

Версия 2005

– Тип данных xml

– Поддержка проверки данных на уровне XSD-схемы

– Поддержка Xquery

Версия 2008

FOR XML - это атрибут команды SELECT, указывающий на то, что результаты выполнения запроса должны быть представлены в виде XML-потока:

– Запрос:

SELECT ProductID, ProductName

FROM Products Product

FORXMLAUTO

– Результат - XML-документ:

<Product ProductID="1" ProductName="Widget"/>

<Product ProductID="2" ProductName="Sprocket"/>

XQuery

Язык запросов XML, разработан в W3C; первая версия - XQuery 1.0 в 2003г.

Надмножество XPath (язык для адресации определенных частей в XML-документах).

Совместим с другими XML-стандартами

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

XQuery поддерживается тремя главными производителями БД (IBM, Oracle, Microsoft).

Пример:

<html><head/><body>

{ for $act in doc("hamlet.xml")//ACT

let $speakers := distinct-values($act//SPEAKER)

return

<span>

<h1>{ $act/TITLE/text() }</h1>

<ul>

{ for $speaker in $speakers

return <li>{ $speaker }</li> }

</ul>

</span> }

</body> </html>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]