Введение
Почему мы написали эту книгу
О чем рассказано в книге
О чем в книге не рассказано
Вопросы обеспечения безопасности
Технология .NET
Web-сервисы
Коннекторы Java
От издательства

Глава 1. Три основные технологии построения современных распределенных систем

1.1. Технология CORBA OMG
1.1.1. Pro и contra стандартов
1.1.2. Философия CORBA и политика OMG
1.1.3. Область ответственности CORBA
1.2. Технология J2EE Sun
1.2.1. Семейка Java
1.2.2. Область применения J2EE
1.3. Технология .NET
1.3.1. Краткий обзор технологии .NET
1.3.2. BizTalk, или Как легко интегрировать приложения
1.4. Сравнение CORBA, J2EE и .NET
1.4.1. Сравнение идеологических подходов
1.4.2. Сравнение с точки зрения применения
1.4.3. Взаимное влияние
1.5. Заключение

Глава 2. CORBA и RMI

2.1. Некоторые элементы CORBA
2.1.1. IDL
2.1.2. CORBA-объекты и серванты
2.1.3. Отображение IDL на языки программирования
2.1.4. Объектные адаптеры
2.1.5. GIOP и IIOP
2.1.6. Механизм выполнения удаленных вызовов
2.1.7. Сервис имен
2.1.8. Транзакции и сервис транзакций
2.1.9. Пример приложения
2.2. Некоторые элементы RMI
2.2.1. Основные элементы и понятия RMI
2.2.2. Последовательность действий при создании приложений
2.2.3. Механизм выполнения удаленных вызовов
2.2.4. Механизм передачи аргументов
2.2.5. Пример приложения
2.3. Стандарт RMI/IIOP
2.3.1. Основные требования
2.3.2. Использование RMI/IIOP
2.4. Заключение

Глава 3. Java Naming and Directory Interface (JNDI)

3.1. Служба имен
3.1.1. Атомарное имя (atomic name)
3.1.2. Составное имя (compound name)
3.1.3. Сопоставление имени и объекта (binding)
3.1.4. Разрешение имени (resolving)
3.1.5. Контекст (context)
3.1.6. Начальный контекст (initial context) и фабрика контекстов
3.1.7. Система имен (naming system) и пространство имен (namespace)
3.1.8. Композитное имя (composite name)
3.2. Основные интерфейсы и классы службы имен
3.2.1. Интерфейс Name
3.2.2. Класс NameClassPair
3.2.3. Класс Binding
3.2.4. Интерфейс NamingEnumerartion
3.2.5. Класс NamingException
3.2.6. Интерфейс Context
3.2.7. Класс InitialContext
3.3. Настройка JNDI
3.3.1. Переменная java.naming.factory.initial
3.3.2. Переменная java.naming.provider.url
3.3.3. Параметры среды контекста
3.3.4. Файлы ресурсов JNDI
3.4. Naming Service CORBA
3.4.1. Основные понятия Naming Service CORBA
3.4.2. Основные интерфейсы Naming Service CORBA
3.4.3. Получение начального контекста
3.4.4. Пример использования Naming Service CORBA
3.5. Заключение

Глава 4. Java DataBase Connectivity (JDBC)

4.1. Принципы построения JDBC и основные интерфейсы
4.2. Типы данных JDBC
4.3. Драйверы JDBC
4.4. Драйверы и соединения в JDBC
4.4.1. Класс DriverManager
4.4.2. Интерфейс DataSource
4.4.3. Соединения JDBC
4.5. Транзакции JDBC
4.6. Интерфейсы Statement, PreparedStatement и CallableStatement
4.6.1. Statement
4.6.2. PreparedStatement
4.6.3. CallableStatement
4.7. Интерфейс ResultSet
4.8. Информация о метаданных
4.9. Работа с запросами (Query)
4.10. Работа с хранимыми процедурами (StoredProc)
4.11. Заключение

Глава 5. Сервис транзакций OMG OTS

