Файл: Технология CORBA (Назначение CORBA. Общие положения по применению системы «CORBA»).pdf
Добавлен: 28.04.2023
Просмотров: 296
Скачиваний: 1
СОДЕРЖАНИЕ
1. Назначение CORBA. Общие положения по применению системы «CORBA»
1.2 Компонентная модель CORBA (CCM)
1.3 Общий протокол межброкерного взаимодействия (GIOP)
2.3 Объект CO RBA и жизне нный цикл сер ванта
2.5 Защита в сре дах Windows. К лассификац ия компьютер ных вирусо в. Антивирус ы-полифаги
С применением CORBA вы создадите системы масштаба предприятия (корпоративные системы), в которых объекты распределены по вычислительной сети. В корпоративных системах основные объекты для обслуживания файлов, необходимые прикладной программе, могут храниться на сервере Windows NT. Эти объекты вы составите, например, на языке Си++. На большом компьютере можно разместить первичные функции ядра системы скажем, используя объекты, запрограммированные на языке Кобол. Любой настольный компьютер, работающий под управлением Windows 95, пригоден для хранения внешних интерфейсов, использующих объекты, созданные средствами VisualBasic. И все эти объекты могут обмениваться информацией, а посредником при передаче запросов служит CORBA[8].
Фирмы 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 и предназначен для обмена информацией между апплетами, внешними модулями и сценариями.
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-часово м рейсе до Лос- Анджелеса, а дру гой для ре гистрации с ведений о бро нировании мест н а этот рейс. Возможност и компоненто в можно рас ширить за счет доб авления слу жебных фун кций систе много уров ня. Функци я Persiste nce пригод ится, чтоб ы поддержи вать состо яние объекто в в рамках ко мпонента.
Поскольку эт и сервисные фу нкции встрое ны в CORBA, и х можно пр именять дл я создания " интеллекту альных" (s mart) компо нентов, пр и этом нет необ ходимости про граммироват ь их с нул я. Хотя и в DCO M имеется реестр ко мпонентов и с правочная с лужба, там нет с пособа под держивать состо яние объекто в DCOM в перер ыве между сое динениями. Из-з а этого не достатка DCO M уступает CO RBA.На уро вне прикла дной прогр аммы, где уст анавливаютс я границы и нфраструктур ы компоненто в, базовые стру ктуры прогр амм опреде ляют способ ы реализац ии совмест ной деятел ьности нез ависимых ко мпонентов. Б лагодаря чет ко определе нным грани цам все ко мпоненты в месте функ ционируют к ак единый ко мплекс, та к что созд ается впеч атление ед инства при кладной про граммы. Име нно такое е динство поз воляет при кладным про граммам, ис пользующим р аспределен ные в гетеро генных сре дах объект ы, "прозрач но" сопряг аться друг с дру гом. "Прозр ачная" инте грация озн ачает, что по льзователи вос принимают пр икладную про грамму как е диное целое, а не к ак сложный н абор разоб щенных моду лей.Инфрастру ктуру компо нента одно й прикладно й программ ы можно рас ширить до и нфраструктур ы компонент а нескольк их программ. В это м случае CO RBA несет от ветственност ь за обмен и нформацией ме жду множест вом различ ных прикла дных прогр амм в рамк ах корпорат ивной систе мы. Для несо вместимых с CO RBA програ мм, например дост авшихся в н аследство пр иложений, мо жно создат ь оболочки (w rappers), котор ые придают и м подобие объе ктов CORBA. Обо лочка выпо лняет роль и нтерфейса, необ ходимого д ля доступа к ко нкретным фу нкциям старо й программ ы.Если вы с по мощью CORB A интегриро вали унасле дованные про граммы с про цессами кл иента и сер вера, у вас ест ь все сост авляющие м ногоуровне вой модели к лиентсервер. О дин уровен ь это визу альные объе кты, напри мер интерфе йсы, разме щаемые на к лиентских П К. Другой уро вень объект ы сервера, пре дусматрива ющие бизнес-фу нкции. Еще о дин уровен ь составля ют унаследо ванные при кладные про граммы, на пример СУБ Д на большо й ЭВМ.
Чтобы показ ать, почему CO RBA ORB та к хороши д ля ППО арх итектуры к лиент сервер, м ы приводим с ледующий « краткий» с писок замеч ательных с войств, пр исущих все м ORB:
Статические и д инамические в ызовы мето дов. CORBA ORB поз воляет стат ически опре делять вызо вы ваших мето дов во вре мя компиля ции или на ходить их д инамически во вре мя выполне ния. Таким обр азом, вам пре доставляетс я выбор: стро гий контро ль типов н а стадии ко мпиляции и ли максима льная гибкост ь при отло женном (на эт апе выполне ния) связы вании.
Связывание с яз ыком высоко го уровня. CORBA ORB поз воляет выз ывать мето ды серверно го объекта с по мощью выбр анного Вам и языка высо кого уровн я. При это м не имеет з начения на к аком языке н аписаны сер верные объе кты. CORBA от деляет интерфе йс от его ре ализации и пре доставляет нез ависимые от яз ыка типы д анных, что д ает возмож ность вызы вать объект ы из любого яз ыка и для л юбой опера ционной систе мы. Наоборот, дру гие типы про межуточного про граммного обес печения об ычно предост авляют низ ко-уров-не вые API-биб лиотеки дл я определе нного язык а . Кроме то го, они не от деляют реа лизацию от с пецификаци и и, как с ледствие, API тесно с вязан с ре ализацией, что де лает интерфе йс очень чу вствительн ым к измене ниям.
2.3 Объект CO RBA и жизне нный цикл сер ванта
POA обеспеч ивает силь ное разделе ние между сро ками служб ы объектов CO RBA и срок ами службы сер ванта. Сле дующие тер мины относ ятся к цик лу жизни объе кта CORBA:
- Активация ( activation) - з апуск сущест вующего объе кта CORBA, чтоб ы позволит ь ему прин имать запрос ы.
- Дезактивация (de activation) - з авершение р аботы акти вного объе кта CORBA.
Следующие тер мины относ ятся к цик лу жизни сер ванта:
- Воплощение ( incarnatio n) - соеди нение серв анта с объе ктом CORBA
- Уничтожение (еt herealizat ion) - разру шение ассо циации меж ду серванто м и объекто м CORBA
Во время с воей жизни объе кт CORBA мо жет быть во площен более че м одним сер вантом. В то же с амое время, от дельный сер вант, с дру гой сторон ы, может во площать бо лее одного объе кта.Техноло гия CORBA нос ит существе нно более об щий и универс альный хар актер, чем CO M, что зало жено в ее фу ндаменте. О пережение р азработки с пецификаци й (по срав нению с ре ализациями) поз воляет доб иться более с вязной, це лостной и г армоничной с истемы. С дру гой сторон ы, при разр аботке реа льного прое кта нужно пре дварительно убе диться, что в ысококачест венная реа лизация то го или ино го сервиса CO RBA уже досту пна (источ никами проб лем могут с лужить, на пример, Pe rsistenceSe rvice и Secu rityService). В настоящи й момент CO RBA не имеет с воей собст венной ком понентной мо дели; работ а над ней н ачалась в 1 998 г. и е ще не завер шена. Это г лавный сер ьезный недост аток. Прав да, он нес колько ком пенсируетс я наличием ос нованной н а CORBA ко мпонентной мо делью Ente rprise
JavaBeans, т ак что про граммисты н а Java нахо дятся в пр ивилегиров анном поло жении. Все ост альное, что пр исутствует в CO M, имеется и в CO RBA, и даже бо лее того - з а исключен ием универс альной тех нологии досту па к БД. О пять-таки, J ava-програ ммисты име ют преимущест во и здесь - з а счет нал ичия общей д ля Java те хнологии досту па к данны м JDBC.Под “станд артом” при менительно к CO RBA понимаетс я то, что оф ициально ут верждено ко нсорциумом O MG. Надо с казать, что это оче нь высокий уро вень “легит имности”, т ак как автор итет OMG в ко мпьютерном м ире чрезвыч айно высок. В н астоящий мо мент станд артизовано отобр ажение язы ка IDL на 6 яз ыков прогр аммировани я - Ada, C, C++, Cobo l, Java и S malltalk. Су ществуют т акже отобр ажения на P ascal (точ нее, Delph i), Perl, Pyt hon и еще дес яток языко в.Наиболее ис пользуемым и языками в н астоящий мо мент являютс я Java (вс ледствие пре красного вз аимодейств ия Java-те хнологий, особе нно JDBC, R MI, JNDI и E JB, с CORB A), и C++ - к ак самый эффе ктивный, мо щный и рас пространен ный язык ко мпьютерной и ндустрии. CORBA обес печивает д аже нескол ько более в ысокий уро вень за счет б азировании те хнологии ис ключительно н а языке оп исания IDL с пос ледующим отобр ажением та ких специф икаций на ко нкретный яз ык програм мирования, а т акже некотор ых возможносте й, например, а втоматичес кого (т.е. прозр ачного для про граммиста) р аспростране ния контекст а транзакц ий.CORBA в н астоящее вре мя не имеет с воей компо нентной мо дели. Пуст ь это не и меет практ ического з начения дл я Java-про граммистов, но в об щем случае эт а та област ь, где OMG ( и фирмам-про изводителя м программ ного обеспече ния) еще пре дстоит сер ьезно поработ ать.CORBA имеет оче нь развиту ю сервисну ю часть; н апример, то лько для по иска сервер ных объекто в по различ ным критер иям можно ис пользовать 4 р азличных сер виса CORBA. Кро ме того, O MG стремитс я к максим альной ста ндартизаци и вспомогате льных возмо жностей CO RBA. CORBA пре доставляет р азработчик ам существе нно большие воз можности, че м COM, в об ласти сервисов и вс помогатель ных средст в. С друго й стороны, CO M-программ исты обычно не ис пытывают к акого-либо д искомфорта из-з а их недост атка. Всле дствие огр аниченност и области пр именения CO M объектив но нет необ ходимости в соз дании таки х же развит ых и универс альных сре дств, как это со вершенно необ ходимо для CO RBA.Понятие “объе кта” в COR BA принцип иально отл ичается от с воего COM- аналога. Объе кт CORBA не я вляется пере менной язы ка програм мирования и в об щем случае вре мя его сущест вования не с вязано со вре менем работ ы серверны х или клие нтских при ложений. СO RBA-объект не з анимает ни каких ресурсо в компьютер а - операт ивной памят и, сетевых ресурсо в и т.п.