

Архитектуры и модели программ и знаний
Лекция 13
Web-программирование и Web- технологии
Сафонов Владимир Олегович
Профессор кафедры информатики Заведующий лабораторией Java-технологии
(http://polyhimnie.math.spbu.ru/jtl)
Санкт-Петербургский государственный университет
Email: vosafonov@gmail.com
WWW: http://www.vladimirsafonov.org

История Web (1/2)
Интернет в “до-Web’овскую эпоху”: недостаточное структурирование текстовой информации; множество разнородных протоколов (gopher – для журнальных статей, ftp – для передачи файлов, email – для электронной почты и т.д.)
Конец 1980-х гг. – Разработка первой версии HTML (Hypertext Markup Language), основы для единого представления гипертекста в Web;
разработка HTTP (Hypertext Transfer Protocol) – протокола взаимодействия Web-клиентов и Web-серверов в Web
Конец 1980-х – начало 1990 х гг.: Разработка первых Web-браузеров (Nexus, Mosaic) – клиентских Web-приложений для визуализации (rendering) Web-страниц
Начало 1990-х гг. : Появление CGI (Common Gateway Interface) - первой серверной Web-технологии для обработки клиентских Web- запросов с помощью программ на C / C++ или скриптов на языках Perl, Python
Середина 1990-х гг: Появление PHP – языка для написания скриптов, исполняемых на Web-сервере и встраиваемых в HTML-страницы
(C) Сафонов В.О. 2012

История Web (2/2)
1995 – Появление языка Java; Начало разработки Java-апплетов
– клиентских Web-приложений для анимации Web-страниц с жесткой моделью безопасности (sandbox)
1996 – Появление ASP (Active Server Pages) – технологии Microsoft, используемой Web-сервером для динамической генерации HTML-страниц для ответов на запросы Web-клиентов1995-1996 – Появление еще двух Web-технологий и языков – JavaScript (языка разработки клиентских скриптов для Web- страниц) и Flash (клиентской технологии для анимации Web- страниц)
1996 – Появление клиент-серверной Web-технологии AJAX (Asynchronous JAvascript and XML) для оптимизации обработки запросов к Web-страницам, основанной на идее группировки логически взаимосвязанных Web-страниц и позволяющей исключить лишние “перенаправления” (redirections), сильно замедляющие работу Web-клиентов
(C) Сафонов В.О. 2012

Web в настоящее время
Единый стандарт представления страниц (HTML, XML)Разнообразие взаимосвязанных клиентских и серверных Web-технологий (Java; .NET; ASP.NET – развитие ASP; AJAX; Silverlight – технология Microsoft для разработки полнофункциональных Web-приложений на базе .NET и др.)Развитие концепции Web-сервиса (Web service) – серверного Web-приложения для обслуживания запросов Web-клиентов, основанного на простом и удобном GUI, разработанного на безопасной и надежной платформе (.NET, Java и др.) , работающего на базе единого стандарта представления интерфейса (WSDL – Web Service Definition Language), и единого стандарта передачи данных (SOAP – Simple Object Access Protocol) в виде “envelopes” (конвертов) на языке XML
(C) Сафонов В.О. 2012

Новые тенденции в развитии Web
Semantic Web - Исследования по выработке единого представления семантики информации, представленной в Web.
- Основаны на концепции онтологии (ontology) – структуры для представления взаимосвязанной совокупности концептов в некоторой предметной области
Web 2.0 – “Новое поколение” Web-сайтов и Web-приложений, обеспечивающих более тесное взаимодействие клиентов (людей) через социальные сети – сайты и структуры в Web, объединяющие людей по интересам на основе тесного интерактивного общения (типичные примеры – FaceBook; в России – vkontakte.ru)
Блоги (blogs, сокращение от “Web logs” – Web-дневники) – способ общения через Web, характерный для Web 2.0
3D Web (трехмерная Web) – инструментарий для управления Web- сайтами и их представления в виде трехмерных образов
Virtual Worlds (виртуальные миры) – Web-сайты для моделирования виртуальных миров, используемые для общения и для игр; Например, SecondLife; из коммерческих систем – виртуальный мир фирмы Amazon
(C) Сафонов В.О. 2012

Требования к Web-технологиям и инструментам Web-программирования
Безопасность, надежность, соблюдение конфиденциальности информации (trustworthy computing)Удобство и наглядность пользовательских интерфейсовХранение информации об идентичности пользователей, его контексте и сеансах (sessions)
Возможность динамической реконфигурации Web-сайтов и Web-приложений
Возможность представления семантической информации о содержимом Web-страниц
Улучшение качества поисковых систем в Web;в настоящее время даже лучшая поисковая система (Google) не обеспечивает полностью адекватного поискаWeb-технологии и Web-приложения должны стать основой для использования компьютеров, как квалифицированными разработчиками, так и “конечными пользователями”
(C) Сафонов В.О. 2012

Вопросы и домашнее задание к лекции 13
1.Проанализируйте ход развития Web-технологий. Какие из них, по-Вашему, оказали наибольшее влияние на развитие Web?
2.Скачайте и инсталлируйте Microsoft Silverlight. Оцените преимущества Web-сайтов, основанных на Silverlight
3.Скачайте plug-in для просмотра трехмерных сайтов
(3D Web) и поэкспериментируйте с ним
4.В чем, по-Вашему, основные проблемы несовершенства поисковых систем в Web? Сформулируйте и реализуйте Ваши идеи и предложения по их совершенствованию
(C) Сафонов В.О. 2012