Файл: Особенности алгоритмизации при разработке WEB-приложений (Подходы к построению Web-приложений).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 200

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

1. Введение

Проект World Wide Web зародился в начале 90-х годов в швейцарском

институте CERN. Изначально он задумывался, как средство облегчаю-

щее поиск библиотечной информации, распределенной между несколь-

кими серверами в CERN. Для этого он использовал концепцию «гипер-

текста», разработанную ранее Тедом Нельсоном и Ванневаром Бушем.

У WWW было несколько важных отличий от других систем гипертек-

ста, которые тогда уже существовали (Note Code, HyperCard, Gopher):

• В WWW использовались только однонаправленные ссылки, что

позволяло ссылаться на другие ресурсы без каких-либо действий

со стороны владельца этого ресурса.

• WWW не принадлежал какой-либо компании, поэтому можно бы-

ло создавать программное обеспечение независимо и без всяких

лицензионных ограничений.

Эти черты сыграли большую роль во взрывном росте популярности

WWW в середине 90-х годов, когда вышел веб-браузер Mosaic и после-

довавший за ним коммерческий аналог Netscape Navigator.

WWW был построен на трех главных стандартах: URL (RFC2396),

HTTP (RFC2616) и HTML. Самый молодой из них и следовательно са-

мый развивающийся — HTML. Изначально он был задуман исключи-

тельно для семантической разметки текста (ссылки, разделы, цитаты и

пр.), затем всвязи с коммерциализацией веба к этому стандарту стали

добавляться различные, часто не совместимые друг с другом тэги для

художественного оформления текста. В последствии эта тенденция была

признана неправильной (по причинам отсутствия стандартизации и от-

сутствия разделения смысловой и оформительской части документа) и

консорциумом W3C, который разрабатывает стандарт HTML, был взят

обратный курс — на оставлении в HTML только семантической раз-

метки, для оформления же был придуман специальный стандарт CSS

(каскадные списки стилей).

Еще одна ярко выраженная тенденция в развитии WWW — это со-

вершенствование средств поддержки интерактивности веб-страниц. На

стороне клиента это HTML-формы, JavaScript — скриптовый язык про-

граммирования, встраиваемый в браузер, и DOM (Объектная модель

документа) — стандарт описывающий способ работы с частями HTML-

документа из языков программирования, в частности из JavaScript. На

стороне сервера — CGI-интерфейс, различные скриптовые и компили-

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

через этот интерфейс, а впоследствии и сервера веб-приложений, ори-

ентированные на разработку приложений с веб-интерфейсом на опреде-


ленном языке программирования (Java, Python, и т.д.).

Со временем возможности WWW по взаимодействию с пользовате-

лем доросли до определенного уровня, на котором стало возможным

создание полноценных Web-приложений.

2. Web-приложения

Web-приложение — это приложение, работающее на платформе Web,

т.е. использующее для взаимодействия с пользователем веб-сервер, ра-

ботающий по протоколу HTTP и браузер, интерпретирующий страницы

HTML. По-другому можно сказать, что это некоторый сайт, содержимое

которого изменяется динамически на основе взаимодействия с пользова-

телем.

Понятия и классификация web-приложения

Развитие современной компьютерной техники и внедрение новейших технологий положили начало нового направления жизни на Земле. За довольно короткий промежуток времени развития микроэлектроники и кибернетики произошло много изменений.

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

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

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

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

Информация, доступная пользователям Internet, располагается на компьютерах (Web-серверах), на которых установлено специальное программное обеспечение. Значительная часть этой информации организована в виде Web-сайтов. Каждый из них имеет свое имя (адрес) в Internet. Web-сайт - это информация, представленная в определенном виде, которая располагается на Web-сервере и имеет свое имя. Для просмотра Web-сайтов на компьютере пользователя используются специальные программы, которые называются браузерами. Наиболее распространенными браузерами в настоящее время являются Internet Explorer и Netscape Navigator. Взависимости от того, какое имя сайта мы зададим в строке "Адрес", браузер будет загружать в свое окно соответствующую информацию.


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

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

В настоящее время с точки зрения назначения различают три основных типа порталов:

· Публичные, или горизонтальные, порталы (называемые иногда мегапорталами), такие как Yahoo, Lycos, Excite, Rambler. Такие порталы нередко являются результатом развития поисковых систем. Предназначены они для самой широкой аудитории, что отражается на содержании предоставляемой ими информации и услуг. Как правило, эта информация носит общий характер, равно как и предоставляемые услуги (электронная почта, новостные рассылки и так далее).

