Скачиваний:
21
Добавлен:
01.05.2014
Размер:
233.47 Кб
Скачать

Методы EnableCommit и DisableCommit сообщают о текущем состоянии объекта. Метод EnableCommit сообщает, что объект позволяет завершить транзакцию, хотя его функционирование еще не завершено.

Роль контекста объекта COM+

COM+

22

Вызов метода DisableCommit показывает, что в настоящий момент текущее состояние объекта не позволяет завершить транзакцию. При попытке завершить транзакцию после вызова этого метода, транзакция будет прервана.

При помощи перечисленных методов объект контекста обеспечивает среду COM+ информацией о состоянии объекта транзакции.

COM+

23

Безопасность данных

Одним из удобных сервисов, предоставляемых COM+, является реализация возможности обеспечить доступ к компонентам (и даже к отдельным интерфейсам) в зависимости от прав, которыми обладает клиент. Безопасность COM+ состоит из двух частей:

декларативная защита данных;

программная защита данных.

COM+

24

Вобоих случаях для обеспечения безопасности среда COM+ использует роли, которые являются абстрактным представлением некоторой совокупности пользователей. Это могут быть отдельные пользователи или группы пользователей. При помощи приложения MTS Explorer администратор создает необходимые роли и заносит в них пользователей и группы. Каждая роль наделяется необходимыми правами. При этом для аутентификации можно использовать механизм аутентификации Windows.

COM+

25

Декларативная защита данных

Декларативная защита данных создается на этапе настройки среды COM+ и выполняется средствами утилиты MTS Explorer. Она заключается в ограничении доступа к тому или иному объекту или пакету для пользователей и групп, являющихся членами тех или иных ролей.

По умолчанию в среде COM+ настроен пакет System Package, для которого предопределены две роли: администратора (Administrator) и читателя (Reader). Перед началом работы необходимо связать роль администратора с хотя бы одной учетной записью.

COM+

26

Программная защита данных

Программная защита данных обеспечивается объектом контекста (см. выше) и методами IsSecurityEnabled и IsCallerInRole интерфейса IobjectContext этого объекта. Программная защита данных проектируется на этапе разработки приложения и исполняется при функционировании приложения, использующего данный объект COM+

COM+

27

Когда приложение пытается использовать некоторый объект COM+, необходимо применить метод IsCallerInRole. В качестве параметра метода передается роль, исполняемая приложением. Если объект или пакет COM+ разрешен для роли, его использование разрешается и метод возвращает значение True.

Если же несколько объектов MTS используются в рамках одного процесса, метод IsCallerInRole возвращает True всегда. В этом случае для более точной идентификации применяется метод IsSecurityEnabled.

COM+

28

Ресурсы

Для управления ресурсами MTS использует три способа:

активизация Just-in-time;

пулинг ресурсов (Resource pooling);

пулинг объектов (Object pooling).

COM+

29

Активизация Just-in-time

Способность объекта быть деактивированным и повторно активированным, пока клиент сохраняет ссылку на него, называется активизацией Just-in-time.

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

COM+

30

Когда создается объект как часть среды COM+, также создается соответствующий контекст объекта. Этот контекст объекта существует в течение всего времени жизни соответствующего объекта COM+, через один или несколько циклов. COM+ использует контекст объекта для сохранения информации о нем при деактивизации.

Объект создается в неактивном состоянии и становится активным только после запроса клиента.

Когда объект становится неактивным, среда уничтожает все ресурсы объекта, в том числе, например, соединение к базе данных.

COM+

31

Объект COM+ становится неактивным при возникновении следующих событий:

1.Вызов методов SetComplete или SetAbort интерфейса IobjectContext. Если объект вызывает метод SetComplete, когда он успешно завершил свою работу и нет необходимости сохранять внутреннее состояние объекта для следующего вызова клиента. Если объект вызывает SetAbort, указывая на невозможность успешного завершения своей работы и отсутствие необходимости сохранения состояния объекта. После чего объект возвращается в состояние предшествующее этой транзакции. При нормальной реализации stateless-объекта деактивизация происходит после вызова каждого метода.

COM+

32

Соседние файлы в предмете Проектирование распределенных информационных систем