Языки разработки веб-приложений

Автор: Пользователь скрыл имя, 01 Ноября 2011 в 18:23, реферат

Описание работы

Как отметил Александр Ложечкин, директор департамента стратегических технологий Microsoft в России, – "Веб уже давно прочно вошел в жизнь каждого из нас. Сегодня веб-приложения и сервисы доступны не только через ПК, но и мобильное устройство. Компании самого разного объема бизнеса все активней используют Веб для повышения эффективности, начиная с корпоративных порталов и порталов совместной работы и заканчивая облачной инфраструктурой. Веб является социально-значимым: он объединяет огромное сообщество и предоставляет самые широкие возможности, чтобы начать свой бизнес". [2]

Содержание

Введение 3
1. Архитектура веб-приложений и технологии их создания 4
2. Языки веб-программирования 9
2.1. Клиентские языки 9
HTML 10
CSS 10
XHTML 11
XML 11
Java Script 12
VB Script 12
Adobe Flash 13
Microsoft Silverlight 13
2.2. Серверные языки 14
SSI 15
PHP 15
Perl 16
ASP.NET 16
Заключение 18
Список использованной литературы 19

Работа содержит 1 файл

Языки разработки веб-приложений.doc

— 1.14 Мб (Скачать)

Содержание 

 

     Введение

    В настоящее время Интернет стал неотъемлемой частью жизни в большинстве развитых и развивающихся стран. За период в пять лет аудитория всемирной паутины перевалила за 50 миллионов пользователей и продолжает неуклонно возрастать [1].

    Как отметил Александр Ложечкин, директор департамента стратегических технологий Microsoft в России, – "Веб уже давно  прочно вошел в жизнь каждого  из нас. Сегодня веб-приложения и  сервисы доступны не только через  ПК, но и мобильное устройство. Компании самого разного объема бизнеса все активней используют Веб для повышения эффективности, начиная с корпоративных порталов и порталов совместной работы и заканчивая облачной инфраструктурой. Веб является социально-значимым: он объединяет огромное сообщество и предоставляет самые широкие возможности, чтобы начать свой бизнес". [2]

    Вследствие  удешевления программного и аппаратного  обеспечения для создания и поддержки  сайтов, их число в сети возрастает лавинообразно. Можно сказать, что веб-сайты – это любые программные комплексы, имеющие Интернет-интерфейс, в полном соответствии с названием: "web site" – место в паутине. Все меньше становится программных комплексов, которые не имеют (или в ближайшие годы не будут иметь) этот самый Интернет-интерфейс. Поэтому локальные программы консолидируются с вебсайтами, а грань между веб-программированием и собственно прикладным программированием становятся все тоньше.

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

 

     1. Архитектура веб-приложений и технологии их создания

    Обычно  Веб-приложения создаются как приложения в архитектуре "клиент-сервер", однако серверная часть при этом может иметь различные архитектурные решения [3].

    Схематически  такая архитектура представлена на рис.1.

