Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Технологія CORBA




Самостійна робота

План лекції

Тема 7. CORBA - технологія.

Лекція № 7

1.Технологія CORBA.

2.Середовище Delphi.

3. CORBA технології при програмуванні в середовищі Delphi.

4. Елементи ActiveX, що управляють.

Зміст лекції

CORBA - це набір специфікацій, що виникає в результаті найширшого обговорення реальних проблем, що накопичилися, в якому беруть участь і розробники і споживачі технологій. В результаті такого обговорення створюється документ, що пропонує вирішення даних питань на рівні існуючих технологій і технологій найближчої перспективи. Гідністю випереджаючої розробки специфікації в порівнянні з реалізацією є можливість для незалежних розробників створювати потенційно сумісні продукти, не обмежуючи свободи вибору мов, ОС, апаратних платформ, і не диктуючи вибору конкретного технологічного рішення.

Альтернативні підходи, найбільш яскраво виражені в політику Microsoft і Sun, не відповідають сучасним тенденціям розвитку технологій, згідно з якими диктат одного виробника (хоч би і з самими кращими намірами) загалом, створює більше проблем, чим вирішує. Тут маються на увазі не лише технології. Прикладом цього служить ОС Windows, яка має більше користувачів, чим усі інші разом узяті, і при цьому більшість розглядає цей вибір як вимушений.

Будь-який приватний стандарт, підтримуваний окремим виробником (залишаючи збоку питання про його відкритість) вимушений наслідувати лінію розвитку, що історично склалася, що рано чи пізно входить в протиріччя з інтересами споживача.

 

Проблема монопольних стандартів полягає у свідомо протекціоністській політиці власника стандарту, що проявляється на інших пов'язаних ринках, у випадку з Microsoft, це ОС. Посилене просування СОМ на платформі Windows робить перенесення цього стандарту на інші платформи економічно невигідним, примушуючи розробника вступати у свідомо програшну конкуренцію з Microsoft.

CORBA є концепцією, а не її реалізацією. Коли ми говоримо "COM", то розуміємо під цим швидше набір конкретних засобів - елементів операційної системи, бібліотек, утиліт і тому подібне, що є складовою частиною того, що називається Microsoft Windows. Під терміном "CORBA" розуміється саме складна і розвинена концепція, сформульована на рівні спеціальної мови описів, - IDL. Реалізації ж цієї концепції можуть сильно відрізнятися один від одного за різними критеріями, найбільш важливими в тому або іншому випадку. VisiBroker (розробки Visigenic/Borland/Inprise/Corel) і Application Server, BEA WebLogic, Iona Orbix, Oracle Application Server і "картріджи" Oracle, IBM BOSS - усі ці продукти використовують ті або інші можливості CORBA.

Під "стандартом" стосовно CORBA розуміється те, що офіційно затверджене консорціумом OMG. Слід сказати, що це дуже високий рівень "легітимності", оскільки авторитет OMG у комп'ютерному світі надзвичайно високий. OMG є некомерційною організацією, що є співдружністю розробників програмного забезпечення і його споживачів, що об'єднали свої зусилля для створення специфікацій цієї технології. Зараз в OMG полягає більше 800 членів, включаючи усіх скільки-небудь серйозних виробників програмного забезпечення (і навіть c недавнього часу Microsoft). Перша специфікація CORBA з'явилася в 1991 р. Нові можливості офіційно вважаються доданими в CORBA у момент затвердження відповідної специфікації. Як правило, в розробці специфікації беруть участь видатні фахівці в цій області. Розробка реалізації - завдання конкретної фірми. Зазвичай від затвердження специфікації до появи високоякісної реалізації проходить досить багато часу - іноді декілька років. Зараз стандартизовано відображення мови IDL на 6 мов програмування - Ada, C, C++, Cobol, Java і Smalltalk. Існують також відображення на Pascal (точніше, Delphi), Perl, Python і ще декілька мов, але вони не стандартизованы.

Об'єкти CORBA можна розглядати як екземпляри (instances) деякого метатипа, причому і метатип, і самі об'єкти існують поза зв'язком з конкретною програмою на конкретній мові. Цей метатип в CORBA називається "інтерфейсом".

Інтерфейс

На щастя, для новачка у світі CORBA зрозуміти, що ж таке інтерфейс, не складає ніяких труднощів.

Інтерфейс в CORBA - це логічно згрупований набір методів і атрибутів. Кожному інтерфейсу привласнюється ім'я, унікальне в межах однієї розподіленої системи. На відміну від СОМ в CORBA немає бінарного стандарту інтерфейсів. Замість цього існує стандартна мова описів IDL. Так вже вийшло, що мови з назвою IDL існують в трьох різних технологіях - OSF/DCE, Microsoft/COM і OMG/CORBA. Ці мови багато в чому схожі, оскільки призначені для одного і того ж, але OMG/IDL дещо відрізняється від своїх "однофамільців".

За його основу була узята мова C++ (його описова частина і директиви препроцесора), тому читач, знайомий з C++, при роботі з IDL почуватиме себе цілком комфортно.

Ось приклад оголошення інтерфейсів на мові IDL:

exception MyException {}; interface MyBaseInterface { long MyMethod_1(in long i, out string str); void MyMethod_2 () raises (MyException); }; interface MyDerivedInterface: MyBaseInterface { octet MyMethod_3 (inout double d); };

Зараз останнім стандартом CORBA є стандарт версії 2.3. У нім поняття "об'єкт" і "інтерфейс" пов'язані, так би мовити, відношенням "один до одного" - один об'єкт не може підтримувати декілька інтерфейсів. У стандарті CORBA 3.0, прийняття якого очікується до кінця 2000 г, повинна з'явитися можливість створення об'єктів, що підтримують декілька інтерфейсів.

За допомогою наведеного вище прикладу визначення інтерфейсу (і, природно, певного програмного коду) ви можете, припустимо, створити 5 об'єктів типу MyBaseInterface і 10000 об'єктів MyDerivedInterface. Кожен з цих об'єктів зіставлений зі своїм типом і, окрім цього, має свій унікальний ідентифікатор.

Ще раз повторимо - створення вищезгаданих 10005 об'єктів в загальному випадку ніяк не пов'язано з "захопленням" ні ресурсів комп'ютера (в першу чергу пам'яті), ні мережевих ресурсів.




Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 781; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.