Продолжается подписка на наши издания! Вы не забыли подписаться?

CORBA 3

Александр Цимбал

Возможно, имеет смысл начать с краткого рассказа о том, что же такое CORBA 3.

Как и для многих других технологий, изменение главного номера версии CORBA (в данном случае – с «2» на «3») означает внесение каких-либо фундаментальных изменений. CORBA 3 отличается от CORBA 2, в первую очередь, поддержкой компонентной модели – CORBA Component Model, CCM. При этом надо иметь в виду, что это отнюдь не единственное важное изменение. Некоторая путаница возникла из-за того, что в начале 2000-х годов OMG несколько изменила процедуру принятия спецификаций, что привело к «переносу» некоторых спецификаций из версии 3 в версии 2.4, 2.5 и 2.6.

Основные изменения и новшества, появившиеся в третьей версии CORBA, таковы:

В целом, с понятием CORBA 3 связано примерно 10 новых спецификаций, но, по большому счету, CORBA 3 – это CORBA с компонентной моделью.

В данной статье мы кратко рассмотрим некоторые из упомянутых основных нововведений (кроме CCM – ей посвящена отдельная статья).

Устойчивость к сбоям
(Fault Tolerant CORBA)

Поскольку CORBA с самого начала позиционировалась как универсальная технология создания сложных распределенных систем, проблеме обеспечения надежности и устойчивости этих систем всегда уделялось первоочередное внимание. Выбор тех или иных решений всегда зависел от того, насколько они позволяют повысить надежность создаваемых приложений. Кроме того, в инициативном порядке отдельными компаниями, создающими реализации CORBA, принимались различные меры по обеспечению устойчивости к сбоям. Например, такого рода средства были включены в реализации компании Borland – некоторые проблемы обеспечения устойчивости к сбоям решались за счет smart agent’ов и кластеров Interoperable Naming Service. Но, конечно, этого было явно недостаточно. Переносимый и универсальный ответ на вопрос об устойчивости и надежности CORBA-систем должна дать спецификация Fault Tolerant (FT) CORBA.

Обеспечение устойчивости систем базируется на трех «китах»:

Для обеспечения устойчивости к сбоям могут быть использованы различные подходы, такие, как повторение запросов, перенаправление запросов другим объектам (возможно, на других серверах), использование репликации и пр. Спецификация FT основана на предоставлении программисту возможности задания специальных свойств реплицируемым объектам или их группам. Репликация объектов, обнаружение сбоев и восстановление после них может выполняться в некотором смысле «вручную» (это делает само приложение), или же автоматически, с использованием соответствующей инфраструктуры (Fault Tolerance Infrastructure). Наконец, предусматривается возможность прозрачного взаимодействия с CORBA-приложениями, которые были написаны ранее, и не используют данные возможности (для чего в ORB должны быть внесены небольшие изменения).

Спецификация FT вводит следующие понятия и концепции:

Основными элементами инфраструктуры обеспечения устойчивости к сбоям являются Менеджеры Репликаций (Replication Manager), Уведомитель о сбоях (Fault Notifier), Детектор Сбоев (Fault Detector). Естественно, все они представляют собой CORBA-объекты. Логически, в одном домене присутствует один Менеджер Репликаций и Уведомитель о Сбоях, но их самих также можно реплицировать для повышения надежности. Общая схема может выглядеть следующим образом (это не более чем один из возможных вариантов):

Рисунок 1.

Давайте очень кратко рассмотрим основные интерфейсы спецификации FT CORBA...

Прочитать статью полностью вы можете в печатной версии журнала

Copyright © 1994-2016 ООО "К-Пресс"