5.1. Транзакции в распределенных системах
5.2. Модель распределенных транзакций X/Open DTP
5.3. Структура и основные понятия OTS
5.3.1. Основные понятия OTS
5.3.2. Обычные и вложенные транзакции
5.3.3. Последовательность действий при выполнении транзакций
5.4. Основные интерфейсы OTS
5.4.1. Структуры данных OTS
5.4.2. Исключения OTS
5.4.3. Интерфейс TransactionalObject
5.4.4. Интерфейс Current
5.4.5. Интерфейс Control
5.4.6. Интерфейс Terminator
5.4.7. Интерфейс Coordinator
5.4.8. Интерфейс Resource
5.4.9. Интерфейс TransactionFactory
5.4.10. Интерфейс Synchronization
5.5. Режимы выполнения транзакций
5.5.1. Управление контекстом транзакции
5.5.2. Распространение контекста транзакции
5.5.3. Сочетания различных режимов
5.5.4. Пример использования
5.6. Checked behavior
5.7. Обработка ошибок
5.7.1. Сбой инициатора/терминатора транзакции
5.7.2. Сбой менеджера ресурсов
5.7.3. Сбой менеджера транзакций
5.8. Interpositioning
5.9. Взаимодействие с базами данных
5.9.1. ITS Session Manager
5.9.2. ITS XA Resource Director
5.10. Заключение

Глава 6. JTS и JTA

6.1. JTS, JTA и OMG OTS
6.2. Основные интерфейсы JTA
6.2.1. Интерфейс UserTransaction
6.2.2. Интерфейс TransactionManager
6.2.3. Интерфейс Transaction
6.2.4. Интерфейс XAResource
6.3. Интеграция с JNDI
6.4. Примеры использования
6.4.1. Использование интерфейса UserTransaction
6.4.2. Использование интерфейсов JTS
6.5. JTA и соединения с БД
6.6. Заключение

Глава 7. Использование XML

7.1. Основные понятия и структура XML-документа
7.1.1. Структура и виды XML-документов
7.1.2. Основные элементы XML-документа
7.1.3. Описание структуры документа с помощью DTD
7.1.4. Использование пространств имен
7.1.5. Описание структуры документа с помощью XML Schema
7.2. Анализ XML-документа
7.2.1. Document Object Model (DOM)
7.2.2. Simple API for XML (SAX)
7.2.3. Java API for XML Processing (JAXP)
7.3. Использование XSL
7.3.1. Запись в файл DOM-модели документа
7.3.2. XPath
7.3.3. XSLT и таблицы стилей
7.3.4. Применение XSLT
7.4. Заключение

Глава 8. Сервисы сообщений

8.1. Передача сообщений в CORBA
8.1.1. Структура Messaging Service CORBA
8.1.2. Типы вызовов в CORBA
8.1.3. Модели асинхронных вызовов
8.1.4. AMI-вызовы
8.1.5. TII-вызовы
8.1.6. Операция unchecked_narrow
8.1.7. Примеры выполнения асинхронных вызовов
8.1.8. Служба сообщений и модель транзакций
8.1.9. Маршрутизаторы
8.1.10. Передача сообщений через Интернет
8.1.11. Качество сервиса (Quality Of Service)
8.1.12. Управление политиками
8.1.13. Качество сервиса сообщений
8.1.14. Воспроизведение политик сервиса сообщений
8.2. Java Messaging Service (JMS)
8.2.1. Основные элементы и понятия модели JMS
8.2.2. Структура сообщений в JMS
8.2.3. Основные интерфейсы JMS
8.2.4. Обеспечение надежности
8.2.5. Взаимодействие JMS с серверами приложений
8.2.6. Примеры создания клиентского приложения
8.3. Заключение

Глава 9. Enterprise JavaBeans (EJB)

