3.2.3.2 IDC.

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

Рис.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 имеют менее иерархически строгую структуру и потому более удобны при работе с базами данных.

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

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


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-текст в окружении специального тега
, после этого файлу нужно дать с расширением .asp, чтобы он был передан на вход ASP-фильтра для переработки в обычный HTML и выдачи IIS-серверу, который уже и отдаст результат браузеру. Причем любому, не имеет значения, MS IE это, Netscape Navigator или браузер "третьего мира". Главное, чтобы он понимал HTML, а это ведь вообще-то первостепенная задача браузера. Чем не универсальная платформа, к которой долго и упорно стремятся все? Конечно, все же есть отличия в браузерах, то есть в их интерпретации стандартного HTML. Всем это знакомо: одни и те же странички, написанные на самом что ни на есть стандартнейшем HTML, смотрятся иногда совершенно по-разному в IE и NN. А вообще ASP имеет возможность справиться и с этой "проблемой". Просто определяется тип браузера, с которым пришли, и навигация идет по страницам, написанным для этого типа.

Происхождение одной из труднейших проблем при создании Интернет-приложений в самой природе Сети. Это отсутствие гарантированной постоянной связи, и, отсюда, невозможность создания непрерывного канала для отслеживания действий конкретного клиента. Единственный выход из этой ситуации - если клиент при каждом обращении будет "представляться". Именно это и сделано при помощи "cookie". Немало копий было поломано по поводу безопасности, но на данный момент, вроде бы, решили, что они достаточно безвредны, если не считать нескольких десятков байт, съедаемых на диске. Зато пользы от них, как можно увидеть, гораздо больше. После старта сервер выдает каждому пришедшему клиенту уникальный идентификатор (SessionID) в виде "cookie" и в течение сессии может понимать "кто - где". ID уникальны только в период непрерывной работы сервера. Если остановить и снова перезапустить сервер, то можно получить значения такие же, как до перезапуска. Поэтому применять SessionID в приложениях в виде уникального идентификатора не рекомендуется - лучше формировать свои.

Для настройки сессии можно использовать два объекта: Application и Session, каждый из которых имеет по два обрабатываемых события OnStart и OnEnd. Первый клиент, пришедший на сервер, вызывает создание объектов Application и Session и отработку для них своих процедур OnStart. Каждый последующий вызывает создание объекта Session для себя и отработку OnStart для своего объекта. После ухода клиента для соответствующего объекта Session отрабатывается процедура OnEnd, и объект уничтожается. С уходом последнего, кроме того, вызывается процедура OnEnd для объекта Application, и уничтожается объект Application. Уход клиента происходит либо по тайм-ауту, период которого задается в минутах свойством Timeout объекта Session (по умолчанию 30 минут), либо силовым методом Abandon того же самого объекта. Фактически, объект Session нужен для персонализации, то есть хранения переменных среды конкретного клиента, а Application - для хранения глобальной информации всего приложения. Процедуры для обработки событий OnStart и OnEnd описываются в файле Global.asa, который должен лежать в корне виртуального каталога.

Механизм приема-передачи данных в ASP реализован с помощью двух встроенных объектов: Request и Response. Используя свойства и методы этих объектов, можно добиться настоящей интерактивности, единственным неудобством остается необходимость закачки новой страницы каждый раз при исполнении какого-нибудь действия. Но тут не стоит забывать, что ASP - это именно серверная часть в клиент-серверной модели, а для клиентской части существуют другие решения.

Как уже было сказано выше, COM-объекты играют важную роль в жизни ASP. И самым значимым среди них является Database Access. Он обеспечивает доступ к данным, используя ActiveX Data Objects (ADO). Все, что для этого нужно, это создать объект Database Access, указать ему Data Source Name (DSN) и соединиться с источником данных. Так как используется ODBC, источник данных может быть любым: сегодня драйверы ODBC написаны для всевозможных вариантов и не ограничиваются системами управления базами данных. Более того, с выходом объектной файловой системы (Object File System), которую Microsoft обещает продемонстрировать в NT 5.0, ADO будут способны управлять файловой системой в стиле баз данных. Как прямой потомок Data Access Objects (DAO) и Remote Data Objects (RDO), модель ADO очень похожа на своих предшественников, вплоть до того, что программист, имеющий опыт работы с DAO или RDO, способен практически сразу использовать все возможности ADO. Разработчики утверждают, что внешне единственное отличие от старых моделей - это только ускорение, упрощение и увеличение надежности работы приложений, и представляют ADO как ядро новой технологии универсального доступа к данным (Universal Data Access).

Одним из перспективных направлений будет Windows Scripting Host, который появится в NT 5.0 и Win98. Это одна из стратегий, направленных на снижение усилий по администрированию (ZAW). Действительно, администраторы могут удаленно (из любой точки Сети) переконфигурировать системы или использовать скрипты для их автоматической настройки в зависимости от условий.

Microsoft технологию ASP продвигает достаточно активно. Об этом говорит хотя бы то, что в MS Internet Information Server 4.0 она уже входит составной частью, в отличие от IIS 3.0, где ASP представляли собой продукт, который было нужно инсталлировать отдельно. Кроме того, MS Site Server и MS Site Server Commerce Edition, позиционируемые как универсальные инструменты для строительства активных WEB-сайтов, являются теми же самыми ASP с огромным набором специализированных компонентов.

Выбор из многих решений показал, что наиболее оптимальным является использование ASP. Это связано прежде всего с самой технологией ASP модулей. По сути своей ASP – это использование API Windows , используется единое адресное пространство для каждого процесса в отличии от CGI, а потому и более производительно. Так же не стоит забывать о том, что WEB-сервер компании работает под управлением Windows NT Server, а в поставке Microsoft IIS 4.0 уже есть встроенный обработчик ASP.


Разработка проекта:


Информация о работе «Перенос Базы Данных на WEB-сервер»
Раздел: Информатика, программирование
Количество знаков с пробелами: 108575
Количество таблиц: 10
Количество изображений: 0

Похожие работы

Скачать
51476
2
0

... Java-совместимом Web-обозревателе. Необходимо использовать обозреватель, имеющий поддержку JDK (Java Development Kit √ стандарт Java) версии 1.1.x или выше. 3.2 Технология доступа к базам данных на стороне сервера с использованием механизма CGI В соответствии с идеологией CGI-интерфейсов, вся функциональность размещается на сервере приложений. Ее реализует один или несколько CGI-скриптов, ...

Скачать
183471
45
12

... Java, JavaScript и встроенные в сервер средства LiveConnect. Более мощными реляционными возможностями доступа к базе данных и более эффективным выполнением виртуальной Java-машины будут расширены услуги разработки приложений, обеспечиваемых в Enterprise Server 2.0,. Сервис управления. В дополнение к использованию встроенной машины каталога LDAP Enterprise Server 2.0 будет управляем через общие ...

Скачать
194681
23
7

... поставленной задачи показала правильность выбранного подхода. Тем не менее, работа требует дальнейше доработаки для организации постоянного доступа читателей к библиографическим ресурсам библиотекам города через Интернет. Литература 1.          Глушаков С.В., Ломотьков Д.В. Базы данных: Учебный курс. – К.: Абрис, 2000. -504с. 2.          Джейсон Мейнджер. Java: основы программирования :Пер ...

Скачать
59434
0
14

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

0 комментариев


Наверх