Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Технологии разработки Internet-приложений. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
низация, разработавшая и обслуживающая этот мощный пакет, обеспечивает свое функционирование с помощью пользователей, которые спонсируют его развитие и сопровождение.
Используя открытый код 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 In­ternet Information Server.
3. Рассмотрены принципы использования Web-серверов на примере Personal Web Server и Microsoft Internet Information Server
Вопросы для самопроверки
1. Сформулируйте определение понятия «Web-сервер».
2. Для каких целей при разработке и функционировании при­ложений используются Web-серверы?
3. Дайте характеристику Web-серверу Apache.
4. Перечислите основные особенности функционирования сервера Apache.
5. Охарактеризуйте сервер Microsoft Internet Information Serv­er.
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 и логики представления; бизнес-слой – компоненты бизнес-логики, бизнес­процесса и бизнес-сущностей; и слой доступа к данным – компо­ненты доступа к данным и агентов сервисов. В насыщенных Inter­net-приложениях часть бизнес-процессов и даже код доступа к данным часто переносятся на клиент. Поэтому клиентская часть, в зависимости от сценария, может включать некоторую или всю функциональность бизнес-слоя и слоя доступа к данным.
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]