86
том же компьютере, что и их клиент. В DCOM объекты могут предоставлять
свои сервисы и клиентам, выполняющимся на других узлах сети.
Возможность запускать удаленные объекты и вызывать их методы -
важное достижение, но требуется большее. В частности, нужен способ
контроля за тем, кто имеет право создавать объекты на данной машине, и
обеспечение
безопасного доступа к этим объектам по незащищенной сети. С
этой целью в основу DCOM положен набор сервисов контроля доступа
Приложения (включая программы, созданные до DCOM) могут использовать
DCOM и работать вполне безопасно без добавления какого-либо кода,
связанного с защитой. С другой стороны, приложения, знающие о новых
средствах DCOM контроля доступа, могут задействовать их
явно.
Сервисы создания объектов — одни из важнейших сервисов
предоставляемых СОМ. Клиенты обычно создают объекты, вызывая
библиотеку СОМ или через моникеры. Эти подходы работают и в DCOM, хотя
и с некоторыми новыми особенностями.
Независимо от того, где исполняется объект, клиент обычно создает его и
затем получает указатели на необходимые интерфейсы. Чтобы создать
удаленный объект, клиент вызывает CoCreatelnstance, передавая идентификатор
класса CLSID, идентификатор интерфейса IID (эти два параметра используются
и при создании локальных объектов) и имя узла, на котором он должен быть
создан. Для объекта, создаваемого на том же узле, в системном реестре по
CLSID находится имя файла библиотеки DLL или EXE-файла сервера данного
класса объектов, после чего
найденный сервер запускается. Для создания
удаленного объекта устанавливается связь с удаленным узлом, в ее реестре
отыскивается требуемый CLSID, и на удаленном узле запускается
соответствующий процесс сервера.
DCOM предоставляет несколько вариантов идентификации узлов в
зависимости от используемых сетевых протоколов: доменные имена (DNS), IP-
адреса, имена NetBIOS, IPX-адреса.