Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Технологии разработки Internet-приложений. Учебное пособие
.pdf
низация, разработавшая и обслуживающая этот мощный пакет,
обеспечивает свое функционирование с помощью пользователей,
которые спонсируют его развитие и сопровождение.
Используя открытый код Apache, разработчик может создавать
собственные конфигурации сервера, компилируя внесенные в код
изменения. Apache имеет модульную структуру, т. е. в его состав
входит набор модулей, которые служат для обеспечения требуемых
функций сервера и могут быть динамически включены в конфигурацию даже во время активной работы сервера. Сервер Apache позволя-
ет использовать CGI-сценарии, написанные на Perl или РНР.
Основные особенности функционирования сервера Apache:
- является мощным, гибким, НТТР/1.1 -совместимым сервером;
- поддерживает современные протоколы;
- имеет легко перестраиваемую конфигурацию с возможно-
стью установления дополнительных функций (модулей) от сторонних производителей;
- может быть сконфигурирован с использованием модулей API;
- снабжается полным исходным текстом и поступает с бес-
платной лицензией на использование без ограничений;
- работает под управлением популярных операционных си-
стем Windows и большинства версий UNIX;
- поддерживает ведение отчетной документации об ошибках и
файлы коррекции.
Сервер Apache поддерживает следующие функции:
- доступ к базам данных, используемым для аутентификации,
т. е. возможность установки защищенных паролем страниц с
огромным количеством уполномоченных пользователей без перегрузки сервера;
- настройку реакции сервера на ошибки и сбои, заключающу-
юся в возможности устанавливать файлы или даже сценарии CGI,
используемые сервером при возникновении ошибки;
- автоматическая обработка HTML-данных с изменяющейся
структурой и модификация их для удобного представления информации клиенту;
- поддержка виртуальных хостов, заключающаяся в возмож-
ности настройки нескольких "домашних хостов", что позволяет
серверу различать запросы, сделанные по различным IP-адресам;
41

Apache также предоставляет возможность динамически настраивать функции "главного" виртуального хоста;
- генерация информации о настройках в удобном для пользо-
вателя формате;
- формирование на большинстве архитектур UNIX Apache так
называемых журналов учета (log-файлов).
3.3. Сервер Microsoft Internet Information Server. Характери-
стика
Ближайшим конкурентом Apache является Microsoft Internet
Information Server (MIIS), входящий в состав системы Windows.
Согласно опросу, проводимому компанией Netcraft, под управлением MIIS работает примерно в три раза меньше серверов по
сравнению с управляемым Apache. Он обладает многими новыми
функциональными возможностями, среди которых создание нескольких Web-узлов, новые средства администрирования, работа в
режиме сервера новостей.
Еще одной особенностью стали определяемые пользователем
специальные группы Intenet, где можно размещать различные ресурсы, например, принтеры, с целью упрощенного обращения к
ним и просмотра. Службы MIIS позволяют использовать масштабируемые Web-приложения, а также публиковать данные из информационных систем в глобальной сети. Службы MIIS поддерживают страницы ASP, которые являются средой создания серверных сценариев для разработки динамических интерактивных приложений Web-серверов. Они позволяют разработчикам объединять
нужным образом страницы в формате HTML, команды сценариев
и компоненты СОМ для создания мощных и гибких Webприложений.
Упрощенной версией MIIS является Microsoft Personal Web
Server (PWS), который предназначен для работы в качестве
настольного Web-сервера для распространения в сети информации
с домашнего компьютера.
Microsoft Internet Information Server позволяет так же расширять возможности сервера, как и сервер Apache. Используя интерфейс СОМ, можно подключать различные языки создания сценариев для этого Web-сервера. Но в данном случае интерпретаторы
42

