Продолжается подписка на наши издания! Вы не забыли подписаться?

.NET Remoting – оцениваем архитектуру

наши дни существует несколько завоевавших успех на рынке технологий созданий распределенных приложений – CORBA, Java RMI, DCOM. Все они более или менее полно удовлетворяют запросы пользователей, хотя прежде, чем это стало так, каждая из этих технологий прошла немалый путь.

С появлением .NET возникла альтернатива этим технологиям – .NET Remoting. Эта технология представляет собой не улучшенную версию COM, как можно было бы подумать, а совершенно новое решение. По заявлениям Microsoft, технология Remoting написана с нуля. Возможно, такой подход позволит избежать идеологических недостатков предыдущих реализаций.

Одно из главных отличий Remoting от предшественников состоит в том, что эта технология создана для работы в управляемой среде. Там, где раньше речь шла о процессах и взаимодействии между ними, теперь говорится о контекстах и доменах приложений. Дело в том, что CLR контролирует типы в управляемом коде и проверяет, не производится ли обращений по недопустимым адресам. Это позволяет нескольким управляемым приложениям исполняться внутри одного процесса так же изолированно, как и в неуправляемой модели, где каждому из приложений отводится собственный процесс.

Итак, .NET Remoting – это технология управляемых удаленных вызовов между доменами приложений. Домены приложений – это единицы изоляции в CLR, которые создаются и работают внутри процесса. Код и объекты, исполняющиеся в одном домене приложения, не имеют непосредственного доступа к коду и объектам, исполняемым в другом домене. Именно это определяет сферу применимости Remoting. Если же говорить о взаимодействии, например, управляемого и неуправляемого кода через Web, то это – вотчина (используя общий термин) Web-сервисов. К сожалению, это, казалось бы, четкое различие размывается из-за возможности хостинга серверов .Net Remoting под IIS. Как говорилось, скажем, в статье An Introduction to Microsoft .NET Remoting Framework (http://msdn.microsoft.com/library/en-us/dndotnet/html/introremoting. asp):

"Объекты .NET Remoting могут быть представлены как Web-сервисы при хостинге под IIS..."

В этой статье описываются некоторые приемы использования .NET Remoting и дается обзор ныне существующей функциональности. В разделе "Выводы" описаны некоторые возможные направления развития технологии, в частности, в смысле отношений с Web-сервисами и создаваемой спецификации Global XML Web Services Architecture (GXA).

Некоторые разделы писались по информации, полученной в неформальных беседах от сотрудников Microsoft, имеющих представление о технологии и о том, куда эта технология движется. Представленная здесь информация ни в коем случае не представляет планов или сроков выпуска каких-либо продуктов.

Взаимодействие клиент-сервер

.NET Remoting предоставляет удобный способ управления как синхронными, так и асинхронными RPC-связями между доменами приложений...

Прочитать статью полностью вы можете в печатной версии журнала

Copyright © 1994-2016 ООО "К-Пресс"