Лекция Клиентские сценарии и приложения. Как правило, Веб-приложение приложение, в котором клиентом выступает браузер, а сервером веб-сервер icon

Лекция Клиентские сценарии и приложения. Как правило, Веб-приложение приложение, в котором клиентом выступает браузер, а сервером веб-сервер




Скачати 183.15 Kb.
НазваЛекция Клиентские сценарии и приложения. Как правило, Веб-приложение приложение, в котором клиентом выступает браузер, а сервером веб-сервер
Дата конвертації03.01.2013
Розмір183.15 Kb.
ТипЛекция
джерело

Лекция 3. Клиентские сценарии и приложения.


Как правило, Веб-приложение - приложение, в котором клиентом выступает браузер, а сервером - веб-сервер.

Рассмотрим типы программ, обеспечивающих работу Веб и использующих HTTP-протокол.

Никакой HTTP-обмен невозможен без клиента и сервера. Однако помимо клиента и сервера в веб-сеансе могут участвовать и другие программы, которые и являются объектом веб-программирования.

Результатом работы веб-приложения является веб-страница, отображаемая в окне браузера. При этом само веб-приложение может выполняться как на компьютере клиента, так и на компьютере сервера.

Рассмотрим подробнее обе схемы.
^

1. Программы, выполняющиеся на клиент-машине


Одним из типов программ, предназначенных для выполнения на клиент-машине, являются сценарии, например, JavaScript (VBScript). Исходный текст сценария представляет собой часть веб-страницы, поэтому сценарий JavaScript передается клиенту вместе с документом, в состав которого он входит. Обрабатывая HTML-документ, браузер обнаруживает исходный текст сценария и запускает его на выполнение.

Ко всем программам, которые передаются с сервера на клиент-машины и запус­каются на выполнение, предъявляется одно общее требование: эти программы должны быть лишены возможности обращаться к ресурсам компьютера, на котором они выпол­няются. Такое требование вполне обосновано. Ведь передача по сети и запуск Java-апплетов и JavaScript-сценариев происходит автоматически без участия пользователя, поэтому работа этих программ должна быть абсолютно безопасной для компьютера. Другими словами, языки, предназначенные для создания программ, выполняющихся на клиент-машине, должны быть абсолютно непригодны для написания вирусов и подобных программ.
^

2. Программы, выполняющиеся на сервере


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

Результаты своей работы программа оформляет в виде HTML-документа и передает их веб-серверу, а последний, в свою очередь, дополняет полученные данные HTTP-заголовком и передает их клиенту. Взаимодействие клиен­та и сервера в этом случае показано на рисунке 1.





Рисунок 1. Взаимодействие клиента с программой, выполняющейся на сервере.


3. Насыщенные интернет-приложения


Насыщенное интернет-приложение (Rich Internet application) – еще один подход, который заключается в использовании ^ Adobe Flash или Java-апплетов для полной или частичной реализации пользовательского интерфейса, поскольку большинство браузеров поддерживает эти технологии (как правило, с помощью плагинов).

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

При использовании Java-апплетов в состав HTML-документа включается специальный дескриптор, описывающий расположение файла, содержащего код апплета, на сервере. После того как клиент получает HTML-код документа, включающего апплет, он генерирует дополнительный запрос серверу. После того как сервер пересы­лает клиенту код апплета, сам апплет запускается на выполнение. Взаимодействие между клиентом и сервером при получении апплета показано на рисунке 2.





Рисунок 2. Передача клиенту Java-апплета.


При использовании насыщенных интернет-приложений приходится сталкиваться со следующими проблемами:

  • необходимость обеспечения безопасной среды выполнения («песочница»);

  • для исполнения кода должно быть разрешено исполнение сценариев;

  • потеря в производительности (т.к. выполяется на клиентской стороне);

  • требуется много времени на загрузку;

Для разработки насыщенных интернет-приложений используются пакеты Curl, Adobe Flex и Microsoft Silverlight.

^ 4. Введение в JScript.

JavaScript - интерпретируемый язык программирования, стандартизированный международной организацией ECMA в спецификации ECMA-262. Языки JavaScript, JScript и ActionScript являются расширением стандарта ECMA-262.

