Где хранить данные в web- приложении page –JSP страница request – HTTP запрос session – сессия пользователя application – веб-приложение Static Java class.

Презентация:



Advertisements
Похожие презентации
Платформа J2EE Сервис: Java Naming Directory (JNDI) – универсальный сервис хранения объектов в иерархической структуре имен (аналогично файловой системе)
Advertisements

Архитектура типового Enterprise приложения. История: от магического сервлета до наших дней Магический сервлет (все в одном) Не-UI логика Доступ к данным.
Организация программного кода при создании информационных систем Подготовил: Студент группы МЭК-21 Акименко В. И. Руководитель: Доц. Яровенко А. Н.
1 Паттерны проектирования MVC, MVP, MVVM. 2 Обзор Cхема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения,
Симпозиум 2008 Сергей Шутов, ДИМАС Борис Егоров, Интерсистемс Практика использования Zen и Прототип-6.
Платформа разработки ASP.NET Гайдар Магдануров t: e: m: +7.
Апробация технологий Silverlight/LINQ/WCF для создания web-приложений, ориентированных на интенсивную обработку данных Дипломная работа студента 545 группы.
Платформа J2EE Сервис: Java Naming Directory (JNDI) – универсальный сервис хранения объектов в иерархической структуре имен (аналогично файловой системе)
Исполнитель: Утяшева И.А. Научный руководитель: к.ф.-м.н. Винокур В.В.
Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework» Занятие 1 Знакомство с подходом MVC Гайдар Магдануров
Всевоволод Головизнин, MVC – паттерн проектирование, в котором бизнес - логика, управляющая логика и интерфейс разделены на три отдельных компонента.
Автоматизация сборки и модификации разнородной компьютерной документации: разработка графического интерфейса приложения и формата файлов проекта. Исполнитель:
Java Server Pages (JSP). JSP Позволяет веб разработчикам динамически генерировать HTML, XML - и другие веб страницы. Страницы компилируются JSP- компилятором.
JSF/JSP/Tomcat Введение в технологию. JavaServer Faces JSF - фреймворк для веб-приложений, написанный на Java JSF основывается на использовании компонентов.
MVVM pattern in Adobe Flex Докладчик: Мещеряков Сергей.
Архитектура Web приложения Многослойная архитектура (2- слойная, 3-слойная) & MVC.
1 © Luxoft Training 2013 Модуль Спецификация Java Beans. Цели Правила описания Java Bean Обзор спецификации Java Beans Использование технологии в.
Тренинг ASP.NET MVC 3 Гайдар Магдануров Microsoft.
Лекция 1 MVC (Model-View-Controller) - это конструкционный шаблон, который описывает способ построения структуры приложения, сферы ответственности и взаимодействие.
Александр Яковенко CLR (Common Language Runtime) – избавляет от зависимости от аппаратной части C# - объектно-ориентированный язык.
Транксрипт:

Где хранить данные в web- приложении page –JSP страница request – HTTP запрос session – сессия пользователя application – веб-приложение Static Java class / Singleton База данных / Файловая система Cookies *.setAttribute(name, value); *.getAttribute(name) // value

Механизм работы HTTP- сессии Set-Cookie: JSESSIONID=123456; path=/myapp JSESSIONID нет в HTTP заголовке новый пользователь. генерируем JSESSIONID сохраняем в памяти сервера Можно добавить свой объект в сессию: Request.getSession().setAttribute(user, John) GET Cookie: JSESSIONID= JSESSIONID найден Пользователь уже заходил Все объекты в сессии сохранились: Request.getSession().getAttribute(user) // John

Альтернативы?

Model View Controller (MVC) Model Модель отображаемых данных Controller Контроллер запроса пользователя View Шаблон представления данных 1. Получает или сохраняет модель в БД 2. Определяет нужное view и передает ему управление 3. Накладывает модель на шаблон представления

Model View Controller в Web-приложении Model Модель отображаемых данных Controller Контроллер запроса пользователя View Шаблон представления данных - Java beans классы -классы с get/set методами) - Java Server pages или - XSLT или - Velocity - … - Java классы приложения Front Controller Диспетчер запросов от пользователей Controller Контроллер запроса пользователя Controller Контроллеры конкретных запросов - DispatcherServlet (всегда один) View Шаблон представления данных View Шаблоны представления данных Model Модель отображаемых данных Model Модель отображаемых данных Services Сервисы приложения Services Сервисы приложения Services Сервисы приложения - Java классы с логикой приложения 1. HTTP-запрос 2. Ищет конкретный контроллер и передает ему управление 3. Получает данные из БД 4. Заполняет модель данными5. Выбирает нужное view и передает ему модель и управление 6. Накладывает модель на шаблон, получая HTML-страницу

Архитектура слоев приложения UI Layer Слой интерфейса пользователя отвечает за взаимодействие с пользователем ViewsControllers Service Layer Слой сервисов приложения отвечает за выполнение бизнес- логики приложения Services Data Access Layer Отвечает за работу приложения с БД Data Access Objects (DAOs) Domain Model Объектная модель данных приложения Domain entities X X

Задачи MVC-движка Реализация MVC: Диспетчер, контроллеры, представления Binding (конвертация HTTP-параметров в объекты Java - модели) Validation (проверка данных модели) Поддержка различных типов представлений (JSP, XSLT, Velocity, Freemarker, Word, Excel) I18n / L10n Security (Authorization – проверка прав доступа) JSP-теги для удобства работы с всеми возможностями, описанными выше

MVC-движки (миграция подходов идей) MVC

Дополнения к MVC IoC контейнер: Spring, либо включен в движок Управление навигацией по сайту: Spring WebFlow Поддержка со стороны JavaScript: jQuery Security: Spring Security

Альтернатива Web-MVC: Rich UI Component/Event driven компонентные событийно ориентированные движки –Java Server Faces (JSF) –Google Web Toolkit (GWT) / Vaadin –Classic ASP.NET + Плюсы Библиотеки компонент Событийно ориентированные интерфейсы более интуитивные Возможность хорошей поддержки для среды визуального программирования - Минусы Много сгенерированного JavaScript Плохо ложится на HTTP-протокол => сложная внутренняя реализация. Высокая связность страниц веб приложения обманчивая внешняя простота

MVC в мире Rich UI MVP (Model View Presenter) – MVC подход для событийно ориентированных UI библиотек (Java Swing/SWT, GWT/Vadin, C# WinForms, ASP.NET) MVVM (Model View ViewModel) – MVC подхода для событийно ориентированных UI библиотек с хорошей поддержкой Data Binding (Silverlight/WPF)