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