![](/stc/img/evkova.png)
Технология CORBA (Понятие и назначение CORBA)
Содержание:
Введение
Ядро CORBA брокер (посредник) объектных запросов (ORB). Это что-то вроде магистрали для объектов. Основная задача ORB оказывать посреднические услуги при обмене запросами между объектами. Хотя ORB "обитает" в среде клиент -сервер, объекты, с которыми он работает, выполняют функции либо клиентов, либо серверов, в зависимости от обстоятельств. Если объект принимает и обрабатывает запрос, то он играет роль сервера. Если он отправляет запрос, то выступает в роли клиента.
Основная задача ORB прием и отправка запросов, а также передача результатов, в том числе перехват каждого запроса одного объекта другому; определение местонахождения объекта, который, предположительно, обработает запрос; запуск соответствующего метода принимающего объекта; при необходимости передача параметров и передача результатов объекту, инициировавшему запрос.
Поскольку ORB обрабатывает запросы "прозрачно", неважно, от какого объекта локального или удаленного поступил запрос. При обработке этих запросов для ORB не имеет значения ни язык программирования, ни операционная система или платформа. Механизм, обеспечивающий "прозрачность" обработки запросов, называется языком определения интерфейса (Interface Definition Language, IDL).
Этот язык применяется для объявления границ и интерфейсов объекта. Во многом подобно независимому арбитру, IDL нейтрален и не зависит от объектов и ORB, тем не менее он связывает поставщиков служб распределенных объектов с их клиентами.
Всякому, кто знаком с DCOM, наверное, известно, что в модели DCOM используется IDL. Но IDL DCOM несовместим с CORBA и работает иначе, чем IDL CORBA. В CORBA предусматривается множественное наследование, а ее IDL-средствам наследование необходимо для инкапсуляции объектов.
Это существенно облегчает многократное использование блоков программ. В DCOM механизм множественного наследования не реализован. Поэтому вы должны подготовить и объединить все интерфейсы, прежде чем к ним обратится клиент. Язык IDL хорош тем, что позволяет кратко описать API, сохранив при этом свободу определить методы на любом языке программирования, который обеспечивает связывание с CORBA. К таким языкам относятся Ада, Кобол, Си, Си++, Smalltalk и Java.
У некоторых поставщиков имеются собственные средства согласования с CORBA для Visual Basic и Фортрана. Как известно любому человеку, имевшему дело с объектно-ориентированным программированием, для составления запроса необходимы сведения об интерфейсе принимающего объекта, а объекты должны быть разработаны так, чтобы они могли получать информацию об интерфейсах тех объектов, с которыми они будут взаимодействовать.
Целью данной курсовой работы является определение назначения CORBA, изучение технологий CORBA и ее объектно-ориентированных компонентов.
Для реализации поставленной цели необходимо выполнить ряд задач:
- - Изучить объекты по значению;
- - Рассмотреть общий протокол межброкерного взаимодействия (GIOP);
- - Изучить сетевую и объектную модель CORBА;
- - Рассмотреть объект CORBA и жизненный цикл серванта и т.д.
При написании данной работы были использованы современные научные и учебные источники.
Глава 1 Понятие и назначение CORBA
1.1 Объекты по значению
Технология CORBA создана для поддержки разработки и развёртывания сложных объектно-ориентированных прикладных систем. CORBA является механизмом в программном обеспечении для осуществления интеграции изолированных систем, который даёт возможность программам, написанным на разных языках программирования, работающих в разных узлах сети, взаимодействовать друг с другом так же просто, как если бы они находились в адресном пространстве одного процесса.[1]
Спецификация CORBA предписывает объединение программного кода в объект, который должен содержать информацию о функциональности кода и интерфейсах доступа. Готовые объекты могут вызываться из других программ (или объектов спецификации CORBA), расположенных в сети.
Спецификация CORBA использует язык описания интерфейсов (OMG IDL) для определения интерфейсов взаимодействия объектов с внешним миром, она описывает правила отображения из IDL в язык, используемый разработчиком CORBA-объекта.
Стандартизованы отображения для Ада, Си, C++, Lisp, Smalltalk, Java, Кобол, ObjectPascal, ПЛ/1 и Python.
Также существуют нестандартные отображения на языки Perl, Visual Basic, Ruby и Tcl, реализованные средствами ORB, написанными для этих языков.
Помимо удалённых объектов в CORBA 3.0 определено понятие объект по значению. Код методов таких объектов по умолчанию выполняется локально. Если объект по значению был получен с удалённой стороны, то необходимый код должен либо быть заранее известен обеим сторонам, либо быть динамически загружен. Чтобы это было возможно, запись, определяющая такой объект, содержит еще поле Code он Base — список он URL, откуда он может быть он загружен код.
У объекта по еще значению могут еще также быть и еще удалённые методы, еще поля, которые еще передаются вместе с он самим объектом. Поля, в свою еще очередь также еще могут быть еще такими объектами, он формируя таким еще образом списки, он деревья или еще произвольные графы. Объекты по еще значению могут он иметь иерархию он классов, включая он абстрактные и множественное еще наследование.
1.2 Компонентная модель CORBA (CCM)
Компонентная модель он CORBA (CCM) — он недавнее дополнение к он семейству определений он CORBA.[2]
CCM была он введена начиная с он CORBA 3.0 и описывает стандартный он каркас приложения он для компонент он CORBA. CCM построено еще под сильным он влиянием Enterprise Java Beans (еще EJB) и фактически он является его еще независимым от он языка расширением. CCM предоставляет он абстракцию сущностей, еще которые могут он предоставлять и получать еще сервисы через он чётко определённые еще именованные интерфейсы, он порты. Модель CCM еще предоставляет контейнер он компонентов, в котором он могут поставляться он программные компоненты.
Контейнер предоставляет еще набор служб, еще которые может он использовать компонент. Эти службы он включают (но он не ограничены) еще службу уведомления, он авторизации, персистентности и он управления транзакциями.
Это наиболее он часто используемые еще распределённым приложением он службы. Перенося реализацию он этих сервисов он от необходимости еще реализации самим он приложением в функциональность он контейнера приложения, еще можно значительно еще снизить сложность он реализации собственно он компонентов.
1.3 Общий протокол межброкерного взаимодействия (GIOP)
GIOP (GeneralInter-еще ORB Protocol) — еще абстрактный протокол в еще стандарте CORBA, еще обеспечивающий интероперабельность он брокеров. Стандарты, связанные с еще протоколом выпускает еще Object Management еще Group (OMG). он Архитектура GIOP еще включает несколько он конкретных протоколов:
он Internet Inter он ORBP protocol (он IIOP) (Межброкерный еще протокол для он Интернет) — протокол он для организации он взаимодействия между он различными брокерами, еще опубликованный консорциумом еще OMG. IIOP используется еще GIOP в среде еще интернет, и обеспечивает он отображение сообщений еще между GIOP и он слоем TCP/IP.
SSL InterORBProtocol (он SSLIOP) — IIOP еще поверх SSL, еще поддерживаются шифрование и еще аутентификация.
Hyper Text он Inter ORB он Protocol (HTIOP) — он IIOP поверх еще HTTP.
Corba Loc (еще англ. Corba Location) — он является строковой он ссылкой на еще объект технологии он CORBA, подобной он URL. Borland Enterprise еще Server, Visi еще Broker Ed. — CORBA 2.6-совместимый коммерческий еще ORB от он Borland, поддерживает он Java и C++.
- MICO — он свободный (LGPL) он ORB с поддержкой C++.
- он omni ORB — еще свободный (LGPL) он ORB для C++ и еще Python.
- ORBit2 — свободный (он LGPL) ORB еще для C, C++ и Python.
- Jac ORB — он свободный (LGPL) еще ORB, написан еще на Java.
- Orbacus — еще коммерческий ORB еще для C++, Java еще от IONA еще Technologies.
CORBA (CommonObjectRequestBrokerArchitecture) – еще Общая Архитектура он Брокера Объектных он Запросов - это еще стандарт, набор он спецификаций для он промежуточного программного еще обеспечения (ППО, еще middleware) объектного еще типа. Задача ППО, он как известно, еще заключается в связывании еще программных приложений еще для обмена он данными.
CORBA программирование еще распределенных систем еще Уильям Р. Станек Подготовка он прикладных программ, он объекты которых еще составлены на он разных языках и он взаимодействуют между еще собой на он самых разных он ОС и платформах.
Взрывообразный рост еще Интернета и Web он стал причиной он появления технологий, в он корне меняющих он существующие способы еще применения компьютеров. Наиболее серьезные он изменения происходят в еще объектно-ориентированной он технологии, которой он провидцы отводят он новую роль в еще системах распределенной он обработки.
Вместо традиционных он вычислительных сетей еще архитектуры клиентсервер он новая эра он распределенной обработки он влечет за он собой переход к он системам масштаба еще предприятия с объектами, он которые распределены еще между множеством еще компьютеров, способных он обмениваться информацией он независимо от он операционной системы, еще платформы или он языка программирования. Еще удивительнее то, еще что эти он распределенные объекты еще могут быть он компонентами либо еще одной программы, он либо десятков он программ, образующих еще систему, предназначенную он для предприятия.
Назовем технологии, еще позволяющие осуществлять еще распределенную обработку в он гетерогенных системах: он это архитектура еще брокера общих еще объектных запросов (еще CommonObjectRequestBrokerArchitecture, CORBA) и еще протокол InternetInter-еще ORB Protocol (он IIOP). CORBA еще полностью определяет еще архитектуру, необходимую еще для обмена еще информацией между он распределенными объектами.
К числу ее он спецификаций относятся еще IIOP и множество он других технологий. IIOP самый он важный компонент еще CORBA, потому он что его он основная функция он организация взаимодействия еще распределенных объектов в он гетерогенной среде. Вместе CORBA и еще IIOP характеризуют еще многообразие средств он промежуточного уровня, еще которые станут он стимулом для он пересмотра подходов к еще созданию прикладных он программ в сетевых он средах разработчиками еще всего мира.[3]
CORBA не еще исключительный варианты еще решения, обеспечивающего еще распределенную обработку. Существует и конкурирующая еще архитектура, разработанная он корпорацией Microsoft, еще объектная модель еще распределенной обработки (еще DistributedComputingObjectModel, DCOM), в он основном представленная он брокером объектных он запросов (ObjectRequestBroker, еще ORB), который еще входит в состав еще Windows NT 4.0 и будет включен в он следующую редакцию он Windows.
CORBA детище еще консорциума ObjectManagementGroup (еще OMG), в составе он которого более 700 еще компаний из еще самых различных он отраслей промышленности. Цель этой еще организации состоит в еще том, чтобы он определять базовые он структуры для он разработки приложений с еще использованием объектно-он ориентированных методов. OMG выпускает еще спецификации, позволяющие еще стандартизировать обработку еще распределенных объектов, а он не прикладные он программы, и такая он ориентация на он разработку идей, а еще не программ еще принесла группе он большой успех.Самый удачный он результат деятельности еще OMG впервые он реализованная в 1991 г. CORBA. CORBA описывает он стандартную архитектуру еще для обмена он информацией между еще распределенными объектами, он благодаря которой еще компоненты прикладных еще программ могут еще связываться друг с он другом, независимо еще от их он местоположения в вычислительной еще сети.
Более того, он поскольку CORBA еще определяет стандартный он интерфейс между еще объектами, операционная он система, в которой еще работает объект, и он язык, на еще котором он он составлен, не он имеют значения. Если объект он удовлетворяет требованиям еще CORBA, он он способен обмениваться он информацией с другими он распределенными объектами.Появившийся в декабре 1994 г. как составная он часть спецификации еще CORBA 2.0 протокол IIOP он еще одна еще удача OMG.
До того, он как был еще подготовлен протокол он IIOP, спецификация он CORBA определяла еще способ взаимодействия еще только для еще распределенных объектов, он созданных одним еще производителем. При подготовке он объектов приходилось еще рассчитывать лишь еще на конкретную еще реализацию архитектуры. Благодаря IIOP еще вторая спецификация еще CORBA стала еще окончательным решением еще для взаимодействия еще объектов, которое он не привязано он ни к какой он конкретной платформе еще или реализации.[4]
С применением CORBA он вы создадите он системы масштаба еще предприятия (корпоративные он системы), в которых он объекты распределены он по вычислительной еще сети. В корпоративных системах он основные объекты он для обслуживания он файлов, необходимые он прикладной программе, он могут храниться еще на сервере еще Windows NT. Эти объекты он вы составите, он например, на он языке Си++.
На еще большом компьютере еще можно разместить еще первичные функции он ядра системы он скажем, используя еще объекты, запрограммированные еще на языке он Кобол. Любой настольный он компьютер, работающий еще под управлением еще Windows 95, пригоден он для хранения он внешних интерфейсов, он использующих объекты, еще созданные средствами он VisualBasic. И все эти он объекты могут еще обмениваться информацией, а еще посредником при еще передаче запросов еще служит CORBA.
Фирмы Netscape еще Communications Corp. и SunMicrosystems избрали он CORBA и IIOP в он качестве основы он для следующего еще поколения своих еще программ. Sun применяет он CORBA и IIOP он для реализации еще гетерогенных вызовов он удаленных процедур в еще языке программирования еще Java 1.1, причем без еще этих технологий в он копоративных сетях он не было он бы платформы он Java (JavaPlatform). еще Более того, в еще API EnterpriseJavaBeans еще будут применяться еще CORBA и IIOP, еще чтобы обеспечить еще возможность создания он масштабируемых прикладных он программ для он деловой сферы (еще бизнес-приложения) с он многократно используемыми он серверными компонентами.Дляогранизации вызовов еще удаленных процедур в еще языке Java он пригодна и технология еще DCOM.
Необходимые для еще этого специальные он программные процедуры еще имеются в Visual J++. еще Но модель еще DCOM рассчитана он только на он платформы Windows еще NT 4.0 и Windows 95 (с помощью еще расширений InternetExplorer), т. е. DCOM не еще годится для он обмена информацией с еще другими операционными еще системами. Microsoft сообщает, еще что в будущем он технология DCOM он будет перенесена еще на другие он платформы.
По протоколу он IIOP осуществляется он взаимодействие открытой еще сетевой среды (еще OpenNetworkEnvironment, ONE) еще фирмы Netscape с еще корпоративными системами. Кроме того, с он помощью IIOP он программисты могут еще подключать программы, еще подготовленные на еще языках Java, он JavaScript и Си он или Си++, к системам еще масштаба предприятия.
В программе NetscapeNavigator он протокол IIOP еще реализуется в рамках еще механизма LiveConnect и еще предназначен для еще обмена информацией еще между апплетами, он внешними модулями и он сценариями.
1.4 Сетевая и объектная модель CORBА
Интероперабельность брокеров он поддерживается Универсальным еще Межброкерным Протоколом (еще General Inter-он ORB Protocol, еще сокращенно GIOP). он GIOP является он универсальным, поскольку еще он не еще зависит от он конкретной сетевой он транспортной среды и еще может быть еще отображен в любой он транспортный протокол, еще поддерживающий виртуальные он соединения. Одно из еще таких отображений - он отображение GIOP в он протокол TCP/еще IP - определено еще CORBA 2.0 в качестве Межброкерного он Протокола Internet (еще Internet Inter-еще ORB Protocol, еще сокращенно IIOP). он Назначение протокола еще GIOP/IIOP он заключается в том, еще чтобы поддержать он сети брокеров в еще рамках Internet и он за ее еще пределами.[5]
Согласно GIOP, еще внутренняя архитектура еще брокеров предполагается он неизвестной. Подход, который еще может быть еще выбран конкретным он брокером для он поддержки GIOP/он IIOP, не он определяется. Все, что еще требуется для еще согласованного включения еще брокера в компьютерную еще сеть, - это он существование связанных с еще ним компонентов, еще способных посылать и еще принимать сообщения он IIOP.
Спецификация GIOP еще включает:
- определение он Общего представления еще данных (Common еще Data Representation - он CDR), являющегося, еще по существу, он коммуникационным синтаксисом, он отображающим значения он типов данных он OMG IDL в еще формат передачи еще данных между он брокерами и межброкерными он мостами (агентами);
- он форматы передаваемых еще между агентами он сообщений GIOP, еще которые введены еще для поддержки он объектных заявок, он установления местоположения еще реализаций объектов и он управления транспортными он соединениями;
- определение еще ограничений на он допустимый сетевой он транспорт GIOP.
Протокол IIOP, еще который можно он считать специализацией он GIOP, определяет еще дополнительно, как он агенты открывают он соединения TCP/он IP и используют он их для еще передачи сообщений еще GIOP. GIOP трактует еще транспортное соединение еще как асимметричное. Определяются две он различных роли еще использования соединения: он роль клиента и он роль сервера. Клиент образует еще соединение и посылает он объектные заявки, он сервер принимает еще заявки и посылает еще ответы. Сервер не еще может посылать еще объектных заявок. Соединение может он использоваться совместно он многочисленными клиентами в еще одном брокере он для посылки еще независимых заявок еще различным объектам в он определенном брокере еще или сервере. Допускается асинхронная еще посылка заявок еще при их еще произвольном чередовании в он соединении.
В передаваемых сообщениях он допускается произвольный еще порядок байтов (еще зависящий от он архитектуры процессора), еще устанавливаемый отправителем он сообщения. Получатель сообщения он должен изменить еще этот порядок еще нужным для он себя образом. Установлены выравнивания еще значений базовых еще типов IDL (еще char, octet, он short, unsigned еще short, long, он unsigned long, еще float, double, он boolean, enum) еще по границе еще естественных для он них полей. Установлено кодирование еще конструируемых типов он IDL (struct, он union, array, еще sequence, string), еще не накладывающее он дополнительных требований еще выравнивания по он отношению к тем, он которые установлены еще для базовых он типов.
Объектная модель еще OMG определяет он общую объектную еще семантику для он спецификации базовых он характеристик объектов еще стандартным, независимым еще от реализации еще образом.
Объектная модель еще OMG определяется в он виде объектной еще модели - ядра (еще Core Object еще Model - COM) и он совокупности расширений. Объектная модель - еще ядро - специфицирует еще некоторый набор еще базовых понятий. Примерами понятий еще COM являются еще объекты, операции, он типы, отношение еще тип/подтип, еще наследование, интерфейс еще типа. Каждое расширение еще вводит дополнительный он набор понятий. Расширяться может он либо COM, еще либо уже он существующие и согласованные еще расширения. При этом еще вводится понятие он профиля, как еще некоторой комбинации он COM, и одного еще или нескольких он расширений, вместе еще поддерживающих определенную он целевую архитектуру.
Объектная модель он CORBA определяет он взаимодействие между еще клиентами и серверами. Клиенты - это еще приложения, которые он запрашивают сервисы, он предоставляемые серверами. Объекты-серверы он содержат набор еще сервисов, разделяемых он между многими еще клиентами. Операция указывает он запрашиваемый сервис. Интерфейсы объектов он описывают множество еще операций, которые еще могут быть еще вызваны клиентами он определенного объекта. Реализации объектов - он это приложения, он исполняющие сервисы, еще запрашиваемые клиентами.
Глава 2 Характеристика технологии CORBA
2.1 Объединение компонентов
Как технология, он которая обеспечивает он базовые структуры он для взаимодействия еще разнородных объектов, он CORBA достигла еще замечательных успехов, и еще это при еще том, что еще она представляет он собой только еще часть еще еще более крупной он архитектуры управления он объектами (ObjectManagementArchitecture, он OMA), состоящей он из следующих он компонентов:
CORBA еще ORB оперирует еще запросами между еще объектами; Службы (еще сервисы) CORBA еще определяют служебные еще функции системного еще уровня, предназначенные еще для управления еще объектами и обеспечения еще их работы; еще Средства CORBA еще определяют функциональные еще возможности и интерфейсы он на уровне еще прикладной программы; еще Объекты прикладных он программ собственно он объекты. Как мы он уже упоминали, он брокер объектных он запросов управляет еще обменом запросами он между объектами. Но как он все остальные он кусочки этой еще мозаики складываются еще воедино? Давайте рассмотрим еще службы, средства и еще объекты CORBA.
2.2 Службы объектов CORBA
Помощь в организации он управления и обеспечения он работоспособности объектов он на протяжении он их жизненных он циклов именно еще этим заняты еще службы CORBA. Интерфейсы этих еще служб пригодятся еще вам для еще создания объектов он обеспечения их он безопасности, определения он местоположения объектов и он управления объектами еще на уровне он классов. Поскольку это он службы системного, а он не прикладного еще уровня, их он можно реализовать он для всего еще предприятия, т. е. сэкономить свое еще время и облегчить он согласованность в масштабах еще предприятия.
Имеется 16 объектных он служб, в том он числе:
CollectionProperties
он Сoncurrency Сontrol
он Query Eventnotification
еще NshipsExternalizationSecurity
LicensingStartup
еще LifecycleTime
NamingTrader
он PersistenceTransactions
Реальные он объекты, образующие еще ядро совместимой с он CORBA прикладной еще программы, называются он бизнес-объектами. Бизнес-объект он это способ еще описания понятий, еще не зависящих еще от прикладной он программы, типа еще покупатель, заказ он или платеж. Для подготовки еще прикладной программы он вам будет он необходим набор он бизнес-объектов.В отличие от еще объектов системного он уровня, которые еще выполняют такие он задачи, как еще поддержание устойчивости, еще бизнес-объекты еще имеют дело с он процессами, характерными он для реального он делового мира.
Хотя типичный он бизнес-объект он несет ответственность еще только за еще одну задачу (он например, обработку он предварительных заказов, еще работу с покупателями он или складом), еще наборы бизнес-еще объектов можно еще применять для еще управления всем еще бизнес-процессом, еще таким, как еще продажа билетов и он обработка предварительных он заказов на он авиарейсы. Поскольку бизнес-он объекты поставляются в еще готовом к работе еще виде, разработчик еще может, объединив их, еще составить прикладную еще программу, соответствующую он требованиям заказчика.
Для управления еще сложной прикладной еще программой с распределенными еще бизнес-объектами у он последних есть еще информация только о еще том, какие он сервисные функции еще выполняют другие он объекты, но еще не о том, он как эти он функции реализуются он на самом еще деле. Благодаря бизнес-он объектам мы он избавлены от еще сложностей реализации еще внутренней обработки, он поскольку можем он сконцентрировать внимание он на интерфейсах.
Компонент — это еще набор бизнес-он объектов, которые еще осуществляют обработку, еще инкапсулируют данные и он обеспечивают необходимые еще интерфейсы пользователя. Для взаимодействия он объектов в рамках он компонента используется еще ORB. Кроме того, с еще помощью ORB он объекты обмениваются еще информацией о себе, в еще результате объекты "еще узнают" о существовании еще других объектов он во время еще исполнения программы. Таким образом, в еще компоненте имеется он все необходимое еще для вывода он на экран еще представления объекта и еще взаимодействия с ним.
Типичный бизнес-он компонент мог еще бы применяться, он скажем, для он вывода на еще экран распределения еще мест на 11-еще часовом рейсе еще до Лос-еще Анджелеса, а другой он для регистрации он сведений о бронировании он мест на он этот рейс.Возможности компонентов еще можно расширить он за счет он добавления служебных еще функций системного он уровня. Функция Persistence он пригодится, чтобы еще поддерживать состояние он объектов в рамках он компонента.
Поскольку эти он сервисные функции он встроены в CORBA, он их можно еще применять для еще создания "интеллектуальных" (еще smart) компонентов, еще при этом он нет необходимости еще программировать их с он нуля. Хотя и в DCOM он имеется реестр еще компонентов и справочная он служба, там еще нет способа он поддерживать состояние еще объектов DCOM в он перерыве между еще соединениями. Из-за этого еще недостатка DCOM он уступает CORBA.На уровне он прикладной программы, еще где устанавливаются еще границы инфраструктуры он компонентов, базовые он структуры программ он определяют способы он реализации совместной еще деятельности независимых еще компонентов. Благодаря четко еще определенным границам еще все компоненты еще вместе функционируют еще как единый еще комплекс, так еще что создается еще впечатление единства он прикладной программы.
Именно такое он единство позволяет еще прикладным программам, он использующим распределенные в он гетерогенных средах еще объекты, "прозрачно" он сопрягаться друг с он другом. "Прозрачная" интеграция он означает, что еще пользователи воспринимают он прикладную программу он как единое он целое, а не он как сложный он набор разобщенных еще модулей.
Инфраструктуру компонента еще одной прикладной еще программы можно еще расширить до он инфраструктуры компонента еще нескольких программ. В этом случае еще CORBA несет он ответственность за он обмен информацией он между множеством он различных прикладных он программ в рамках он корпоративной системы. Для несовместимых с он CORBA программ, он например доставшихся в еще наследство приложений, еще можно создать он оболочки (wrappers), он которые придают он им подобие еще объектов CORBA.
Оболочка выполняет он роль интерфейса, еще необходимого для еще доступа к конкретным еще функциям старой еще программы.Если вы с он помощью CORBA еще интегрировали унаследованные еще программы с процессами он клиента и сервера, у он вас есть он все составляющие он многоуровневой модели он клиентсервер. Один уровень он это визуальные он объекты, например еще интерфейсы, размещаемые он на клиентских ПК. Другой уровень он объекты сервера, еще предусматривающие бизнес-еще функции. Еще один еще уровень составляют он унаследованные прикладные еще программы, например еще СУБД на он большой ЭВМ.
Чтобы показать, он почему CORBA еще ORB так он хороши для еще ППО архитектуры еще клиент сервер, он мы приводим еще следующий «краткий» он список замечательных он свойств, присущих он всем ORB:
он Статические и динамические еще вызовы методов. CORBA ORB он позволяет статически еще определять вызовы он ваших методов он во время еще компиляции или он находить их он динамически во еще время выполнения. Таким образом, он вам предоставляется еще выбор: строгий он контроль типов он на стадии он компиляции или он максимальная гибкость еще при отложенном (он на этапе еще выполнения) связывании.
Связывание с языком еще высокого уровня. CORBA ORB еще позволяет вызывать еще методы серверного он объекта с помощью он выбранного Вами он языка высокого еще уровня. При этом еще не имеет еще значения на он каком языке еще написаны серверные еще объекты. CORBA отделяет он интерфейс от он его реализации и еще предоставляет независимые еще от языка еще типы данных, еще что дает еще возможность вызывать еще объекты из еще любого языка и он для любой еще операционной системы.
Наоборот, другие еще типы промежуточного еще программного обеспечения он обычно предоставляют еще низко-уров-он невые API-он библиотеки для еще определенного языка. Кроме того, он они не он отделяют реализацию он от спецификации и, он как следствие, еще API тесно еще связан с реализацией, он что делает еще интерфейс очень еще чувствительным к изменениям.
2.3 Объект CORBA и жизненный цикл серванта
POA обеспечивает еще сильное разделение он между сроками он службы объектов еще CORBA и сроками он службы серванта. Следующие термины он относятся к циклу он жизни объекта еще CORBA:
- Активация (еще activation) - запуск еще существующего объекта он CORBA, чтобы еще позволить ему он принимать запросы.
- Дезактивация (deactivation) - он завершение работы еще активного объекта он CORBA.
Следующие термины еще относятся к циклу он жизни серванта:
- он Воплощение (incarnation) - он соединение серванта с он объектом CORBA
- еще Уничтожение (еtherealization) - еще разрушение ассоциации еще между сервантом и он объектом CORBA
еще Во время еще своей жизни еще объект CORBA еще может быть он воплощен более еще чем одним еще сервантом. В то же еще самое время, он отдельный сервант, с еще другой стороны, он может воплощать он более одного он объекта.Технология CORBA еще носит существенно он более общий и еще универсальный характер, он чем COM, он что заложено в он ее фундаменте. Опережение разработки еще спецификаций (по он сравнению с реализациями) он позволяет добиться еще более связной, он целостной и гармоничной он системы. С другой стороны, он при разработке еще реального проекта он нужно предварительно еще убедиться, что он высококачественная реализация он того или еще иного сервиса еще CORBA уже еще доступна (источниками он проблем могут еще служить, например, еще PersistenceService и SecurityService).В он настоящий момент он CORBA не еще имеет своей еще собственной компонентной еще модели; работа он над ней еще началась в 1998 г. и еще не еще завершена. Это главный еще серьезный недостаток. Правда, он он несколько компенсируется он наличием основанной он на CORBA он компонентной моделью он Enterprise
JavaBeans, он так что он программисты на еще Java находятся в он привилегированном положении. Все остальное, еще что присутствует в еще COM, имеется и в он CORBA, и даже он более того - он за исключением он универсальной технологии он доступа к БД. Опять-таки, он Java-программисты он имеют преимущество и еще здесь - за он счет наличия он общей для он Java технологии еще доступа к данным он JDBC.Под “стандартом” он применительно к CORBA он понимается то, что он официально утверждено еще консорциумом OMG.
Надо сказать, он что это он очень высокий еще уровень “легитимности”, он так как еще авторитет OMG в он компьютерном мире еще чрезвычайно высок. В настоящий момент он стандартизовано отображение еще языка IDL он на 6 языков еще программирования - Ada, C, C++, еще Cobol, Java и он Smalltalk. Существуют также он отображения на еще Pascal (точнее, еще Delphi), Perl, еще Python и еще он десяток языков.Наиболее используемыми еще языками в настоящий еще момент являются он Java (вследствие он прекрасного взаимодействия еще Java-технологий, он особенно JDBC, еще RMI, JNDI и он EJB, с CORBA), и C++ - еще как самый еще эффективный, мощный и еще распространенный язык еще компьютерной индустрии.
CORBA обеспечивает он даже несколько он более высокий он уровень за еще счет базировании он технологии исключительно еще на языке еще описания IDL с еще последующим отображением он таких спецификаций он на конкретный еще язык программирования, а он также некоторых он возможностей, например, еще автоматического (т.е. прозрачного для он программиста) распространения он контекста транзакций.CORBA в настоящее еще время не он имеет своей еще компонентной модели. Пусть это еще не имеет еще практического значения еще для Java-он программистов, но в он общем случае он эта та он область, где еще OMG (и фирмам-еще производителям программного еще обеспечения) еще он предстоит серьезно еще поработать.
CORBA имеет еще очень развитую еще сервисную часть; он например, только он для поиска еще серверных объектов он по различным еще критериям можно еще использовать 4 различных еще сервиса CORBA. Кроме того, еще OMG стремится к он максимальной стандартизации еще вспомогательных возможностей еще CORBA. CORBA предоставляет он разработчикам существенно он большие возможности, еще чем COM, в еще области сервисов и он вспомогательных средств. С другой стороны, еще COM-программисты он обычно не еще испытывают какого-он либо дискомфорта из-еще за их еще недостатка.
Вследствие ограниченности он области применения еще COM объективно он нет необходимости в еще создании таких он же развитых и еще универсальных средств, еще как это он совершенно необходимо он для CORBA.Понятие “объекта” в он CORBA принципиально еще отличается от еще своего COM-он аналога. Объект CORBA еще не является он переменной языка еще программирования и в общем он случае время он его существования еще не связано еще со временем он работы серверных еще или клиентских еще приложений. СORBA-объект еще не занимает еще никаких ресурсов он компьютера - оперативной он памяти, сетевых еще ресурсов и т.п.
Эти ресурсы он занимает только он так называемый “он сервант” (servant), он который является “еще инкарнацией” одного он или нескольких еще CORBA-объектов. Именно сервант он является переменной он языка программирования. Пока не еще существует сервант, он сопоставленный с конкретным он объектом CORBA, он этот объект он не может еще обслуживать вызовы он клиентов, но, тем еще не менее, еще он существует.
Результатом создания еще объекта (при он этом совершенно еще не обязательно еще при этом еще создается и сопоставляется с он этим объектом еще соответствующий сервант!) является так еще называемая “объектная еще ссылка” CORBA. Объектная ссылка еще сопоставлена с этим, и еще только с этим он объектом, и это еще сопоставление остается он корректным в течение еще всего срока еще существования CORBA-еще объекта (может еще быть, в течение он нескольких лет).
он Объектная ссылка еще CORBA правильно еще интерпретируется ORB’ами еще от любого он производителя программного еще обеспечения. После уничтожения он CORBA-объекта еще все объектные еще ссылки на еще него навсегда он теряют смысл. С помощью объектной еще ссылки клиент он вызывает методы он объекта, при он этом инкарнациями еще этого объекта еще могут быть он различные серванты (он не более он одного одновременно), еще которые физически еще могут находиться еще даже на еще различных компьютерах.CORBA является он существенно более он открытой, универсальной и он гибкой системой, он чем COM. И COM, и CORBA он способны тесно и он эффективно взаимодействовать он со стандартными он средствами обеспечения он безопасности.
Несмотря на он внешнюю похожесть, он что вызвано еще общностью решаемых он задач, между он COM и CORBA, еще пожалуй, больше он различий, чем еще сходства. В большинстве случаев он либо нецелесообразно он использовать CORBA (он для небольших и он простых проектов еще под Windows он просто по еще причине относительно еще высоких затрат он на приобретение он программного обеспечения, еще лицензий и пр.), либо практически еще невозможно использовать он COM (для он сложных, масштабируемых, он высоконадежных проектов еще или просто еще при работе в еще гетерогенных средах, а он не только в он Windows).
Windows-он приложения, ориентированные еще на взаимодействие с он MicrosoftOffice, всегда он будут использовать еще COM; проекты с еще использованием Java и он любых Java-он технологий (кроме он Microsoft J++), как еще говорится, “сам еще бог велел” еще строить на он основе CORBA. Во многих еще случаях выбор еще технологии диктует еще выбор той еще или иной он части проекта: он если вы еще планируете работать, он например, с ORACLE 8i, то, еще безусловно, гораздо еще лучше ориентироваться он на CORBA. Область, где он эти технологии еще реально конкурируют, еще на мой он взгляд, очень еще невелика. Как нетрудно он заметить, автор он настоящего обзора еще является сторонником он CORBA, чего и еще желает всем он своим читателям.
Заключение
Учитывая, что в еще стоящий за еще этой спецификацией еще консорциум входит еще более 700 компаний, он CORBA нечто он большее, чем он повальное увлечение, он охватившее рынок. CORBA превосходит еще традиционную трехуровневую он модель клиент он сервер благодаря он тому, что еще это полностью он масштабируемая и исключительно еще гибкая архитектура. Используя CORBA, он вы с легкостью он расширите сеть, он состоящую из он трех компьютеров еще до сети он масштабов Интернета. CORBA обеспечивает еще базовую структуру, он позволяющую соединять еще объекты, запрограммированные он на разных он языках, причем еще не имеет он значения, для он какой платформы он или операционной он системы эти он объекты были он созданы, если он есть средства еще согласования с CORBA. Поскольку CORBA он предназначена для еще гетерогенных платформ, в еще настоящее время у он нее есть он преимущества перед он DCOM. Однако принимая еще во внимание он мощь Microsoft, еще DCOM, несомненно, в он ближайшем будущем он станет силой, с еще которой придется еще считаться.
В заключение хотелось он бы еще еще раз отметить, он что во он многом успех еще использования технологии еще CORBA зависит еще от методологического и еще технологического базисов, он которые применяются еще разработчиками на он этапах проектирования и еще реализации компонентов он информационной системы. При этом он немаловажным позитивным он фактором становится еще наличие программной он инфраструктуры, которая еще выступает в качестве он фундамента, существенно он облегчающего процесс он построения гетерогенных он распределенных информационных он систем.
Список использованной литературы
- Афонин, П.Н. Информационные таможенные технологии: Учебник / П.Н. Афонин. - СПб.: Троицкий мост, 2012. - 352 c.
- Балдин, К.В. Информационные технологии в менеджменте: Учеб. для студ. учреждений высш. проф. образования / К.В. Балдин. - М.: ИЦ Академия, 2012. - 288 c.
- Барский, А.В. Параллельные информационные технологии: Учебное пособие / А.В. Барский. - М.: Бином, 2013. - 503 c.
- Бартенев, В.А. Современные и перспективные информационные ГНСС-технологии в задачах высокоточной навигации / В.А. Бартенев, М.Н. Красильщиков. - М.: Физматлит, 2014. - 192 c.
- Вдовин, В.М. Информационные технологии в финансово-банковской сфере: Учебное пособие / В.М. Вдовин, Л.Е. Суркова. - М.: Дашков и К, 2016. - 304 c.
- Гвоздева, В.А. Информатика, автоматизированные информационные технологии и системы: Учебник / В.А. Гвоздева. - М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. - 544 c.
- Данелян, Т.Я. Информационные технологии в налогообложении: Учебно-методический комплекс / Т.Я. Данелян, А.Ф. Ахметшин. - М.: Ленанд, 2015. - 344 c.
- Дарков, А.В. Информационные технологии: теоретические основы: Учебное пособие / А.В. Дарков, Н.Н. Шапошников. - СПб.: Лань, 2016. - 448 c.
- Косиненко, Н.С. Информационные системы и технологии в экономике: Учебное пособие для бакалавров / Н.С. Косиненко, И.Г. Фризен. - М.: Дашков и К, 2015. - 304 c.
- Левин, В.И. Информационные технологии в машиностроении: Учебник для студ. сред. проф. образования / В.И. Левин . - М.: ИЦ Академия, 2013. - 272 c.
- Литвинов, В.А. Информационные технологии в юридической деятельности: Учебное пособиеСтандарт третьего поколения / В.А. Литвинов. - СПб.: Питер, 2013. - 320 c.
- Панов, А.В. Разработка управленческих решений: информационные технологии: Учебное пособие / А.В. Панов. - М.: ГЛТ, 2012. - 151 c.
- Романова, Ю.Д. Информационные технологии в управлении персоналом: Учебник и практикум / Ю.Д. Романова, Т.А. Винтова, П.Е. Коваль. - Люберцы: Юрайт, 2016. - 291 c.
- Советов, Б.Я. Информационные технологии: теоретические основы: Учебное пособие / Б.Я. Советов, В.В. Цехановский. - СПб.: Лань, 2016. - 448 c.
- Сырецкий, Г.А. Информатика. Фундаментальный курс. Том II. Информационные технологии и системы / Г.А. Сырецкий. - СПб.: BHV, 2012. - 848 c.
- Сысоев, П.В. Информационные и коммуникационные технологии в лингвистическом образовании / П.В. Сысоев. - М.: КД Либроком, 2015. - 264 c.
- Трайнев, В.А. Новые информационные коммуникационные технологии в образовании: Информационное общество. Информационно-образовательная среда. Электронная педагогика. Блочно-модульное построение информационных технологий / В.А. Трайнев. - М.: Дашков и К, 2013. - 320 c.
- Федотова, Е.Л. Информационные технологии и системы: Учебное пособие / Е.Л. Федотова. - М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. - 352 c.
- Федотова, Е.Л. Информационные технологии в науке и образовании: Учебное пособие / Е.Л. Федотова, А.А. Федотов. - М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. - 336 c.
- Федулин, А.А. Информационные технологии (для бакалавров) / А.А. Федулин. - М.: КноРус, 2014. - 472 c.
- Хлебников, А.А. Информационные технологии: Учебник / А.А. Хлебников. - М.: КноРус, 2014. - 472 c.
- Черников, Б.В. Информационные технологии управления: Учебник / Б.В. Черников. - М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. - 368 c.
- Чукарин, А.В. Бизнес-процессы и информационные технологии в управлении современной инфокоммуникационной компанией / А.В. Чукарин. - М.: Альпина Паблишер, 2016. - 512 c.
- Щипицина, Л.Ю. Информационные технологии в лингвистике: Учебное пособие / Л.Ю. Щипицина. - М.: Флинта, Наука, 2013. - 128 c.
- 96. Щипицина, Л.Ю. Информационные технологии в лингвистике: Учебное пособие, стер / Л.Ю. Щипицина. - М.: Флинта, 2015. - 128 c.
- Щипицина, Л.Ю. Информационные технологии в лингвистике: Учебное пособие / Л.Ю. Щипицина. - М.: Флинта, 2015. - 128 c.
- Ээльмаа, Ю.В. Информационные технологии на уроках литературы: Пособие для учителей общеобр. учреждений / Ю.В. Ээльмаа, С.В. Федоров. - М.: Просв., 2012. - 176 c.
- Ясенев, В.Н. Информационные системы и технологии в экономике: Учебное пособие / В.Н. Ясенев. - М.: ЮНИТИ, 2014. - 560 c.
- Информационные системы и технологии управления: Учебник / Под ред. Г.А. Титоренко. - М.: ЮНИТИ, 2013. - 591 c.
- Информационные системы и технологии: Научное издание / Под ред. Ю.Ф. Тельнова. - М.: ЮНИТИ, 2012. - 303 c.
- Информационные системы и технологии: Научное издание. / Под ред. Ю.Ф. Тельнова. - М.: ЮНИТИ, 2016. - 303 c.
Приложения
Архитектура CORBA
Сравнение CORBA и DCOM
-
Дарков, А.В. Информационные технологии: теоретические основы: Учебное пособие / А.В. Дарков, Н.Н. Шапошников. - СПб.: Лань, 2016. - 448 c. ↑
-
Советов, Б.Я. Информационные технологии: теоретические основы: Учебное пособие / Б.Я. Советов, В.В. Цехановский. - СПб.: Лань, 2016. - 448 c. ↑
-
Щипицина, Л.Ю. Информационные технологии в лингвистике: Учебное пособие, стер / Л.Ю. Щипицина. - М.: Флинта, 2015. - 128 c. ↑
-
Сысоев, П.В. Информационные и коммуникационные технологии в лингвистическом образовании / П.В. Сысоев. - М.: КД Либроком, 2015. - 264 c. ↑
-
Данелян, Т.Я. Информационные технологии в налогообложении: Учебно-методический комплекс / Т.Я. Данелян, А.Ф. Ахметшин. - М.: Ленанд, 2015. - 344 c. ↑
- Выбор стиля руководства в организации (Специфика управленческого труда)
- Управление знаниями в организации (Теоретические аспекты управления знаниями)
- Организация нового бизнеса в Интернет. Роль технопарков в экономическом развитии. Проблема защиты интеллектуальной собственности в России. Учет риска и неопределенности при отборе инновационных проектов (Учет проектных рисков)
- Организация страхового дела в РФ (Современное состояние страхового рынка РФ)
- «Технологии и методы продаж в гостиничном бизнесе. » (Теоретические аспекты управления продажами в гостиничном бизнесе)
- Сравнительный анализ основных школ и доктрин менеджмента организации.
- Процедуры несостоятельности (банкронства) ( Теоретические аспекты несостоятельности (банкротства) организации)
- Имущественное страхование и его значение в экономике (Теоретические аспекты имущественного страхования)
- Добросовестная и недобросовестная ценовая конкуренция
- Определение, основные задачи, функции бухгалтерского учета
- Процессы принятия решений в организации
- Проблемы профессиональных стрессов. Профессиональное выгорание (Стресс. Виды профессиональных стрессов)