Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций РСОИ.doc
Скачиваний:
20
Добавлен:
04.11.2018
Размер:
1.93 Mб
Скачать

Розділ 4. Створення системи "клієнт - сервер" на основі технології corba

4.1. Загальні теоретичні відомості

Технологія CORBA (Common Object Request Broker Architecture) – передбачає використання загальної архітектури брокерів (посередників) об'єктних запитів. Особливість технології полягає в її незалежності від апаратної та операційної платформи. За принципами технології CORBA в системі клієнт-серверк функціональність сервера надається клієнту за допомогою звертання до CORBA-об'єктів, які є контейнерами інтерфейсів, до яких включаються методи, що надаються клієнтам.

Технологія CORBA розроблена групою OMG (Object Management Group), яка об’єднала зусилля як постачальників, так і користувачів інформаційних технологій. Сьогодні в OMG входять понад 800 компаній, серед яких: Air Force Institute of Technology, American Airlines, Apple Computers, AT&AMPT, Bellcore, Boeing Computer Services, Borland International, Chase Manhattan Bank, Digital Equipment, Fujitsu, General Electric, Hewlett-Packard, IBM, ICL, Informix Software, Intel, Los Alamos National Lab., Microsoft, MIT, Oracle, Siemens AG, SunSoft, Sybase, Texas Instruments, US Defense Information Systems Agency та інші.

Стандарт CORBA складається з 4 основних частин:

  • Object Request Broker - посередник об’єктних запитів;

  • Object Services – об’єктні сервіси;

  • Common Facilities – загальні засоби;

  • Application та Domain Interfaces – прикладні та галузеві інтерфейси.

Відповідно до вищезазначених складових стандарту технології CORBA, взаємодія між клієнтом та сервером буде здійснюватися так, як зображено на рисунку 4.1.

На машині клієнта створюються об’єкти-посередники: Stub (заглушка) і ORB (Object Require Broker – брокер об’єкту, що запитується). Stub виступає у ролі повноважний представника об’єкту, за допомогою інтерфейсу об’єкту клієнт звертається до Stub так, ніби це є власне об’єкт.

Отримавши виклик методу, Stub транслює цей виклик об’єкту ORB, який відсилає у мережу широкосповіщувальне повідомлення. На це повідомлення відкликається один з об’єктів Smart Agent («розуний» агент), що встановлений у мережевому середовищі клієнта (як у локальній мережі, так і в Internet). Smart Agent моделює мережевий каталог, в якому зареєстровані відомі йому сервери об’єктів. Після цього він відшукує необхідну мережеву адресу сервера та передає запит об’єкту ORB на машині сервера. Відзначимо, що обмін даними між ORB (клієнта та сервера) і Smart Agent здійснюється з використанням спеціального протоколу UDP, який більш дбайливо використовує мережеві ресурси, ніж протокол TCP. Через ВОА (Basic Object Adapter – базовий об’єктний адаптер) дані отримує особливий об’єкт сервера, який зветься Skeleton (основа). Skeleton вміщує параметри виклику в стек адресного простору об’єкту та реалізує власне виклик.

Роль об’єкту ВОА полягає у фільтрації звернень до об’єкту сервера, за допомогою його методів сервер через Skeleton може об’явити деякі свої поля та властивості доступними тільки для читання або взагалі схованими від певного клієнта. (Оскільки в рамках технології дані, якими обмінюються клієнт та сервер, розглядаються просто як ланцюжки байт, клієнт повинен помістити в буфер виклику свій авторизований ключ в системах, які захищені від «сторонніх» клієнтів).

Особливістю COBRA є спосіб опису інтерфейсу об’єкту. Для таких цілей розроблено спеціальну мову IDL (Interface Definition Languageмова опису інтерфейсу). За синтаксисом вона схожа на мову C++. Після опису інтерфейсу в термінах цієї мови компілятор IDL автоматично створює об’єкти Stub і Skeleton. Обмін інформацією про інтерфейс між розробниками здійснюється в термінах мови високого рівня, в той час коли компілятор опису інтерфейсу переводить його текст в машинні інструкції конкретного комп’ютера (клієнта або сервера). У підсумку досягається високий ступінь незалежності обміну даними від апаратних засобів клієнта та користувача.

Для реалізації технології в мережевому середовищі клієнта повинен існувати хочя б один Smart Agent. Якщо обмін даними здійснюється через локальну мережу, Smart Agent встановлюється на головну машину (на клієнт-сервер або машину з SQL-сервером), а при обміні даними через Internet – на одному з вузлів мережі. При створенні сервера здійснюється автоматична реєстрація об’єктів в одному або декількох Smart Agent. Отже, Smart Agent «знає», за якими мережевими адресами розташовані його сервери. Така організація дозволяє підвищити надійність, оскільки у випадку, якщо в одному сервері збій, Smart Agent повторить виклик та при повторному збої переключиться на інший сервер.