Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UMK_konspekt_TP_4_a4_2.doc
Скачиваний:
16
Добавлен:
29.09.2019
Размер:
1.57 Mб
Скачать

32.3. Технология corba

CORBA – это аббревиатура от Common Object Request Broker Architecture (стандартная архитектура брокера объектных запросов), обозначающая открытую, независимую от поставщика архитектуру и инфраструктуру, позволяющую использовать различные приложения для совместной работы в сетях.

Стандарт CORBA (как и стандарт UML) разработан группой Object Management Guide (OMG) – сообществом ведущих фирм производителей программного обеспечения таких, как Digital Equipment Corporation, Hewlett-Packard Company, HyperDesc Corporation и др.

Архитектура CORBA основана на трех ключевых блоках:

  1. OMG Interface Definition Language (IDL) – язык описания интерфейсов.

  2. Object Request Broker (ORB) – брокер объектных запросов.

  3. Internet Inter-ORB Protocol (IIOP) – стандартный протокол обмена данными для CORBA, реализованный на базе TCP/IP.

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

При помощи языка IDL для каждого типа объекта жестко описывается его интерфейс. Тем самым фиксируется набор операций, выполняемых объектом и набор параметров.

Описание интерфейса можно отобразить в описание на одном из популярных языков программирования. В настоящее время разработаны стандарты отображения для C, C++, Java, COBOL, Smalltalk, Ada, Lisp, Python, IDLscript.

Реализация объекта (его исполняемый код и данные) инкапсулируется за границей описанного интерфейса.

Технология работы CORBA-приложения заключается в следующем.

  1. Формируется «заглушка» (Stub), которая представляет собой откомпилированное IDL-описание интерфейса клиентской части.

  2. Формируется «скелет» (Skeleton) - откомпилированное IDL-описание интерфейса серверного объекта.

  3. Выполняется реализация серверного объекта (Object Implementation) и клиентской части к нему (Client).

  4. Для каждого экземпляра CORBA-объекта формируется своя уникальная объектная ссылка.

  5. Клиент, применяя объектную ссылку, передает ORB данные о том, какой именно экземпляр объекта должен быть задействован. При этом клиент действует так, как будто оперирует напрямую с экземпляром объекта, однако в действительности происходит обращение к методам заглушки, которая затем и передает через ORB запрос на выполнение и код скелета серверного объекта.

Для описываемой схемы взаимодействия частей приложения характерны следующие черты:

  1. Клиент с самого начала знает о типе исполняемого объекта, поскольку как клиентская заглушка, так и скелет серверного объекта, генерируются из одного и того же IDL-описания.

  2. ORB клиента и ORB серверного объекта базируются на общем протоколе IIOP.

32.4. Технология Java

Технология Java – это распределенная объектно-ориен-тированная платформа для разработки приложений, предназначенных для работы в среде Web.

По замыслу создателей этой технологии отводилась роль сетевого эсперанто:

  • базовый язык данной технологии – Java максимально независим от используемой платформы;

  • Java разрабатывался с ориентацией на сетевые применения.

Подобная роль «универсального языка сети» предполагает разработку программного обеспечения на основе рассматриваемой технологии с потенциальным запасом «морального нестарения», что в свою очередь, подразумевает долговременное сопровождение разрабатываемых продуктов.

Разработка на языке Java имеет ряд особенностей, особое место среди которых занимают семантические компромиссы: императивная минимальность заимствована из языка Pascal, а существующая поддержка многопоточных вычислений указывает на преемственность с языком C++.

С одной стороны – основной принцип разработки программ по технологии Java – это безопасность, которая обеспечивается следующими характеристиками:

  • современный язык программирования;

  • синтаксис по типу языка C++, без указателей;

  • виртуальная машина и независимость от платформы;

  • поддержка библиотек потоков и сетевой среды;

  • поддержка аплетов (клиентских приложений);

  • расширенные прикладные интерфейсы типа 3D, MEDIA, Beans, Swing.

С другой стороны разработка систем на основе технологии Java – это создание несложных аплетов и мощных серверов. При этом вследствие низкой эффективности выполнения программ на языке Java (обратная сторона подхода с использованием виртуальной машины) и длительной загрузки аплетов по сети, язык Java представляется слишком слабым средством для программирования серверов и избыточно сильным – для не отличающихся особой сложностью клиентов.

В целом компонентная технология на основе языка Java представляет собой противоречивую, но перспективную платформу, для которой существует множество прикладных программных интерфейсов для разработки программ в прикладных областях.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]