Стандарти DCOM

Друга розподілена система об’єктів – це розподілена модель COM/DCOM. DCOM – технологічний стандарт від Microsoft, призначений для створення ПЗ на основі розподілених компонентів, що взаємодіють. Стандарт втілює в собі ідеї поліморфізму та інкапсуляції об’єктно-орієнтованого програмування. Стандарт COM закріпився в складі OS Microsoft Windows. В зв’язку із цим, на відміну від CORBA, DCOM уникла обговорення у комітеті, що спричинило відсутність добре спроектованої архітектури з мінімальним набором базових елементів, із яких формуються компоненти та служби.

Основним поняттям, яким оперує стандарт DCOM, є COM-компонент: це виконуваний код, який міститься у бібліотеці, що динамічно компонується (DLL). Компонент взаємодіє з іншими програмами через COM-інтерфейси – набори абстрактних функцій і властивостей. Як і в CORBA об’єктна модель в DCOM побудована на реалізації інтерфейсів, причому, один об’єкт може одночасно реалізовувати декілька інтерфейсів. На відміну від CORBA в DCOM існують тільки бінарні інтерфейси, який являє собою таблицю із вказівниками на реалізації методів, які є складовою інтерфейсу. В DCOM також існує мова визначення інтерфейсу MIDL. За допомогою якої генеруються бінарну інтерфейси стандартного формату.

Достоїнство бінарних інтерфейсів полягає в тому, що вони не залежать від мови програмування. У випадку CORBA кожного разу для підтримки нової мови програмування необхідно відображати опис IDL на конструкції певної мови. Подібна стандартизація у випадку бінарних інтерфейсів не потрібна. Відмінність між цими підходами ілюструє рисунок на наступному слайді [слайди на стор. 37-38, Lect_2.pdf].

Розподілена система об’єктів Globe

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