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:
Рис.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.
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