logo
СуперШпор

32. Протокол http. Обеспечение интерактивности и динамичности Web-страниц. Технология Java, апплеты и сервлеты.

Протокол HTTP (HyperText Transfer Protocol - протокол передачи гипертекста) был разработан как основа World Wide Web. Все нюансы протокола описаны в RFC(Request for Comments,) (для версии 1.0 - RFC 1945). Работа по протоколу HTTP происходит следующим образом: программа-клиент устанавливает TCP-соединение с сервером (стандартный номер порта-80) и выдает ему HTTP-запрос. Сервер обрабатывает этот запрос и выдает HTTP-ответ клиенту.

Протокол передачи гипертекста HTTP является протоколом прикладного уровня для распределенных информационных систем. Это объектно-ориентированный протокол, пригодный для решения многих задач, таких как создание серверов имен, распределенных объектно-ориентированных управляющих систем и др. Структура HTTP позволяет создавать системы, независящие от передаваемой информации.

HTTP используется также в качестве базового протокола для коммуникации пользовательских агентов с прокси-серверами и другими системами Интернет, в том числе и использующие протоколы SMTP(Simple Mail Transfer Protocol), NNTP(Network News Transfer Protocol), FTP(File Transfer Protocol), Gopher и Whois.

HTML (Hyper Text Mark-up Language) является общемировым языком для создания WWW-страниц (web-страниц). HTML-файл представляет собой текстовый файл, в котором записаны команды языка HTML. Команды, которые составляют язык, называются тэгами. Тэги заключаются в угловые скобки.

Для придания динамичности HTML-страницам был предложен и реализован ряд технологий, "оживляющих" и создающих "реагирующие" на действия пользователя HTML-документы. Одной из первых технологий в этом ряду стоит технология, основанная на CGI(Common Gateway Interface )-сценарии — программе, инициализируемой на сервере при передаче на него информации из полей форм HTML, создаваемых тэгом <FORM>. Ее недостатком является реализация простейшего сценария вида: "Я вам послал сообщение, а вы мне на него ответили". Более того, подобный сценарий существенно влияет на загрузку сети: любой запрос и ответ занимает ресурсы сети.

Чтобы избежать подобных ситуаций, фирмой Netscape был разработан специальный язык сценариев JavaScript. Программы, написанные на этом языке, встраиваются в документ HTML и интерпретируются браузером, используемым для его просмотра. Подобная технология снимает нагрузку на сеть, избавляя пользователя от ненужных пересылок недостоверной информации. Фирма Microsoft разработала и активно продвигает собственный язык сценариев — VBScript, являющийся подмножеством широко используемого для разработки Windows-приложений языка Visual Basic.

Языки сценариев действительно делают HTML-страницы интерактивными.

Большей интерактивности можно достичь с помощью динамического языка разметки страниц (Dynamic HTML), который, по существу, состоит из трех компонентов — каскадной таблицы стилей (CSS - Cascading Style Sheets), JavaScript и HTML, соединенные объектной моделью документа (DOM - Document Object Model).

Апплеты Java и элементы управления ActiveX, создаваемые с помощью современных языков программирования, поддерживающих объектно-ориентированные технологии, позволяют внедрять в документ программируемые объекты и взаимодействовать с ними, меняя их свойства и вызывая их методы посредством языков сценариев.

Технология Java.

Java — объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems. Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) независимо от компьютерной архитектуры. Дата официального выпуска — 23 мая 1995 года.

Java-апплет — это прикладная программа на Java в форме байт-кода. Java-апплеты выполняются в веб-браузере с использованием виртуальной Java машины (JVM). Java-апплеты были внедрены в первой версии языка Java в 1995. Java-апплеты обычно пишутся на языке программирования Java, но могут быть написаны и на других языках, которые компилируются в байт код Java.

Апплеты используются для предоставления интерактивных возможностей веб-приложений, которые не могут быть предоставлены HTML. Так как байт-код Java платформо-независим, то Java-апплеты могут выполняться браузерами многих платформ, включая Microsoft Windows, UNIX, Apple Mac OS и GNU/Linux.

Сервлет является Java-программой, выполняющейся на стороне сервера и расширяющей функциональные возможности сервера. Сервлет взаимодействует с клиентами посредством принципа запрос-ответ. Сервлеты должны реализовывать Servlet интерфейс, который определяет методы жизненного цикла.

Хотя сервлеты могут обслуживать любые запросы, они обычно используются для расширения веб-серверов. Для таких приложений технология Java Servlet определяет HTTP-специфичные сервлет классы.

