Windows - статьи

       

Общая архитектура приложения.


Любое remoting-приложение состоит из трех частей: объекта, клиента и сервера.

Объект  remoting - это некоторая библиотека классов, унаследованных от MarshalByRefObject. Сама библиотека реализуется на управляемом коде. Обычно в объекте remoting располагается бизнес-логика, предоставляемая клиенту, однако в рассматриваемом случае это не так. В рассматриваемом случае библиотека классов будет использоваться только для организации вызовов из remoting-клиента соответствующих методов бизнес-логики старого приложения на C++, которое станет сервером remoting (хостом).

Вызов методов серверного приложения из объекта remoting может осуществляться только с помощью технологии событий (event), в которой используются callback функции (delegate).  Таким образом, в библиотеке классов (объекте remoting) для каждого метода бизнес-логики старого приложения, который может вызываться по технологии remoting, должны быть описаны  соответствующие delegate и event. 

Remoting-клиент в данной задаче является совершенно обычным (никаких особенностей в его архитектуре нет), он может быть реализован на любом языке .NET

Создание же сервера remoting из программы на неуправляемом (родном) C++, имеет ряд особенностей. Главной из них является то, что все программные блоки в составе любого сервера remoting, выполняющие активацию и регистрацию объекта remoting, должны быть написаны на управляемом коде. Поэтому, сервер remoting в рассматриваемом случае будет представлять собой приложение, состоящее из смеси управляемого и неуправляемого кода. То есть, в старое приложение на неуправляемом коде должны быть встроены программные блоки на управляемом C++, обеспечивающие функционирование remoting.



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