Энтони Гонсалвес "Изучаем Java EE 7" Питер, 2014 год, 640 стр.

Спецификации Java EE 7.

Энтони Гонсалвес «Изучаем Java EE 7» Питер, 2014 год, 640 стр. (12,5 мб pdf)

Java Enterprise Edition (Java ЕЕ) остается одной из популярных технологий и платформ на основе Java.
Представленная книга, это пошаговое руководство, описывающее большинство спецификаций и эталонные технологий Java ЕЕ 7 с демонстрационными практическими примерами. Это расширенное издание описывает использование новейшей версии инструмента GlassFish, использующегося для редактирования и администрирования примеров кода. Книга написана признанным специалистом по работе с запросами на спецификацию Java ЕЕ, одним из членов Java Community Process (JCP). В ней собрана ценная информация, представленная экспертом по технологиям Java для предприятий.

Вы узнаете много нового о версии платформы Java ЕЕ, API EJB и JPA — от компонентов-сущностей, компонентов-сеансов до компонентов, управляемых сообщениями. Так же рассказано о API разработках на веб-уровне, в частности JSF, Facelet и Expression Language. Научитесь обращаться с веб-службами SOAP и RESTful, а также с другими службами, доступными в новейшей версии Java Enterprise.Изучайте архитектуру и динамические пользовательские интерфейсы для корпоративных и транзакционных Java-приложений. Книга для подготовленных пользователей, знакомых с ООП и платформой Java.
ISBN 978-5-496-00942-3

Оглавление книги

Предисловие 15
Об авторе 16
О техническом редакторе 17
Благодарности 18
Введение 19
Структура книги 20
Скачивание и запуск кода 21
Связь с автором 21
От издательства 21

Глава 1. Краткий обзор Java ЕЕ 7 22
Понимание Java ЕЕ 22
Архитектура 23
Компоненты 24
Контейнеры 25
Сервисы 26
Сетевые протоколы 27
Упаковка 28
Аннотации и дескрипторы развертывания 30
Стандарты 32
JCP 33
Портируемость 33
Модель программирования 34
Java Standard Edition 7 35
Строковый оператор 36
Ромбовидная нотация 6
Конструкция try-with-resources 37
Multicatch-исключения 38
NIO.2 38
Обзор спецификаций Java ЕЕ 39
Краткая история Java ЕЕ 39
Отсечение 41
Спецификации Java ЕЕ 7 42
Спецификации веб-профиля 7 45
Приложение CD-BookStore 46
Резюме 47

Глава 2. Контекст и внедрение зависимостей 49
Понятие компонентов 49
Внедрение зависимостей 50
Управление жизненным циклом 51
Области видимости и контекст 52
Перехват 52
Слабая связанность и строгая типизация 53
Дескриптор развертывания 53
Обзор спецификаций по CDI 54
Краткая история спецификаций CDI 54
Что нового в CD11.1 55
Базовая реализация 55
Создание компонента CDI 55
Внутренняя организация компонента CDI 56
Внедрение зависимостей 56
Альтернативы 64
Производители данных 65
Утилизаторы 68
Области видимости 69
Компоненты в языке выражений 73
Перехватчики 73
Перехватчики целевого класса 74
Перехватчики классов 76
Перехватчикжизненного цикла 78
Связывание и исключение перехватчиков 80
Связывание с перехватчиком 80
Приоритизация связывания перехватчиков 82
Декораторы 83
События 84
Все вместе 87
Написание классов Book и BookService 88
Написание классов NumberGenerator 89
Написание квалификаторов 90
Написание автоматического журнала 90
Написание класса Main 91
Приведение в действие CDI с beans.xml 92
Компиляция и выполнение с помощью Maven 92
Запуск класса Main 94
Написание класса BookServicelT 94
Активизация альтернатив и перехватчиков в файлах beans.xml для интеграционного тестирования 95
Запуск интеграционного теста 95
Резюме 96

Глава 3. Валидация компонентов 97
Понятие об ограничениях и валидации 97
Приложение 98
База данных 99
Клиент 99
Интероперабельность 100
Обзор спецификации валидации компонентов 100
Краткая история валидации компонентов 101
Что нового появилось в версии Bean Validation 1.1 101
Справочная реализация 102
Написание ограничений 102
Внутренняя организация ограничения 103
Встроенные ограничения 106
Определение собственных ограничений 107
Сообщения 115
Контекст ConstraintValidator 117
Группы 119
Дескрипторы развертывания 120
Валидация ограничений 121
Валидационные API 122
Валидация компонентов 125
Валидация свойств 126
Валидация значений 126
Валидация методов 127
Валидация групп 127
Все вместе 128
Написание компонента Customer 130
Написание компонента Address 130
Написание ограничения @Email 131
Написание ограничения @ZipCode 131
Написание интеграционных тестов CustomerIT и AddressIT 133
Компиляция и тестирование в Maven 134
Резюме 136

