- •Выбор типа объекта зависит от конкретной задачи и назначения объекта. Подобно любому объекту
- •Сохранение состояния объекта требует, чтобы тот оставался активным и сохранял такие ценные ресурсы
- •Если объект не может сохранять свое промежуточное состояние, то он относится к типу
- •Транзакции
- ••Клиенты могут использовать прямой контроль над транзакциями с помощью контекста объекта, используя интерфейс
- •Атрибуты транзакций можно устанавливать тремя способами:
- •Завершение транзакции по умолчанию происходит через время, указанное в параметре transaction timeout, который
- •Два метода интерфейса определяют способ выхода объекта из транзакции.
- •Методы EnableCommit и DisableCommit сообщают о текущем состоянии объекта. Метод EnableCommit сообщает, что
- •Вызов метода DisableCommit показывает, что в настоящий момент текущее состояние объекта не позволяет
- •Безопасность данных
- •Декларативная защита данных
- •Программная защита данных
- •Ресурсы
- •Активизация Just-in-time
- •2.Транзакция сохраняется либо прерывается. Затем объект также деактивизируется. Среди этих объектов могут продолжить
- •Пулинг ресурсов
- •Освобождение ресурсов
- •Пулинг объектов
Методы 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 |