Название "ECMAScript" явилось фактически компромиссом между организациями, вовлеченными в процесс стандартизации, в частности Netscape и Microsoft. Хотя JavaScript и JScript стремились к совместимости с ECMAScript, они имеют ряд дополнительных возможностей не предусмотренных спецификацией ECMA.

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

  • автоматизация администрирования систем Microsoft Windows;

  • создание страниц ASP.

Язык JScript получил дальнейшее развитие в виде языка JScript.NET, который ориентирован на работу в рамках платформы Microsoft.NET

JScript - интерпретируемый, объектно-ориентированный язык. Хотя он имеет существенно меньшее количество возможностей, чем такие объектно-ориентированные языки как C++ и Java.

Возможности языка существенно ограничены:

  • язык не позволяет разрабатывать самостоятельные приложения;

  • сценарии на JScript могут выполняться только при помощи интерпретатора, в частности веб-браузером.

  • JScript - язык без строгого контроля типов. Поэтому не требуется объявлять тип переменных явно. Кроме того, во многих случаях JScript исполняет преобразования автоматически, когда они необходимы. Например, при сложении строки и числа, число будет преобразовано в строку.


Код на JScript пишется в текстовом формате, и организован в инструкции, блоки, состоящие из связанных наборов инструкций, и комментариев. В пределах инструкции можно использовать переменные и данные, такие как строки, числа и выражения. Для объявления конца инструкции используется точка с запятой (;). Группа JScript-инструкций, заключенная в фигурные скобки {}, называется блоком.

Комментарием в JScript является текст, расположенный после // до конца строки. Многострочный комментарий начинается с /*, и заканчивается */.

Знак равенства (=) используется в JScript как присваивание. Следующий код

Pi = 3.14;

подразумевает "Присвоить значение 3.14 переменной Pi".

При сравнении двух значений на равенство применяется двойной знак равенства (==).

JScript выражения можно разделить на логические или числовые. Выражения содержат некоторые особенности, к примеру, символ "+" означает "добавить к...". Любая допустимая комбинация значений, переменных, операторов, и других выражений является выражением.

Объявление переменной перед использованием является необязательным. Для этого используется инструкция var. Инструкция var является обязательной при объявлении локальной переменной внутри функции. Разрешается объявление переменной неявно - без инструкции var. Однако, в выражениях применять необъявленные переменные не допускается. JScript различает регистр в имени переменной. Name и name рассматриваются как различные переменные.

^ Типы данных

JScript - язык с нестрогим контролем типов, переменные в JScript не имеют строго фиксированного типа. Переменные имеют тип, эквивалентный типу значения, которое они содержат. Однако, в некоторых случаях, необходимо принудительное преобразование переменной в определенный тип. Числа могут быть объявлены как строки, а строки необходимо преобразовать в числовой тип. Для этого применяют функции parseInt() и parseFloat().

В JScript используется шесть типов данных. Основные из них - числа, строки, объекты, логический. Остальные два - null и undefined (т.е. неопределенный).

Строки объявляются при помощи двойных кавычек или апострофов. Строка может состоять из нуля или более символов unicode. Когда количество символов равно нулю, это называется пустой строкой ("").

JScript поддерживает числа как целые, так и с плавающей запятой. Также существуют специальные представления чисел, например NaN (не число).

Примеры чисел:

3.14 // Вещественное число

15 // Целое число

0177 // Восьмеричное число 177

0XA8 // Шестнадцатиричное число A8

Логический тип допускает значения - true и false. Любое выражение, равное 0, считается эквивалентным false, а любое выражение, равное числу, отличному от 0 будет эквивалентным true.

Undefined – означает, что тип не определен. Значение undefined имеет переменная после ее объявления и до присвоения ей какого-либо определенного значения.

Переменная типа null - не имеет никакого определенного значения.

Операторы

Язык поддерживает условные выражения if и if...else. При использовании нескольких условий одновременно можно использовать операторы || (ИЛИ ) или && (И).