Глава 4. Java Persistence API 137
Понятие сущностей 138
Анатомия сущности 139
Объектно-реляционное отображение 140
Выполнение запросов к сущностям 143
Единица сохраняемости 146
Жизненный цикл сущности и обратные вызовы 146
Интеграция с Bean Validation 148
Обзор спецификации JPA 148
Краткая история JPA 149
Что нового в JPA 2.1 150
Эталонная реализация 150
Все вместе 151
Написание сущности Book 152
Написание класса Main 152
Написание интеграционного теста BookIT 153
Написание единицы сохраняемости 155
Написание SQL-сценария для загрузки данных 156
Компиляция и тестирование с использованием Maven 157
Применение класса Main с использованием Maven 160
Проверка сгенерированной схемы 161
Резюме 162

Глава 5. Объектно-реляционное отображение 163
Элементарное отображение 163
Таблицы 164
Первичные ключи 166
Атрибуты 171
Тип доступа 177
Коллекции базовых типов 180
Отображение базовых типов 181
Отображение с использованием XML 183
Встраиваемые объекты 186
Отображение связей 189
Связи в реляционных базах данных 191
Связи между сущностями 192
Выборка связей 203
Упорядочение связей 205
Отображение наследования 208
Стратегии наследования 208
Типы классов в иерархии наследования 217
Резюме 221

Глава 6. Управление постоянными объектами 222
Менеджер сущностей 223
Получение менеджера сущностей 225
Контекст постоянства 227
Манипулирование сущностями 230
JPQL 240
SELECT 242
FROM 244
WHERE 244
ORDER BY 245
GROUP BY и HAVING 246
Массовое удаление 246
Массовое обновление 247
Запросы 247
Динамические запросы 250
Именованные запросы 252
Criteria API (или объектно-ориентированные запросы) 254
«Родные» запросы 257
Запросы к хранимым процедурам 258
Cache API 261
Конкурентный доступ 264
Контроль версий 266
Оптимистическая блокировка 267
Пессимистическая блокировка 269
Жизненный цикл сущности 270
Обратные вызовы 272
Слушатели 275
Резюме 279

Глава 7. Корпоративные EJB-компоненты 281
Понятие корпоративных EJB-компонентов 282
Типы EJB-компонентов 283
Процесс и встроенный контейнер 284
Службы, обеспечиваемые контейнером 285
EJB Lite 286
Обзор спецификации EJB 287
Краткая история спецификации EJB 288
Что нового в EJB 3.2 289
Эталонная реализация 290
Написание корпоративных EJB-компонентов 290
Анатомия EJB-компонента 291
Класс EJB-компонента 292
Удаленные и локальные представления, а также представление без интерфейса 292
Интерфейсы веб-служб 295
Переносимое JNDI-имя 296
EJB-компоненты без сохранения состояния 297
EJB-компоненты с сохранением состояния 301
Одиночные EJB-компоненты 304
Инициализация при запуске 306
Объединение одиночных EJB-компонентов в цепочку 306
Конкурентный доступ 307
Конкурентный доступ, управляемый контейнером 308
Конкурентный доступ, управляемый EJB-компонентом 309
Время ожидания конкурентного доступа и запрет конкурентного доступа 310
Внедрение зависимостей 311
API-интерфейс SessionContext 312
Асинхронные вызовы 313
Дескриптор развертывания 315
Контекст именования среды 317
Упаковка 318
Развертывание EJB-компонента 319
Вызов корпоративных EJB-компонентов 321
Вызов с использованием внедрения 321
Вызов с использованием CDI 322
Вызов с использованием JNDI 323
Резюме 324

Глава 8. Функции обратного вызова, служба таймера и авторизация 325
Жизненный цикл сеансовых компонентов 325
Компоненты, не сохраняющие состояния, и синглтоны 326
Компоненты, хранящие состояние 327
Методы обратного вызова 329
Служба таймера 332
Выражения на основе календаря 333
Декларативное создание таймера 335
Программное создание таймера 336
Авторизация 338
Декларативная авторизация 338
Программная авторизация 341
Все вместе 343
Написание сущности Entity 343
Написание сеансового компонента BookEJB, не сохраняющего состояние 345
Написание CDI DatabaseProducer 346
Блокхранения для BookEJB 347
Написание Database Pop u lator и определение источника данных 348
Написание интеграционного теста BookEJBIT 349
Компиляция, тестирование и упаковка с помощью Maven 351
Развертывание на GlassFish 353
Написание класса Main 353
Резюме 354

