Энтони Гонсалвес - Изучаем Java EE 7
- Название:Изучаем Java EE 7
- Автор:
- Жанр:
- Издательство:Питер
- Год:2014
- Город:СПб.
- ISBN:978-5-496-00942-3
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Энтони Гонсалвес - Изучаем Java EE 7 краткое содержание
Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода.
Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP). В ней вы найдете максимально ценную информацию, изложенную с точки зрения эксперта по технологиям Java для предприятий.
Благодаря этой книге вы:
— познакомитесь с новейшей версией платформы Java EE;
— исследуете и научитесь использовать API EJB и JPA — от компонентов-сущностей, компонентов-сеансов до компонентов, управляемых сообщениями, и многого другого;
— откроете для себя API для разработки на веб-уровне, в частности JSF, Facelet и Expression Language;
— научитесь обращаться с веб-службами SOAP и RESTful, а также с другими службами, доступными в новейшей версии Java EE;
— узнаете, как создавать динамические пользовательские интерфейсы для корпоративных и транзакционных Java-приложений.
Изучаем Java EE 7 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
На протяжении всей книги вы будете встречать фрагменты кода, содержащие сущности, ограничения валидации, компоненты EJB, страницы JSF, слушателей JMS, веб-службы SOAP и RESTful. Все они относятся к приложению CD-BookStore. Это приложение представляет собой коммерческий сайт, который позволяет пользователям просматривать каталог книг и компакт-дисков, имеющихся в продаже. С помощью карты покупателя посетители сайта могут выбирать товары в процессе просмотра каталога (а также удалять их из списка), а затем подсчитать общую стоимость покупки, оплатить товары и получить свой заказ. Приложение осуществляет внешние взаимодействия с банковской системой для валидации номеров кредитных карт. Схема такого примера на рис. 1.6 описывает участников и функции системы.

