Служба событий (или служба уведомлений) рассылает уведомления о событиях в системе объектам системы. Уведомлением называется сообщение, которое объект посылает объектам для информирования о наступлении события. Поставщики поставляют события, а получатели обрабатывают их с помощью обработчиков. В push-модели активной стороной является поставщик событий, а получатели заранее регистрируются в канале событий для указания интереса к событиям данного типа. Получатель может отсоединиться от канала и прекратить прием событий. В pull-модели получатель сам запрашивает у поставщика данные о событии через обращение к методам канала, а регистрацию проходят поставщики. Получатель может организовать опрос объектов о наличии событий, а поставщики могут отсоединяться от канала, прекращая поступление к себе мешающих им запросов. Канал событий поддерживает обе модели, что позволяет множеству поставщиков взаимодействовать с множеством получателей асинхронно и без каких-либо дополнительных сведений друг о друге.
Служба сохранности объектов обеспечивает механизм сохранения состояний объектов как в реляционных, так и в объектных базах данных. Для одноуровневых хранилищ (объектных СУБД) клиент не должен знать, где находится объект – в памяти или на диске. Объекты в двухуровневых хранилищах (реляционных СУБД) различаются по месту их размещения. Клиент может пользоваться возможностями автоматического управления сохранностью данных или управлять сохранностью самостоятельно. Служба не нарушает принцип инкапсуляции, но позволяет увидеть некоторые детали, то есть определить, когда объект сохранен, а когда – восстановлен.
Служба экстернализации строит образы объектов, взаимодействующих со стандартными потоками ввода-вывода, что позволяет обрабатывать объекты другими системами, не связанными с брокерами объектов.
Служба объектных транзакций OTS (Object Transaction Service) взаимодействует непосредственно с самим брокером. Совместная задача брокера и OTS – автоматическое обеспечение единой среды для работы всех существенных компонентов системы. Подробнее вопросы транзакционного взаимодействия рассмотрены далее в разделе 2.3.
Служба безопасности работает с полным соблюдением правил прозрачности: все действия выполняются автоматически. Реально со службой взаимодействует только администратор. Служба безопасности решает проблемы идентификации пользователей, определения прав доступа к объектам, управления режимами делегирования полномочий в цепочках последовательных вызовов объектами друг друга, проведения аудита, защиты информации при передачах, ведения достоверной истории взаимодействия объектов.
При обеспечении безопасности в системах CORBA приходится учитывать дополнительные сложности, связанные с распределенной природой защищаемых объектов. Объекты могут быть одновременно и клиентами, и серверами. Распределенные объекты меняются со временем. Реализации объектов, а также связи между объектами строятся в процессе работы программы. Многие аспекты взаимодействия распределенных объектов скрыты из-за инкапсуляции. Гибкость объектно-ориентированной модели создает для безопасности особые трудности. Объекты полиморфны, при этом легко заменить один объект другим, имеющим такой же интерфейс. Распределенные объекты способны к беспредельному росту. Сами распределенные системы постоянно изменяются.
Служба времени предназначена для синхронизации часов вычислительных машин, на которых функционируют части системы. Основной частью службы является использование универсального времени, которое на практике проводится очень часто. С помощью службы времени можно получить текущее время с оценкой ошибки измерения, определить порядок, в котором происходят события, возбуждать события, привязанные к определенным моментам времени, вычислять интервалы времени между двумя событиями.
Служба коллекций нужна для создания групп объектов и управления этими группами. Служба вводит несколько видов стандартных коллекций – множества, наборы, последовательности и другие. На их базе определены более сложные интерфейсы – очередь, двусторонняя очередь, очередь с приоритетом, стек, список, массив, дерево. Для каждого вида коллекции объектов определен свой интерфейс создания коллекции и свои средства организации перебора элементов коллекции. В коллекции можно добавлять элементы, менять их на другие элементы, извлекать элементы, удалять элементы из коллекций. Коллекции могут иметь свойства упорядоченности элементов, доступа по ключу, сравнимости и уникальности элементов.
Do'stlaringiz bilan baham: |