Изучаем Java EE 7 - [12]
• Компоненты-сущности EJB 2.xCMP (входили в запрос на спецификацию JSR 318). Сложная и тяжеловесная модель персистентности, состоящая из компонентов-сущностей EJB2.х, была заменена интерфейсом JPA.
• Интерфейс JAX-RPC (запрос на спецификацию JSR 101). Это была первая попытка моделирования веб-служб SOAP в качестве вызовов удаленных процедур (RPC). Ему на замену пришел гораздо более простой в использовании и надежный интерфейс JAX-WS.
• Интерфейс JAXR (запрос на спецификацию JSR 93). JAXR — интерфейс, посвященный обмену данными с реестрами стандарта UDDI. Поскольку этот стандарт недостаточно широко используется, интерфейс JAXR исключен из Java EE и развивается в рамках отдельного запроса JSR.
• Развертывание приложений Java EE (запрос JSR 88). JSR 88 — спецификация, которую разработчики инструментов могут использовать для развертывания на серверах приложений. Этот интерфейс не получил большой поддержки разработчиков, поэтому он также исключается из Java EE 7 и будет развиваться в рамках отдельной спецификации.
Спецификации Java EE 7
Спецификация Java EE 7 определяется запросом JSR 342 и объединяет в себе 31 спецификацию. Сервер приложений, призванный обеспечить совместимость с Java EE 7, должен реализовывать все эти спецификации. Они перечислены в табл. 1.2–1.6, где сгруппированы по технологическим предметным областям, с указанием версии и номера запроса JSR.
Спецификация | Версия | JSR | URL |
---|---|---|---|
Java EE | 7.0 | 342 | http://jcp.org/en/jsr/detail?id=342 |
Web Profile (Веб-профиль) | 7.0 | 342 | http://jcp.org/en/jsr/detail?id=342 |
Managed Beans (Управляемые компоненты) | 1.0 | 316 | http://jcp.org/en/jsr/detail?id=316 |
В области веб-служб (см. табл. 1.3) службы SOAP не дорабатывались, так как никакие спецификации не обновлялись (см. главу 14).
Веб-службы REST в последнее время активно использовались в наиболее важных веб-приложениях. Интерфейс JAX-RS 2.0 также подвергся крупному обновлению, в частности, в нем появился клиентский API (см. главу 15). Новая спецификация обработки объектных нотаций JavaScript (JSON-P) эквивалентна интерфейсу Java для обработки XML (JAXP), только вместо XML используется JSON (см. главу 12).
Спецификация | Версия | JSR | URL |
---|---|---|---|
JAX-WS | 2.2a | 224 | http://jcp.org/en/jsr/detail?id=224 |
JAXB | 2.2 | 222 | http://jcp.org/en/jsr/detail?id=222 |
Web Services (Веб-службы) | 1.3 | 109 | http://jcp.org/en/jsr/detail?id=109 |
Web Services Metadata (Метаданные веб-служб) | 2.1 | 181 | http://jcp.org/en/jsr/detail?id=181 |
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 |
В веб-спецификациях (см. табл. 1.4) не вносилось никаких изменений в страницы JSP и библиотеки тегов JSTL, поскольку эти спецификации не обновлялись. Из JSP-страниц был выделен язык выражений, который сейчас развивается в рамках отдельного запроса на спецификацию (JSR 341). Сервлет и фреймворк JSF (см. главы 10 и 11) были обновлены. Кроме того, в Java EE 7 был представлен новейший интерфейс WebSocket 1.0.
Спецификация | Версия | 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 |
Debugging Support for Other Languages (Поддержка отладки для других языков) | 1.0 | 45 | http://jcp.org/en/jsr/detail?id=45 |
JSTL[1] | 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 |
В области корпоративных приложений (см. табл. 1.5) выполнено два основных обновления: JMS 2.0 (см. главу 13) и интерфейс JTA 1.2 (см. главу 9), до этого не обновлявшиеся более десяти лет. В свою очередь, спецификации по компонентам EJB (см. главы 7 и 8), интерфейсу JPA (см. главы 4–6) и перехватчикам (см. главу 2) перешли в эту версию с минимальными обновлениями.
Спецификация | Версия | JSR | URL |
---|---|---|---|
EJB | 3.2 | 345 | http://jcp.org/en/jsr/detail?id=345 |
Interceptors (Перехватчики) | 1.2 | 318 | http://jcp.org/en/jsr/detail?id=318 |
JavaMail | 1.5 | 919 | http://jcp.org/en/jsr/detail?id=919 |
JCA | 1.7 | 322 | http://jcp.org/en/jsr/detail?id=322 |
JMS | 2.0 | 343 | http://jcp.org/en/jsr/detail?id=343 |
JPA | 2.1 | 338 | http://jcp.org/en/jsr/detail?id=338 |
JTA | 1.2 | 907 | http://jcp.org/en/jsr/detail?id=907 |
Java EE 7 включает несколько других спецификаций (см. табл. 1.6), например новый функционал пакетной обработки (запрос JSR 352) и утилиты параллельного доступа для Java EE (запрос JSR 236). Среди других обновлений стоит отметить валидацию компонентов версии 1.1 (см. главу 3), контекст и внедрение зависимостей CDI 1.1 (см. главу 2) и интерфейс JMS 2.0 (см. главу 13).
Спецификация | Версия | JSR | URL |
---|---|---|---|
JACC | 1.4 | 115 | http://jcp.org/en/jsr/detail?id=115 |
Bean Validation (Валидация компонентов) | 1.1 | 349 | http://jcp.org/en/jsr/detail?id=349 |
Contexts and Dependency Injection (Контексты и внедрение зависимости) | 1.1 | 346 | http://jcp.org/en/jsr/detail?id=346 |
Dependency Injection for Java (Внедрение зависимости для Java) | 1.0 | 330 | http://jcp.org/en/jsr/detail?id=330 |
Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.
Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.