9.1. Структура и используемые технологии
9.2. Основные понятия EJB
9.2.1. Сервер EJB
9.2.2. Контейнер EJB
9.2.3. Компонент EJB
9.2.4. Классы и интерфейсы EJB-компонента
9.2.5. Дескриптор развертывания (deployment descriptor)
9.2.6. Вспомогательные интерфейсные объекты
9.2.7. Установка компонента в контейнер EJB
9.2.8. Роли в технологии EJB и процесс создания приложений
9.2.9. Виды и атрибуты транзакций в EJB
9.3. Session stateless EJB-компонент
9.3.1. Удаленный home-интерфейс
9.3.2. Локальный home-интерфейс
9.3.3. Удаленный component-интерфейс
9.3.4. Локальный component-интерфейс
9.3.5. Класс компонента
9.3.6. Stateless session-компоненты и транзакции
9.3.7. Дескриптор развертывания
9.3.8. Объект SessionContext
9.3.9. Цикл жизни компонента
9.4. Session stateful EJB-компонент
9.4.1. Активизация и деактивизация компонента
9.4.2. Home-интерфейсы
9.4.3. Component-интерфейсы
9.4.4. Класс компонента
9.4.5. Stateful session-компоненты и транзакции. Интерфейс SessionSynchronization
9.4.6. Режим Bean-Managed Transactions (BMT)
9.4.7. Environment-параметры (properties) компонента
9.4.8. Связи между компонентами
9.4.9. Цикл жизни компонента
9.4.10. Использование объекта javax.ejb.Handle
9.4.11. Stateful-компоненты и потоки (threads)
9.4.12. Stateful-компоненты и методы remove
9.4.13. Состояние компонента
9.5. Entity EJB-компонент
9.5.1. Режимы управления сохранением состояния entity-компонента
9.5.2. Home-интерфейс
9.5.3. Find-методы home-интерфейсов
9.5.4. Home-методы home-интерфейсов
9.5.5. Component-интерфейсы
9.5.6. PrimaryKey-класс компонента
9.5.7. Select-методы
9.5.8. Класс entity-компонента
9.5.9. Дескриптор развертывания entity-компонента
9.5.10. Объект EntityContext
9.5.11. Entity-компоненты и транзакции
9.5.12. Цикл жизни entity-компонента
9.5.13. Связи между entity-компонентами в режиме CMP
9.5.14. Язык Query Language
9.6. Message-Driven EJB-компонент
9.6.1. Используемые интерфейсы
9.6.2. Класс компонента
9.6.3. MDB-компонент и транзакции
9.6.4. Дескриптор развертывания
9.6.5. Интерфейс MessageDrivenContext
9.6.6. Цикл жизни
9.6.7. Пример создания MDB-компонента
9.7. Заключение

Глава 10. Приложения J2EE

10.1. Структура серверных приложений J2EE
10.1.1. JAR-модуль
10.1.2. WAR-модуль
10.1.3. EAR-модуль
10.2. Структура клиентских приложений J2EE
10.3. CORBA-клиенты для серверных приложений J2EE
10.4. Заключение

Глава 11. Компонентная модель CORBA (CCM)

11.1. CORBA и компоненты
11.2. Структура модели
11.3. Этапы создания компонентных программных систем
11.3.1. Анализ и проектирование
11.3.2. Описание компонентов
11.3.3. Реализация компонентов
11.3.4. Упаковка компонентов в пакеты
11.3.5. Сборка системы
11.3.6. Развертывание и инсталляция
11.3.7. Активизация экземпляров компонентов
11.4. Основы компонентной модели
11.4.1. Что такое компонент в CCM
11.4.2. Home-интерфейсы компонента
11.4.3. Первичный ключ
11.4.4. Операции home-интерфейсов компонентов
11.5. Системные сервисы
11.5.1. Транзакции
11.5.2. Безопасность
11.5.3. События
11.5.4. Хранение
11.6. Категории компонентов
11.7. Модели использования компонентов
11.7.1. Среда реализации компонентов
11.7.2. Композиция
11.7.3. CIDL
11.7.4. Фацетные ссылки компонента
11.8. Реализация компонента
11.8.1. Программная модель контейнера
11.8.2. Внутренние интерфейсы, общие для всех типов компонентов
11.8.3. Интерфейсы для компонентов типа session
11.8.4. Интерфейсы для entity-компонентов
11.8.5. Интерфейсы расширенных компонентов
11.8.6. Серванты
11.9. Программная модель клиента
11.9.1. Компонентные клиенты
11.9.2. Некомпонентные клиенты
11.9.3. Порты
11.9.4. Модель событий
11.10. Метаданные для компонентной модели
11.11. Расширения IDL
11.11.1. Локальные объекты
11.11.2. Импорт
11.11.3. Объявление идентичности в репозитарии
11.12. Взаимодействие между компонентами CORBA и EJB
11.13. Подготовка компонентов к работе
11.13.1. Упаковка компонентов
11.13.2. Развертывание компонентов
11.14. Заключение

