Благодарности
 Введение
 Кому предназначена эта книга.
 Структура книги 
 Системные требования
 Файлы примеров
 ГЛАВА 1    ОСНОВЫ РАСПРЕДЕЛЕННЫХ
 ПРИЛОЖЕНИЙ
 Исторический экскурс
 Распределенные архитектуры
 Модульное программирование
 Клиент-серверные архитектуры
 Многоуровневые архитектуры
 Одноранговые архитектуры
 Распределенные технологии 
 Сокеты 
 Удаленные вызовы процедур
 Распределенные объекты - удобная абстракция
 Преимущества распределенных приложений
 Отказоустойчивость
 Масштабируемость
 Администрирование 
 Проблемы распределенных приложений
 Производительность 
 Защита
 Открытость и сетевые форматы данных
 Интернети брандмауэры
 Конфигурирование 
 Независимость от расположения
 Управление временем жизни объекта
 Решение проблем распределенных приложений
 в .NE Remoing
  Производительность
 Расширение и настройка удаленного взаимодействия
 Конфигурирование
  Преимущества CLR и CS
 Открытость 
 Защита
 Аутентификация 
 Защита данных
 Защита без IIS
 Управление временем жизни
 Сервисы масштаба предприятия
 Заключение
 ГЛАВА 2   АРХИТЕКТУРА .NE REMOING
 Границы .NE Remoing
 Домены приложений
 Контексты
 Пересечение границ
 Недистанцируемые типы
 Дистанцируемые типы
 Активизация объекта 
 Серверная активизация
 Режим Singleon
 Режим SingleCall
 Клиентская активизация
 Лицензия объекта
 Лицензия 
 Диспетчер лицензий
 Спонсоры
 Пересечение границ приложений
 Маршалинг ссылок на удаленные объекты
 посредством ObjRef
 URI
 Метаданные
 Информация о канале
 Использование прокси для взаимодействия с удаленными
 объектами 
 Прозрачный прокси 
 Реальный прокси
 Сообщения - основа удаленного взаимодействия 
 Транспортировка сообщений каналами 
 CP
  HP
 Обработка сообщений цепочками канальных приемников. Сериализация сообщений форматирующими
 приемниками 
 Реализация сетевого интерфейса с помощью
 транспортных приемников
 Заключение
 ГЛАВА 3    РАСПРЕДЕЛЕННЫЕ ПРИЛОЖЕНИЯ
 НА ОСНОВЕ .NE REMOING
 Проектирование приложения
 Реализация приложения JobServer
 Логика приложения
 Структура Joblnfo
 Интерфейс IJobServer
 Класс JobEvenArgs
 Класс JobServerlmpI
 Добавление средств .NE Remoing
 Реализация дистанцируемого типа
 Выбор серверного домена приложения
 Выбор модели активизации
 Выбор канала и порта
 Выбор способа получения клиентами метаданных
 сервера 
 Настройка параметров .NE Remoing для сервера
 Реализация приложения JobClien
 Выбор клиентского домена приложения
 Получение метаданных сервера
 Настройка .NE Remoing для приложения JobClien
 Программная настройка
 Конфигурационный файл
 Реализация класса JobServerlmpI в виде Web-сервиса
 Необходимые изменения 
 Удаление обратных вызовов клиентов
 Выбор метода активизации
 Настройка виртуального каталога
 Настройка файла Web.config
 Развертывание
 Использование SOAPSuds
 Сборка с реализацией
 Сборка с метаданными
 XML-схема (WSDL)
  Компилируемый класс
 Защита Web-сервиса
 Изменения настроек виртуального каталога
  Изменения в файле Web.config
 Изменения в приложении JobClien
 Использование защиты на основе ролей с .NE Remoing....
 Использование объектов с клиентской активизацией
 Класс JobNoes
 Изменения в приложении JobClien
 Настройка клиента для работы с объектами с клиентской
 активизацией 
 Программная настройка
 Конфигурационный файл
 Настройка сервера при использовании объектов
 с клиентской активизацией
 Программная настройка
 Конфигурационный файл 
 Спонсор лицензии 
 Инициализация лицензии
 Реализация интерфейса ISponsor
 Регистрация спонсора
 Проблемы зависимости от метаданных
 Устранение зависимости JobServer от метаданных
 JobClien
 Разработка класса-дублера публикуемого вместо
 метаданных JobServerlmpI
 Удаленный доступ к интерфейсу IJobServer
 Заключение
 ГЛАВА 4    SOAP И ОБМЕН СООБЩЕНИЯМИ1
 Протокол SOAP
 Нужно ли знать SOAP?
 RPC на основе HP
 Элементы сообщения SOAP
 Конверт SOAP
 Заголовок SOAP
 Тело SOAP
 Ошибки в SOAP
 Документ-литеральный SOAP
 Обмен сообщениями
 Сообщение-запрос addJobEven
 Сообщение-ответ addJobEven
  Сообщение-запрос Gejobs
 Сообщение-ответ Gejobs
 Сообщение-запрос Creaejob
 Сообщение-ответ Creaejob
 Сообщение-запрос UpdaeJobSae
 Сообщение-ответ UpdaeJobSae
 Сообщение-запрос на активизацию JobNoes . Сообщение-ответ на активизацию JobNoes ...
 Сообщение-запрос removeJobEven
 Сообщение-ответ removeJobEven
 Заключение
 ГЛАВА 5    СООБЩЕНИЯ И ПРОКСИ .
 Сообщения 
 Сообщения вызовов конструкторов
 Сообщения вызовов методов
 Типы сообщений
 Прокси
 VransparenProxy
 RealProxy
 5Расширение RealProxy
 iСпециализированные прокси на практике .
 Пример с активизацией
 Пример со сменой канала
 Пример с распределением нагрузки ..
 Использование контекста вызова
  Контекст вызова в потоке сообщений
 iЗаключение
 ГААВА6    ПРИЕМНИКИ СООБЩЕНИИ
  КОНТЕКСТЫ
 Приемники сообщений
 HIMessageSink
 fСинхронная обработка сообщения
 Асинхронная обработка сообщения
 Контексты
 Установление контекста
 ГчАтрибуты и свойства контекста
 Контексты и удаленное взаимодействие
 Динамические контекстные приемники
 Создание динамического приемника
  Клиентская контекстная цепочка
 Создание приемника для клиентской контекстной
 цепочки
 Серверная контекстная цепочка приемников
 Создание приемника для серверной контекстной
 цепочки
 Пример: контексте регистрацией исключений
 Серверная объектная цепочка приемников
 Создание серверного объектного приемника
 Пример: трассировка всех вызовов методов
 объекта 
 Цепочка агентских приемников 
 Создание агентского приемника
 Пример: проверка параметров метода
 Заключение
 ГЛАВА 7   КАНААЫ И КАНАЛЬНЫЕ
 ПРИЕМНИКИ
 Построение каналов
 Терминология каналов
 HpChannel
 HpServerChannel
 HpServerransporSink
 HpClienChannel
 HpClienransporSinkProvider
 HpClienransporSink
 Создание нестандартных каналов
 Этапы создания нестандартного канала .NE Remoing .
 Создание нестандартного канала FileChannel
 Реализация класса FileClienChannel
 Реализация класса FileClienChannelSinkProvider
 Реализация класса FileClienChannelSink
 Реализация класса FileServerChannel
 Реализация класса FileServerChannelSink
 Реализация класса FileChannel
 Реализация класса FileChannelHelper
 Создание класса транспорта FileChannel
 Нестандартные канальные приемники
 Создание приемника контроля времени доступа
 Реализация класса AccessimeServerChannelSink
 Реализация класса
 AccessimeServerChannelSinkProvider
  Добавление AccessimeServerChannelSink
 в конфигурационный файл
 Заключение
  ГААВА8   ФОРМАТИРОВЩИКИ
 СЕРИААИЗАЦИИ
  Сериализация объектов
 Атрибут Serializable
 Расширение механизма сериализации объекта
 Сериализация графов объектов
 Десериализация графа объектов
 Уведомление о завершении десериализации
 Суррогаты сериализации и селекторы суррогатов
 Суррогаты
 Селекторы суррогатов
 Суррогат imeSamper
 RemoingSurrogaeSelecor
  Форматировщики сериализации 
 Получение сериализуемых членов типа
 Обход графа объектов
 Идентификация объектов с использованием класса
 ObjeclDGeneraor
 Каталогизация объектов для сериализации
 Использование класса ObjecManager
 Использование класса Formaer
 jРеализация собственного форматировщика
 ff"Определение формата сериализации
 Реализация интерфейса IFormaer
 Реализация метода IFormaer.Serialize
 Реализация метода IFormaer.Deserialize
 Создание приемника форматировщика
 Клиентский приемник форматировщика
 ClienFormaerSinkProvider
 Серверный приемник форматировщика
 f:iServerFormaerSinkProvider
 Предметный указатель
 Об авторах
 Заключение