|
| ||||||||||||
| ||||||||||||
|
Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]
Содержание
Об авторе
Предисловие
Введение
Компакт-диск
От издательства
Часть I. Вводная
Распределенные системы: задачи и терминология
Задачи, для решения которых используются распределенные системы
Часто используемые термины
Объектно-ориентированное программирование (ООП)
Объект
Метод
Свойство
Состояние
Интерфейс
Реализация
Наследование
Полиморфизм
Сообщение
Компонентная модель
Компонент
Object Request Broker (ORB)
Стаб
Маршалинг
Сервер
Серверный объект
Транзакция
Монитор транзакций (ОТМ)
Распределенная система
Краткий обзор современных технологий
XML
CGI/ISAPI/Servlet/JSP
CGI
ISAPI/NSAPI
Servlets
JSP
Использование CGI/ISAPI/ASP/Servlet в распределенных системах
DCOM
CORBA
RMI
JavaBeans/Enterprise JavaBeans
JavaBeans (JB)
Enterprise JavaBeans (EJB)
EJB Server
EJB Container
Заключение
CORBA. Архитектура, состояние и перспективы
IDL
ORB
Объектные адаптеры
Сервисы CORBA
Сервис имен
Трейдер-сервис
Сервис свойств
Сервис отношений
Сервис цикла жизни
Сервис событий
Сервис долговременного хранения
Сервис внешнего представления
Сервис транзакций
Сервис совместного доступа
Сервис безопасности
Сервис времени
Сервис лицензирования
Сервис контейнеров
Сервис запросов
Реализация INPRISE/Visigenic
Перспективы - CORBA 3.0
Языки программирования и распределенные системы
C++
Delphi
Java
Часть II. Основы CORBA
Глава 1. Язык определения интерфейсов IDL
1.1. Служебные слова, идентификаторы и комментарии
1.2. Основные типы данных IDL
1.2.1. Базовые типы данных
1.2.2. Сконструированные типы данных
1.2.3. Исключения CORBA
1.2.4. Объектные ссылки и интерфейсы
1.2.5. Типы-значения IDL
1.2.6. Абстрактные интерфейсы
1.2.7. Тип Any и интерфейс TypeCode
1.3. Константы IDL
1.4. Модули и пространства имен
1.4.1. Синтаксис определения модуля
1.4.2. Вложенные пространства имен
1.5. Структура IDL-файла
1.5.1. Модули
1.5.2. Интерфейсы
1.5.3. Типы-значения
1.5.4. Структуры, объединения и исключения
1.6. Псевдо-IDL (PIDL)
1.7. Репозитарные идентификаторы (RepositorylD)
1.7.1. Формат OMG IDL
1.7.2. Формат RMI
1.7.3. Формат DCE UUID
1.7.4. Формат LOCAL
1.8. Препроцессор
1.8.1. Основные директивы препроцессора
1.8.2. Директива #pragma ID
1.8.3. Директива #pragma prefix
1.8.4. Директива #pragma version
Глава 2. Отображение IDL на C+ +
2.1. Некоторые конструкции C++
2.1.1. namespace
2.1.2. template-классы
2.1.3. auto_ptr
2.1.4. Некоторые классы STL
2.2. Опции компилятора idl2cpp
2.2.1. Опция -boa
2.2.2. Опция -excep_spec
2.2.3. Опция -namespace
2.2.4. Опция -tie
2.2.5. Опция -type_code_info
2.3. Код, сгенерированный для использования на стороне клиента
2.4. Код, сгенерированный для использования на стороне сервера
2.5. _var, _ptr и _out-типы
2.5.1. Тип _ptr
2.5.2. Тип _var
2.5.3. Тип _out
2.6. Идентификаторы
2.7. Базовые типы данных
2.7.1. Простые базовые типы данных
2.7.2. Типы string и wstring
2.7.3. Функции управления динамической памятью
2.7.4. Класс CORBA::String_var
2.7.5. Типичные ошибки при использовании Strig_var и char*
2.7.6. Перечисления
2.8. Сконструированные типы данных
2.8.1. Оператор typedef
2.8.2. Массивы
2.8.3. Последовательности
2.8.4. Структуры
2.8.5. Объединения
2.9. Исключения
2.10. Интерфейсы
2.10.1. Общие принципы
2.10.2. Объектные ссылки
2.10.3. Proxy-объект
2.10.4. Преобразования типов
2.10.5. Использование счетчиков ссылок
2.11. Классы на стороне клиента
2.12. Знакомство с объектными адаптерами
2.13. Классы на стороне сервера
2.14. Типы-значения
2.14.1. Обычный valuetype
2.14.2. Абстрактные valuetype
2.14.3. Наследование valuetype
2.14.4. Boxed valuetype
2.14.5. Базовые типы, перечисления и объектные ссылки
2.14.6. Структуры строки struct
2.14.7. Строки string и wstring
2.14.8. Типы union, sequence, fixed и any
2.14.9. Массивы
2.14.10. Valuetype, поддерживающий IDL interface
2.15. Абстрактные интерфейсы
2.16. Тип any и TypeCode
2.16.1. Тип any
2.16.2. Тип any и string/wstring
2.16.3. Структуры, объединения и последовательности и any
2.16.4. Массивы и any
2.16.5. Объектные ссылки и any
2.16.6. TCKind
2.16.7. TypeCode
2.16.8. DynAny
2.16.9. Пример использования
2.17. Константы
2.18. Модули
2.19. Tie-классы
2.20. Схема управления динамической памятью
2.21. Передача аргументов
Глава 3. Отображение IDL на Java
3.1. Опции компилятора id!2java
3.1.1. Опция -[no_]boa
3.1.2. Опция -[no_]comments
3.1.3. Опция -[no_]examples
3.1.4. Опция -tie
3.2. Код, сгенерированный для использования на стороне клиента
3.3. Код, сгенерированный для использования на стороне сервера
3.4. Helper-классы
3.5. Holder-классы
3.6. Интерфейс IDLEntity
3.7. Идентификаторы
3.8. Базовые типы данных
3.8.1. Простые базовые типы данных
3.8.2. Строки
3.8.3. Перечисления
3.9. Сконструированные типы данных
3.9.1. Оператор typedef
3.9.2. Массивы
3.9.3. Последовательности
3.9.4. Структуры
3.9.5. Объединения
3.10. Исключения
3.11. Интерфейсы
3.11.1. Общие принципы
3.11.2. Объектные ссылки
3.12. Классы на стороне клиента
3.12.1. Методы класса Helper
3.12.2. Система обеспечения переносимости кода стабов
3.13. Классы на стороне сервера
3.13.1. Методы класса <имя>РОА
3.13.2. Система обеспечения переносимости кода скелетов
3.14. Типы-значения
3.14.1. Обычный (stateful) valuetype
3.14.2. Абстрактные valuetype
3.14.3. Наследование valuetype.
3.14.4. Boxed valuetype
3.15. Абстрактные интерфейсы
3.16. Тип any и TypeCode
3.16.1. Тип any
3.16.2. IDL-типы данных и any
3.16.3. TCKind
3.16.4. TypeCode
3.16.5. DynAny
3.16.6. Пример использования
3.17. Константы
3.18. Модули
3.19. Tie-классы
3.20. Передача аргументов.
Глава 4. Отображение IDL на Delphi
4.1. Delphi и распределенные системы
4.1.1. Состояние, проблемы и перспективы
4.1.2. Delphi 5 и CORBA
4.1.3. Реальная поддержка CORBA в Delphi
4.1.4. Особенности управления памятью в Delphi 5 при работе с CORBA
4.1.5. Производительность
4.2. Опции компилятора id!2pas
4.2.1. Опции -generate_empty_units/-no_generate_empty_units .
4.2.2. Опции -comments/-no_comments.
4.2.3. Опция -root_dir <path>
4.3. Код, сгенерированный для использования на стороне клиента
4.4. Код, сгенерированный для использования на стороне сервера
4.5. Helper-классы
4.6. Stub-классы
4.7. Идентификаторы
4.8. Базовые типы данных
4.8.1. Простые базовые типы данных
4.8.2. Строки
4.8.3. Перечисления
4.9. Сконструированные типы данных
4.9.1. Оператор typedef
4.9.2. Массивы
4.9.3. Последовательности
4.9.4. Структуры
4.9.5. Объединения
4.10. Исключения
4.11. Интерфейсы
4.12. Тип any
4.13. Константы
4.14. Модули
4.15. Передача аргументов
Глава 5. ORB
5.1. ORB и их взаимодействие
5.2. Объектная ссылка и IOR
5.3. Инициализация ORB
5.4. Интерфейс ORB
5.4.1. Преобразования между объектными ссылками и строками
5.4.2. Организация динамических и асинхронных вызовов
5.4.3. Информационные методы
5.4.4. Обеспечение доступа к сервисам
5.4.5. Динамическое создание объектов типа TypeCode
5.4.6. Методы управления работой сервера приложений
5.4.7. Создание объектов типа Policy
5.4.8. Управление фабриками для типов-значений
Глава 6. Объекты и объектные ссылки
6.1. Понятие объекта CORBA
6.2. Объекты и интерфейсы
6.3. Объектная ссылка
6.4. Интерфейс CORBA: :0bject
6.4.1. IDL-объявление
6.4.2. Метод _get_interface()
6.4.3. Метод is_nil()
6.4.4. Метод _duplicate()
6.4.5. Метод -release()
6.4.6. Метод is_a()
6.4.7. Метод _non_existent()
6.4.8. Метод is_equivalent()
6.4.9. Метод _hash()
6.4.10. Метод _get_policy()
6.5. Некоторые методы, создаваемые при отображении интерфейса
CORBA::Object для VisiBroker
6.5.1. Метод _nil() (только для C++)
6.5.2. Метод CORBA::_release() (только для C++)
6.6. Расширения интерфейса CORBA::Object для VisiBroker
6.6.1. Метод _is_bound()
6.6.2. Метод _is_persistent()
6.6.3. Метод _is_local()
6.6.4. Метод is_remote()
6.6.5. Метод _object_name()
6.6.6. Метод _repositoryid()
6.6.7. Методы работы с Policy (часть QoS)
6.6.8. Метод _ref_count() (только для C++)
6.6.9. Метод interface_name() (только для C++)
6.6.10. Методы Type_info () и _desc() (только для C++)
6.6.11. Метод _clone () (только для C++)
6.6.12. Метод _orb () (только для Java)
6.7. Методы получения объектных ссылок
6.7.1. Стандартные способы CORBA
6.7.2. Расширения для VisiBroker
6.7.3. Использование smart agent для получения объектных ссылок
6.8. Метод __narrow()
6.9. Утилита PrintIOR
Глава 7. Объекты и объектный адаптер РОА
7.1. Серванты
7.2. Объекты CORBA и их серванты
7.3. Объекты на стороне сервера
7.4. Основные обязанности РОА
7.5. Структура РОА
7.5.1. Active Object Map
7.5.2. Servant Manager
7.6. Иерархия РОА
7.6.1. RootPOA
7.6.2. Дочерние РОА
7.7. Опции (Policies) РОА
7.7.1. Thread Policy
7.7.2. Lifespan Policy
7.7.3. Object Id Uniqueness Policy
7.7.4. Id Assignment Policy
7.7.5. Servant Retention Policy
7.7.6. Request Processing Policy
7.7.7. Implicit Activation Policy
7.7.8. Bind Support Policy (только для VisiBroker)
7.7.9. Server Engine Policy (только для VisiBroker)
7.8. IDL-Интерфейс POA
7.8.1. Операции создания и поиска РОА
7.8.2. Операция уничтожения РОА
7.8.3. Фабрики объектов типа Policy
7.8.4. Операции регистрации менеджеров сервантов и Default-менеджера
7.8.5. Операции активизации и деактивизации CORBA-объектов
7.8.6. Операции создания CORBA-объектов
7.8.7. Операции преобразования
7.9. ServantActivator
7.10. ServantLocator
7.11. Default Servant
7.12. Интерфейс POAManager
7.13. Интерфейс Adapter Activator
7.14. Интерфейс Current
7.15. "Сборка мусора" в распределенных системах
Глава 8. Многопоточность
8.1. Модели управления потоками VisiBroker
8.1.1. Модель Thread pooling
8.1.2. Модель Thread-per-session
8.2. Управление соединениями
8.3. Средства синхронизации VisiBroker для C++
8.3.1. Мьютексы
8.3.2. Классы VISRWLock, VISRLock_var и VISWLock_var
8.3.3. Класс VISThread
Начало
|
|
CITForum © 1997–2025