сценариев не входят непосредственно в состав сервера, что несколько замедляет обработку сценариев.
Наибольшее отличие между Apache и MIIS заключается в
возможности изменять конфигурацию сервера Apache без остановки его работы, изменяя в текстовом режиме файлы настройки,
что позволяет динамически включать и выключать необходимые
модули. Однако графический интерфейс MIIS развит гораздо лучше, в то время как аналогичный модуль Apache все еще в стадии
разработки. Это объясняется тем, что первоначально Apache разрабатывался для UNIX-подобных систем с интерфейсом в виде
командной строки. Среди недостатков MIIS можно выделить недостаточный уровень безопасности дисков с файловой системой
NTFS, в результате которой возникает зависимость от сети и системы безопасности операционной системы.
Положительным фактом для MIIS является возможность получения технической поддержки этого сервера. В интерактивном
режиме предоставляется вся информация, касающаяся установки и
обслуживания. Дополнительно в пакете MIIS имеются отдельные
файлы помощи по утилитам.
3.4. Использование Web-серверов
3.4.1. Personal Web Server
Microsoft Personal Web Server (PWS) 4.0 является настольным
Web-сервером. Он является упрощенным вариантом сервера
Microsoft Internet Information Server и предназначен для передачи
информации в формате HTML-страниц с использованием протокола HTTP.
Основные возможности сервера следующие:
- создание собственного сайта на своем компьютере;
- публикация Web-страниц в Internet, в том числе публикация
БД в сетях Intranet;
- использование технологии объектов ActiveX;
- передача файлов на основе протокола FTP;
- реализация технологии IDC/HTX-страниц на основе компо-
нента Internet DataBase Connector, функционирование которого
обеспечивается библиотекой httpodbc.dll.
43

3.4.2. Microsoft Internet Information Server
Microsoft Internet Information Server (MIIS) представляет собой
Web-службу Windows, использующуюся для публикации инфор-
мации в сетях Intranet или Internet.
Windows Server является мощным сервером, соединяющим в
себе сетевую операционную систему и службы Internet. Windows
Server обеспечивает масштабируемость, поддержку больших объемов физической памяти, достаточный уровень надежности и безопасности, удобный графический интерфейс с мощным набором
средств и Мастеров, автоматизирующих настройку и администрирование Web-узла.
Windows Server подходит для быстрой разработки собственного Web-узла, интенсивно работающего с базами данных, особенно в качестве сервера приложений. При проектировании структуры Web-узла с использованием MIIS на основе платформы
Windows Server наиболее эффективной считается многоуровневая
схема. При этом в качестве сервера баз данных предпочтительным
является сервер базы данных на основе операционной системы
UNIX, a Web-узел с Windows Server рекомендуется в качестве сервера приложений.
MIIS 5.0 имеет много новых возможностей, помогающих
Web-администраторам создавать масштабируемые и гибкие Webприложения.
1. Средства обеспечения безопасности:
- дополнительная проверка подлинности пользователей прок-
си-серверы и брандмауэры;
- подключения, обеспечивающие безопасный обмен информа-
цией между клиентами и серверами;
- шифрование передаваемой информации;
- мастера безопасности, упрощающие администрирование
сервера.
2. Средства автоматизации администрирования:
- мастер сертификатов Web-сервера, упрощающий админи-
стрирование сертификатов (например, создание запросов на сертификаты и управление жизненным циклом сертификатов);
- мастер разрешений, упрощающий конфигурирование доступа к Web-узлу за счет присвоения правил доступа виртуальным
каталогам или файлам.
44

3. Поддержка технологии страниц ASP, которая является альтернативой технологиям CGI и ISAPI для доступа к базам данных и
имеет ряд новых и улучшенных возможностей, позволяющих повысить быстродействие и гибкость сценариев на стороне сервера.
4. Более мощная защита и увеличение надежности Webприложений. По умолчанию MIIS выполняет все приложения в
общем или групповом процессе, отделенном от процессов ядра
MIIS. Кроме того, остается возможность изолирования критически
важных приложений, которые следует запускать вне процессов
ядра MIIS и вне группового процесса.
Выводы
1. Сформулированы определение понятия «Web-сервер»; цели
и задачи использования Web-серверов при разработке и функционировании приложений в сетях.
2. Дана характеристика Web-серверам: Apache, Microsoft Internet Information Server.
3. Рассмотрены принципы использования Web-серверов на
примере Personal Web Server и Microsoft Internet Information Server
Вопросы для самопроверки
1. Сформулируйте определение понятия «Web-сервер».
2. Для каких целей при разработке и функционировании приложений используются Web-серверы?
3. Дайте характеристику Web-серверу Apache.
4. Перечислите основные особенности функционирования
сервера Apache.
5. Охарактеризуйте сервер Microsoft Internet Information Server.
6. Продемонстрируйте использование Web-серверов на примере Personal Web Server.
7. Приведите алгоритм использования Web-сервера Microsoft
Internet Information Server.
Литература и Internet-ресурсы
Основная: [1].
Дополнительная: [5, 6].
Internet-ресурсы: [1].
45