Глава 12. Web-приложения

12.1. Основные понятия
12.2. Что такое Web-приложения
12.3. Дескриптор развертывания Web-приложений
12.4. Реализации Web-контейнеров
12.5. Заключение

Глава 13. Сервлеты

13.1. Что такое сервлет
13.2. Контейнер сервлета
13.3. Объявление сервлета
13.4. Жизненный цикл сервлета
13.5. Контекст сервлета
13.6. Сценарий обработки запроса сервлетом
13.7. Запрос (Request)
13.8. Отклик (Response)
13.9. Сессии
13.10. Cookie
13.11. Основные интерфейсы
13.12. Основные пакеты
13.13. Безопасность
13.14. Поддержка различных языков
13.15. Фильтрация
13.16. Сравнение сервлетов с другими Интернет-технологиями
13.17. Поддержка событий и сохранение данных
13.18. Сервлет и EJB
13.19. Заключение

Глава 14. Java Server Pages (JSP)

14.1. Что такое JSP?
14.2. Жизненный цикл JSP
14.3. Стандартные директивы JSP
14.4. Стандартные действия и скрипты
14.5. Расширение функциональности JSP-страниц с помощью библиотеки тегов
14.6. JSP и EJB
14.7. Преимущества JSP
14.8. Пример JSP
14.9. Заключение

Глава 15. Model-Driven Architecture (MDA)

15.1. Несколько вступительных слов
15.2. Для чего нужен UML?
15.3. Визитная карточка UML
15.4. Основные понятия UML
15.4.1. Случаи использования (use case)
15.4.2. Связи
15.4.3. Типы, атрибуты и системные элементы
15.4.4. Обязанность
15.5. Диаграммы UML
15.6. Семантика UML
15.7. Почему не IDL?
15.8. OCL
15.9. Meta Object Facility (MOF)
15.10. Метаданные в OMG и четырехуровневая архитектура метаданных
15.11. Структура моделей OMG
15.12. Спецификация MOF
15.13. MOF Model
15.13.1. Классы
15.13.2. Ассоциации
15.13.3. Ссылки
15.13.4. Типы данных
15.13.5. Пакеты
15.13.6. Взаимоотношения между классами
15.13.7. Отображение MOF ® IDL
15.13.8. Интерфейсы MOF
15.14. Возможные применения MOF
15.15. XMI
15.16. Common Metadata Warehousing (CMW)
15.17. Структура CWM
15.18. Для чего и как используется CWM
15.19. Сценарии использования CWM
15.19.1. Сценарий ETL
15.19.2. Сценарий OLAP
15.19.3. Сценарий Questionnaire (анкетирование)
15.19.4. Сценарий администрирования хранилища
15.20. Подмодели метамодели CWM
15.21. Основы MDA
15.21.1. Основные понятия MDA
15.21.2. Стандартизация отраслевых моделей
15.21.3. Общие сервисы
15.22. Заключение

Глава 16. Сервис хранения состояний

16.1. Основные определения PSS
16.1.1. Модель хранилища данных
16.1.2. Описание хранилища данных
16.1.3. Реализация объектов-хранилищ и складов-хранилищ
16.2. PSDL
16.2.1. Описание объектов-хранилищ, складов-хранилищ и каталогов
16.2.2. Ключи
16.2.3. Фабрики
16.2.4. Реализации объектов-хранилищ и складов-хранилищ
16.3. Каталоги
16.3.1. Транзакционные и основные сессии
16.3.2. Пул сессий
16.4. Коннекторы
16.5. Хранение CORBA-объектов
16.6. Взаимодействие с сервисом транзакций
16.7. PSS и компоненты CORBA
16.8. Заключение

Литература

Алфавитный указатель