Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Уних (вопросы-ответы).doc
Скачиваний:
7
Добавлен:
23.04.2019
Размер:
394.75 Кб
Скачать

28. Технологии распределенных вычислений. Технология corba.

Распределённые вычисления (distributed computing, grid computing, volunteer computing) — способ решения трудоёмких вычислительных задач с использованием двух и более компьютеров объединённых в сеть. Распределённые вычисления являются типом параллельных вычислений. Последний термин применяется для обозначения одновременного решения различных частей одной вычислительной задачи несколькими процессорами одного компьютера. В то время как оба типа обработки требуют, чтобы задача была сегментирована - разделена на секции, которые могли бы вычисляться одновременно, распределенное вычисление также требует, чтобы при разделение вычислительной задачи было учтено различие окружающих сред, на которых будут вычисляться различные секции задачи.

CORBA

CORBA (сокр. от англ. Common Object Request Broker Architecture — общая архитектура брокера объектных запросов; по-русски чаще произносится как [ко́рба], иногда жарг. [ко́бра]) — это технологический стандарт написания распределённых приложений, продвигаемый консорциумом OMG. Задача CORBA — осуществить интеграцию изолированных систем, дать возможность программам, написанным на разных языках, работающим на разных узлах сети, взаимодействовать друг с другом так же просто, как если бы они находились в адресном пространстве одного процесса.

CORBA объединяет программный код в объект, содержащий информацию о функциональности объединяемого кода и интерфейсах доступа. Готовые объекты могут вызываться из других программ (или объектов CORBA), расположенных в сети.

CORBA использует язык описания интерфейсов (OMG IDL) для определения интерфейсов взаимодействия объектов с внешним миром. CORBA описывает правила отображения из IDL в язык, используемый разработчиком CORBA-объекта. Стандартизованы отображения для Ada, C, C++, Lisp, Smalltalk, Java, COBOL, PL/I и Python. Также существуют нестандартные отображения на языки Perl, Visual Basic, Ruby и Tcl, реализованные средствами ORB, написанных для этих языков.

Ключевые понятия технологии

Объекты по значению (ОПЗ)

Помимо удаленных объектов в CORBA 3.0 определено понятие ОПЗ. Код методов таких объектов по умолчанию выполняется локально. Если ОПЗ был получен с удаленной стороны, то необходимый код должен либо быть заранее известен обеим сторонам, либо быть динамически загружен. Чтобы это было возможно, запись, определяющая ОПЗ, содержит поле Code Base — список URL, откуда может быть загружен код. У ОПЗ могут также быть и удаленные методы.

У ОПЗ могут быть поля, которые передаются вместе с самим ОПЗ. Они также могут быть ОПЗ, формируя таким образом списки, деревья или произвольные графы. ОПЗ могут иметь иерархию классов, включая множественное наследование и абстрактные классы.

Компонентная модель CORBA (CCM)

Компонентная модель CORBA (CCM) —недавнее дополнение к семейству определений CORBA. CCM была введена начиная с CORBA 3.0 и описывает стандартный каркас приложения для компонент CORBA. CCM построено под сильным влиянием Enterprise JavaBeans (EJB) и фактически является его независимым от языка расширением. CCM предоставляет абстракцию сущностей, которые могут предоставлять и получать сервисы через четко определенные именованные интерфейсы, порты.

Модель CCM предоставляет контейнер компонентов, в котором могут поставляться программные компоненты. Контейнер предоставляет набор служб, которые может использовать компонент. Эти службы включают (но не ограничены) службу уведомления, авторизации, персистентности и управления транзакциями. Это наиболее часто используемые распределенным приложением службы. Перенося реализацию этих сервисов от необходимости реализации самим приложением в функциональность контейнера приложения, можно значительно снизить сложность реализации собственно компонентов.

Общий протокол межброкерного взаимодействия (GIOP)

GIOP - абстрактный протокол в стандарте CORBA, обеспечивающий интероперабельность брокеров. Стандарты, связанные с протоколом выпускает Object Management Group (OMG). Архитектура GIOP включает несколько конкретных протоколов:

Internet InterORB Protocol (IIOP) - Межброкерный протокол для Интернет, это протокол для организации взаимодействия между различными брокерами, опубликованный консорциумом OMG. IIOP используется GIOP в среде интернет, и обеспечивает отображение сообщений между GIOP и слоем TCP/IP.

SSL InterORB Protocol (SSLIOP) - это IIOP поверх SSL, поддерживаются шифрование и аутентификация.

HyperText InterORB Protocol (HTIOP) - это IIOP поверх HTTP.

Corba Location

CorbaLoc — это сокращение от Corba Location и является строковой ссылкой на объект CORBA и выглядит похоже на URL.

Все реализации CORBA должны поддерживать как минимум два варианта определенный OMG URL: corbaloc: и corbaname:. Их назначение в том, чтобы предоставить возможность человеку способ читать/править ссылку, посредством которой можно получить IOR.

Вот пример corbaloc:

corbaloc::160.45.110.41:38693/StandardNS/NameServer-POA/_root

Реализация CORBA может предоставлять поддержку форматов "http:", "ftp:" и "file:". Назначение этих форматов в том, чтобы указать способ, откуда взять строковое представление IOR.