Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Вопросы безопасности

Службы компонентов позволяют задействовать список пользователей и групп пользователей Windows 2000/XP в качестве списка пользователей своих объектов. При этом для каждого объекта можно установить правила его эксплуатации различными пользователями и группами пользователей. Помимо этого, службы компонентов поддерживают механизм ролей. Роль в службах компонентов — это совокупность пользователей и групп пользователей, которые имеют право обращаться к интерфейсам объектов, включенных в данное приложение СОМ+. При использовании ролей в объекты СОМ+ можно не включать код реализации правил безопасности.

Отметим, что роли служб компонентов не следует интерпретировать как аналоги ролей серверных СУБД — последние представляют собой не совокупность пользователей, а совокупность привилегий.

3.15.5 Особенности объектов СОМ+

Объекты СОМ+ являются серверами автоматизации и, как все подобные серверы, реализуют интерфейс IDispatch.

Все объекты СОМ+ поддерживают специфический для них интерфейс IObjectControl, содержащий методы для активации и деактивации объекта СОМ+ и управления ресурсами (в том числе соединениями с базами данных).

Серверный объект СОМ+ должен иметь стандартную фабрику классов и библиотеку типов (они автоматически создаются при использовании мастера Transactional Object Wizard). Можно редактировать библиотеку типов, добавляя свойства и методы (в дальнейшем они будут использованы службами СОМ+ для получения сведений об объектах СОМ+). Помимо этого, компонент должен, как и все внутрипроцессные серверы автоматизации, экспортировать функцию DllRegisterServer и осуществлять саморегистрацию своего идентификатора CLSID.

Если предполагается коллективное использование серверного объекта, он не должен хранить внутри себя сведения о состоянии данных, связанных с конкретным клиентом, например результатов запросов, номера текущей записи в наборе данных, и т. д., а немедленно пересылать такие сведения клиентскому приложению. Объекты, удовлетворяющие этому требованию, называются не хранящими информации о состоянии (stateless objects).

В общем случае при создании кода объектов СОМ+ рекомендуется пользоваться соединением с базой данных минимальное время и как можно быстрее вернуть его в соответствующий пул ресурсов. Ссылка же на контекст объекта при этом может сохраняться достаточно долго. По этой же причине рекомендуется также вызывать метод SetComplete как можно чаще, чтобы как можно быстрее вернуть объект в соответствующий пул объектов.

3.15.6 Особенности управления объектами СОМ+

Объекты СОМ+ объединяются в приложения СОМ+ (СОМ+ Applications). Каждое из приложений СОМ+ может содержать один или несколько объектов. Управление объектами и приложениями СОМ+ осуществляется с помощью приложения Componet Services Explorer, которое доступно в разделе Administrative Tools панели управления Windows 2000.

Каждый объект, зарегистрированный как объект СОМ+, обладает свойством Transaction Support, определяющим правила участия объекта в транзакциях.

В Delphi 7 имеются два класса для создания приложений СОМ+ — TMtsAutoObject и TMtsDataModule. Оба класса предназначены для создания серверов автоматизации, реализующих интерфейс IОbjectControl. В отличие от класса TMtsAutoObject, класс TMtsDataModule представляет собой модуль данных, в который можно помещать невизуальные компоненты. Он реализует интерфейс IAppServer, позволяющий применять в приложениях СОМ+ DataSnap-компоненты. Оба эти класса реализуют ряд методов, характерных для объектов СОМ+.

· SetComplete — вызывается после того, как объект СОМ+ успешно выполнил свою работу и далее не нуждается в данных, связанных с обслуживаемым им клиентом. После вызова этого метода объект становится неактивным. Если объект выполняется в контексте транзакции, его вызов означает, что эта часть транзакции готова к завершению.

· SetAbort — вызывается в случае, если возникнет необходимость отката транзакции, в которой участвует данный объект. Если транзакция была запущена автоматически службами компонентов специально для этого объекта, она будет отменена, а объект уничтожен. Если же объект был частью «чужой» транзакции, ее результаты не будут сохранены. Обычно этот метод вызывается при обработке исключений в блоке except предложения try...except.

· EnableCommit — вызывается, если объект СОМ+ может сохранить результаты своей транзакции, не избавляясь от данных, связанных с клиентом. Он не инициирует уничтожения объекта. Его вызов означает, что транзакцию с участием этого объекта можно завершить.

· DisableCommit — вызывается, если объект не может сохранить результаты текущей транзакции до тех пор, пока не будет вызван метод EnableCommit или метод SetComplete.

· IsInTransaction — с помощью этого метода можно определить, выполняется ли данный объект внутри транзакции.

· IsCallerInRole — этот метод обладает входным параметром типа WideStrtng. С его помощью можно проверить, соответствует ли клиент роли, имя которой указано во входном параметре.

· IsSecuntyEnabled — этот метод позволяет проверить, защищен ли объект службами безопасности СОМ+.

<== предыдущая лекция | следующая лекция ==>
Управление транзакциями | Асинхронные компоненты (Queued Components)
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 358; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.