· Вертикальные порталы. Этот вид порталов предназначен для специфических видов рынка и обслуживает аудиторию, пользующуюся услугами этого рынка или работающую на нем. Примерами таких порталов могут служить, например, туристические агентства, предоставляющие услуги по бронированию мест в гостиницах, заказу и доставке билетов, доступу к картам и сведениям об автомобильных маршрутах, либо порталы типа B2B (business-to-business), позволяющие своим клиентам реализовывать совместные бизнес-операции (например, выбирать поставщиков и осуществлять закупку товаров, проводить аукционы).

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

Другие наиболее распространённые web-приложения:

· Региональные Интернет-порталы, универсальные по своему направлению, но ограниченные географией заинтересованных посетителей (e1.ru);

· Поисковые системы -- это Интернет-порталы, которые предназначены для того, чтобы предоставить их посетителю возможность найти сайты, на которых встречаются заданные слова или целые фразы (metabot.ru);

· Каталог -- это коллекция ссылок на сайты. Зачем же нужны каталоги, если есть поиск? Очень часто мы не знаем точно, что нам нужно, не можем это сформулировать парой слов (mail.ru);


· Электронные доски объявлений - являются местом в Интернет, где практически любой желающий может оставить информацию ознакомительного, пригласительного или рекламного характера;

· Форумы -- это специальные сайты или разделы на сайтах, предназначенные для того, чтобы посетители, оставляя свои сообщения, обменивались мнениями;

· Чаты - являются еще одним местом для общения в Интернет, только его назначение не обмен мнениями на какую-то тему, а просто времяпрепровождение;

· Файлы для скачивания;

· Фотогалереи;

· Элементы статистики;

· Хранение в интернете различной информации;

· Серверы почтовых рассылок, они предлагают услуги по доставке информации широкому кругу читателей (subscribe.ru);

Технические особенности

Существенное преимущество построения веб-приложений для поддержки стандартных функций браузера заключается в том, что функции должны выполняться независимо от операционной системы данного клиента. Вместо того, чтобы писать различные версии для Microsoft Windows, Mac OS X, GNU/Linux и других операционных систем, приложение создаётся один раз для произвольно выбранной платформы и на ней разворачивается. Однако различная реализация HTML, CSS, DOM и других спецификаций в браузерах может вызвать проблемы при разработке веб-приложений и последующей поддержке. Кроме того, возможность пользователя настраивать многие параметры браузера (например, размер шрифта, цвета, отключение поддержки сценариев) может препятствовать корректной работе приложения.

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

На 2015 год технологию Adobe Flash не поддерживают Chrome, Safari, и другие популярные браузеры.[1]

В связи с архитектурным сходством с традиционными клиент-серверными приложениями, в некотором роде «толстыми» клиентами, существуют споры относительно корректности отнесения подобных систем к веб-приложениям; альтернативный термин «полнофункциональное приложение интернета» (англ. Rich Internet Applications).


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

Веб-приложение состоит из клиентской и серверной частей, тем самым реализуя технологию «клиент-сервер».

Клиентская часть реализует пользовательский интерфейс, формирует запросы к серверу и обрабатывает ответы от него.

Серверная часть получает запрос от клиента, выполняет вычисления, после этого формирует веб-страницу и отправляет её клиенту по сети с использованием протокола HTTP.

Само веб-приложение может выступать в качестве клиента других служб, например, базы данных или другого веб-приложения, расположенного на другом сервере. Ярким примером веб-приложения является система управления содержимым статей Википедии: множество её участников могут принимать участие в создании сетевой энциклопедии, используя для этого браузеры своих операционных систем (будь то Microsoft Windows, GNU/Linux или любая другая операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных статей.

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

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

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

Название

Лицензия

Веб-сервер

ASP

проприетарная

специализированный

ASP.NET

проприетарная

специализированный

C/C++

свободная

практически любой

Java

свободная

множество, в том числе свободных

Perl

свободная

практически любой

PHP

свободная

практически любой

Python

свободная

практически любой

Ruby

свободная

практически любой

Nodejs

MIT License

собственный

ASP.NET vNext

Apache 2

практически любой[Прим. 1]