Архитектура распределенных систем программного обеспечения. Учебное пособие издано при поддержке образовательной программы Формирование
Скачать 1 Mb.
|
Динамический выбор и динамическое обращение к службеОписанный выше механизм спецификации CORBA, призванный обеспечивать способность к взаимодействию, требует, чтобы клиент был статически привязан к интерфейсу. Однако модель RMI допускает динамическое обнаружение новых объектов и построение обращений к этим объектам в процессе работы, даже если для данного клиента не был создан никакой переходник. Эта возможность базируется на двух компонентах: репозитории интерфейсов и интерфейсе динамического обращения. Репозиторий интерфейсов хранит определения всех объектов, известных брокеру. Приложения могут использовать репозиторий для поиска, редактирования или удаления IDL-интерфейсов. Один брокер может иметь несколько репозиториев, и несколько брокеров могут иметь доступ к одному репозиторию. Единственное требование, поставленное в спецификации CORBA, заключается в том, что каждый брокер должен иметь хотя бы один репозиторий. Интерфейс динамического обращения дает доступ к операциям, которые могут использоваться клиентами для просмотра репозитория и динамического построения обращений к методам, базируясь на вновь обнаруженных интерфейсах. Возможность динамического построения обращений к методам на основе динамически обнаруженных интерфейсов решает только часть проблемы динамического обращения к службе. Он предполагает, что клиенты уже идентифицировали нужную им службу. Для того чтобы это стало возможным, в спецификации CORBA ссылки на сервисные объекты выдаются только службой именования и справочной службой. Служба именования позволяет извлекать ссылки на объекты, отталкиваясь от их имени, а справочная служба дает возможность клиентам искать службы, основываясь на их свойствах. Службы в свою очередь вносят сведения о своих свойствах в справочник. Используя справочную службу, клиенты могут искать не только объекты, реализующие тот или иной интерфейс, но также объекты, свойства которых имеют конкретные заданные значения. Мониторы объектовСвое название мониторы объектов получили от слияния брокеров объектов и транзакционных мониторов. Часть проблем, с которыми столкнулись брокеры объектов, и в частности, CORBA, была связана с тем, что единственным настоящим нововведением, которое они внесли, была ориентация на объекты, как способ стандартизации интерфейсов различных систем и языков программирования. Спецификацию CORBA предполагалось проводить поверх традиционных систем. Многие службы CORBA были лишь специфицированы, и потребовалось много времени прежде, чем они были реализованы в коммерческих продуктах. Поскольку первые доступные коммерческие продукты обычно были реализованы вручную, то при сравнении с уже существовавшими системными платформами брокеры объектов оказывались чрезвычайно неэффективными, в них недоставало важной функциональности, например, возможностей работы с транзакциями. Выходом оказалось использование транзакционных мониторов и других систем с промежуточными слоями, делавших их объектно- ориентированными (иногда совместимыми с CORBA). При использовании в подобном процессе транзакционных мониторов стали появляться мониторы объектов. Распределенная обработка информации на основе обмена сообщениямиСистемная поддержка на основе обмена сообщениямиТермин "на основе обмена сообщениями", относится к виду взаимодействия, при котором клиенты и поставщики служб взаимодействуют, обмениваясь структурированными наборами данных – сообщениями. Тип сообщения обычно определяется конкретной используемой системой, в настоящее время большинство систем используют типы языка XML. Базирование системного программного обеспечения на основе обмена сообщениями – это прямое развитие идей систем очередей, заложенных в транзакционные мониторы. В последнее время системы на основе обмена сообщениями стали рассматриваться как наилучший выбор при реализации сетевых служб. Системы очередей сообщений создают расширенную поддержку асинхронной сохранной связи. Смысл этих систем заключается в том, что они предоставляют возможность промежуточного хранения сообщений, не требуя активности во время передачи ни от отправителя, ни от получателя. Их существенное отличие от поддержки транспортного уровня состоит в том, что системы очередей сообщений обычно предназначены для поддержки обмена сообщениями, занимающего минуты, а не секунды или миллисекунды. |