Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
ЛЕКЦІЯ №12
Тема: DCOM-технологія. CORBA-технологія. Розподілене програму-вання
План лекції
Порівняльний аналіз технологій CORBA і COM 1
Зростання популярності розподілених систем викликане істотним посилюванням вимог, що пред'являються замовником до сучасних програмних продуктів. Мабуть, найважливішими з цих вимог є наступні:
COM і CORBA можна порівнювати лише з врахуванням певних допущень. Відмова від таких допущень легко дозволяє отримати який завгодно результат. Ось ці допущення:
Концептуальний фундамент технології
COM Технологія створювалася фірмою Microsoft як засіб взаємодії додатків (у тому числі складових частин операційної системи) Windows, що функціонують на одному комп'ютері, з подальшим розвитком для використання в межах локальної мережі. Головне завдання на момент створення - забезпечення технології Object Linking and Embedding (OLE 1.0). Характерний, що обмін даними між додатками (Dynamic Data Exchange, DDE) спочатку будувався не по COM-технологии, а з використанням механізму повідомлень (messages). Розвиток технології йде у міру додавання нових можливостей. Як універсальна технологія взаємодії додатків COM почав використовуватися з OLE 2.0 (1991). Концепція технології нерозривно пов'язана з її реалізацією. Поява нових можливостей - це просто поява нових бібліотек, функцій API і утиліт Windows. Спільний знаменник технології - двійкова структура об'єкту, хоча зараз існує мова опису структури об'єкту - Interface definition Language (IDL).
CORBA Технологія створювалася консорціумом OMG як універсальна технологія створення розподілених систем в гетерогенних середовищах. OMG є некомерційною організацією, що є співдружністю розробників програмного забезпечення і його споживачів, що об'єднали свої зусилля для створення специфікацій цієї технології. Зараз в OMG полягає більше 800 членів, включаючи всіх скільки-небудь серйозних виробників програмного забезпечення (і навіть з недавнього часу Microsoft). Перша специфікація CORBA з'явилася в 1991 р. Нові можливості офіційно вважаються доданими в CORBA у момент затвердження відповідної специфікації. Як правило, в розробці специфікації беруть участь найбільші фахівці в даної області. Розробка реалізації - завдання конкретної фірми. Зазвичай від затвердження специфікації до появи високоякісної реалізації проходит досить багато часу - інколи декілька років. Спільний знаменник технології - оголошення на мові IDL, яка є серцем CORBA з моменту її появи. (Існують три різні мови описів з однією і тією ж назвою - OSF IDL, Microsoft IDL і OMG IDL).
Виводи
Технологія CORBA носить істотно загальніший і універсальний характер, ніж COM, що закладене в її фундаменті. Випередження розробки специфікацій (в порівнянні з реалізаціями) дозволяє добитися більш зв'язною, цілісної і гармонійної системи. З іншого боку, при розробці реального проекту потрібно заздалегідь переконатися, що високоякісна реалізація того або іншого сервісу CORBA вже доступна (джерелами проблем можуть служити, наприклад, Persistence Service і Security Service).
Комплексність системи
COM містить все необхідне, що потрібне для побудови розподіленої системи: технологію видаленого виклику методів (як статичних, так і динамічних), бази даних серверних об'єктів (бібліотеки типів), які можуть бути імпортовані для аналізу структури серверів COM, універсальний протокол обміну між клієнтами і серверами, специфікації так званих складених документів (ActiveDoc), об'єктний монітор транзакцій (MTS), компонентну модель (ACTIVEX) і ін. Всі складові частини прекрасно відповідають один одному в рамках моделі COM. Унікальною можливістю COM є універсальна технологія доступу до баз даних - OLE DB/ADO.
CORBA Зараз CORBA не має своєї власної компонентної моделі; робота над нею почалася в 1998 р. і ще не завершена. Це головний серйозний недолік. Правда, він декілька компенсується наявністю заснованою на CORBA компонентною моделлю Enterprise JavaBeans, так що програмісти на Java знаходяться в привілейованому положенні. Все інше, що присутній в COM, є і в CORBA, і навіть більш того - за винятком універсальної технології доступу до БД. Знову-таки, Java-программисты мають перевагу і тут - за рахунок наявності загальною для Java технології доступу до даних JDBC.
Виводи
Зараз COM більш закінчена система, але на нижчому рівні і при істотно більшій кількості обмежень, визначуваних самою концепцією системи.
Використовувані мови програмування
Потенційно COM можуть підтримувати самі різні мови програмування - все вирішує фірма Microsoft. Додавання деяких розширень або експертів (wizard) в систему розробки дозволить використовувати для роботи з COM будь-яку мову програмування. Зараз найширше використовуються Visual Basic, C++ і Delphi. Серйозні проблеми виникли при використання мови, на яку покладалися особливі надії, - з Java. Microsoft добилася прекрасної взаємодії Java з COM, але досягнуто це було шляхом відмови від переносимості таких Java-программ на інші віртуальні машини Java. Не випадково продукт фірми Microsoft - J++ - не містить в назві Java. Взагалі, рівень стандартизації для COM досить слабкий. Це не обов'язково потрібно розглядати як недолік - врешті-решт, мова C років п'ятнадцять прекрасно обходилася без формального стандарту.
CORBA Під стандартом стосовно CORBA розуміється те, що офіційно затверджене консорціумом OMG. Треба сказати, що це дуже високий рівень легітимності, оскільки авторитет OMG на комп'ютерному світі надзвичайно високий. Зараз стандартизовано відображення мови IDL на 6 мов програмування - Ada, C, C++, Cobol, Java і Smalltalk. Існують також відображення на Pascal (точніше, Delphi), Perl, Python і ще десяток мов.
Найбільш використовуваними мовами зараз є Java (унаслідок прекрасної взаємодії Java-технологий, особливо JDBC, RMI, JNDI і EJB, з CORBA), і C++ - як найефективніша, потужніша і поширеніша мова комп'ютерної індустрії.
Виводи
Обоє технології не випробовують особливих проблем з точки зору взаємодії з мовами програмування. Деякі переваги має CORBA - за рахунок строгішої стандартизації і багатшого вибору доступних засобів розробки.
Питання для самоперевірки
Лавріщева К.М. Програмна інженерія К., 2008. 319с.
Липаев В.В. выбор и оценивание характеристик качества пограмных средств. Методы и стандарты. М.: СИНТЕГ, 2001. 228 с.
Якобсон А., Буч Г.и др. Унифицированный процесс разработки программного обеспечения. СПб.: Питер, 2002. 496 с