Раздел 2
ТЕХНОЛОГИИ РАЗРАБОТКИ
INTERNET-ПРИЛОЖЕНИЙ
4. КЛИЕНТСКИЕ СЦЕНАРИИ И ПРИЛОЖЕНИЯ
План
4.1. Программы, выполняющиеся на клиент-машине.
4.2. Программы, выполняющиеся на сервере.
4.3. Насышщенные Internet-приложения
4.4. Введение в Jscript: типы данных, операторы, функции и
объекты.
4.4.1. Типы данных
4.4.2. Операторы
4.4.3. Функции и объекты
4.5. Краткая характеристика VBScript.
4.6. Java-апплеты.
4.7. ActionScript-общая характеристика.
4.8. XAML и Microsoft Silverlight.
4.9. Понятие о DOM.
4.10. DHTML.
Web-приложение - приложение, в котором клиентом выступа-
ет браузер, а сервером – Web-сервер.
Никакой HTTP-обмен невозможен без клиента и сервера. Од-
нако помимо клиента и сервера в Web-сеансе могут участвовать и
другие программы, которые и являются объектом Web-
программирования.
Результатом работы Web-приложения является Web-страница,
отображаемая в окне браузера. При этом само Web-приложение
может выполняться как на компьютере клиента, так и на компьютере сервера.
4.1. Программы, выполняющиеся на клиент-машине
Одним из типов программ, предназначенных для выполнения
на клиент-машине, являются сценарии, например, JavaScript
(VBScript). Исходный текст сценария представляет собой часть
46

веб-страницы, поэтому сценарий JavaScript передается клиенту
вместе с документом, в состав которого он входит. Обрабатывая
HTML-документ, браузер обнаруживает исходный текст сценария
и запускает его на выполнение.
Ко всем программам, которые передаются с сервера на кли-
ент-машины и запускаются на выполнение, предъявляется одно
общее требование: эти программы должны быть лишены возможности обращаться к ресурсам компьютера, на котором они выполняются. Такое требование вполне обосновано. Ведь передача по
сети и запуск Java-апплетов и JavaScript-сценариев происходит
автоматически без участия пользователя, поэтому работа этих
программ должна быть абсолютно безопасной для компьютера.
Другими словами, языки, предназначенные для создания программ, выполняющихся на клиент-машине, должны быть абсолютно непригодны для написания вирусов и подобных программ.
4.2. Программы, выполняющиеся на сервере
Код программы, работающей на сервере, не передается клиенту. При получении от клиента специального запроса, предполагающего выполнение такой программы, сервер запускает ее и передает параметры, входящие в состав запроса. Средства для генерации подобного запроса обычно входят в состав HTML-документа.
Результаты своей работы программа оформляет в виде HTMLдокумента и передает их Web-серверу, а последний, в свою очередь, дополняет полученные данные HTTP-заголовком и передает
их клиенту.
4.3. Насыщенные Internet-приложения
Насыщенное Internet-приложение (Rich Internet application)
подход, который заключается в использовании Adobe Flash или
Java-апплетов для полной или частичной реализации пользовательского интерфейса, поскольку большинство браузеров поддерживает эти технологии (как правило, с помощью плагинов).
Возникновение данного подхода обусловлено тем, что в рамках Web-приложений с «тонким» клиентом взаимодействие пользователя с приложением реализуется в существенной степени через сервер, что требует отправки данных на сервер, получение ответа от сервера и перезагрузку страницы на стороне клиента.
47

При использовании Java-апплетов в состав HTML-документа
включается специальный дескриптор, описывающий расположение файла, содержащего код апплета, на сервере. После того как
клиент получает HTML-код документа, включающего апплет, он
генерирует дополнительный запрос серверу. После того как сервер
пересылает клиенту код апплета, сам апплет запускается на выполнение.
При использовании насыщенных Internet-приложений приходится сталкиваться со следующими проблемами:
- необходимость обеспечения безопасной среды выполнения
(«песочница»);
- для исполнения кода должно быть разрешено исполнение
сценариев;
- потеря в производительности, поскольку выполняется на
клиентской машине;
- требуется много времени на загрузку.
Технологии разработки насыщенных Internet-приложений
(RIA) обладает рядом преимуществ:
- не требуется установка данного конкретного приложения;
- обновление и распространение приложения – быстрый и ав-
томатизированный процесс;
- обновление версий выполняется автоматически;
- пользователи могут использовать приложение на любом
компьютере, имеющем соединение с Web, независимо от операционной системы, установленной на нем.
Насыщенные Internet-приложения (RIA) предлагают пользовательский интерфейс, не ограниченный лишь языком разметки
HTML, применяемым в стандартных Web-приложениях. Расширенная функциональность позволяет использовать такие возможности пользовательского интерфейса, как drag-and-drop, возможность производить вычисления прямо на клиентском компьютере
без отправки данных обратно на сервер.
Интерфейсы насыщенных Internet-приложений более интерактивны, чем стандартные интерфейсы браузеров, требующие
постоянного взаимодействия с удаленным сервером.
Наиболее сложные приложения насыщенные Internet-приложения предлагают внешний вид и функциональность, близкие к
настольным приложениям. При этом их технологии в них зало-
48

