Объектілі сұраныстардың брокері
Сурет 1.7. Common Object Request Broker Architecture сәулеті
Қолданбалы объекттер (Application Objects) – нақты қолданушы
бағдарламалары үшін объекттің жүзеге асырылуы, мысалы, арнайы бизнес-
процестерді қолдау объекттері.
21
CORBA сервистері (services):
аталымдар қызметі,
оқиғалар қызметі,
жадыда сақтау қызметі,
транзакция қызметі және т.б.
CORBA жалпы құралдары (CORBA facilities) - объектті жүзеге
асырудың құралдары, мысалы, құрама құжаттарды, тапсырмалар ағынын
қолдау және т.б.
CORBA домендері (CORBA domains) – домен объекттерінің іске
асырылуы, түрлі сала бағдарламаларына арналған: денсаулық сақтау, қаржы
нарығы, сақтандыру және т.б. Домен – сайт адресі, аты. (edu.gov.kz,
hoster.kz).
1991 жылы пайда болғаннан бастап CORBA сәулеті үнемі жетілдіруде,
оған OMG корпорациясының жаңа стандарттарды қабылдау процестері куә.
Қабылданатын стандартттар ашық, кез-келген фирма консорциумға қосылып,
стандартизацияға өз технологиясын ұсынуына болады.
CORBA технологиясының негізін IDL (Interface Definition Language) тілі
құрайды. Бұл тіл қашықтан өзараәрекетесудің барлық аспекттерін
(қырларын) IDL – хабарлаулардың нақты бағдарламалау тілдеріне бейнелену
схемаларын сипаттайды. CORBA технологиясын қолдануда жүйе бір-біріне
ресурс беретін немесе қандай да бір есептерді шешуді ұйымдастыратын
желіде жұмыс істейтін бағдарламалардың жиыны ретінде қарастырылады.
Мұнда МҚ-на қатынау компоненттері, жүйенің сервистік қызметтері,
құрылғылар драйверлері, функционалды модульдер, жүйе объектілерінің
жағдайын көрсету және оларды басқару мүмкіншілігін ұйымдастыратын
қолданушы бағдарламалар тәуелсіз жеке бағдарламалар түрінде болуы
мүмкін. CORBA технологиясы кез-келген платформада (Microsoft Windows –
Intel, Linux, Sun Microsystems Solaris – Sparc), кез-келген бағдарламалау
тілдерінде (C++, Java, Delphi және т.с.с.) бағдарламалауға мүмкіндік береді.
Объектті сұраныстар брокері (Object Request Broker, ORB) – таратылған
компьютерлік ортада объекттер арасында клиент-серверлік қатынастарды
орнатуға арналған аралық бағдарламалық қамтама. ORB таратылған жүйедегі
объекттер арасында сұраныстар қабылдап, беруге, оларға жауап беруге және
нәтиже алуға мүмкіндік беретін механизмдермен қамтамасыз етеді. Осының
нәтижесінде түрлі таратылған орталардағы әр түрлі платформадағы
бағдарламалар арасында техникалық интероперабельділік қамтамасыз
етіледі. Брокерлердің интероперабельділігі аталған мүмкіншілікті объект-
клиенттер мен объект-серверлер бірнеше біртекті не әртекті брокерлермен
байланысқан жағдайда қолданады.
Брокерлердің интероперабельділігі деп 1-ші брокермен басқарылатын
объект-клиенттің
2-ші
брокермен
басқарылатын
объект-сервердің
операцияларын шақыру мүмкіншілігін түсінуге болады. Мұндағы 1-ші және
2-ші брокерлер бір-бірінен тәуелсіз орталарда құрылған, яғни әртекті.
CORBA жалпы сервистер мен интерфейстерді қолдайтын түрлі ORB
орындалуына арналған ортаны анықтайды (сурет 1.8).
22
Бұл түрлі ORB-ге қатынасты клиент пен объекттің жүзеге асырылуының
мобильділігін қамтамасыз етеді. ORB глобальды объект кеңістігі
компоненттерінің интероперабельділігін қамтамасыз етеді. Объекттің
интерфейстерінің анықтамалары Интерфейс Репозиториіне (Interface
Repository) екі әдіспен орналасады: статикалық – IDL тіліндегі спецификация
нәтижесінде және динамикалық.
Клиент
Нысанды жүзеге
асыру
Динамикалық
шақыру немесе IDL
стабының
көмегімен шақыру
ORB
интерфейсі
Скелетон
Объектілі
адаптер
ORB ядросы
Сурет 1.8. Объектті сұраныстар брокері интерфейстерінің құрылымы
Репозитарий интерфейс компоненттерін объект ретінде қарастырып,
орындалу кезінде оларға қатынауға мүмкіндік береді. Сұраныс құрастыруда
клиент динамикалық шақыру интерфейсін немесе компилятор құратын IDL
стаб (stub) - берілген операцияны оған қатынау кезінде шақыру локальды
процедурасын қолдана алады. Клиент ORB-мен тікелей әрекеттесуіне
болады. Бұл жағдайда ORB объекттің орындалуының сәйкес кодын іздеп,
оған сұраныс параметрлерін жібереді және басқаруды береді. Объект
орындалуы параметрлерді компилятор құрған IDL скелетон (Skeleton)
арқылы қабылдап, объекттік адаптерге және ORB-ге қатынайды. Объекттің
орындалуы (іске асырылуы) – клиентпен сұранылатын сервисті орындау
бағдарламалары. Объекттік адаптердің негізгі функциясы – объектті
сұраныстар брокерінің сервистеріне қолжетімдікті қамтамасыз ету.
Скелетон – серверлік бағдарлама, серверлік суррогат, «сервант» атты
объектті объекттік адаптермен байланыстырады. Бағдарламада CORBA-
объектті қолдану үшін оны тек құрып, онымен байланыс орнату жеткіліксіз.
Серверлік бағдарламада IDL-интерфейсте жарияланған әдістерге қатынауға
мүмкіндік беретін, C++, Java, C, Cobol, Ada, Smalltalk және басқа тілдерде
құрылған «Сервант» атты объект құрылмай CORBA-объектті қолдану мүмкін
емес. Объектке бағытталған тілдер үшін Сервант белгілі бір класс
экземплярын құрайды. Мұндай класс «Орындау классы» деп те аталады.
Шақырудың статикалық әдістерін қолдануда скелетон IDL кодын
компиляциялау кезінде құрылады, ал динамикалық әдістерде ол
қолданылмайды.
23
ORB құрылымында ядроны атап кетуге болады, ол объекттердiң iшкi
құрылымы мен сұраныстардың берiлуiн және күйге келтiрiлетiн
компоненттердiң жиынын қамтамасыз етедi. Ядроның негізгі міндеті –
таратылған
біртекті
емес
ортада
бағдарламалар
мен
типтер
спецификациясының
мобильділігін
және
компоненттердің
интероперабельділігін қамтамасыз ету.
IDL - интерфейсті анықтау тілі. OMG IDL (Interface Definition Language)
тілі
CORBA
стандарттары
кешенінде
бағдарламалардың
интероперабельділігін ұйымдастыруда қолданылады. OMG IDL құралдары
көмегімен объект интерфейсін анықтау клиент сұраныстары бойынша
объектпен орындалатын амалдардың барлығын толық сипаттайды. Бұл
анықтама белгілі бір амалдарды орындау сұраныстарымен объекттерге
қатынайтын клиент бағдарламаларын құруға арналған ақпараттың негізін
құрайды. Клиент қолданатын интерфейс анықтамасы оны орындауға
түсінікті болу үшін OMG IDL тілінде анықталған спецификацияларды клиент
орындаушысының тіліне аудару керек.
Corba стандартында қолданылатын тілдің синтаксисін сипаттау үшін
EBNF (Extended Backus-Naur Format - Бэкус-Наурдың кеңейтілген форматы)
нотациясына ұқсас нотация қолданылады.
Бұл нотацияда қолданылатын негізгі белгілер:
::= - анықтама бойынша ... ;
| - немесе;
< > - жақшадағы түсінікпен берілетін терминальды емес символ;
"текст" – литерал;
* - алдыңғы синтаксистік конструкцияны ноль не бірнеше рет қайталау
мүмкіндігі;
+ - алдыңғы синтаксистік конструкцияны бір не бірнеше рет қайталау
мүмкіндігі;
{ } – бір конструкция;
[ ] – міндетті емес синтаксистік конструкция.
IDL спецификацияларын басқа тілдерге аударғанда CORBA IDL
конструкцияларының (барлық негізгі типтер, объект пен тұрақтыларға
сілтеме, амалдардың шақырылуы, ерекше жағдайлар, атрибуттарға қатынау,
шақырулар интерфейсі) сайма-сай (сәйкес) бейнеленуін талап етеді.
Қазіргі кезде OMG IDL тілінің конструкциялары C, C++, Smalltalk, Ada
тілдеріне аударылған.
CORBA
желілік
моделі.
Брокерлердің
интероперабельділігі
Универсалды брокераралық хаттамамен (General Inter-ORB Protocol, GIOP)
қолданылады. Бұл хаттама нақты желілік транспорттық ортаға тәуелдi
болмайды және виртуалды қосуларды қолдайтын кез-келген транспорттық
хаттамаға (мысалы, TCP/IP) бейнелене алады.
CORBA объекттік моделі. OMG объекттік моделі (Core Object Model -
COM) ядро және кеңейтілімдер жиыны ретінде анықталған. Ядро негiздi
ұғымдардың кейбiр жиынын спецификациялайды. COM түсініктеріне мысал:
объекттер, амалдар, типтер, тип/ішкі тип қатынасы, тип интерфейсі.
24
Кеңейтілімдерде профиль түсінігі енгізіледі, ол СОМ және бір не бірнеше
кеңейтілімдердің комбинациясынан тұрады. CORBA объекттік моделі
клиенттер мен серверлер арсындағы әрекеттесуді анықтайды. Амал
сұранылатын сервисті көрсетеді. Объект интерфейстері нақты объект
клиенттерімен шақырылатын амалдар жиынын сипаттайды. Объекттің іске
асырылуы – клиентпен сұранылатын сервисті орындау бағдарламалары.
CORBA клиенттері мен серверлері
Бақа компоненттер интерфейстерін сұрайтын компонент клиент болып
саналады, ал өз интерфейстерін басқа компоненттерге беретін компонент
сервер болып табылады.
3 деңгейлі сәулетте клиент және сервер түсініктері шартты болып
келеді. Таратылған жүйе клиенті бір компонентке клиент болып, жүйедегі
басқа компоненттерге сервер болуы мүмкін (сурет 1.9).
А компоненті
(клиент)
В компоненті
(клиент + сервер)
С компонент
(сервер)
D Компоненті
(сервер)
Сурет 1.9. Үш деңгейлі таратылған жүйедегі компоненттер қатынасы
CORBA негізгі қызметтері
OMG спецификацияларына сәйкес ақпараттық жүйе 3-деңгейлі
сәулетінің құрамына мәліметтерді басқару жүйесі, өзара әрекеттесетін
CORBA-объекттер желісі және мәліметтерді көрсетуге арналған қолданушы
интерфейсі кіреді.
OMG консорциумы таратылған бағдарламаларды құруды жеңілдету
үшін жиі қолданылатын сервистерді стандарттаудан өткізді (сурет 1.10):
1. Өмір циклының сервисі (Life Cycle service) шинадағы компоненттерді
құру, көшіру, орнын ауыстыру, жою амалдарын анықтайды.
2. Ат беру сервисі (Naming service) CORBA-объекттерге сілтемелерді
ақтауға және басқаруға арналған. Оның негізгі міндеті – объекттерді бір-
бірімен әмбебап түрде байланыстыру. Бұл сервис объектті сілтемелердің
қоймасы ретінде анықталған.
3. Оқиғалар сервисі (Event service) бағдарламалардың асинхрондық
өзара әрекетін қолдауды қамтамасыз етеді.
4. Ұзақ уақытқа сақтау сервисі (Persistence service) жадыда объекттерді
сақтау интерфейстерінің жиынын анықтайды.
5. Транзакция сервисі (Transaction service) транзакция модельдерінің
жиынын, оның ішінде ішкі транзакциялар жиынын қолдауды қамтамасыз
етеді. Көпқолданушы режимінде бағдарламалардың дұрыс жұмыс істеуін
ұйымдастырады.
25
Query Service
Persistent Object
Service
Transaction
Service
Concurrency
Control Service
Collection
Service
Property
Service
Life Cycle
Service
Naming
Service
Externalizations
Service
Relationship
Service
Trader
Service
Event
Service
Licensing
Service
Security
Service
Сурет 1.10. OMG сервистерінің тәуелділік графы
6. Қатынастар
сервисі (Relationship service) CORBA-объекттер
арасында логикалық байланыстарды ұйымдастырады. Сервис екі қосымша
объекттер түрін анықтайды: байланыс және роль. Роль байланыс түрін
бейнелейтін CORBA-объект ретінде анықталады, ол қолданбалы аумақ
объектілерінің тәуелділігін сипаттайды.
7. Бірігіп қатынауды басқару сервисі (Concurrency control service)
клиенттерге бөлінетін ресурстарды қолдануда өз амалдарын реттеуге
мүмкіндік береді. Бөлінетін ресурстарды басқару тосқауылдар арқылы
орындалады. Әр тосқауыл бір ресурс пен бір клиентке сәйкестендіріледі.
Сервис қатынаудың түрлі әдістеріне сәйкес келетін тосқауылдың бірнеше
режимін анықтайды.
8. Сыртқы көрініс сервисі (Externalization service) CORBA-объект
көшірмесін файл, МҚ элементі және т.с.с. сыртқы объект түрінде
қалыптастырады.
9. Сұраныстар сервисі (Query Sevice) объекттер үшін сұраныстарды
қолдауды қамтамасыз етеді, ол SQL сыртқы жиыны ретінде анықталған,
SQL3 кеңейтілген спецификацияларына, объектті сұраныстар тіліне (Object
Query Language - OQL) негізделген.
10. Лицензиялау сервисі (Licensing Service) компоненттерді қолдануды
бақылау амалдарын ұсынады.
11. Қасиеттер
сервисі (Properties Service) аттары анықталған
шамаларды немесе олардың қасиеттерін кез-келген компонентпен
сәйкестендіру амалдарын ұсынады.
12. Уақыт сервисі (Time Service) таратылған объекттер ортасында
уақытты синхронизациялау интерфейсін ұсынады және нақты уақытқа
бағытталған оқиғаларды анықтау, басқару операцияларын ескередi.
13. Қауіпсіздік сервисі (Security Service) таратылған объекттердің
қауіпсіздігін
қамтамасыз
ету
инфрақұрылымын
ұсынады.
Ол
26
аутентификацияны, қатынауды басқару тізімін, құпиялылықты, кiдiрiссiздiкті
және объекттер арасында қатынау құқықтарын табыстауды қолдайды.
14. Коммерция сервисі (Trade Service) объекттерге өзінің сервистері
туралы хабарлама жасап, еңбек нарығына өздері туралы жариялауын
қолдайды.
15. Контейнерлер
сервисі
(Collection
Service)
қол
жетімді
контейнерлерді құру және қолдауға CORBA интерфейстерін ұсынады.
Достарыңызбен бөлісу: |