Рефераты. Перенос Базы Данных на WEB-сервер p> 3.2.3 ISAPI – приложения.

3.2.3.1 dBWeb.

Помимо исполнения CGI-скриптов, Microsoft Internet Information Server
(MS IIS) предоставляет разработчикам возможность создания с помощью соответствующего API (ISAPI) приложений в виде dll, запуск которых происходит в ответ на команду или выбор линка на Web-странице. Каждое такое приложение выполняется в адресном пространстве Web-сервера, что, естественно, повышает скорость работы и существенно экономит машинные ресурсы. В зависимости от сложности сайта и приложений, dll могут быть предзагружены одновременно с запуском сервера, либо подгружаться/выгружаться из памяти по мере необходимости. К наиболее известным средствам разработки приложений на основе ISAPI относятся входящий в состав MS IIS Internet Database Connector (IDC), а также свободно распространяемый dbWeb.

Microsoft dbWeb представляет собой шлюз между 32-битными ODBC- ресурсами, в качестве которых могут выступать, например, Microsoft SQL
Server, Microsoft Access, Microsoft Visual FoxPro, Oracle и т.д., и MS IIS. dbWeb предусматривает создание схемы, содержащей описание данных и связанных с ними Web-страниц. Он поддерживает исполнение запросов в реальном режиме времени на основе "pull"-модели публикации, позволяя тем самым создавать активные Web-страницы.

[pic]

Рис. 1 Структура dbWeb.

Microsoft dbWeb структурно состоит из двух основных компонент: dbWeb
Service и dbWeb Administrator. dbWeb Service является типичным ISAPI- приложением, которое обрабатывает пользовательские запросы, направляемые посетителем страницы через браузер, и управляет соединениями между браузером, ODBC-ресурсом и IIS. К функциям dbWeb Administrator относится создание HTML-страниц, содержащих результаты выполнения запросов на основе уже упоминавшихся схем, с помощью которых осуществляется управление публикуемыми данными. Схемы определяют сам запрос и структуру страниц. При этом не требуется знания HTML или ISAPI, так как в состав dbWeb
Administrator входит интерактивный мастер-построитель схем (Schema Wizard), который в традиционной для любой программы-мастера манере позволяет задать поля поиска по методу Query-by-Example (QBE), выбрать поля для отображения в таблице страницы результатов и определить переходы из списка записей в отдельные страницы, содержащие развернутую информацию по текущей записи.
Настройкой соответствующих свойств можно разрешать или запрещать операции вставки, удаления и редактирования. Для проверки прав пользователя используется система безопасности той СУБД, к которой происходит доступ. dbWeb имеет в своем составе широкий спектр шаблонов страниц, которые при необходимости могут быть легко откорректированы и настроены разработчиком для более полного соответствия его задачам. Таким образом, dbWeb не является конечным пользовательским приложением. Скорее его можно охарактеризовать как достаточно легкий в использовании инструментарий разработки, который, как всякий мастер, не поддерживает языка программирования. Тем не менее, эта программа успешно справляется с автоматизацией большинства рутинных операций по организации соединений и публикации данных из БД и покрывает, по разным оценкам, порядка 40-60% потребностей бизнеса среднестатистической фирмы при организации доступа к своим источникам данных через Internet.

3.2.3.2 IDC.

IDC является другим примером достаточно давно и успешно используемого
ISAPI-приложения. Он входит в состав MS IIS. С помощью вызовов функций ODBC
API IDC обеспечивает прямую связь между полями HTML-формы и соответствующим
ODBC-достижимым источником данных, например, базой данных MS SQL Server, без необходимости написания замысловатых CGI-скриптов. Схема работы IDC:

[pic]

Рис.2 Схема работы IDC.

Для доступа к данным и публикации на Web IDC использует файлы двух типов - .idc и .htx. Файл с расширением idc содержит всю необходимую информацию о соединении с источником данных, текст запроса, а также ссылку на соответствующий htx-файл. Файл с расширением htx служит шаблоном страницы, на которой будут опубликованы данные из базы, а также элементы оформления в виде статического текста, графики, видео и т.п. MS IIS распознает расширение .idc как вызов httpodbc.dll, которая считывает http- заголовки из управляющего блока ISAPI для определения параметров запроса.
Httpodbc.dll читает и разбирает idc-файл, указанный в URL. Имя источника, имя пользователя, пароль и пр. используются для подключения к соответствующему ресурсу ODBC, после чего httpodbc передает на выполнение
SQL-запрос и получает результаты. Результаты используются для наполнения заготовки в виде htx-файла, после чего полученный HTML-документ MS IIS передает браузеру.

3.2.3.3 ADO – Active Data Objects.
Active Data Objects. Когда речь заходит о компонентах ActiveX, как правило, неявно подразумевается клиентская часть приложения. Microsoft Active Server
Pages (ASP) - активные серверные страницы- представляют собой инструмент для эффективной разработки серверных Web-приложений, интегрирующих в своем составе HTML-код, VBScript и компоненты ActiveX. Это означает, что в уже существующие наработки легко могут быть встроены фрагменты кода на VBScript или JavaScript, а также вызовы соответствующих объектов ActiveX. Как, наверное, известно, VBScript - это сужение хорошо знакомого языка программирования Visual Basic на область создания Web-страниц. Основным идейным отличием VBScript от VB, на мой субъективный взгляд, служит то, что
VBScript не содержит операторов файлового ввода-вывода и вообще средств прямого доступа к операционной системе (напрашиваются параллели, если Java сопоставить с С/С++, не правда ли). Кроме этого, в VBScript существует только один тип переменных - variant, отсутствуют декларативные константы и т.п. Наличие привычного синтаксиса языка высокого уровня существенно упрощает создание HTML-страниц. Кроме этого, в состав среды активных серверных страниц (ASP Framework) входят следующие 5 основных встроенных объектов.