Глава 9. Транзакции 355
Понимание транзакций 355
Правила АСЮ 356
Условия считывания 356
Уровни изоляции транзакций 357
Локальные транзакции JTA 357
Распределенные транзакции и ХА 358
Обзор спецификаций для работы с транзакциями 360
Краткая история JTA 361
Что нового в версии 1.2 JTA 361
Примеры реализации 362
Поддержка транзакций в EJB 362
Маркировка СМТ для отката транзакции 366
Исключения и транзакции 367
Поддержка транзакций в Managed Beans 371
Резюме 373

Глава 10. JavaServer Faces 374
Концепция веб-страниц 374
HTML 375
XHTML 377
CSS 378
DOM 381
JavaScript 381
Концепция JSF 384
FacesServlet 385
Страницы и компоненты 385
Facelets 387
Отрисовщики 387
Преобразователи и валидаторы 387
Компоненты-подложки и навигация 388
Язык выражений 389
Поддержка AJAX 390
Обзор спецификации JSF 390
Краткая история веб-интерфейсов 390
Краткая история JSF 391
Что нового в JSF 2.2 392
Эталонные реализации 393
Создание JSF-страниц и компонентов 393
Структура страницы JSF 393
Заголовок 395
Body 395
Жизненный цикл 398
Анатомия компонентов JSF 400
HTML-компоненты JSF 400
Команды 401
Цели 402
Компоненты ввода 402
Компоненты вывода 403
Компоненты выбора 404
Графика 406
Сетка и таблицы 406
Сообщения об ошибках 407
Разное 408
Базовые атрибуты 409
Основные теги JSF 409
Теги шаблонов JSF 410
Теги JSTL 412
Основные действия 413
Действия форматирования 414
Управление ресурсами 416
Неявные объекты 417
Составные компоненты 419
Резюме 424

Глава 11. Обработка и навигация 425
Шаблон MVC 425
FacesServlet 426
FacesContext 429
Faces-config.xml 430
Создание компонентов-подложек 431
Структура ком по не нто в-подложек 432
Области действия 434
Жизненный цикл и аннотации функций обратного вызова 435
Обработка исключений и сообщений 436
Объединение JSF и EJB 439
Навигация 439
Явная навигация 440
Правила навигации 441
Добавление страниц в закладки 443
Преобразование и проверка 444
Преобразователи 445
Пользовательские преобразователи 447
Валидаторы 449
Пользовательские валидаторы 450
Интеграция с Bean Validation 451
AJAX 451
Общие понятия 452
Поддержка в JSF 453
Все вместе 455
Написание сущности Book 457
Написание BookEJB 458
Написание компонента-подложки BookController 458
Написание шаблона layout.xhtml 459
Написание страницы newBook.xhtml 460
Написание страницы viewBook.xhtml 462
Компиляция и упаковка с помощью Maven 463
Развертывание на GlassFish 464
Запуск примера 465
Резюме 466

Глава 12. Обработка XML и JSON 467
Основные сведения об XML 467
XML-документ 468
Проверка схемы XML 469
Анализ с помощью SAX и DOM 472
DOM 472
SAX 472
Выполнение запросов с помощью XPath 473
Преобразование с помощью XSLT 473
Обзор спецификаций XML 475
Краткая история ХМL-спецификаций 475
Спецификации XML в Java 476
Примеры реализаций 477
Архитектура Java для обработки XML 477
Конфигурирование JAXP 478
JAXP и SAX 479
JAXP и DOM 482
JAXP и XSLT 483
Архитектура Java для связывания XML 484
Связывание 486
Аннотации 487
Основные сведения о JSON 490
Обзор спецификаций JSON 492
JSON-P 493
Пример реализации 493
Обработка JSON 493
Построение JSON 494
Анализ JSON 495
Генерация JSON 497
Все вместе 498
Написание класса CreditCard 499
Написание теста CreditCardXMLTest 499
Написание теста CreditCardJSonTest 500
Резюме 501

