Опубликован: 19.07.2010 | Доступ: свободный | Студентов: 1674 / 151 | Оценка: 4.07 / 3.43 | Длительность: 20:59:00
Лекция 1:

Введение. Структура веб-технологий

Лекция 1: 123 || Лекция 2 >
Программы, выполняющиеся на сервере

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

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

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

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

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

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

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

 Передача клиенту Java-апплета

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

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

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

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

Серверные веб-приложения

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

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

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

Веб-сервисы

Веб-сервис ( web service ) - программная система, имеющая идентификатор URI, и общедоступные интерфейсы которой определены на языке XML. Описание этой программной системы может быть найдено другими приложениями, которые могут взаимодействовать с ней в соответствии с этим описанием посредством сообщений, основанных на XML, и передаваемых с помощью интернет-протоколов. Веб-сервис является единицей модульности при использовании сервис-ориентированной архитектуры приложения.

Сервис-ориентированная архитектура (SOA, service-oriented architecture) - модульный подход к разработке программного обеспечения, основанный на использовании сервисов со стандартизированными интерфейсами.

В основе SOA лежат принципы многократного использования функциональных элементов ИТ, унификации типовых операционных процессов. Компоненты программы могут быть распределены по разным узлам сети, и предлагаются как независимые и слабо связанные, заменяемые сервисы-приложения.

Интерфейс компонентов SОА-программы осуществляет инкапсуляцию деталей реализации конкретного компонента (ОС, языка программирования и т. п).

SOA хорошо зарекомендовала себя при построении крупных корпоративных программных систем. Целый ряд разработчиков и интеграторов предлагают инструменты и решения на основе SOA (например, платформы Microsoft .NET , IBM WebSphere, SAP NetWeaver, Diasoft и др.).

Веб-сервисы .NET имеют следующие достоинства:

  • Открытость стандартов. В веб-сервисах отсутствуют какие-либо скрытые или недоступные элементы. Каждый аспект технологии, от способа поиска веб-сервисы до ее описания и организации связи с ней, определен общедоступными стандартами.
  • Межплатформенность. Язык программирования, который позволяет создавать XML-документы и отправлять информацию посредством HTTP, позволяет взаимодействовать с любым веб-сервисом. Можно получать веб-услугу из системы, отличной от .NET.
  • Простота.
  • Поддержка сообщений на понятном человеку языке. Переход от двоичных стандартов, применяемых в СОМ и CORBA, к XML-тексту позволил упростить исправление ошибок и обеспечил возможность осуществлять взаимодействие с веб-сервисами по обычным каналам HTTP.

Облачные вычисления

Облачные вычисления (от англ. сloud computing ) - технология обработки данных, основанная на том, что компьютерные ресурсы и вычислительные мощности предоставляется пользователю как Интернет-сервис. При этом пользователь может имеет доступ к собственным данным, но не имеет возможности управлять (и не должен это делать) инфраструктурой, операционной системой и другим программным обеспечением, которые фактически и обеспечивают его работу.

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

Парадигма облачной обработки данных предполагает, что вся необходимая информация постоянно хранится на удаленных серверах в сети Интернет и лишь временно кэшируется на клиентской стороне. Это могут быть персональные компьютеры, смартфоны, ноутбуки и т.д.

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

  • IaaS (Infrastructure-as-a-Service) - инфраструктура как сервис.
  • PaaS (Platform-as-a-Service) - платформа как сервис.
  • SaaS (Software-as-a-Service) - программное обеспечение как сервис.

Usability

Международный стандарт ISO 9241-11 определяет usability как "степень, с которой продукт может быть использован определенными пользователями при определенном контексте использования для достижения определенных целей с должной эффективностью, продуктивностью и удовлетворенностью".

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

Usability можно рассматривать как качественную характеристику того, насколько легким является использование интерфейса. Сам термин usability подразумевает методы, направленные на улучшение легкости-в-использовании, в процессе проектирования интерфейса. Можно выделить для этого понятия следующие важные составляющие:

  • Доступность: насколько легко пользователи, впервые обратившиеся к интерфейсу системы, могут выполнить базовые функции
  • Эффективность: насколько быстро пользователи выполняют работу после того, как они познакомились с особенностями интерфейса?
  • Запоминаемость: насколько легко пользователям восстановить эффективность работы с интерфейсом после того как они некоторое время не использовали его?
  • Ошибки: Как много ошибок делают пользователи, насколько серьезными они являются, и насколько просто их исправляют?
  • Удовлетворенность: насколько приятно работать с интерфейсом?

Можно назвать следующие аспекты хорошего usability веб-сайта:

  1. Дизайн. Профессиональный дизайн делает сайт удобным для изучения, навигации и прочих действий посетителя.
  2. Структура контента. Иерархия документов имеющихся на сайте не должна сбивать пользователя с толку.
  3. Навигация сайта. То, насколько быстро пользователь может быть перенаправлен с главной страницы сайта на самые дальние имеет решающее значение. Профессионально выполненная навигационная компонента веб-сайта позволяет достигнуть хороших временных показателей пребывания посетителей на сайте.
  4. Функционал веб-сайта связан с его работоспособностью и устойчивостью к ошибкам. В частности, он определяется тем насколько устойчиво он работает при просмотре в различных веб-браузерах.
  5. Контент сайта. Определяет то, насколько информация, представленная на сайте окажется релевантной для пользователя.
Лекция 1: 123 || Лекция 2 >