женные предоставляют ряд преимуществ, имеющих отношение к
производительности:
Использование вычислительных ресурсов клиента и сервера
лучше сбалансировано, что высвобождает значительные вычислительные ресурсы сервера, позволяя обрабатывать большее количество сессий одновременно при тех же аппаратных возможностях.
Клиентское приложение может взаимодействовать с сервером,
не дожидаясь, пока пользователь совершит определенное действие
в приложении. Это позволяет пользователю просматривать страницу и взаимодействовать с ней асинхронно с помощью коммуникации между приложением и сервером. Что дает возможность позволяет разработчикам таких приложений реализовать передачу
данные между клиентом и сервером без ожидания пользователя.
Например, в Google Maps эта технология используется для дополнительной загрузки прилегающих сегментов карты, прежде чем
пользователь переместится на них для просмотра.
При работе с насыщенными Internet-приложениями следует
учитывать их недостатки:
1) ограниченный доступ к системным ресурсам, поскольку загру-
жаются в локальной среде безопасности, называемой «песочницей»;
2) при некорректной настройке прав доступа к ресур-
сам насыщенные Internet-приложения могут работать неправильно.
Типовое насыщенное Internet-приложение включает три слоя:
слой представления, бизнес-слой и слой доступа к данным. Слой
представления, как правило, содержит компоненты UI и логики
представления; бизнес-слой – компоненты бизнес-логики, бизнеспроцесса и бизнес-сущностей; и слой доступа к данным – компоненты доступа к данным и агентов сервисов. В насыщенных Internet-приложениях часть бизнес-процессов и даже код доступа к
данным часто переносятся на клиент. Поэтому клиентская часть, в
зависимости от сценария, может включать некоторую или всю
функциональность бизнес-слоя и слоя доступа к данным.
4.4. Введение в JScript
JavaScript – интерпретируемый язык программирования, стандартизированный международной организацией ECMA в спецификации ECMA-262. Языки JavaScript, JScript и ActionScript являются расширением стандарта ECMA-262.
49

Название «ECMAScript» явилось фактически компромиссом
между организациями, вовлеченными в процесс стандартизации, в
частности Netscape и Microsoft. Хотя JavaScript и JScript стремились к совместимости с ECMAScript, они имеют ряд дополнительных возможностей не предусмотренных спецификацией ECMA.
Синтаксис JScript во многом аналогичен языку JavaScript, однако, помимо добавления клиентских скриптов на веб-страницы и
некоторых других функций, JScript может использоваться и для
других целей, например: автоматизация администрирования систем Microsoft Windows; создание страниц ASP.
Язык JScript получил дальнейшее развитие в виде языка
JScript.NET, который ориентирован на работу в рамках платформы
Microsoft.NET
JScript – интерпретируемый, объектно-ориентированный язык.
Хотя он имеет существенно меньшее количество возможностей,
чем такие объектно-ориентированные языки как C++ и Java.
Возможности языка существенно ограничены:
- язык не позволяет разрабатывать самостоятельные приложения;
- сценарии на JScript могут выполняться только при помощи
интерпретатора, в частности Web-браузером;
- JScript – язык без строгого контроля типов. Поэтому не тре-
буется объявлять тип переменных явно. Кроме того, во многих
случаях JScript исполняет преобразования автоматически, когда
они необходимы.
Код на JScript пишется в текстовом формате, и организован в
инструкции, блоки, состоящие из связанных наборов инструкций,
и комментариев. В пределах инструкции можно использовать переменные и данные, такие как строки, числа и выражения. Для
объявления конца инструкции используется точка с запятой (;).
Группа JScript-инструкций, заключенная в фигурные скобки {},
называется блоком.
Комментарием в JScript является текст, расположенный после //
до конца строки. Многострочный комментарий начинается с /*, и
заканчивается */.
Знак равенства (=) используется в JScript как присваивание.
JScript выражения можно разделить на логические или числовые. Выражения содержат некоторые особенности, к примеру,
символ «+» означает «добавить к ...». Любая допустимая комбина-
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
