Windows - статьи

       

Сервер Remoting


Теоретически, для получения сервера remoting из старого приложения, реализованного на неуправляемом коде,  необходимо к старому приложению добавить код на C++/CLI, обеспечивающий функционирование режима remoting, а именно создание, инициализацию и регистрацию remoting-объекта. Инициализация объекта remoting в рассматриваемом случае предполагает подключение старой бизнес-логики для ее использования по технологии remoting.

Однако, наибольший интерес представляет практическая реализация создания сервера remoting на основе приложения на родном C++. На приведенном рисунке представлена блочная архитектура создаваемого сервера remoting:

Таким образом, для создания  remoting-сервера из старого приложения, к его коду на родном C++ (блоки выделены серыми тонами на рисунке) надо добавить три программных модуля на C++/CLI (h- и cpp-файлы, отмеченные голубым цветом на картинке), которые должны быть откомпилированы в управляемом режиме:

  • Класс-обертка CMngCover для вызова неуправляемых методов старой бизнес-логики через их управляемые аналоги (h-файл и cpp-файл).
  • Управляемый класс CRmtReg для создания, инициализации и регистрации remoting-объекта (h-файл и cpp-файл).
  • Стартовая функция StarterRmt (h-файл и cpp-файл) для включения режима remoting. Эта функция на управляемом коде будет вызываться из старого кода (реально это единственное изменение, которое вносится непосредственно в старый код на родном C++).

    При этом, как видно, старая бизнес-логика остается нетронутой.

    Рассмотрим более подробно новые модули на управляемом коде.



    Содержание раздела