. Application (приложение) - для разделения информации между всеми пользователями данного приложения.

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

. Response (ответ) - для передачи информации клиенту.

. Server (сервер) - предоставляет возможность обращения к методам и свойствам сервера для управления средой исполнения ASP.

. Session (сеанс) - для хранения информации, относящейся к данной пользовательской сессии.

Помимо базовых объектов, ASP поддерживают многочисленные компоненты
ActiveX, которые упрощают создание и значительно повышают функциональность активных Web-страниц. К ним относятся различные элементы управления, компоненты, создающие содержание приложения, компоненты ввода/вывода в файл и многие другие. Но нас в первую очередь будут интересовать компоненты, позволяющие организовать доступ к базам данных, или Active Data Objects
(ADO). В отличие от хорошо известных Data Access Objects (DAO) или Remote
Data Objects (RDO) ADO имеют менее иерархически строгую структуру и потому более удобны при работе с базами данных.

[pic]

Рис.3 Структура DAO и ADO.

ADO являются универсальным инструментом доступа к данным. Вы можете без изменений использовать интерфейс ADO из данного примера при работе с базами данных на VB, Visual FoxPro и т.д. Наконец, с помощью ADO, в свою очередь, могут быть построены пользовательские компоненты, для обращения к серверу баз данных как со стороны "толстого" (Win32), так и со стороны тонкого (Internet Browser) клиента. Функции обеспечения целостности транзакций, сервисы безопасности и согласованной работы компонент в распределенном приложении может взять на себя Microsoft Transaction Server.

3. ASP (Active Server Page) – Активные серверные страницы.

Особое положение среди средств разработки занимают активные серверные страницы (Active Server Pages или ASP). Они предназначены для организации доступа к WEB-серверу, клиентов, располагающих только броузером. ASP представляют собой набор интерпретируемых сервером MS IIS (Microsoft
Internet Information Server) сценариев, содержащих разметку HTML и программный код на языках VBScript и Javascript, который по желанию разработчика, может исполняться либо на сервере, либо на клиенте. Это позволяет в одном ASP-файле сочетать серверную и клиентскую логику. Та часть кода, которая исполняется на сервере, может использовать "родные" интерфейсы для общения с сервером и реализации как базовых, так и расширенных функций MAPI. При этом общение клиентской и серверной частей
ASP-приложения происходит исключительно средствами протокола HTTP. За поддержание сессии между клиентской и серверной частями отвечает Internet
Information Server.

Active Server Pages являются обычным ISAPI-фильтром, работающим в контексте процесса MS Internet Information Server, начиная с версии 3.0.
(Технология ASP доступна и для других серверов. Фирмой Chili!Soft выпускается пакет Chili!ASP, после установки которого сервера других производителей начинают "понимать" ASP – страницы.) Отличие ASP от препроцессора заключается в возможности работы с COM-объектами (в контексте
ASP их называют Installable components).
Проект под названием Denali почти идеально вписывается в технологию "клиент- сервер", теперь уже не настолько популярную. Хотя, что может лучше подходить для Сети, чем технология создания приложений "логически централизованных - физически децентрализованных". Говоря простым языком, логически централизованные - это распределенные вычислительные системы, доступные и управляемые из любой точки, а физическая децентрализация - это возможность расширения, масштабирования, повышения надежности.
В первую очередь, ASP имеет достаточно развитый командный язык. И даже не один, а как минимум два: VBScript и JScript. "Как минимум", потому что объектная модель OLE для «скриптовых» машин позволяет легко встраивать в среду другие языки. Поэтому разработчикам на Perl или REXX можно не переучиваться, а использовать свой накопленный опыт. И все же языком "по умолчанию" для ASP является VBScript, фактически подмножество Visual Basic, и в этом, конечно же, нет ничего удивительного - продукт Microsoft
Corporation. JScript, с другой стороны, - подмножество Java и так же похож на С++. И у той, и другой скрипт-машины есть как свои преимущества, так и недостатки. Если вкратце, то JScript все-таки кажется помощнее и почти дотягивает по возможностям до нескриптовых языков. Это далеко не ассемблер, практически невозможно поковыряться в потрохах у системы, но, по всей видимости, разработчики ASP посчитали это дополнительной защитой от вторжения извне.
Само кодирование не требует никаких дополнительных затрат в виде специальных сред разработки. Поскольку ASP-файлы имеют текстовый формат, они легко могут быть модифицированы для придания клиентской и серверной частям необходимой функциональности. Microsoft рекомендует использовать MS
InterDev, но почти во всех современных версиях HTML-редакторов (например,
Allaire HomeSite) есть поддержка тегов ASP. Код "вставляется" прямо в HTML- текст в окружении специального тега

Страницы: 1, 2, 3, 4, 5, 6



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.