IT Guru Java. SE Java EE Введение Тестовая задача 1
IT Guru Java. SE Java EE p. Java Platform, Enterprise Edition p. Описывает архитектуру серверной платформы. p. Необходимо иметь сервер приложений, реализующий спецификации Java EE. Наиболее распространенные бесплатные: Glass. Fish, JBoss, Tomcat (Servlet/JSP контейнер). Платные: IBM Web. Sphere, Oracle Web. Logic. 2
IT Guru Java. SE Java EE, технологии Помимо сервера приложений, разработчикам в зависимости от целей разработки следует использовать некоторые из EE технологий, таких как: p. Servlet API - обслуживание запросов вебклиентов. p. JPA - Java Persistence API. p. JSP - Java. Server Pages — динамическая генерация веб-страниц на стороне сервера. 3
IT Guru Java. SE Java EE, технологии (продолжение) p. JSF - Java. Server Faces — компонентный серверный фреймворк для разработки вебприложений на технологии Java. p. JAX-WS - Java API for XML Web Services — создание веб-сервисов. p. EJB - Enterprise Java. Beans — спецификация технологии серверных компонентов, содержащих бизнес-логику. 4
IT Guru Java. SE Задача p. Рассматриваем простое тестовое задание «Приложение для регистрации пациентов» , или, сокращенно, Patient. p. Целесообразно выполнить эту задачу, освоить азы, прежде чем приступать к более сложным задачам. p. Используемые технологии: My. SQL 5, Hibernate, JSF 2. 2, Primefaces 4. 0. p. Дополнительные технологии: система сборки Maven. p. Используем сервер приложений Tomcat. 5
IT Guru Java. SE Алгоритм реализации задачи p. Можно начинать с двух концов: 1) реализация сущностей в базе данных, затем средства отображения и манипулирования сущности в GUI; 2) реализация WEB «морды» , т. е. GUI, затем нижележащих средств хранения данных – базы данных. p. Один из вариантов – реализация базы ORM (Object-Relational Mapping), то есть Java классов, которые можно отобразить как в реляционную базу данных (Hibernate), так и в JSF (managed beans). 6
IT Guru Java. SE ORM p. Object-relational mapping. p. Уже имели дело с ORM: технология преобразования объектов Java в XML и обратно – JAXB. p. Связь Java ↔ SQL: JPA (Java Persistence API) – по сути сохранение Java объектов в базе данных. Hibernate – реализация этого API. Помимо реализации API, Hibernate предлагает набор собственных настроечных файлов и аннотаций. p. Достигается 2 -мя способами: настройками в специальных XML документах (для Hibernate это hibernate. cfg. xml), либо аннотациями в Java классах. 7
IT Guru Java. SE Hibernate – настроечный файл Hibernate. p. Выставляем связь с конкретной СУБД – My. SQL. p. Чтобы ускорить разработку, попросим создавать таблицы БД автоматически: phibernate. cfg. xml
IT Guru Java. SE Hibernate p. Patient. hbm. xml – настроечный файл конкретной ORM. p. Указываем классы соответствия и члены класса, которые будут хранится в базе данных. 1 или более членов класса можно сделать ключом:
IT Guru Java. SE JSF Современный фреймворк из библиотек Java. EE для разработки WEB-приложений. Состоит из: p. API, предназначенного для управления компонентами и представления их состояния, обработки событий, валидации на серверной части, преобразования данных, навигации между страницами, локализации. p. Библиотек разметки (Facelets), языка выражений EL. Основа – XHTML страницы. p. Библиотек расширения (Icefaces, Reachfaces, Primefaces). 11
IT Guru Java. SE JSF, что в итоге получается p. На клиентской части: XHTML-страницы преобразуются в HTML страницы: вместо JSFразметки генерируются соответствующие HTML компоненты и Java Script код. p. На серверной части: сервлет JSF и движок JSF, который обсуживает обращения клиентской части, оперируя бизнес-логикой, представленной managed beans, валидаторами, преобразователями, обработчиками событий и т. п. 12
IT Guru Java. SE JSF, файлы настройки pweb. xml. Настроечный файл для контейнера сервлетов. p. Если создаете проект JSF, используя стандартный визард в средах разработки Intelli. J Idea, Net. Beans, Eclipse, то обычно web. xml можно не редактировать, за исключением установки «домашней» страницы:
IT Guru Java. SE JSF, файлы настройки pfaces-config. xml. Настроечный файл JSF. p. Определение “managed beans” – Java объектов, которые будут видны в страницах разметки (XHTML). p. Определение правил навигации между страницами. p. Определение файлов локализации. Важно: многие определения можно вводить с помощью аннотация классов, например, для managed beans. 14
IT Guru Java. SE Система сборки Maven p. Удобная система сборки для «подтягивания» нужных библиотек с (удаленных) репозиториев, учитывая версионность и совместимость. p. Условия сборки задаются в pom. xml. Обычно каждый модуль имеет свой pom. xml, образуя каскадную сборку. p. Идентификаторы group. Id и artifact. Id образуют уникальную пару. p. Тип сборки определяется в
IT Guru Java. SE Система сборки Maven p. Необходимые для сборки библиотеки перечисляются в секции