Первая спецификация сервлетов была создана в Sun Microsystems (версия 1.0 была закончена в июне 1997). Начиная с версии 2.3, спецификация сервлетов разрабатывалась под руководством Java Community Process. Стандарт JSR 53 определял как Servlet 2.3, так и спецификацию JavaServer Page 1.2. JSR 154 включает в себя спецификации Servlet 2.4 и текущую на данный момент 2.5.

33. Методы анализа и проектирования вычислительных сетей и средств телекоммуникаций: математические и имитационные модели. Основные характеристики, определяемые в процессе анализа. Использование средств автоматизации при проектировании вычислительных сетей.

Моделирование представляет собой мощный метод научного познания, при использовании которого исследуемый объект заменяется более простым объектом, называемым моделью.

Основными разновидностями процесса моделирования можно считать два его вида - математическое и физическое моделирование.

При физическом моделировании исследуемая система заменяется соответствующей ей другой материальной системой, которая воспроизводит свойства изучаемой системы с сохранением их физической природы. Возможности физического моделирования довольно ограничены. Оно позволяет решать отдельные задачи при задании небольшого количества сочетаний исследуемых параметров системы.

При оптимизации сетей во многих случаях предпочтительным оказывается использование математического моделирования. Математическая модель представляет собой совокупность соотношений (формул, уравнений, неравенств, логических условий), определяющих процесс изменения состояния системы в зависимости от ее параметров, входных сигналов, начальных условий и времени.

Особым классом математических моделей являются имитационные модели. Такие модели представляют собой компьютерную программу, которая шаг за шагом воспроизводит события, происходящие в реальной системе. Применительно к вычислительным сетям их имитационные модели воспроизводят процессы генерации сообщений приложениями, разбиение сообщений на пакеты и кадры определенных протоколов, задержки, связанные с обработкой сообщений, пакетов и кадров внутри операционной системы, процесс получения доступа компьютером к разделяемой сетевой среде, процесс обработки поступающих пакетов маршрутизатором и т.д. При имитационном моделировании сети не требуется приобретать дорогостоящее оборудование - его работы имитируется программами, достаточно точно воспроизводящими все основные особенности и параметры такого оборудования.

Преимуществом имитационных моделей является возможность подмены процесса смены событий в исследуемой системе в реальном масштабе времени на ускоренный процесс смены событий в темпе работы программы. В результате за несколько минут можно воспроизвести работу сети в течение нескольких дней, что дает возможность оценить работу сети в широком диапазоне варьируемых параметров.

Результатом работы имитационной модели являются собранные в ходе наблюдения за протекающими событиями статистические данные о наиболее важных характеристиках сети: временах реакции, коэффициентах использования каналов и узлов, вероятности потерь пакетов и т.п.

Существуют специальные, ориентированные на моделирование вычислительных сетей программные системы, в которых процесс создания модели упрощен. Такие программные системы сами генерируют модель сети на основе исходных данных о ее топологии и используемых протоколах, об интенсивностях потоков запросов между компьютерами сети, протяженности линий связи, о типах используемого оборудования и приложений. Программные системы моделирования могут быть узко специализированными и достаточно универсальными, позволяющие имитировать сети самых различных типов. Качество результатов моделирования в значительной степени зависит от точности исходных данных о сети, переданных в систему имитационного моделирования.

Системы имитационного моделирования обычно включают также набор средств для подготовки исходных данных об исследуемой сети - предварительной обработки данных о топологии сети и измеренном трафике. Кроме того, система снабжается средствами для статистической обработки полученных результатов моделирования.

Популярная система имитационного моделирования: COMNET III

Она позволяет анализировать работу сложных сетей, работающих на основе практически всех современных сетевых технологий и включающих как локальные, так и глобальные связи. Система COMNET состоит из нескольких основных частей, работающих как автономно, так и в комплексе: COMNETBaseliner - пакет, предназначенный для сбора исходных данных о работе сети, необходимых для проведения моделирования. COMNETIII вместе с пакетом AdvanceFeaturesPack - система детального моделирования сети. COMNETPredictor - система быстрой оценки производительности сети.

Статистический анализ

COMNETIII включает интегрированный набор средств для статистического анализа исходных данных и результатов моделирования. С их помощью можно подобрать подходящее распределение вероятностей для экспериментально полученных данных. Средства анализа результатов позволяют вычислить доверительные интервалы, выполнить регрессионный анализ и оценить вариации оценок, полученных по нескольким прогонам модели.