Ричард МонсонХейфел0-596-00226-2, 5-93286-041-3
Третье издание “Enterprise JavaBeans” описывает технологию построения сложных ответственных систем, основанную на объединении компонентов, моделирующих прикладные объекты и процессы. EJB берет на себя заботу об объектном постоянстве, безопасности и управлении транзакциями. Еще недавно казалось невероятным, что компоненты EJB смогут не только выполняться в любой операционной системе без какой-либо модификации, но и работать на любом корпоративном сервере EJB. В EJB 2.0 введены компоненты, управляемые сообщениями, способные с помощью службы сообщений JMS взаимодействовать с системами промежуточного уровня; предложена более развитая модель управляемого контейнером постоянства и поддерживаются сложные отношения между объектными компонентами.
В книге рассматриваются: EJB 2.0 и 1.1, сеансовые и объектные компоненты (включая новую модель СМР и язык запросов EJB QL), компоненты, управляемые сообщениями, и служба JMS, XML-дескрипторы развертывания, управление транзакциями и безопасность, взаимосвязь EJB и Java 2, Enterprise Edition. Опытные разработчики корпоративных программных продуктов знают, как сильно технология EJB изменила эту область. Данное третье издание поможет им освоить последние достижения. А для тех, кто не имеет опыта работы с EJB, автор подготовил стартовую площадку, с которой они могут начать изучение этой захватывающей технологии построения прикладных систем.
Table of contents :
Оглавление……Page 4
Заметки автора……Page 8
Что такое Enterprise JavaBeans?……Page 9
Для кого предназначена эта книга?……Page 10
Структура книги……Page 11
Программы и версии……Page 13
Соглашения……Page 14
Комментарии и вопросы……Page 15
Благодарности……Page 16
Глава 1. Введение……Page 18
Распределенные объекты……Page 19
Серверные компоненты……Page 20
Мониторы компонентных транзакций……Page 22
Определение Enterprise JavaBeans……Page 23
Архитектуры распределенных объектов……Page 24
Обкатка своего собственного объекта……Page 26
Модели компонентов……Page 31
Мониторы обработки транзакций……Page 32
Посредники объектных запросов……Page 33
CTM: гибрид ORB и TP-мониторов……Page 34
Сравнение с реляционными базами данных……Page 35
СТМ и модели серверных компонентов……Page 36
Среда .NET от Microsoft……Page 37
EJB и CORBA CTM……Page 38
Преимущества стандартной модели серверных компоне……Page 41
EJB 2.0: Асинхронные сообщения……Page 42
Круизы «Титан»: Вымышленный бизнес……Page 44
Что дальше?……Page 45
Глава 2. Обзор архитектуры……Page 46
Компонент Enterprise Bean……Page 47
Классы и интерфейсы……Page 48
Дескрипторы развертывания и файлы JAR……Page 58
Компонентный и внутренний объекты……Page 63
Получение информации из объектного компонента……Page 68
Моделирование рабочего потока с помощью сеансовых……Page 69
EJB 2.0: Доступ к компонентам с помощью компонент……Page 75
Соглашения между компонентом и контейнером……Page 76
Соглашения между контейнером и сервером……Page 78
Выводы……Page 80
Глава 3. Управление ресурсами и основные службы……Page 81
Пул экземпляров……Page 82
Механизм активации……Page 90
Параллелизм……Page 93
Транзакции……Page 99
Постоянство……Page 100
Распределенные объекты……Page 104
EJB 2.0: Корпоративная асинхронная система переда……Page 107
Система имен……Page 108
Безопасность……Page 110
EJB 2.0: Базовые службы и их взаимодействие……Page 120
Что дальше?……Page 121
Выбор и настройка сервера EJB……Page 122
Создание объектного компонента……Page 123
Cabin: Удаленный интерфейс……Page 124
CabinHome: Удаленный внутренний интерфейс……Page 125
CabinBean: Класс компонента……Page 126
Дескриптор развертывания……Page 131
cabin.jar: Файл JAR……Page 136
Создание таблицы CABIN в базе данных……Page 137
Развертывание компонента Cabin……Page 138
Создание клиентского приложения……Page 139
Разработка сеансового компонента……Page 145
TravelAgentHomeRemote: Удаленный внутренний интер……Page 147
TravelAgentBean: Класс компонента……Page 148
Дескриптор развертывания компонента TravelAgent……Page 151
Развертывание компонента TravelAgent……Page 153
Создание клиентского приложения……Page 154
Глава 5. Клиентское представление……Page 156
Поиск компонентов с помощью интерфейса JNDI……Page 157
Java RMI-IIOP……Page 159
Удаленный внутренний интерфейс……Page 167
Интерфейс EJBObject, дескриптор и первичный ключ……Page 175
EJB 2.0: Локальный клиентский интерфейс……Page 186
Локальный интерфейс……Page 187
Локальный внутренний интерфейс……Page 189
Применение локального клиентского интерфейса……Page 190
Когда применять локальные компонентные интерфейсы……Page 191
Действительно ли необходимы локальные компонентны……Page 193
Обзор……Page 195
Абстрактная программная модель……Page 198
Инструментальные средства контейнера и постоянств……Page 199
Компонент Customer……Page 200
Таблица Customer……Page 201
Класс CustomerBean……Page 202
Удаленный интерфейс……Page 205
Удаленный внутренний интерфейс……Page 206
XML-дескриптор развертывания……Page 208
Файл EJB JAR……Page 211
Клиентское приложение……Page 212
Поля постоянства……Page 213
Классы зависимых значений……Page 214
Поля отношений……Page 218
Глава 7. EJB 2.0 CMP: Отношения между объектами……Page 231
Семь типов отношений……Page 232
Абстрактная схема постоянства……Page 233
Моделирование базы данных……Page 237
Однонаправленное отношение «один-к-одному»……Page 238
Двунаправленное отношение «один-к-одному»……Page 242
Однонаправленное отношение «один-ко-многим»……Page 246
Компоненты Cruise, Ship и Reservation……Page 255
Однонаправленное отношение «многие-к-одному»……Page 256
Двунаправленное отношение «один-ко-многим»……Page 260
Двунаправленное отношение «многие-ко-многим»……Page 266
Однонаправленное отношение «многие-ко-многим»……Page 271
Каскадное удаление и метод Remove……Page 276
Глава 8. EJB 2.0 CMP: EJB QL……Page 280
Объявление EJB QL……Page 282
Поисковые методы……Page 283
Методы выборки……Page 286
Примеры EJB QL……Page 289
Простые запросы с путями……Page 290
Оператор IN……Page 294
Использование DISTINCT……Page 295
Секция WHERE и литералы……Page 296
Секция WHERE и входные параметры……Page 297
Секция WHERE и разделы CDATA……Page 298
Секция WHERE и арифметические операторы……Page 299
Секция WHERE и знаки сравнения……Page 300
Секция WHERE и семантика равенства……Page 301
Секция WHERE и IN……Page 302
Секция WHERE и IS EMPTY……Page 303
Секция WHERE и MEMBER OF……Page 304
Секция WHERE и LIKE……Page 305
Секция WHERE и функциональные выражения……Page 306
Отсутствие секции ORDER BY……Page 307
Ограниченная поддержка функциональных выражений……Page 309
Замечание для тех, кто работает с EJB 2.0……Page 310
Обзор для тех, кто работает с EJB 1.1……Page 311
Постоянство, управляемое контейнером……Page 312
Удаленный внутренний интерфейс……Page 314
Класс ShipBean……Page 317
Реализация интерфейса javax.ejb.EntityBean……Page 319
Конструирующие методы……Page 320
Дескриптор развертывания……Page 322
Глава 10. Постоянство, управляемое компонентом……Page 324
Удаленный интерфейс……Page 325
Методы Set и Get……Page 326
Удаленный внутренний интерфейс……Page 327
Класс ShipBean……Page 328
Установка связи с ресурсом……Page 333
Обработка исключений……Page 335
Метод ejbCreate()……Page 336
Методы ejbLoad() и ejbStore()……Page 338
Метод ejbRemove()……Page 341
Методы ejbFind()……Page 342
Дескриптор развертывания……Page 346
Первичный ключ……Page 348
Простые первичные ключи……Page 349
Составные первичные ключи……Page 350
Неопределенные первичные ключи……Page 354
Методы обратного вызова……Page 356
SetEntityContext() и unsetEntityContext()……Page 357
ejbCreate()……Page 358
ejbCreate () и ejbPostCreate(): Последовательност……Page 360
Использование ejbLoad() и ejbStore() в постоянств……Page 362
Использование ejbLoad() и ejbStore() в постоянств……Page 364
ejbPassivate() и ejbActivate()……Page 365
EJB 2.0: ejbHome()……Page 366
EntityContext……Page 368
EJBContext……Page 370
Жизненный цикл объектного компонента……Page 373
Состояние готовности……Page 375
Жизнь в состоянии готовности……Page 379
Окончание жизненного цикла……Page 381
Глава 12. Сеансовые компоненты……Page 382
Сеансовый компонент без состояния……Page 384
Компонент ProcessPayment……Page 386
PaymentException: Прикладное исключение……Page 390
Жизненный цикл сеансового компонента без состояни……Page 400
Пул готовых методов……Page 401
Сеансовый компонент с состоянием……Page 404
EJB 2.0: Подготовка к использованию TravelAgent……Page 405
EJB 1.1: Подготовка к использованию TravelAgent……Page 407
Компонент TravelAgent……Page 408
Жизненный цикл сеансового компонента с состоянием……Page 432
Состояние готовых методов……Page 433
Пассивное состояние……Page 434
Глава 13. Компоненты, управляемые сообщениями……Page 438
Новая реализация компонента TravelAgent с использ……Page 439
JMS – асинхронная система……Page 447
Модели передачи сообщений JMS: «издание-подписка»……Page 449
Объектные и сеансовые компоненты не должны приним……Page 452
Дополнительная информация о JMS……Page 453
Компоненты, управляемые сообщениями……Page 454
Компонент ReservationProcessor……Page 455
Жизненный цикл компонента, управляемого сообщения……Page 473
ACID-транзакции……Page 476
Является ли компонент TravelAgent атомарным?……Page 480
Является ли компонент TravelAgent согласованным?……Page 481
Является ли компонент TravelAgent устойчивым?……Page 482
Декларативное управление транзакциями……Page 483
Зона транзакции……Page 484
Атрибуты транзакций……Page 485
Распространение транзакций……Page 491
EJB 2.0: Основанные на коллекции отношения и тран……Page 494
Грязное, повторяющееся и фантомное чтение……Page 495
Блокировки баз данных……Page 499
Уровни изоляции транзакций……Page 500
Выбор между производительностью и согласованность……Page 501
Нетранзакционные компоненты……Page 503
Явное управление транзакциями……Page 504
Распространение транзакций в транзакциях, управля……Page 507
UserTransaction……Page 513
Состояние……Page 515
Методы отката EJBContext……Page 517
Сравнение прикладных и системных исключений……Page 518
Транзакционные сеансовые компоненты с состоянием……Page 529
Транзакционное состояние готовых методов……Page 530
Хеш-коды в составных первичных ключах……Page 532
Хорошо распределенные и уникальные хеш-коды……Page 533
EJB 1.1: Зависимые объекты……Page 534
Правила проверки корректности в зависимых объекта……Page 536
Методы пакетного доступа для удаленных клиентов……Page 538
Объекты с данными……Page 542
Сетевой трафик и время ожидания удаленных клиенто……Page 543
Поддержание равновесия при использовании удаленны……Page 544
Реализация списка……Page 545
Компонентные адаптеры……Page 549
Почему класс компонента не должен реализовывать у……Page 551
Альтернатива в EJB 1.1: Прикладной интерфейс……Page 554
EJB 1.1: Инструментальные средства отображения об……Page 556
Избегайте эмуляции объектных компонентов с помощь……Page 557
Прямой доступ к базам данных из сеансовых компоне……Page 558
Избегайте соединения сеансовых компонентов с сост……Page 560
Что такое XML-дескриптор развертывания?……Page 562
Содержимое дескриптора развертывания……Page 563
Тело дескриптора……Page 566
Описание компонентов……Page 568
Сеансовые компоненты и объектные компоненты……Page 570
Компоненты, управляемые сообщениями……Page 574
Определение первичных ключей……Page 575
Элементы окружения……Page 578
Ссылки на другие компоненты……Page 579
Ссылки на внешние ресурсы……Page 582
Роли безопасности……Page 585
Объявление элементов EJB QL……Page 586
EJB 2.0: Описание отношений……Page 588
Описание сборки компонента……Page 592
Задание атрибутов транзакции компонента……Page 593
Определение ролей безопасности и прав доступа к м……Page 595
Описание отдельных методов……Page 600
Файл ejb-jar……Page 603
Файл client-jar……Page 605
Глава 17. Java 2, Enterprise Edition……Page 606
Сервлеты……Page 607
JavaServer Pages……Page 608
Веб-компоненты и EJB……Page 609
J2EE заполняет пробелы……Page 610
Прикладные клиентские компоненты J2EE……Page 612
Обязательные службы……Page 613
Собираем все вместе……Page 615
Будущие расширения……Page 617
EJB 2.0: AccessLocalException……Page 618
EJBContext……Page 619
EJB 2.0: EJBLocalHome……Page 620
EJBObject……Page 621
FinderException……Page 622
EJB 2.0: MessageDrivenContext……Page 623
SessionBean……Page 624
EJB 2.0: TransactionRequiredLocalException……Page 625
HandleDelegate……Page 626
Приложение В. Диаграммы состояний и последовательностей……Page 628
Диаграмма состояний жизненного цикла объектного к……Page 629
Диаграммы последовательностей для постоянства, уп……Page 630
Диаграммы последовательностей для постоянства, уп……Page 632
Сеансовые компоненты без состояния……Page 635
Сеансовые компоненты с состоянием……Page 637
Компоненты, управляемые сообщениями……Page 641
Отношения между исключениями и транзакциями……Page 642
Коммерческие продукты……Page 647
Продукты с открытым кодом……Page 649
Алфавитный указатель……Page 650
E……Page 651
G……Page 653
J……Page 654
N……Page 655
R……Page 656
T……Page 657
А……Page 658
Д……Page 659
И……Page 660
К……Page 661
М……Page 662
О……Page 663
П……Page 664
Р……Page 666
С……Page 667
Т……Page 668
У……Page 669
Я……Page 670
Reviews
There are no reviews yet.