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

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

Batch (Пакетная обработка)1.0352http://jcp.org/en/jsr/detail?id=352
Concurrency Utilities for Java EE (Утилиты параллельного доступа для Java EE)1.0236http://jcp.org/en/jsr/detail?id=236
Java EE Management (Управление Java EE)1.177http://jcp.org/en/jsr/detail?id=77
Java Authentication Service Provider Interface for Containers (Интерфейс поставщика сервисов аутентификации Java для контейнеров)1.0196http://jcp.org/en/jsr/detail?id=196

Java EE 7 не только состоит из 31 собственной спецификации, но и в большой степени опирается на Java SE 7. В табл. 1.7 перечислены спецификации, которые относятся к Java SE, но влияют на Java EE.


Таблица 1.7. Смежные корпоративные технологии в Java SE 7
СпецификацияВерсияJSRURL
Common Annotations (Общие аннотации)1.2250http://jcp.org/en/jsr/detail?id=250
JDBC4.1221http://jcp.org/en/jsr/detail?id=221
JNDI1.2
JAXP1.3206http://jcp.org/en/jsr/detail?id=206
StAX1.0173http://jcp.org/en/jsr/detail?id=173
JAAS1.0
JMX1.23http://jcp.org/en/jsr/detail?id=3
JAXB2.2222http://jcp.org/en/jsr/detail?id=222
JAF1.1925http://jcp.org/en/jsr/detail?id=925
SAAJ1.3http://java.net/projects/saaj

Спецификации веб-профиля 7

Впервые профили были представлены в Java EE 6. Их основной целью было уменьшение платформы в соответствии с нуждами разработчиков. Сегодня размер и сложность приложения, разрабатываемого Java EE 7, не имеют значения, так как вы сможете развернуть его на сервере приложений, который предложит вам API и службы по 31 спецификации. Больше всего версию Java EE критиковали за то, что она получилась слишком громоздкой. Профили были разработаны как раз для устранения этой проблемы. Как показано на рис. 1.5, профили — это подсистемы либо настройки платформы, поэтому некоторые их функции могут пересекаться с функциями платформы или других профилей.


Рис. 1.5. Профили в платформе Java EE


Java EE 7 определяет один профиль, который называется веб-профилем. Его цель — позволить разработчикам создавать веб-приложения с соответствующим набором технологий. Веб-профиль версии 7.0 указывается в отдельном JSR и на данный момент является единственным профилем платформы Java EE 7. В будущем могут быть созданы другие профили. В табл. 1.8 приведены спецификации, входящие в веб-профиль.


Таблица 1.8. Спецификации веб-профиля 7.0
СпецификацияВерсияJSRURL
JSF2.2344http://jcp.org/en/jsr/detail?id=344
JSP2.3245http://jcp.org/en/jsr/detail?id=245
JSTL1.252http://jcp.org/en/jsr/detail?id=52
Servlet3.1340http://jcp.org/en/jsr/detail?id=340
WebSocket1.0356http://jcp.org/en/jsr/detail?id=356
Expression Language3.0341http://jcp.org/en/jsr/detail?id=341
EJBLite3.2345http://jcp.org/en/jsr/detail?id=345
JPA2.1338http://jcp.org/en/jsr/detail?id=338
JTA1.2907http://jcp.org/en/jsr/detail?id=907
Bean Validation1.1349http://jcp.org/en/jsr/detail?id=349
Managed Beans1.0316http://jcp.org/en/jsr/detail?id=316
Interceptors1.2318http://jcp.org/en/jsr/detail?id=318
Contexts and Dependency Injection1.1346http://jcp.org/en/jsr/detail?id=346
Dependency Injection for Java1.0330http://jcp.org/en/jsr/detail?id=330
Debugging Support for Other Languages1.045http://jcp.org/en/jsr/detail?id=45
JAX-RS2.0339http://jcp.org/en/jsr/detail?id=339
JSON-P1.0353http://jcp.org/en/jsr/detail?id=353

Приложение CD-BookStore

На протяжении всей книги вы будете встречать фрагменты кода, содержащие сущности, ограничения валидации, компоненты 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, платформа стала более насыщенной и удобной для портирования.


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

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


Java 7

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


MFC и OpenGL

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


Симуляция частичной специализации

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


Обработка событий в С++

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


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

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