Изучаем Java EE 7 - [3]

Шрифт
Интервал

Открытые стандарты являются в совокупности одной из наиболее сильных сторон Java EE. Теперь не составляет труда портировать прикладные программы между серверами приложений. Диапазон технологий, применяемых при написании этих программ, включает JPA, CDI, валидацию компонентов (Bean Validation), EJB, JSF, JMS, SOAP веб-службы либо веб-службы с передачей состояния представления (RESTful). Открытый исходный код — еще одна сильная сторона Java EE. Как вы увидите далее в книге, большинство базовых реализаций Java EE 7 (GlassFish, EclipseLink, Weld, Hibernate Validator, Mojarra, OpenMQ, Metro и Jersey) лицензируются как свободно распространяемое ПО.

Книга посвящена инновациям последней версии, различным спецификациям и способам их сочетания при разработке приложений. Java EE 7 включает около 30 спецификаций и является важным этапом разработок для корпоративного уровня (CDI 1.1, Bean Validation 1.1, EJB 3.2, JPA 2.1), для веб-уровня (Servlet 3.1, JSF 2.2, Expression Language 3.0) и для интероперабельности (JAX-WS 2.3 и JAX-RS 2.0). Издание охватывает большую часть спецификаций по Java EE 7 и использует инструментарий JDK 1.7 и некоторые известные шаблоны проектирования, а также сервер приложений GlassFish, базу данных Derby, библиотеку JUnit и фреймворк Maven. Издание изобилует UML-схемами, примерами Java-кода и скриншотами.

Структура книги

Книга посвящена наиболее важным спецификациям по Java EE 7 и новому функционалу этого релиза. Структура издания повторяет архитектурное выделение уровней в приложении.



В главе 1 приводятся основные понятия Java EE 7, которые далее обсуждаются в книге. Глава 2 посвящена контексту и внедрению зависимости (Context и Dependency Injection 1.1), а глава 3 — валидации компонентов (Bean Validation 1.1).

Главы 4–6 описывают уровень сохраняемости и подробно рассматривают интерфейс JPA 2.1. После краткого обзора и нескольких практических примеров в главе 4 глава 5 полностью посвящена объектно-реляционному отображению (атрибутам отображения, отношениям и наследованию), а глава 6 — тому, как вызывать сущности и управлять ими, их жизненному циклу, методам обратного вызова и слушателям.

Для разработки транзакций на уровне бизнес-логики на Java EE 7 может использоваться архитектура EJB. Главы 7–9 описывают этот процесс. После обзора спецификации и истории ее создания в главе 7 идет речь о компонент-сеансах EJB и модели их разработки. Глава 8 посвящена жизненному циклу архитектуры EJB, службе времени и способам обращения с авторизацией. Глава 9 объясняет понятие транзакций и то, каким образом интерфейс JTA переводит транзакции в EJB, а также в CDI-компоненты.

В главах 10 и 11 описано, как ведется разработка уровня представления данных с помощью фреймворка JSF 2.2. После обзора спецификации в главе 10 речь идет о разработке веб-страницы с помощью компонентов фреймворков JSF и Facelets. В главе 11 рассказывается о способах взаимодействия с серверной частью архитектуры EJB и поддерживающими CDI-компонентами, а также о навигации по страницам.

Наконец, последние главы предлагают различные способы взаимодействия с другими системами. В главе 12 объясняется, как обрабатывать XML (используя интерфейсы JAXB и JAXP) и JSON (JSON-P 1.0). Глава 13 показывает, как обмениваться асинхронными сообщениями с новым интерфейсом JMS 2.0 и компонентами, управляемыми сообщениями. Глава 14 посвящена веб-службам SOAP, а глава 15 — веб-службам RESTful с новым интерфейсом JAX-RS 2.0.

Скачивание и запуск кода

Для создания примеров, приводимых в этой книге, использовался фреймворк Maven 3 и комплект Java-разработчика JDK 1.7 в качестве компилятора. Развертывание осуществлялось на сервере приложений GlassFish версии 4, а сохранение данных — в базе Derby. В каждой из глав объясняется, как построить, развернуть, запустить и протестировать компоненты в зависимости от используемой технологии. Код тестировался на платформе Mac OS X (но также должен работать в Windows или Linux). Исходный код примеров к этой книге размещен на странице Source Code на сайте Apress (www.apress.com). Загрузить его можно прямо с GitHub по адресу https://github.com/agoncal/agoncal-book-JavaEE7.

Связь с автором

Вопросы по содержанию этой книги, коду либо другим темам отправляйте автору на электронную почту [email protected]. Вы также можете посетить его сайт www.antoniogoncalves.org и подписаться на его страницу в «Твиттере»: @agoncal.

От издательства

Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты [email protected] (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На сайте издательства http://www.piter.com вы найдете подробную информацию о наших книгах.

Глава 1. Краткий обзор Java EE 7

Сегодняшние предприятия существуют в условиях мировой конкуренции. Им нужны приложения, отвечающие их производственным нуждам, которые, в свою очередь, с каждым днем усложняются. В эпоху глобализации компании могут действовать по всему миру, имея представительства на разных континентах, работать в различных странах круглосуточно, без выходных, иметь по несколько центров обработки данных и международные системы, работающие с разными валютами и временными зонами. При этом им необходимо сокращать расходы, увеличивать быстродействие своих сервисов, хранить бизнес-данные в надежных и безопасных хранилищах, а также иметь несколько мобильных и веб-интерфейсов для клиентов, сотрудников и поставщиков.


Рекомендуем почитать
Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


Фундаментальные алгоритмы и структуры данных в Delphi

Книга "Фундаментальные алгоритмы и структуры данных в Delphi" представляет собой уникальное учебное и справочное пособие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала "Delphi Informant" за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как «самая лучшая книга по практическому применению всех версий Delphi».В книге подробно рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием.


Создаем порт для FreeBSD своими руками. Часть II

Система сборки программ, используемая во FreeBSD, имеет значительно большие возможности, чем те, которые мы задействовали. Какие это возможности и как их использовать в своих портах?


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.


Как пасти котов. Наставление для программистов, руководящих другими программистами

«Как пасти котов» – это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды разработчиков. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руководства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач.