Сравнение технологий создания распределенных систем
В качестве некоторого итога предлагается таблица со сравнением всех описанных ранее технологий построения распределенных систем. Среда COM+ рассматривается при использовании модели единственного вызова объекта (JIT activation). Среда .NET Remoting в таблице рассмотрена в трех вариантах:
-
при использовании HTTP, SOAPFormatter, IIS и режима единственного вызова;
-
при использовании TCP, BinaryFormatter, вне IIS и в режиме единственного вызова;
-
при использовании TCP, BinaryFormatter, вне IIS и в режиме активации объектов клиентом.
В графе безопасности указан вид сети, при применении в которой данная промежуточная среда может считаться безопасной:
- WAN – сеть общего доступа;
- AD – домен Active Directory внутри LAN/VPN;
- VPN – развернутая для обеспечения безопасного обмена между компонентами виртуальная сеть.
Таблица 10.1. Сравнение промежуточных сред Требования Откры-
тость
Эффективность Масшта-
бируемость
Транзакции Устой-
чивость
Безопас-
ность
Технологии
MSMQ | + | + | + | + | AD |
COM+ (JIT) – | + | + | + | + | AD |
Remoting/HTTP/SOAP/IIS + | + | + | - | + | WAN |
Remoting/TCP | + | + | – | – | VPN |
Remoting, актив. клиентом | – | – | – | – | VPN |
WS + | + | + | | + | WAN |
Пустые ячейки в таблице вызваны следующими причинами.
- Поддержка транзакций в веб службах ожидается в ближайшее время.
-
MSMQ сложно отнести как к закрытым (можно использовать открытые спецификации сообщений), так и к открытым (внутренняя разработка фирмы Microsoft) средам.
- Это же касается и среды Remoting с бинарным форматированием: сама спецификация является стандартизированной, но клиенту желательно иметь доступ к сборке с объектом, и данную среду невозможно использовать вне различных реализаций CLI.
Из таблицы 10.1 видно, что наименьшим списком достоинств обладает единственная "родная" для .NET технология создания распределенных приложений – .NET Remoting. Также можно сделать вывод, что клиентская активация удаленных объектов не должна применяться в распределенных системах, отличных от экспериментальных.
Все рассмотренные промежуточные среды могут найти то или иное применение в распределенной системе.
-
Среда . Net Remoting может быть использована для скоростного обмена данными в доверенной сети, с возможностью безболезненного перехода на использование вместе с IIS. Применение вместе с IIS позволяет применять технологию Remoting в любой локальной сети и в сетях общего доступа, хотя и уступает WSE с точки зрения безопасности и поддержки стандартов веб служб.
-
Среда MSMQ может использоваться для обмена сообщениями между программными компонентами в домене Active Directory и как транспорт для сред Remoting и COM+. Использование MSMQ вместе с IIS ограничивается записью в очередь и вряд ли найдет широкое применение.
-
Среда Enterprise Services / COM+ позволяет использовать распределенные транзакции в локальной сети, однако она основана на технологии, разработанной для неуправляемого кода. Можно предположить, что данная технология уже в настоящий момент может рассматриваться как устаревшая. Тем не менее она может быть использована при необходимости в применении распределенных транзакций и компенсирующих менеджерах ресурсов, слабо связанных событий или асинхронного взаимодействия на основе отложенных компонент.
-
Среда веб служб ASP.NET / WSE является наиболее перспективной при создании распределенных систем. В настоящий момент в веб службах ASP.NET нет поддержки транзакций и возможности асинхронного взаимодействия, и в этом она уступает среде COM+. Из всех рассмотренных технология она является наиболее предпочтительной для организации публичных сервисов в интернете.
На рис. 10.2 приведено возможное использование рассмотренных в курсе технологий как при создании распределенных систем внутри предприятия, так и распределенных систем, объединяющих несколько предприятий. Для взаимодействия различных организаций может использоваться технология веб служб (ASP.NET или Remoting), а также MSMQ через HTTP.
Рис. 10.2. Возможное применение технологий построения распределенных систем
Содержание раздела