В JScript поддерживается несколько типов циклов: for, for...in, while, do...while и switch. Также существует инструкция остановки выполнения цикла. Оператор завершения break может использоваться, чтобы остановить цикл, при выполнении какого-либо условия. Инструкция continue используется, чтобы немедленно перейти к выполнению следующей итерации, пропуская остальную часть выполнения кода текущей итерации, но обновляя переменную-счетчик.

^ Функции и объекты

В JScript имеется два вида функций: встроенные и определяемые. Программист имеет возможность создавать собственные функции. Определение функции состоит из объявления параметров и блока инструкций JScript.

Объекты в JScript, по-сути, являются совокупностями методов и свойств. Все объекты можно разделить на три вида: встроенные, созданные и браузерные. Обработка объектов и массивов идентична. Можно обратиться к любой части объекта (его свойствам и методам) либо по имени, либо по индексу. Нумерация индексов в JScript начинается с нуля.

^ 5. Краткая характеристика VBScript

Visual Basic Scripting Edition (обычно просто VBScript) — сценарный язык программирования, интерпретируемый компонентом Windows Script Host. Он широко используется при создании скриптов в операционных системах семейства Microsoft Windows.

Язык был создан компанией Microsoft как замена устаревшему пакетному языку, интерпретируемому приложением command.com. Синтаксис VBScript является упрощённой версией синтаксиса языка Visual Basic.

Сценарии на языке VBScript чаще всего используются в следующих областях, использующих программные продукты Microsoft:

  • автоматизация администрирования систем Windows;

  • серверный программный код в страницах ASP;

  • клиентские сценарии в браузере Internet Explorer.

6. Java-апплеты

Java-апплет - это программа, написанная на языке Java и откомпилированная в байт-код. Выполнется в браузере с использованием виртуальной Java-машины (JVM). Апплеты используются для предоставления интерактивных возможностей веб-приложений, которые не возможны в HTML. Так как байт-код Java платформо-независим, то Java-апплеты могут выполняться браузерами на многих операционных платформах.

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

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

Код апплета загружается с веб-сервера, и браузер

  • либо вставляет апплет в веб-страницу;

  • либо открывает отдельное окно с собственным пользовательским интерфейсом апплета.

Апплет может быть внедрен в веб-страницу с помощью использования HTML тэга , или (что рекомендуется) тэга .

Можно назвать следующие преимущества Java-апплетов:

  • работают практически на большинстве операционных платформ;

  • поддерживаются большинством браузеров;

  • кэшируются в большинстве браузеров, что существенно ускоряет их загрузку при возвращении на веб-страницу;

  • после первого запуска апплета, когда Java-машина уже выполняется и быстро запускается, выполнение апплетов происходит существенно быстрее;

  • загружаются со скоростью сопоставимой с програмами на других компилируемых языках, например C++, но во много раз быстрее чем на JavaScript.

При этом у Java-апплетов имеются и недостатки:

  • требуется установка Java-расширения, которые доступны по умолчанию не во всех браузерах;

  • проблемы реализации Java-расширений для 64-разрядных процессоров;

  • не могут запускаться до первой загрузки виртуальной Java-машина, что может занимать значительное время;

  • разработка пользовательского интерфейса с использованием апплетов является более сложной задачей по сравнению с HTML;

  • не имеют прямого доступа к локальным ресурсам клиентского компьютера;

  • некоторые апплеты привязаны к использованию определенной среды времени выполнения Java (JRE).

^ 7. ActionScript – общая характеристика.

ActionScript — объектно-ориентированный язык программирования, один из диалектов EcmaScript, который добавляет интерактивность, обработку данных и многое другое в содержимое Flash-приложений. ActionScript исполняется виртуальной машиной (ActionScript Virtual Machine), которая является составной частью приложения Flash Player. ActionScript компилируется в байткод, который включается в SWF-файл.

^ SWF-файлы исполняются Flash Player. Сам Flash Player существует в виде плагина к веб-браузеру, а также как самостоятельное исполняемое приложение. Во втором случае возможно создание исполняемых exe-файлов, когда swf-файл включается во Flash Player.

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

^ 8. XAML и Microsoft Silverlight

XAML (eXtensible Application Markup Language) - язык интерфейсов платформы Windows Vista.

