Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]

     

Технология CORBA для профессионалов. +CD

Александр Цимбал

Издано: 2001, СПб, Питер
Для профессионалов
ISBN: 5-272-00396
Твердый переплет, 624 стр.
Формат: 70x100/16

Начало
Краткое содержание
Предисловие
Введение
Об авторе
Компакт-диск
[Заказать книгу в магазине "Мистраль"]

Содержание

  Об авторе
  Предисловие
  Введение
    Компакт-диск
    От издательства

Часть 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

 
  9.1. Что такое репозитарий интерфейсов
  9.2. Иерархия интерфейсов для IR
    9.2.1. Интерфейсы IR
    9.2.2. Иерархия содержания
    9.2.3. Иерархия наследования
  9.3. Создание репозитариев интерфейсов
  9.4. Просмотр информации в репозитариях интерфейсов
    9.4.1. Пример отображения информации из IR на C++
    9.4.2. Пример отображения информации из IR на Java
  9.5. Занесение информации в репозитарий интерфейсов
  9.6. Доступ к требуемому репозитарию интерфейсов
    9.6.1. Присоединение к репозитарию интерфейсов
    9.6.2. Получение информации об интерфейсах по объектной ссылке

 Глава 10. Репозитарии реализаций
  10.1. Установка связи с серверным объектом по объектной ссылке
    10.1.1. Прямая привязка
    10.1.2. Косвенная привязка
  10.2. Информация в репозитарии реализаций
  10.3. Взаимодействие серверов приложений и репозитариев реализаций
  10.4. Последовательность действий при установке связи
  10.5. VisiBroker ОАО
  10.6. Утилиты для взаимодействия с ОАО
    10.6.1. Регистрация объектов в ОАО
    10.6.2. Отмена регистрации объектов в ОАО
    10.6.3. Получение информации из ОАО
  10.7. IDL-объявления для ОАО
  10.8. Взаимодействие с ОАО из программ
    10.8.1. Использование C++
    10.8.2. Использование Java

 Глава 11. Динамическое взаимодействие клиентов и серверов
  11.1. Какая информация необходима для использования DII/DSI
  11.2. Некоторые IDL-типы, используемые при работе с DII/DSI
    11.2.1. NamedValue
    11.2.2. NVList
    11.2.3. Environment
    11.2.4. Context
    11.2.5. Интерфейс ExceptionList
  11.3. ОН
    11.3.1. Объект CORBA::Request
    11.3.2. Отображение Request на C++
    11.3.3. Отображение Request на Java
    11.3.4. Создание объекта Request
    11.3.5. Вызовы удаленных методов
  11.4. DSI
    11.4.1. Объект ServerRequest
    11.4.2. Отображение ServerRequest на C++
    11.4.3. Отображение ServerRequest на Java
    11.4.4. Тип серванта
    11.4.5. PortableServer::DynamicImplementation
    11.4.6. CORBA::0ynamiclmplementation

 Глава 12. Smart agents
  12.1. Что такое smart agent
  12.2. Взаимодействие smart agents, серверов и клиентов
    12.2.1. Запуск smart agent
    12.2.2. Взаимодействие smart agents друг с другом
    12.2.3. Smart agents и серверные объекты
    12.2.4. Smart agents и клиенты
    12.2.5. Домены ORB.
  12.3. Настройка параметров при использовании smart agents
    12.3.1. Параметры, влияющие на поведение smart agents
    12.3.2. Способы настройки параметров
    12.3.3. Взаимодействие в объединении локальных сетей
    12.3.4. Использование multihomed-хостов
  12.4. Утилиты osfind и VisiBroker Console
  12.5. Распределение нагрузки между серверами
  12.6. Обеспечение устойчивости к сбоям
  12.7. Location Service
    12.7.1. IDL для Location Service
    12.7.2. Получение доступа к Location Service
    12.7.3. Интерфейс Agent
    12.7.4. Триггеры сервиса поиска

 Глава 13. Сервисы именования CORBA
  13.1. Концепция Naming Service
  13.2. Основные понятия
    13.2.1. Представление имен
    13.2.2. Связанное имя
    13.2.3. Контекст имен
    13.2.4. Начальный контекст имен
    13.2.5. Иерархия контекстов
    13.2.6. Разрешение имени
  13.3. Интерфейсы Naming Service
    13.3.1. Интерфейс NamingContext
    13.3.2. Интерфейс BindingIterator
  13.4. Создание экземпляра службы именования
  13.5. Соединение с экземпляром службы именования
  13.6. Федерация служб именования
  13.7. Расширения, предлагаемые INS
    13.7.1. Представление имен
    13.7.2. Кластеры
    13.7.3. Сохранение состояния

 Глава 14. Callback-вызовы, сервисы событий и уведомлений
  14.1. Callback-объекты при использовании CORBA
  14.2. Сервис событий CORBA
    14.2.1. Недостатки сервиса событий
    14.2.2. Основные положения
    14.2.3. Канал событий
    14.2.4. Модели взаимодействия сервиса событий
    14.2.5. Основные этапы создания приложения
    14.2.6. Модуль CosEventComm
    14.2.7. Модуль CosEventChannelAdmin
    14.2.8. Понятие о типизированных событиях
  14.3. Сервис уведомлений CORBA
  14.4. Сервис сообщений CORBA
    14.4.1. AMI
    14.4.2. TII
  14.5. Заключение

 Глава 15. Сервис жизненного цикла
  15.1. Модуль CosLifeCycle
    15.1.1. "Фабрика" как формальная конструкция
    15.1.2. Используемые IDL-типы
    15.1.3. Интерфейс GenericFactory
    15.1.4. Интерфейс FactoryFinder
    15.1.5. Интерфейс LifeCycleObject
  15.2. Модуль CosCompoundLifeCycle
  15.3. Проблемы использования сервиса
  15.4. Уничтожение CORBA-объектов
    15.4.1. Основные положения
    15.4.2. Уничтожение при явной активизации объектов
    15.4.3. Уничтожение при использовании серванта по умолчанию
    15.4.4. Уничтожение при использовании менеджера-активатора
    15.4.5. Уничтожение при использовании менеджера-локатора
  15.5. Заключение

