Стажировка-2013, разработчики, 15 занятие. web-фреймворки (1...

Post on 22-Jun-2015

140 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Общая архитектура web-приложения. Web-фреймворки

Разработчики. Занятие 15

Архитектура клиент-сервер

Архитектура клиент-сервер

Архитектура клиент-сервер

Эволюция:1. Мэйнфрейм-терминал2. Персональный компьютер3. Локальные сети: одноранговые и с выделенным сервером – толстый клиент4. Интернет: HTTP-сервер, CGI – тонкий клиент (браузер)

Архитектура клиент-сервер

Эволюция:

5. Мощные ПК-клиенты – развитие апплетов, JS и Flash, Rich UI в браузере6. Мобильные клиенты – нативные-толстые, браузеры-тонкие

Архитектура клиент-сервер

Эволюция:

7. Сервер предоставляет API (REST, RPC), клиент – любой, в том числе другой сервер9. Кластеры серверов приложений и БД10. Облачные сервисы, виртуальные хостинги

Что дальше?

Архитектура клиент-сервер

Framework:1. остов, каркас,2. структура, строение,3. рамки, ограничения

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

Java EE (JEE, J2EE) – платформа для реализации клиент-серверных приложений для средних и крупных предприятий

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

JEE включает спецификации:EJB – серверные компоненты, содержащие бизнес-логикуJPA – сохранение объектов в БДJNDI – управление именованными ресурсами

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

JEE включает спецификации:JAAS – аутентификация и авторизацияServlet – интерфейс для реализации ответов на запросы клиентов (для веб-сервисов)

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

JEE включает спецификации:JSP – позволяет создавать html-страницы со вставками кода (на самом деле нет!)JSF – компоненты для интерфейса с сохранением состоянияJMS – сервис для обмена сообщениями

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

Типичная картина Enterprise-приложения:1. Oracle (Solaris, CentOS, Windows)2. IBM WebSphere3. Клиенты внутри предприятия (Windows, IE)

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

Контейнер сервлетов:обеспечивает жизненный цикл сервлетов, может использоваться как HTTP-сервер

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

Сервер приложений:обеспечивает весь набор реализаций технологий Java EE

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

Контейнеры сервлетов:TomcatJettyСервера приложений:WebLogicGlassFishIBM WebShpereJBoss

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

Мир MicroSoft:.NET, IIS, MS SQL, SilverLight и т.д.

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

Компилируемые языки:Java – JEE, Spring, PlayFrameworkC# – .NET

Говорят, даже на C++ есть!

Web-фреймворки

Интерпретируемые (скриптовые) языки:PHP – Zend, Symfony, YII и т.д.Python – Django, PyramidRuby – RailsGroovy – Grails

Web-фреймворки

Что обеспечивает фреймворк:1. Взаимодействие с БД2. Система маршрутизации по ресурсам3. Движок шаблонов страниц4. Контейнер для компонентов (опционально)

Компоненты web-фреймворков

Взаимодействие с БД:1. Низкоуровневые интерфейсы – JDBC, ODBC, PDO2. Для ООП – ORM

Компоненты web-фреймворков

Контейнер :1. Низкоуровневые интерфейсы – JDBC, ODBC, PDO2. Для ООП – ORM

Компоненты web-фреймворков

top related