Рисунок 1 Архитектура веб-приложений 

    Изначально World Wide Web (WWW) представлялась ее создателям как "пространство для обмена информацией, в котором люди и компьютеры могут общаться между собой" [4]. Поэтому первые Веб-приложения базировались на простой файл-серверной архитектуре, т.е. просто возвращали по запросу пользователей статические HTML-страницы. Таким образом, Веб начиналась как простая документо-ориентированная среда.

    Следующий этап развития Веб связан с появлением уже приложений, которые базировались на таких интерфейсах, как CGI (или FastCGI), а в дальнейшем – на ISAPI. Common Gateway Interface (CGI) [5, 6] – это стандартный интерфейс работы с серверами, позволяющий выполнять серверные приложения, вызываемые через URL. Входной информацией для таких приложений служило содержимое HTTP-заголовка (и тело запроса при использовании протокола POST). CGI-приложения генерировали HTML-код, который и возвращался браузеру. Однако основной проблемой CGI-приложений стало то, что при каждом новом клиентском запросе сервер заново выполнял CGI-программу в реальном времени, загружая ее в отдельное адресное пространство сервера.

    Появление Internet Server API (ISAPI) [4, 7] позволило не только решить проблемы производительности, связанные с использованием CGI-приложений, но и предоставить в распоряжение разработчиков расширенный программный интерфейс. ISAPI DLL могли уже ассоциироваться с расширениями имен файлов через специальную мета-базу. Именно эти два механизма (CGI и ISAPI) и послужили основой для создания первого типа Веб-приложений, в которых, в зависимости от каких-либо клиентских действий, выполнялся серверный код. Это дало возможность динамически генерировать содержимое Веб-страниц, благодаря чему Веб-контент перестал быть чисто статическим.

    Интерфейс ISAPI является особенностью Microsoft Internet Information Server. ISAPI-приложения представляют собой динамические загружаемые библиотеки (DLL), которые исполняются в адресном пространстве Веб-сервера. Через некоторое время на Веб-серверах других разработчиков также была реализована возможность выполнения приложений с помощью динамических библиотек. Для веб-серверов Netscape этот программный интерфейс назывался NSAPI (Netscape Server API). У наиболее популярного Веб-сервера Apache также имеется возможность выполнять Веб-приложения при помощи механизма Apache DSO (Dynamic Shared Objects).

    Поскольку при использовании как CGI-, так и ISAPI-приложений разработчики в основном решали одни и те же задачи, то следующим естественным шагом стало появление нового, высокоуровневого интерфейса, благодаря которому упростилась генерация HTML-кода, появилась возможность обращения к компонентам и базам данных. Таким интерфейсом стала объектная модель Active Server Pages (ASP) [8], построенная на основе ISAPI-фильтра.

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

    Вслед за ASP были созданы и другие технологии, реализующие идею размещения внутри Веб-страницы кода, выполняемого Веб-сервером. Наиболее известной из них на сегодняшний день является технология JSP (Java Server Pages). Основная идея данной технологии заключается в однократной компиляция Java-кода (т.н. сервлета) при первом обращении к нему, выполнение методов этого сервлета и помещение результатов выполнения этих методов в набор данных, отправляемых в браузер.

    Новейшая  версия технологии Active Server Pages – это ASP.NET [9], являющаяся ключевой в архитектуре Microsoft .NET Framework. При помощи ASP.NET можно создавать как Веб-приложения, так и Веб-сервисы, которые позволяют реализовать не только динамическую генерацию HTML-страниц, но и дают возможность интеграции с серверными компонентами и могут использоваться для решения широкого круга бизнес-задач, возникающих перед разработчиками современных Веб-приложений.

    В наше время клиентом Веб-сервера может быть уже не только персональный компьютер, оснащенный обычным Веб-браузером. Одновременно с широким распространением мобильных устройств появилась и задача предоставления Веб-серверами данных, которые могут быть интерпретированы этими устройствами. Поскольку характеристики мобильных устройств скромнее в сравнении с характеристиками ПК (ограниченный размер экрана, меньший объем памяти, для старых моделей – возможность работы только в текстовом режиме), то для них существуют и другие протоколы передачи данных (WAP – Wireless Access Protocol) и соответствующие языки разметки (WML – Wireless Markup Language, СHTML – Compact HTML и т.п. [10]). При этом передача данных на мобильное устройство производится или в соответствующем формате (путем создания специальных версий сайтов), либо, что более удобно, происходит опознание типа устройства в момент его обращения к серверу и преобразование исходного документа (например, в формате XML) в формат, требующийся данному мобильному устройству (например, с помощью XSLT-преобразования).

    Другим  способом поддержки различных типов  клиентов является создание "разумных" серверных компонентов, которые  способны генерировать различный код  в зависимости от типа клиента (как это реализовано в Microsoft ASP.NET).

    Другим  направлением развития клиентских частей Веб-приложений стало размещение некоторой части логики приложения (такой как проверка корректности вводимых данных) в самом Веб-браузере. В частности, современные Веб-браузеры способны интерпретировать скриптовые языки (VBScript, JavaScript), код на которых, как и ASP-код, внедряется в Веб-страницу, но интерпретируется не Веб-сервером, а браузером и соответственно выполняется на клиентском устройстве. Кроме того, современные браузеры способны отображать и выполнять Java-аплеты – специальные Java-приложения, которые пользователь получает в составе Веб-страницы, а некоторые из браузеров могут также служить контейнерами для элементов управления ActiveX, которые выполняются в адресном пространстве браузера специальных COM-серверов, также получаемых в составе Веб-страницы. Посредством Java-аплетов и элементов управления ActiveX можно реализовать практически любую функциональность.

Рисунок 2 – Трехзвенная архитектура веб-приложений 

    Стоит отметить, что с ростом объема используемых данных и числа посетителей Веб-сайтов возрастают и требования к надежности, производительности и масштабируемости Веб-приложений. Следующим этапом эволюции подобных приложений стало отделение бизнес-логики, реализованной в Веб-приложении, а нередко и сервисов обработки данных и реализации транзакций от его интерфейса. В этом случае в самом Веб-приложении обычно остается так называемая презентационная часть, а бизнес-логика, обработка данных и реализация транзакций переносятся в сервер приложений в виде бизнес-объектов. В зависимости от типа сервера приложений такие бизнес-объекты могут быть выполняющимися самостоятельно COM-серверами, CORBA-серверами, а также объектами COM+, выполняющимися с помощью служб компонентов MS Windows, или объектами EJB (Enterprise Java Beans), исполняемыми сервером приложений, поддерживающим спецификацию J2EE (Java 2 Enterprise Edition). В качестве механизма доступа к данным подобные объекты обычно используют OLE DB, ODBC, JDBC (в зависимости от архитектурной реализации самого бизнес-объекта).

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

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

    Хронология  развития веб-технологий отражена на рис.3.

Рисунок 3 Хронология развития веб-технологий

    Обобщая вышесказанное можно выделить основные особенности веб-архитектуры [11]:

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

    2. Языки веб-программирования

    Таким образом, веб-программирование (веб-разработка) – наиболее бурно развивающийся  в настоящее время раздел программирования, ориентированный на создание динамических Интернет-приложений [12].

    Языки, используемые для веб-программирования, можно разделить на две группы: клиентские и серверные.

    2.1. Клиентские языки

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

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

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

    HTML

    HyperText Markup Language ("язык разметки гипертекста") – стандартный язык разметки документов во Всемирной паутине [13]. Большинство веб-страниц создаются при помощи HTML. Хотя HTML интерпретируется браузером и отображается в виде документа, в удобной для человека форме, он не является языком программирования в стандартном понимании этого слова. HTML (как и его продолжения xHTML/DHTML, XML) является приложением SGML (стандартного обобщенного языка разметки) и соответствует международному стандарту ISO 8879.

    HTML создавался как язык для обмена научной и технической документацией, пригодный для использования людьми, не являющимися специалистами в области верстки. HTML успешно справлялся с проблемой сложности SGML путем определения небольшого набора структурных и семантических элементов – дескрипторов. Дескрипторы также называют "тегами". С помощью HTML можно легко создать относительно простой, но красиво оформленный документ. Помимо упрощения структуры документа, в HTML внесена поддержка гипертекста. Позднее были добавлены мультимедийные возможности. Изначально язык HTML был задуман и создан как средство структурирования и форматирования документов без их привязки к средствам воспроизведения (отображения).

Информация о работе Языки разработки веб-приложений