Часть III. Создание простых приложений
 Глава 16. Создание простейшего клиента и сервера
  16.1. Общие замечания
  16.2. Использование C++
    16.2.1. Сервер
    16.2.2. Клиент
  16.3. Использование Java
    16.3.1. Сервер
    16.3.2. Клиент
  16.4. Использование Delphi
    16.4.1. Клиент
  16.5. Заключение

 Глава 17. Работа с РОА
  17.1. Общие замечания по примерам программ
  17.2. Использование C++
    17.2.1. Явная активизация объекта
    17.2.2. Явная активизация объекта с использованием счетчика ссылок
    17.2.3. Использование менеджера-активатора
    17.2.4. Использование менеджера-локатора
    17.2.5. Использование серванта по умолчанию
    17.2.6. Активизация объектного адаптера
    17.2.7 Клиент
  17.3. Использование Java
    17.3.1. Явная активизация объекта
    17.3.2. Использование менеджера-активатора
    17.3.3. Использование менеджера-локатора
    17.3.4. Использование серванта по умолчанию
    17.3.5. Активизация объектного адаптера
    17.3.6. Клиент
  17.4. Заключение

 Глава 18. Взаимодействие с репозитарием интерфейсов
  18.1.   Использование C++
  18.2.   Использование Java
  18.3.   Результат работы

 Глава 19. Использование DII/DSI
  19.1. Использование C++
    19.1.1. Статический сервер
    19.1.2. Статический клиент
    19.1.3. DII-клиент
    19.1.4. DSI-сервер
  19.2. Использование Java
    19.2.1. Статический сервер
    19.2.2. Статический клиент
    19.2.3. DII-клиент
    19.2.4. DSI-сервер
  19.3. Заключение

 Глава 20. Использование сервиса именования CORBA
  20.1. Задача и IDL-объявления серверного объекта
  20.2. Запуск Naming Service
  20.3. Серверное приложение
    20.3.1. C++
    20.3.2. Java
    20.3.3. Использование VisiBroker Console для создания графа имен
  20.4. Клиентское приложение
    20.4.1. C++/!
    20.4.2. Java
  20.5. Заключение

 Глава 21. Использование сервиса событий
  21.1. Создание канала событий с помощью утилит VisiBroker
  21.2. Создание канала событий с использованием интерфейса
        EventChannelFactory и классов VisiBroker
    21.2.1. IDL-объявление интерфейса EventChannelFactory
    21.2.2. Отображение интерфейса EventChannelFactory на C++
    21.2.3. Отображение интерфейса EventChannelFactory на Java
    21.2.4. Создание объекта типа EventChannelFactory
  21.3. Присоединение к каналу событий
  21.4. Пример использования push-модели
    21.4.1. Применение C++
    21.4.2. Применение Java и
  21.5. Заключение

  Используемая литература
  Алфавитный указатель
    

Начало
Краткое содержание
Предисловие
Введение
Об авторе
Компакт-диск
Заказать книгу в магазине "Мистраль"

 

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...