5. Эволюция:
1. Мэйнфрейм-терминал
2. Персональный компьютер
3. Локальные сети: одноранговые и с
выделенным сервером – толстый клиент
4. Интернет: HTTP-сервер, CGI – тонкий
клиент (браузер)
Архитектура клиент-сервер
6. Эволюция:
5. Мощные ПК-клиенты – развитие
апплетов, JS и Flash, Rich UI в браузере
6. Мобильные клиенты – нативные-
толстые, браузеры-тонкие
Архитектура клиент-сервер
7. Эволюция:
7. Сервер предоставляет API
(REST, RPC), клиент – любой, в том числе
другой сервер
9. Кластеры серверов приложений и БД
10. Облачные сервисы, виртуальные
хостинги
Что дальше?
Архитектура клиент-сервер
9. Java EE (JEE, J2EE) – платформа
для реализации клиент-
серверных приложений для
средних и крупных
предприятий
Web-приложения
10. JEE включает спецификации:
EJB – серверные компоненты,
содержащие бизнес-логику
JPA – сохранение объектов в БД
JNDI – управление именованными
ресурсами
Web-приложения
11. JEE включает спецификации:
JAAS – аутентификация и
авторизация
Servlet – интерфейс для
реализации ответов на запросы
клиентов (для веб-сервисов)
Web-приложения
12. JEE включает спецификации:
JSP – позволяет создавать html-
страницы со вставками кода (на
самом деле нет!)
JSF – компоненты для интерфейса
с сохранением состояния
JMS – сервис для обмена
сообщениями
Web-приложения
20. Что обеспечивает фреймворк:
1. Взаимодействие с БД
2. Система маршрутизации по
ресурсам
3. Движок шаблонов страниц
4. Контейнер для компонентов
(опционально)
Компоненты web-фреймворков
21. Взаимодействие с БД:
1. Низкоуровневые
интерфейсы – JDBC, ODBC, PDO
2. Для ООП – ORM
Компоненты web-фреймворков