Итак, для осуществления удаленного запуска сервера автоматизации следует запустить на стороне компьютера-сервера Service Control Manager, предварительно сконфигурировав его так, чтобы удаленный пользователь мог осуществить запуск данного сервера.
Использование Microsoft DCOM в качестве Service Control Manager
Рассмотрим использование Microsoft DCOM в качестве Service Control Manager. Для конфигурации DCOM существует утилита DCOMCNFG, входящая в комплект поставки Windows NT.
Использование DCOM в качестве SCM базируется на предоставлении прав на удаленный запуск конкретного приложения тем или иным пользователям или группам пользователей. Поэтому компьютер, содержащий сервер, который планируется запускать удаленно, должен иметь в своем реестре описание прав доступа к данному серверу различных пользователей или их групп.
Рис.3. Настройка прав доступа к серверу автоматизации
Для этого требуется, в свою очередь, экспорт сведений о пользователях сети с первичного контроллера домена, что возможно только в случае выбора на таком компьютере установки User Level Access Control раздела Network панели управления Windows.
В реестре компьютера, на котором запускается контроллер автоматизации, также должны содержаться сведения о том, что соответствующий сервер автоматизации запускается удаленно. Для этого нужно, чтобы в реестре о сервере автоматизации уже была соответствующая запись, поэтому нужно его хотя бы один раз запустить локально (или перенести соответствующие записи из реестра компьютера, содержащего сервер, на компьютер, содержащий контроллер).
После этого можно с помощью той же утилиты DCOMCNFG указать, что данное приложение запускается удаленно:
Рис. 4. Настройка удаленного запуска приложения-сервера
После этого можно попытаться запустить контроллер. Сервер при этом запустится удаленно.
Хотелось бы особо обратить внимание на достоинства и недостатки использования DCOM в качестве SCM. Несомненным достоинством этого способа является то, что DCOM интегрирован в операционную систему Windows NT и не требует установки и запуска каких-либо утилит для своего функционирования. Недостатки же этого способа удаленного запуска серверов автоматизации таковы:
Помимо этого, есть определенные сомнения в возможности использования Windows 95 в качестве операционной системы для компьютера, содержащего удаленный сервер автоматизации. По крайней мере, на сегодняшний день автору неизвестны успешные случаи удаленного запуска подобных серверов на компьютерах, оснащенных этой операционной системой, с помощью DCOM. Использование в этом качестве Windows 98 автором не проверялось.
Использование Inprise OLEnterprise в качестве Service Control Manager
Рассмотрим альтернативный способ запуска удаленных серверов автоматизации, использующий в качестве Service Control Manager продукт OLEnterprise (Inprise Corporation), входящий в комплект поставки C++Builder Client/Server Suite.
Использование OLEnterprise в качестве SCM базируется на предоставлении прав на удаленный запуск конкретного приложения всем пользователям, имеющим установленную клиентскую часть этого продукта. В первую очередь следует запустить на компьютере, содержащем сервер автоматизации, утилиту Object Factory, которая, по существу, и выполняет роль SCM. Предоставление прав на запуск сервера владельцем компьютера, содержащего этот сервер, осуществляется путем публикации соответствующих записей реестра (или, в терминах OLEnterprise, экспорта соответствующего сервера автоматизации в глобальный реестр), с помощью утилиты Object Explorer:
Рис. 5. Публикация сведений о приложении-сервере в глобальном реестре
На компьютере, содержащем контроллер, с помощью этой же утилиты можно соединиться с удаленным реестром компьютера, содержащего сервер автоматизации и импортировать запись о нем в собственный реестр:
Рис. 6. Импорт записи из глобального реестра в реестр компьютера, содержащего контроллер автоматизации
После этого при запуске контроллера сервер запустится удаленно.
В данном примере компьютер, на котором запускается контроллер автоматизации, "знает" об одном единственном компьютере, содержащем сервер (точно так же, как и в рассмотренном выше примере использования DCOM). Однако возможности OLEnterprise этим не исчерпываются. В комплект его поставки входит утилита Business ObjectBroker, назначение которой - взаимодействовать с опубликованными частями реестров сети в поисках сервера автоматизации для обратившихся к нему клиентов. Если сконфигурировать OLEnterprise так, чтобы использовать Business ObjectBroker, клиенты автоматизации должны обращаться к нему, а не непосредственно к серверам автоматизации, как в предыдущем случае. В ответ они будут получать указание, с каким из компьютеров сети соединиться для использования сервера автоматизации.
Если компьютеров, опубликовавших в глобальном реестре сведения об одном и том же сервере автоматизации, несколько, обращения компьютеров, содержащих контроллеры, будут распределены между ними случайным образом, что позволяет равномерно распределить нагрузку на эти компьютеры.
Рассмотрим достоинства и недостатки использования OLEnterprise в качестве SCM. Достоинства этого способа очевидны: наличие первичного контроллера домена в сети в этом случае не является обязательным, существенных изменений настроек сети не требуется, сервер автоматизации не нужно запускать на компьютере, содержащем контроллер. Имеется возможность запускать удаленные серверы автоматизации под управлением Windows 95. Помимо этого, можно иметь несколько дублирующих друг друга серверов автоматизации на разных компьютерах сети, и можно написать код контроллера таким образом, чтобы в случае сбоя используемого сервера данный контроллер с помощью Business ObjectBroker данный компьютер был подключен к другому компьютеру, содержащему сервер, что повышает надежность такой системы. Отметим, что в случае использования DCOM это практически невозможно - в настройках DCOM местоположение сервера всегда указывается явно, а использование брокеров не предусмотрено.
Недостатки у этого способа тоже есть - в отличие от DCOM, автоматически устанавливающегося вместе c Windows NT, OLEnterprise требует отдельного приобретения и установки, в том числе установки клиентской части OLEnterprise на компьютеры, содержащие контроллеры автоматизации.
Отметим, что список возможных SCM отнюдь не исчерпывается DCOM и OLEnterprise. Помимо них, возможно использование других подобных резидентных утилит, позволяющих при тех или иных условиях запускать удаленным пользователям серверы автоматизации. Например, Borland Socket Server, входящий в комплект поставки C++Builder Client/Server Suite, является еще одним типом SCM и позволяет запускать определенные типы серверов автоматизации, не требуя при этом на компьютере, содержащем контроллер, никаких дополнительных клиентских частей и настроек.
Назад | Содержание | Вперед