Статья состоит из двух частей. В первой части — более живой и провокационной я постараюсь заинтересовать проблемой, рассказать о технологии «Совершенный Ajax» и показать ее применение на примере нашего проекта «Система Интерактивного Тестирования Знаний “Синтез”» (который имеет ряд интересных особенностей, таких, как использование серверного JavaScript на платформе Mozilla Rhino, прототипно-ориентированная ORM и поддержка SPARQL — языка запросов к Semantic Web).
Вторая часть – более занудная будет содержать много технических деталей и выйдет в следующий раз.
По доброй традиции, награждаю плюсиками всех участников дискуссии, в том числе и конструктивных критиков, с чьим мнением я не согласен.
Попробуйте угадать: к какой архитектуре относятся web-приложения?
К клиент-серверной говорите? Я ожидал, что Вы так ответите :-)
Что ж, давайте разберемся. В клиент-серверной архитектуре выделяют:
- Сервер — отвечает за хранение данных и реализацию бизнес-логики приложения.
- Клиент — отвечает за взаимодействие с пользователем [1].
Преимущества клиент-серверной архитектуры очевидны; мы их все знаем:
- Бизнес-логика не смешивается с пользовательским интерфейсом.
- Можно реализовать несколько клиентов с разными пользовательскими интерфейсами: интерфейс командной строки, оконный Windows-интерфейс, Flash, web-интерфейс, мобильный интерфейс и т.д.
- Клиентский компьютер не требователен к ресурсам;
- И т.д.
Но, относятся ли web-приложения к клиент-серверной архитектуре?

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