Разработка распределенных приложений в Microsoft.NET Framework

         

Выводы по использованию среды Enterprise Services / COM+


Хотя COM+ имеет обширные возможности для создания распределенных систем внутри предприятия, ей свойственны и следующие недостатки.

  1. Среда COM+ разработана до .NET Framework, поэтому в среде Enterprise Services существуют ограничения на классы .NET Framework, регистрируемые в качестве обслуживаемых компонент. При использовании компонент Enterprise Services проявляются некоторые особенности работы с ними, являющиеся следствием нетривиального взаимодействия CLR и COM+.
  2. Компоненты COM+ не могут использоваться вне доверенной сети, поскольку для их использования должен быть открыт, в частности, доступ к порту RPC (135-ый порт TCP). С данным портом связан большой и, вероятно, еще незаконченный список общеизвестных уязвимостей.

Рассмотрим промежуточную среду COM+ с точки зрения требований к распределенной системе.

  1. Открытость. Служба COM+ является внутренней технологией Microsoft и реализована только в операционной системе Windows 2000 и последующих версиях Windows. Для использования обслуживаемой компоненты нужно иметь как минимум доступ к сборке с ее интерфейсом и иметь установленный посредник компоненты COM+. Таким образом, среда Enterprise Services не является открытой.
  2. Масштабируемость. Служба COM+ поддерживает балансировку нагрузок путем создания кластера машин на основе Windows Server. Выбор используемого сервера осуществляется только в момент создания объекта клиентом, даже при использовании JIT активации. Среда COM+ поддерживает модель единственного вызова с пулом объектов, что позволяет добиться баланса времени создания удаленного объекта и используемой сервером памяти.
  3. Поддержание логической целостности данных. COM+ использует координатор распределенных транзакций из сервера транзакций Microsoft (MTS) и позволяет создавать менеджеры управления ресурсами.
  4. Устойчивость. Посредники приложения COM+ связывают клиентский компьютер с именем компьютера (DNS или NETBIOS), на котором развернуто приложение COM+. Таким образом, этот компьютер является слабым местом системы (в случае использования кластера приложений им является планировщик кластера COM+). Для решения этой проблемы можно использовать сервисы Windows Clustering, позволяющие создать дублера данного компьютера, начинающего функционировать в случае выхода основного планировщика. Таким образом, использующая среду COM+ распределенная система может не иметь уникальной точки сбоя.
  5. Эффективность (в узком смысле). Среда COM+ взаимодействует со средой .Net достаточно сложным образом, вероятно приводящим к определенным накладным расходам.
  6. Безопасность. COM+ позволяет использовать встроенные механизмы безопасности Microsoft Windows.

Можно сделать вывод, что хотя промежуточная среда EnterpriseServices/COM+ предоставляет обширный набор сервисов для компонент распределенной системы, но ее использование ограничено взаимодействием компонент внутри локальной или виртуальной частной сети, построенной на базе Microsoft Windows в пределах одного предприятия.



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