DCOM — это сетевой протокол, основанный на стандарте распределенной среды обработки DCE (Distributed Computing Environment). Достоинством протокола DCOM является используемая модель программирования. Этот протокол позволяет разработчикам применять СОМ- объекты на удаленном компьютере точно так же, как и на локальном (рис.1). DCOM просто переносит локальную межпроцессную связь с помощью сетевого протокола. Вызов становится несколько более медленным, но ни клиенту, ни компоненту нет необходимости знать, что связь между ними осуществляется по сети. На рис.1 показан многоуровневый протокол, позволяющий модели СОМ работать через сеть.
Рис. 1. Архитектура COM/DCOM
К сожалению, модель COM/DCOM не подходит для работы в распределенных сетях. В документации Microsoft, касающейся модели DCOM, на этот счет говорится следующее:
Сетевые связи принципиально более хрупки, чем связи внутри машины. Компоненты в распределенном приложении должны быть извещены, если клиент оказывается неактивным, даже (и особенно) в случае сбоя в сети или в аппаратных средствах.
Сегодня можно сказать, что сетевая связь является значительно более хрупкой, чем межпроцессное взаимодействие на одной машине. И решение применить DCОМ в сети приводит к большим издержкам из-за возникновения помех и большого количества отложенных сообщений. Очевидно, что применять DCОМ а сети Интернет тем более не имеет смысла, поскольку по мере роста числа клиентов в сети объем сетевого трафика увеличивается и необходимость обрабатывать большое количество запросов наносит серьезный вред всей системе. Таким образом, разработчики пришли к выводу, что протокол DCOM является принципиально не масштабируемым для обслуживания большого числа клиентов. Кроме того, указанные ограничения делают невозможным использование dcom-компонента в случае ненадежной или периодически устанавливаемой связи.
ПРИМЕЧАНИЕ
Поскольку модель DCOM, подобно модели CORBA, спроектирована в виде статичного протокола, важную роль в ее работе играют отложенные сообщения. Если бы возможность откладывать сообщения отсутствовала, сервер оказался бы забитым сотнями объектов, которые никогда не были бы правильно использованы его клиентами. В случае web-служб возникновение подобных проблем исключается, поскольку функционирование служб не зависит от состояния и, следовательно, обработки такой огромной коллекции объектов не требуется.
Детальную информации о DCOM вы можете получить по адресу http://www.mi-crosoft.com/com/tech/dcom.asp. Необходимо отметить, что некоторые из этих ссылок в настоящее время могут не работать по причине отказа Microsoft от использования технологии DCOM в распределенных приложениях.
ПРИМЕЧАНИЕ
Web-службы не исключают полностью подход DCOM к выполнению операций в системах распределенных объектов в .NET-ориентированной среде. Для этого платформа .NET предоставляет новые средства удаленной работы, которые позволяют использовать .NET-объекты в надежной сетевой среде. Указанные средства находятся в пространствах имен System.Runtime.Remoting системы .NET Framework.
Достарыңызбен бөлісу: |