Глава 13. Обмен сообщениями 502
Основные сведения об обмене сообщениями 502
Отточки к точке 504
Публикация-подписка 505
Администрируемые объекты 506
Компоненты, управляемые сообщениями 506
Обзор спецификаций обмена сообщениями 507
Краткая история обмена сообщениями 507
Что нового в JMS 2.0 508
Что нового в EJB 3.2 508
Примеры реализации 508
Java Messaging Service API 509
Классический API 510
ConnectionFactory 510
Место назначения 511
Соединение 511
Сеанс 512
Сообщения 512
Заголовок 512
Свойства 514
Тело сообщения 514
Отправка и получение сообщений с помощью классического АР| 514
Упрощенный API 516
JMSContext 517
JMSProducer 520
JMSConsumer 520
Написание производителей сообщений 521
Производство сообщения вне контейнера 522
Производство сообщения внутри контейнера 523
Производство сообщений внутри контейнера с помощью CDI 523
Написание потребителей сообщений 525
Синхронная доставка 526
Асинхронная доставка 527
Механизмы надежности 527
Фильтрация сообщений 528
Настройка параметров времени существования сообщений 528
Задание стойкости сообщения 529
Управление подтверждением 529
Создание стойких потребителей 529
Определение приоритетов 530
Написание компонентов, управляемых сообщениями 530
Структура MDB 531
@ Message Driven 531
@ActivationConfigProperty 532
Внедрение зависимостей 533
Контекст MDB 533
Жизненный цикл и аннотации функций обратного вызова 534
MDB как потребитель 535
MDB как производитель сообщений 535
Транзакции 536
Обработка исключений 537
Все вместе 538
Написание класса ОrderDTO 538
Написание класса OrderProducer 539
Написание OrderConsumer 540
Написание класса ExpensiveOrderMDB 540
Компиляция и упаковка с помощью Maven 541
Создание администрируемых объектов 542
Развертывание MDB на GlassFish 543
Выполнение примера 543
Резюме 544

Глава 14. Веб-службы SOAP 545
Основные сведения о веб-службах SOAP 546
XML 547
WSDL 547
SOAP 550
UDDI 551
Транспортный протокол 552
Обзор спецификаций веб-служб SOAP 552
Краткая история спецификаций веб-служб SOAP 552
Спецификации, связанные с веб-службами SOAP 553
JAX-WS 2.2а 554
Web Services 1.3 554
WS-Metadata 2.3 555
Что нового в спецификации веб-служб SOAP 555
Примеры реализаций 555
Создание веб-служб SOAP 555
Структура веб-службы SOAP 557
Конечные точки веб-служб SOAP 558
Преобразование WSDL 558
@WebService 559
@WebMethod 560
@WebResult 561
@WebParam 562
@OneWay 562
@SoapBinding 562
Собираем все преобразования воедино 564
Обработка исключений 567
Жизненный цикл и функции обратного вызова 570
We bService Context 570
Дескриптор развертывания 571
Упаковка 572
Публикация веб-служб SOAP 572
Вызов веб-служб SOAP 573
Структура потребителя SOAP 574
Программный вызов 574
Вызов с помощью внедрения 575
Вызов с помощью CDI 576
Все вместе 577
Написание класса CreditCard 577
Написание веб-службы SOAP CardValidator 579
Написание модульного теста CardValidatorTest 579
Написание интеграционного теста CardValidatorIT 580
Компиляция, тестирование и упаковка с помощью Maven 581
Развертывание на GlassFish 583
Написание класса WebServiceConsumer 584
Создание артефактов потребителя и упаковка с помощью Maven 585
Запуск класса WebServiceConsumer 588
Резюме 588

Глава 15. Веб-службы в стиле REST 589
Понятие о веб-службах RESTful 590
Практика работы в браузере 590
Ресурсы и URI 590
Представления 592
Адресуемость 592
Связность 593
Единообразный интерфейс 594
Отсутствие сохранения состояния 594
HTTP 595
От Сети к веб-службам 602
WADL 602
Обзор спецификаций веб-служб с передачей состояния представления 603
Краткая история REST 603
API Java для веб-служб с передачей состояния представления 604
Что нового в JAX-RS 2.0 604
Справочная реализация 605
Написание веб-служб с передачей состояния представления 605
Структура веб-службы с передачей состояния представления 606
Выполнение операций CRUD над веб-службами в стиле REST 606
Определение URI и URI связывания 608
Извлечение параметров 609
Использование и создание типов содержимого 611
Возвращаемые типы 613
Сопоставление HTTP-методов 615
Контекстная информация 617
Поставщик объектов 619
Обработка исключений 621
Жизненный цикл и обратные вызовы 623
Упаковка 623
Вызов веб-служб в стиле REST 624
Клиентский API 624
Структура потребителя REST 627
Все вместе 628
Написание сущности Book 628
Написание JAXB-компонента Books 629
Написание службы BookRestService 630
Конфигурирование JAX-RS 634
Компиляция и упаковка с помощью Maven 635
Развертывание в GlassFish 637
WADL 637
Написание интеграционного теста BookRestServicelT 638
Резюме 639

Скачать книгу бесплатно12,5 мб pdf

 

Java EE 7 (EN). Видео

Похожая литература