Рис. 1.6.Схема примера использования приложения CD-BookStore
Участниками, взаимодействующими с описанной системой, являются:
• сотрудники компании, которым необходимо управлять как каталогом товаров, так и пользовательской информацией. Они также могут просматривать заказы на покупку;
• пользователи — анонимные лица, посещающие сайт для просмотра каталога книг и компакт-дисков. Если они хотят купить какой-либо товар, им необходимо создать учетную запись, чтобы стать покупателями;
• покупатели, которые могут просматривать каталог, обновлять информацию в своей учетной записи и покупать товары в режиме онлайн;
• внешний банк, которому система делегирует валидацию кредитных карт.
Вы можете скачать примеры кода из этой книги прямо из репозитория Git по адресу https://github.com/agoncal/agoncal-book-javaee7.
Резюме
Если компания разрабатывает Java-приложения с добавлением таких корпоративных возможностей, как управление транзакциями, безопасность, параллельный доступ или обмен сообщениями, то следует обратить внимание на платформу Java EE. Она хорошо стандартизирована, работает с различными протоколами, а компоненты развертываются в различные контейнеры, благодаря чему можно пользоваться многими сервисами. Java EE 7 идет по стопам предыдущей версии, упрощая использование веб-уровня. Эта версия платформы легче (благодаря технике отсечения, применению профилей и EJBLite), а также проще в использовании (нет необходимости в интерфейсах для компонентов EJB или в использовании аннотаций на веб-уровне). Благодаря новым спецификациям и функционалу, а также стандартизированному контейнеру свойств дескриптора развертывания и стандартным именам JNDI, платформа стала более насыщенной и удобной для портирования.
В этой главе я сделал очень краткий обзор Java EE 7. В следующих главах мы более подробно разберем спецификации Java EE 7. Каждая глава содержит несколько фрагментов кода и раздел «Все вместе». Вам понадобятся некоторые инструменты и фреймворки для компиляции, развертывания, запуска и тестирования кода: JDK 1.7, Maven 3, Junit 4, Derby 10.8 и Glassfish v4.
Глава 2. Контекст и внедрение зависимостей
В самой первой версии Java EE (в то время именуемой J2EE) была представлена концепция инверсии управления (IoC) , в рамках которой контейнер обеспечивал управление вашим бизнес-кодом и предоставлял технические сервисы (такие как управление транзакциями или безопасностью). Это подразумевало управление жизненным циклом компонентов, а также предоставление компонентам внедрения зависимостей и конфигурации. Данные сервисы были встроены в контейнер, и программистам пришлось дожидаться более поздних версий Java EE, чтобы получить к ним доступ. Конфигурация компонентов в ранних версиях стала возможной благодаря дескрипторам развертывания XML, однако простой и надежный API для управления жизненным циклом и внедрения зависимостей появился только в Java EE 5 и Java EE 6.
Версия Java EE 6 предоставила контекст и внедрение зависимостей (Context and Dependency Injection — CDI) для упрощения некоторых задач, фактически став центральной спецификацией, объединившей все эти концепции. Сегодня CDI дает управляемым объектам EJB одну из наиболее приоритетных моделей программирования. Она преобразует практически все сущности Java EE в управляемые компоненты, которые можно внедрять и перехватывать. Концепция CDI основана на принципе «слабой связанности и строгой типизации». Это означает, что компоненты связаны слабо, но при этом строго типизированы. Добавление в платформу перехватчиков, декораторов и событий придает ей дополнительную гибкость. И в то же время CDI соединяет веб-уровень и серверную часть путем гомогенизации областей видимости.
В этой главе рассказывается о внедрении зависимостей, ограничении и слабой связанности, то есть здесь охватывается большинство концепций, лежащих в основе CDI.
Понятие компонентов
В Java SE имеются компоненты JavaBeans, а в Java EE — Enterprise JavaBeans. Но Java EE также использует другие типы компонентов: сервлеты, веб-службы SOAP и RESTful, сущности и, конечно, управляемые компоненты. Не стоит забывать и об объектах POJO. POJO — это просто Java-классы, запускаемые в пределах виртуальной машины Java (JVM). JavaBeans — это те же объекты POJO, которые следуют определенным шаблонам (например, правилам именования для процессов доступа и модифицирующих методов (геттеров/сеттеров) для свойства, конструктора по умолчанию) и исполняются в пределах JVM. Все остальные компоненты Java EE также следуют определенным шаблонам: например, компонент Enterprise JavaBean должен иметь метаданные, конструктор по умолчанию не может быть конечным, и т. д. Они также выполняются внутри контейнера (например, контейнера EJB), который предоставляет определенные сервисы: например, транзакции, организацию пула, безопасность и т. д. Теперь поговорим о простых и управляемых компонентах.
Управляемые компоненты — это объекты, которые управляются контейнером и поддерживают только небольшой набор базовых сервисов: внедрение ресурса, управление жизненным циклом и перехват. Они появились в Java EE 6, обеспечив более легковесную компонентную модель, приведенную в соответствие с остальной частью платформы Java EE. Они дают общее основание различным типам компонентов, существующих в платформе Java EE. Например, Enterprise JavaBean может рассматриваться как управляемый компонент с дополнительными сервисами. Сервлет также может считаться управляемым компонентом с дополнительными сервисами (отличным от EJB) и т. д.
Компоненты — это объекты CDI, основанные на базовой модели управляемых компонентов. Они имеют улучшенный жизненный цикл для объектов с сохранением состояния; привязаны к четко определенным контекстам; обеспечивают сохранение безопасности типов при внедрении зависимостей, перехвате и декорации; специализируются с помощью аннотаций квалификатора; могут использоваться в языке выражений (EL). По сути, с очень малым количеством исключений потенциально каждый класс Java, имеющий конструктор по умолчанию и исполняемый внутри контейнера, является компонентом. Поэтому компоненты JavaBeans и Enterprise JavaBeans также могут воспользоваться преимуществами этих сервисов CDI.
Читать дальшеИнтервал:
Закладка: