Изучаем Java EE 7 - [13]
Batch (Пакетная обработка) | 1.0 | 352 | http://jcp.org/en/jsr/detail?id=352 |
Concurrency Utilities for Java EE (Утилиты параллельного доступа для Java EE) | 1.0 | 236 | http://jcp.org/en/jsr/detail?id=236 |
Java EE Management (Управление Java EE) | 1.1 | 77 | http://jcp.org/en/jsr/detail?id=77 |
Java Authentication Service Provider Interface for Containers (Интерфейс поставщика сервисов аутентификации Java для контейнеров) | 1.0 | 196 | http://jcp.org/en/jsr/detail?id=196 |
Java EE 7 не только состоит из 31 собственной спецификации, но и в большой степени опирается на Java SE 7. В табл. 1.7 перечислены спецификации, которые относятся к Java SE, но влияют на Java EE.
Спецификация | Версия | JSR | URL |
---|---|---|---|
Common Annotations (Общие аннотации) | 1.2 | 250 | http://jcp.org/en/jsr/detail?id=250 |
JDBC | 4.1 | 221 | http://jcp.org/en/jsr/detail?id=221 |
JNDI | 1.2 | — | — |
JAXP | 1.3 | 206 | http://jcp.org/en/jsr/detail?id=206 |
StAX | 1.0 | 173 | http://jcp.org/en/jsr/detail?id=173 |
JAAS | 1.0 | — | — |
JMX | 1.2 | 3 | http://jcp.org/en/jsr/detail?id=3 |
JAXB | 2.2 | 222 | http://jcp.org/en/jsr/detail?id=222 |
JAF | 1.1 | 925 | http://jcp.org/en/jsr/detail?id=925 |
SAAJ | 1.3 | — | http://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 приведены спецификации, входящие в веб-профиль.
Спецификация | Версия | JSR | URL |
---|---|---|---|
JSF | 2.2 | 344 | http://jcp.org/en/jsr/detail?id=344 |
JSP | 2.3 | 245 | http://jcp.org/en/jsr/detail?id=245 |
JSTL | 1.2 | 52 | http://jcp.org/en/jsr/detail?id=52 |
Servlet | 3.1 | 340 | http://jcp.org/en/jsr/detail?id=340 |
WebSocket | 1.0 | 356 | http://jcp.org/en/jsr/detail?id=356 |
Expression Language | 3.0 | 341 | http://jcp.org/en/jsr/detail?id=341 |
EJBLite | 3.2 | 345 | http://jcp.org/en/jsr/detail?id=345 |
JPA | 2.1 | 338 | http://jcp.org/en/jsr/detail?id=338 |
JTA | 1.2 | 907 | http://jcp.org/en/jsr/detail?id=907 |
Bean Validation | 1.1 | 349 | http://jcp.org/en/jsr/detail?id=349 |
Managed Beans | 1.0 | 316 | http://jcp.org/en/jsr/detail?id=316 |
Interceptors | 1.2 | 318 | http://jcp.org/en/jsr/detail?id=318 |
Contexts and Dependency Injection | 1.1 | 346 | http://jcp.org/en/jsr/detail?id=346 |
Dependency Injection for Java | 1.0 | 330 | http://jcp.org/en/jsr/detail?id=330 |
Debugging Support for Other Languages | 1.0 | 45 | http://jcp.org/en/jsr/detail?id=45 |
JAX-RS | 2.0 | 339 | http://jcp.org/en/jsr/detail?id=339 |
JSON-P | 1.0 | 353 | http://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, платформа стала более насыщенной и удобной для портирования.
Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.
Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.