Модель приложений Vista включает объект Application. Его набор свойств, методов и событий позволяет объединять веб-документы в связанное приложение. Объект Application контролирует выполнение программы и генерирует события для пользовательского кода. Документы приложения создаются с помощью языка XAML, который описывает, прежде всего, пользовательский интерфейс. Логика приложения управляется процедурным кодом (С#, VB и др.). XAML включает основные четыре категории элементов: панели, элементы управления, элементы, связанные с документом и графические фигуры.

Microsoft Silverlight является официальным названием основанной на XML и .NET технологии под кодовым именем ^ WPF/E (Windows Presentation Foundation Everywhere), являющейся альтернативной Adobe Flash. Представляет собой подмножество Windows Presentation Foundation, в котором реализованы векторная графика, анимация и средства воспроизведения видео. В версии 1.1 включает в себя полную версию .NET CLR - называемую CoreCLR, что позволит разрабатывать Silverlight приложения на любом из языков .NET. Silverlight v.1.0 содержит подключаемый модуль браузера для обработки XAML и кодеки для воспроизведения мультимедийного содержимого в форматах WMV, WMA и MP3.

Microsoft Silverlight представляет браузеру внутреннюю модель DOM, управляемую из JavaScript кода. Поскольку язык XAML основан на XML, то документ, определяющий загружаемый клиенту пользовательский интерфейс - текстовый и потому вполне пригоден для индексирования поисковыми системами. Используя модель DOM, JavaScript может динамически обновлять содержимое Silverlight, аналогично DHTML.

Также можно вызывать методы управления презентацией (запуска анимации или приостановки воспроизведения видео, например).

Silverlight-приложение начинается с вызова объекта Silverlight из HTML страницы, загружающего XAML файл. XAML файл содержит объект Canvas, выступающий подложкой для других элементов. Объекты XAML способны генерировать события, перехватываемые из JavaScript.

^ 9. Понятие о DOM.

DOM (Document Object Model) - объектная модель документа. Это независящий от платформы и языка программный интерфейс, позволяющий программам получать доступ к содержимому документов, а также изменять содержимое, структуру и вид документов.

В рамках DOM любой документ представляется в виде дерева узлов. Каждый узел представляет собой элемент, атрибут, текстовый, графический или любой другой объект. Узлы между собой находятся в отношении «родитель-потомок».

Изначально различные браузеры имели собственные модели DOM, не совместимые с остальными. Для того, чтобы обеспечить взаимную и обратную совместимость, консорциум W3C классифицировал эту модель по уровням, для каждого из которых была создана своя спецификация. Все эти спецификации объединены в общую группу, носящую название W3C DOM:

  • Уровень 0. Включает в себя все специфические модели DOM, которые существовали до появления Уровня 1, например document.images, document.forms. Эти модели формально не являются спецификациями DOM, опубликованными W3C, а скорее отражают то, что существовало до начала процесса стандартизации.

  • Уровень 1. Базовые функциональные возможности DOM (HTML и XML) в документах, такие как получение дерева узлов документа, возможность изменять и добавлять данные.

  • Уровень 2. Поддержка пространства имён XML, filtered views и событий.

  • Уровень 3. Состоит из шести различных спецификаций:

    • DOM Level 3 Core;

    • DOM Level 3 Load and Save;

    • DOM Level 3 XPath;

    • DOM Level 3 Views and Formatting;

    • Level 3 Requirements;

    • DOM Level 3 Validation.

Текущим уровнем спецификаций DOM является Уровень 2, но, тем не менее, некоторые части спецификаций Уровня 3 являются рекомендуемыми W3C.

10. DHTML.

Динамический HTML или DHTML представляет собой набор технологий, которые совместно позволяют создавать интерактивные веб-сайты на основе статического языка разметки (HTML), языка создания клиентских сценариев (JavaScript), языка описания представления документа (CSS) и документной объектной модели (DOM).

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


В противоположность DHTML, динамически генерируемая страница - более широкое понятие, подразумевающее, например генерацию содержимого веб-страницы индивидуально для каждого пользователя. Это достигается созданием страниц с помощью клиентских или серверных (например, на PHP или Perl) сценариев.

^ 11. Регулярные выражения

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

Многие языки программирования поддерживают регулярные выражения для работы со строками либо в виде отдельных функций, либо имеют уже встроенный в их синтаксис механизм обработки регулярных выражений, например, Perl и Tcl. Популяризации понятия регулярных выражений способствовали утилиты, поставляемые в дистрибутивах Unix.

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

При описании структуры шаблона используются:

  • гибкая система квантификаторов (операторов повторения);

  • операторы описания наборов символов и их типа (числовые, нечисловые, специальные).



Схожі:

Лекция Клиентские сценарии и приложения. Как правило, Веб-приложение приложение, в котором клиентом выступает браузер, а сервером веб-сервер iconЛекция 12. Интеграция и взаимодействие в сети Веб
Задача веб-интеграции заключается в том, чтобы объединить разнородные веб-приложения и системы в единую среду на базе сети Веб
Лекция Клиентские сценарии и приложения. Как правило, Веб-приложение приложение, в котором клиентом выступает браузер, а сервером веб-сервер iconЛекция 15. Веб-порталы. Классификация веб-порталов
Портал предоставляет единую точку безопасного доступа часто в форме веб-интерфейса, и предназначен для аггрегирования и персонализации...
Лекция Клиентские сценарии и приложения. Как правило, Веб-приложение приложение, в котором клиентом выступает браузер, а сервером веб-сервер iconЛекция Интерфейсы взаимодействия веб-приложений с субд
Сегодня большинство информационных систем в той или иной степени используют базы данных. Не составляют исключение и системы, основанные...
Лекция Клиентские сценарии и приложения. Как правило, Веб-приложение приложение, в котором клиентом выступает браузер, а сервером веб-сервер iconЛекция 14. Синдикация и аггрегирование веб-контента
Иначе говоря, веб-синдикация означает создание доступных с сайта веб-потоков (feed), предоставляющих всем пользователям в форме краткой...
Лекция Клиентские сценарии и приложения. Как правило, Веб-приложение приложение, в котором клиентом выступает браузер, а сервером веб-сервер iconЛекция Введение в веб-технологии: структура и принципы Веб. Предмет курса
Предметом данного курса являются технологии глобальной сети World Wide Web (сокращенно www или просто Web). На русском языке распространенным...
Лекция Клиентские сценарии и приложения. Как правило, Веб-приложение приложение, в котором клиентом выступает браузер, а сервером веб-сервер iconЗанятие 4 Объекты и классы в Delphi. Приложение, в котором форма перемещается по экрану компьютера
Классы и объекты в Delphi. Обсуждаются вопросы, связанные с объектом Application и Screen. Слушатель делает проект и приложение,...
Лекция Клиентские сценарии и приложения. Как правило, Веб-приложение приложение, в котором клиентом выступает браузер, а сервером веб-сервер iconЛекция Краткая аннотация (до 255 знаков): Лекция знакомит слушателя с основами технологии Microsoft SharePoint и продуктами семейства SharePoint, в частности, серверными службами SharePoint 0
Список ключевых терминов. SharePoint, рабочая группа, веб-узел, веб-сайт, разрешения, участники, администрирование, домашняя страница,...
Лекция Клиентские сценарии и приложения. Как правило, Веб-приложение приложение, в котором клиентом выступает браузер, а сервером веб-сервер iconПриложение Американская помощь
Запиши идею и сделай набросок. Графический образ, как правило, запоминается лучше
Лекция Клиентские сценарии и приложения. Как правило, Веб-приложение приложение, в котором клиентом выступает браузер, а сервером веб-сервер iconЛабораторная работа Интерактивность на веб-страницах Цель: ввести понятия сценария, теги интерактивности Сценарии
Эти два языка не предусматривают возможности обмена информацией с пользователем. Однако часто это бывает необходимо. Например, при...
Лекция Клиентские сценарии и приложения. Как правило, Веб-приложение приложение, в котором клиентом выступает браузер, а сервером веб-сервер iconЛекция 17. Введение в Веб 0
Термин Веб 0 используется для обозначения новых тенденций в использовании технологий www, направленных на расширение творческих возможностей...
Додайте кнопку на своєму сайті:
Документи


База даних захищена авторським правом ©on2.docdat.com 2000-2013
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації
Документи