ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ИспользованиС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ COM, DCOM, CORBA Π² качСствС срСдств ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ эффСктивности управлСния прСдприятиСм

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Для описания интСрфСйсов ΠΈ Π΄Π»Ρ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ связи ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° с ΡΠ΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ язык IDL (ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ OMG ΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ с ΡΠ·Ρ‹ΠΊΠΎΠΌ IDL Π² RPC). Π―Π·Ρ‹ΠΊ IDL Π² CORBA позволяСт ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ интСрфСйсы создаваСмых ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². ОписаниС, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, прСдставляСтся Π² Π²ΠΈΠ΄Π΅ модуля ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, описания Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, интСрфСйсов ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π’ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ИспользованиС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ COM, DCOM, CORBA Π² качСствС срСдств ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ эффСктивности управлСния прСдприятиСм (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π”Π•ΠŸΠΠ Π’ΠΠœΠ•ΠΠ’ ΠžΠ‘Π ΠΠ—ΠžΠ’ΠΠΠ˜Π― Π“ΠžΠ ΠžΠ”Π ΠœΠžΠ‘ΠšΠ’Π« ГосударствСнноС Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ срСднСго ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ образования ΠŸΠžΠ›Π˜Π’Π•Π₯ΠΠ˜Π§Π•Π‘ΠšΠ˜Π™ ΠšΠžΠ›Π›Π•Π”Π– № 8

ΠΈΠΌΠ΅Π½ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ‹ ГСроя БовСтского Боюза И. Π€. Павлова

(Π“ΠΠžΠ£ БПО ΠŸΠš № 8 ΠΈΠΌ. Π˜.Π€. Павлова) ΠšΠ£Π Π‘ΠžΠ’ΠΠ― Π ΠΠ‘ΠžΠ’Π ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚: Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Π’Π΅ΠΌΠ°: ИспользованиС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ COM, DCOM, CORBA Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ срСдств ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ эффСктивности управлСния прСдприятиСм Π˜Π‘ΠŸΠžΠ›ΠΠ˜Π’Π•Π›Π¬: НамТиу Π‘Π΅Ρ€Π³Π΅ΠΉ Π˜Π²Π°Π½ΠΎΠ²ΠΈΡ‡ Москва, 2013 Π³ Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π“Π»Π°Π²Π° пСрвая. ВСхнология распрСдСлСнных вычислСний CORBA

Π“Π»Π°Π²Π° вторая. OсновныС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ информационная тСхнология опСрационная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π˜Π·Π²Π΅ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ распрСдСлСнная информационная систСма состоит ΠΈΠ· ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. КаТдая ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ прСдставляСт собой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, исполняСмый Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ процСсса. ИспользованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ — ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΈ создании ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм позволяСт Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… уровнях абстракции ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±Π»Π°Π΄Π°Π» Π±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ повСдСния. ВзаимодСйствиС Ρ‚Π°ΠΊΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв, осущСствляСтся Π½Π° Π±Π°Π·Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ срСды взаимодСйствия, основной Ρ†Π΅Π»ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ являСтся рСализация ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями Π² ΠΊΠΎΠ½Ρ‚СкстС Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹Ρ… распрСдСлСнных срСд, ΡΠ²Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ.

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ срСды взаимодСйствия, Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‚Ρ€ΡƒΠ΄Π½Π΅ΠΉΡˆΠΈΡ… этапов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Как ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, созданиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм собствСнной, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ срСды взаимодСйствия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ с ΠΎΠ΄Π½ΠΎΠΉ стороны ΠΊ Ρ€Π΅Π·ΠΊΠΎΠΌΡƒ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° построСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Π° Ρ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΡ‚Π΅ (ущСрбности) ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. ИсслСдования ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² создания ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ собствСнной, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ срСды, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ относятся ΠΊ ΡƒΡ€ΠΎΠ²Π½ΡŽ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния (middleware) ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Ρ‚Π°ΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ срСды взаимодСйствия. Однако Π½Π΅ Π²ΡΠ΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ уровня middleware ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ срСды взаимодСйствия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π­Ρ‚ΠΎ обусловлСно Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС являСтся использованиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΡ… ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΌ ΠΈ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹ΠΌ стандартам Π² ΠΎΠ±Π»Π°ΡΡ‚ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. Π’ ΡΠ²ΡΠ·ΠΈ с ΡΡ‚ΠΈΠΌ, Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΠΉ дСнь, Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… Π²Ρ‹ΡΠΎΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ срСду взаимодСйствия, всС Ρ‡Π°Ρ‰Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ стандарт CORBA.

Π“Π»Π°Π²Π° пСрвая. ВСхнология распрСдСлСнных вычислСний CORBA

ВСхнология распрСдСлСнных вычислСний CORBA (Common Object Request Broker Architecture) ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ассоциациСй OMG (Object Management Group). Π­Ρ‚ΠΎ инвариантная ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΠΈ ΡΠ·Ρ‹ΠΊΡƒ программирования ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎ-ориСнтированная (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ) сСтСвая тСхнология. АрхитСктура CORBA прСдставлСна Π½Π° Ρ€ΠΈΡ. 1.

Π‘Ρ…Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ взаимодСйствиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π² Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ CORBA ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠšΠ»ΠΈΠ΅Π½Ρ‚ обращаСтся с Π·Π°ΠΏΡ€ΠΎΡΠΎΠΌ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Запрос направляСтся ΠΊ ΠΏΠΎΡΡ€Π΅Π΄Π½ΠΈΠΊΡƒ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌΡƒ ORB (Object Request Broker), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ способСн Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствия, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для нахоТдСния Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΡΠ΅Ρ‚ΠΈ ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ запроса. Π’ ΠΏΠΎΡΡ€Π΅Π΄Π½ΠΈΠΊΠ΅ имССтся ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сформированный ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (рССстр ΠΈΠ»ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚Π°Ρ€ΠΈΠΉ) интСрфСйсов ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²-исполнитСлСй. ΠŸΠΎΡΡ€Π΅Π΄Π½ΠΈΠΊ пСрСнаправляСт запрос ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŽ. Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. ПослС выполнСния ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ.

Рис. 1. АрхитСктура CORBA

ΠŸΡ€ΠΈ этом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ для Π΅Π³ΠΎ восприятия ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΈΠ½Ρ‚СрфСйсов, Π° Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° эти ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ пСрСводятся Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ (ссылки), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ срСдствами ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ интСрфСйс Π² Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ сСти ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ².

Для описания интСрфСйсов ΠΈ Π΄Π»Ρ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ связи ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° с ΡΠ΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ язык IDL (ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ OMG ΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ с ΡΠ·Ρ‹ΠΊΠΎΠΌ IDL Π² RPC). Π―Π·Ρ‹ΠΊ IDL Π² CORBA позволяСт ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ интСрфСйсы создаваСмых ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². ОписаниС, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, прСдставляСтся Π² Π²ΠΈΠ΄Π΅ модуля ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, описания Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, интСрфСйсов ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π’ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ указываСтся ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ модуля. Π’ Ρ‡Π°ΡΡ‚ΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния, ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ситуации. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, float, double, char, boolean, struct), конструируСмыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, записи ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ‹) ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ ссылки, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΈΠ½Ρ‚СрфСйсы ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². ОписаниС интСрфСйсов начинаСтся с ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова interface, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π΄Π°Π½Π½ΠΎΠ³ΠΎ интСрфСйса ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ наслСдуСмых интСрфСйсов. Π”Π°Π»Π΅Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹) Π² Π²ΠΈΠ΄Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌΠΈ пСрСчислСниями ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΡ… ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΊ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ.

ΠšΠ»Π°ΡΡΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ) Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² CORBA-срСдС. Для этого компилятор IDL выполняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ класса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽΡΡ Π² ORB, — Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚Π°Ρ€ΠΈΠΉ интСрфСйсов. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, компилятор создаСт для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° IDL ΠΌΠ΅Ρ‚ΠΎΠ΄Π° клиСнтский ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΉ стабы — ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ доступ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСпозитария интСрфСйсов прилоТСния Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π΅ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… IDL-интСрфСйсов, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ динамичСских запросов.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ интСрфСйсов хранятся Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚Π°Ρ€ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ мноТСства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², содСрТащих описания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций, Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π Π΅ΠΏΠΎΠ·ΠΈΡ‚Π°Ρ€ΠΈΠΉ обСспСчиваСт Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ доступа ΠΊ ΡΡ‚ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ. Являясь ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ стандарта CORBA, IR ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ взаимодСйствиС Π±Ρ€ΠΎΠΊΠ΅Ρ€ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ.

ЀизичСски Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚Π°Ρ€ΠΈΠΉ интСрфСйсов являСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ собствСнный IDL-интСрфСйс. Π§Π΅Ρ€Π΅Π· этот интСрфСйс Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ прилоТСния ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… CORBA-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ….

БпСцификация рСпозитария интСрфСйсов ΡƒΠ΄ΠΎΠ±Π½Π° для построСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. К ΡΡ‚ΠΎΠΉ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ относятся CASE-срСдства, Π½Π°Π²ΠΈΠ³Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Ρ‚. Π΄.

Π‘Ρ‚Π°Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для обСспСчСния взаимодСйствия ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π°, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π² Ρ€Π°Π·Π½Ρ‹Ρ… адрСсных пространствах ΠΈΠ»ΠΈ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… (Π² Ρ‚ΠΎΠΌ числС ΠΈ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах). Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ CORBA ΠΎΠ½ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ stub ΠΈ skeleton. Stub (стаб) — это ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ сСрвСра Π² Π°Π΄Ρ€Π΅ΡΠ½ΠΎΠΌ пространствС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (ΠΈΠ½ΠΎΠ³Π΄Π° для Π΅Π³ΠΎ обозначСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ proxy). Skeleton (скСлСтон) — это ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π² Π°Π΄Ρ€Π΅ΡΠ½ΠΎΠΌ пространствС сСрвСра.

ОсновноС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ стабов — Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³Π° ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ. ΠœΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³ΠΎΠΌ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΡƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для пСрСсылки. ΠœΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ Ρ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, Ρ‡Ρ‚ΠΎ прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… срСдах ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, различия Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ символов, Π² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой). ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠΉ стаб Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π² ΡΠ΅Ρ‚ΡŒ, Π° ΡΠΊΠ΅Π»Π΅Ρ‚ΠΎΠ½, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ сСрвСрным стабом, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΡƒΠΆΠ΅ Π² ΡΡ€Π΅Π΄Π΅ сСрвСра ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ взаимодСйствуСт со stub-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, вызывая Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ (названия ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² сСрвСрного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°). Π’ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ stub-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ обращаСтся ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ской части Object Request Broker (ORB), ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅ΠΉΡΡ, Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΊ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ сСрвису middleware — Smart Agent (ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² сСти), ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌΡƒ собой Π½Π΅ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ directory service — слуТбу, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ поиск доступного сСрвСра, содСрТащСго Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Когда сСрвСр Π½Π°ΠΉΠ΄Π΅Π½, Π² Π΅Π³ΠΎ адрСсном пространствС создаСтся Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ сСрвСрный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, содСрТащий, Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, skeleton-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ORB ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ запрос ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° Basic Object Adapter (BOA). BOA — это Π½Π°Π±ΠΎΡ€ интСрфСйсов для создания ссылок Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, рСгистрации ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ запросов ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эту слуТбу, skeleton рСгистрируСт созданный сСрвСрный CORBA-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Smart Agent, Π° Ρ‚Π°ΠΊΠΆΠ΅ сообщаСт ΠΎ Π΄ΠΎΡΡ‚упности, Ρ„Π°ΠΊΡ‚Π΅ создания ΠΈ ΠΎ Π³ΠΎΡ‚овности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ запросы ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

На ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΠΎΠΉ сторонС Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½ΠΎΠ²ΠΎΠΌ классС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ сСрвСром, заносятся Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚Π°Ρ€ΠΈΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ. Π­Ρ‚Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ выполняСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² ORB имССтся нСсколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ², ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π½Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Ρ‚Π°ΠΊ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π° Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Ρ‚. ΠΏ.).

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π² Ρ‡Π°ΡΡ‚ности, Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ ΠΈ Π΄Π΅Π·Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Ρ€Π°Π·Π½Ρ‹Π΅ способы Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΈ Π΄Π΅Π·Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ… для обслуТивания ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ клиСнтского запроса создаСтся своя копия ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. Π’ Π΄Ρ€ΡƒΠ³ΠΈΡ… способах ΠΊΠΎΠΏΠΈΠΈ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ся, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ обслуТиваСт всС запросы с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π±Π΅Π· раздСлСния Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠŸΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ запроса Π±Ρ€ΠΎΠΊΠ΅Ρ€ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. Π”Π°Π»Π΅Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрноС взаимодСйствиС происходит Ρ‡Π΅Ρ€Π΅Π· стабы.

Π˜Π·Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ схСму ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрного взаимодСйствия Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ статичСской. Π’ CORBA прСдусмотрСны Ρ‚Π°ΠΊΠΆΠ΅ динамичСскиС Π²Ρ‹Π·ΠΎΠ²Ρ‹. Для ΠΈΡ… ΠΎΡΡƒΡ‰Π΅ΡΡ‚влСния Π½Π΅ Ρ‚рСбуСтся ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ формирования стабов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ компилятора языка IDL. ВмСсто стабов, спСцифичСских для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π² CORBA ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ динамичСского взаимодСйствия, ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½Ρ‹Π΅ ΠΊ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ. ΠŸΡ€ΠΈ этом Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для обращСния ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ прСдставлСны Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚ской ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π² Ρ‡Π°ΡΡ‚ности, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ ΠΈΠ· Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ария интСрфСйсов. ДинамичСскиС Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ся ΠΎΠ½ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π’ CORBA прСдусмотрСн ряд ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… сСрвисов, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ORB. Π’ Ρ‡Π°ΡΡ‚ности, это сСрвисы:

имСнования — присваиваСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² ΡΠ΅Ρ‚ΠΈ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ;

ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° — обСспСчиваСт созданиС, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²) Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅, Π² Ρ‚ΠΎΠΌ числС составных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² вмСстС со Π²ΡΠ΅ΠΌΠΈ ссылками ΠΈ Π°ΡΡΠΎΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ;

ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ — осущСствляСт ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ транзакциями (Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°, фиксация ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ) ΠΈΠ· ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΈΠ· ΠžΠ‘, Ρ‡Ρ‚ΠΎ позволяСт ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π² ΡΠ΅Ρ‚ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ сСрвСры;

событий — обСспСчиваСт асинхронноС распространСниС ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ сообщСний ΠΎ ΡΠΎΠ±Ρ‹Ρ‚иях, ΠΏΡ€ΠΎΠΈΡΡˆΠ΅Π΄ΡˆΠΈΡ… ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ процСссов, Ρ‡Ρ‚ΠΎ позволяСт заинтСрСсованным ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои дСйствия;

обСспСчСния бСзопасности — ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ….

ВСхнология COM (Component Object Technology) — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная программная спСцификация, прСдлоТСнная Microsoft. COM ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ надСТности взаимодСйствия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Данная тСхнология Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ структуру ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, язык программирования ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. COM являСтся стандартом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ модСль ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ трСбованиям COM-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, созданный согласно спСцификации COM называСтся COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. Данная тСхнология опрСдСляСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ взаимодСйствия COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ собой. COM относится ΠΊ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ стандартам, Ρ‚.ΠΊ. прилагаСтся ΠΊ ΠΎΡ‚транслированному Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. ВзаимодСйствиС COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² обСспСчиваСтся Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ интСрфСйсами, доступ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ обСспСчиваСтся Ρ‡Π΅Ρ€Π΅Π· ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ интСрфСйсов GUID (Global Unique Interface Identifyer), ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ опСрационная систСма. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ схоТ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈ доступС ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языках программирования, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠ³ΠΎ управлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‚.ΠΊ. доступ ΠΊ Π½ΠΈΠΌ обСспСчиваСтся Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ. COM-тСхнология Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ этот ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, пСрСнося ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ (Π² Π²ΠΈΠ΄Π΅ GUID) для доступа ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎ Π΄Ρ€ΡƒΠ³ для Π΄Ρ€ΡƒΠ³Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ρ‚.ΠΊ. доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ обСспСчиваСтся Ρ‡Π΅Ρ€Π΅Π· GUID. COM тСхнология Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ содСрТится Π½Π°Π±ΠΎΡ€ стандартных интСрфСйсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ядро Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ COM ΠΈ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΎΠΉ Π½Π°Π±ΠΎΡ€ API Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… для создания COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠΌΠΈ.

АрхитСктура COM являСтся Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΠΉ, ΠΈ Π½Π° Π½Π΅ΠΉ Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Microsoft, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ OLE ΠΈ ActiveX. Π­Ρ‚ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² Π½Π°ΡΡ‚оящСС врСмя ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ свои собствСнныС ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ свои Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π΄Π»Ρ управлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ COM ΠΊΠ°ΠΊ основу, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои собствСнныС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ созданныС, ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ COM-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ взаимодСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ COM.

COM ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ΅ понятиС ΠΊΠ°ΠΊ «ΠΊΠ»Π°ΡΡ», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎ ΡΠΌΡ‹ΡΠ»Ρƒ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… срСдствах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ COM-класса (COM class). COM-классы, для различия с ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языках, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ соклассами (CoClass). Π”Π°Π»Π΅Π΅ Π² Ρ‚СкстС Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ тСрминология, исходящая ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования.

Π’ COM-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

Interface (COM-интСрфСйс) — мноТСство ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²), чисто ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ…. Π’Π΅Ρ€ΠΌΠΈΠ½ «Ρ‡ΠΈΡΡ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄» ΠΈΠ»ΠΈ «Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄» исходит Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°, ΠΈ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ класса отсутствуСт рСализация ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π° ΠΏΡ€ΠΈΡΡƒΡ‚ствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅. ΠžΡ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ класса нСльзя ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π•Π³ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ общности для всСх ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… классов;

COM object (COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚) — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса CoClass, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ COM интСрфСйса;

COM/ActiveX server (COM сСрвСр ΠΈΠ»ΠΈ ActiveX сСрвСр) — ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ EXE, DLL ΠΈΠ»ΠΈ OCX, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ COM ΠΈΠ»ΠΈ ActiveX ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²;

Class factory (Ρ„Π°Π±Ρ€ΠΈΠΊΠ° классов) — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ· CoClass;

Type library (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ²) — Ρ„Π°ΠΉΠ», содСрТащий ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ COM/ActiveX сСрвСр.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² (type library) прСдоставляСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΈΠ½Ρ‚СрфСйсах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ActiveX-сСрСвСром. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠΎ ΡΠΌΡ‹ΡΠ»Ρƒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ (header) для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ C ΠΈ Π»ΡŽΠ±ΠΎΠΌΡƒ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ, содСрТащСму ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ…. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ записано Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ‚ΠΈΠΏΠΎΠ². ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡƒΡ‚Π΅ΠΌ опроса Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΆΠ΅ посрСдством Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ нСпосрСдствСнно Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ². ПослС создания Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ², ΠΊ Π½Π΅ΠΉ обСспСчиваСтся доступ Ρ‡Π΅Ρ€Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ интСрфСйсов: ITypeLib, ITypeInfo ΠΈ ITypeComp. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ITypeLib обСспСчиваСт доступ ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Ρ‚ΠΈΠΏΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· интСрфСйс ITypeInfo.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ интСрфСйс, Π² ΠΊΠ°ΠΊΠΎΠΌ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ содСрТится, количСство ΠΈ Ρ‚ΠΈΠΏ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² интСрфСйсов ΠΈ ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π­Ρ‚ΠΈ описания Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² ΡΠ΅Π±Ρ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ классов (CLSID) ΠΈ ΠΈΡ… ΠΈΠ½Ρ‚СрфСйсов (IID), Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ осущСствляСтся ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ. Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ информация:

Описания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, связанных с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ интСрфСйсами;

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ActiveX-сСрвСром, Π½ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ся интСрфСйсными ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ;

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎΠ± ΡΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… константах);

Бсылки Π½Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ² Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… Ρ‚ΠΈΠΏΠΎΠ².

ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для распространСния ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ использования ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ. Π’Π°ΠΊΠΆΠ΅ сущСствуСт Π΅Ρ‰Π΅ ряд ΠΏΡ€ΠΈΡ‡ΠΈΠ½ использования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Ρ‚ΠΈΠΏΠΎΠ²:

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ привязку ΠΊ vtable, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ описаны Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Ρ‚ΠΈΠΏΠΎΠ², Ρ‚.ΠΊ. ссылки Π² vtable Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ компиляции;

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, созданныС ΠΈΠ· ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ интСрфСйс IProvideClassInfo, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ‚ΠΈΠΏΠΎΠ². ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Π² ΡΠ²ΠΎΠ΅ΠΌ составС Π΄Π°Π½Π½Ρ‹Π΅ интСрфСйс, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‚.ΠΊ. ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… (ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ²);

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния ActiveX Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ‚ΠΈΠΏΠΎΠ², которая содСрТится нСпосрСдствСнно Π² DLL ΠΈΠ»ΠΈ OCX Ρ„Π°ΠΉΠ»Π΅, содСрТащСм ΠΊΠΎΠ΄ ActiveX-сСрвСра;

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Automation-сСрвСрами, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ‚ΠΈΠΏΠΎΠ², для Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ связывания с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ;

ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π² Π»ΡŽΠ±ΠΎΠΌ случаС ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π²Π½Π΅ΡˆΠ½ΠΈΠΌΠΈ прилоТСниями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ Ρ‚.ΠΎ. ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ использованиС Π±ΠΎΠ»Π΅Π΅ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ;

DCOM — программная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, разработанная ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Microsoft для распрСдСлСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ Π² ΡΠ΅Ρ‚ΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΌΠ°ΡˆΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ DCOM для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сообщСния (Π΅Π³ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹) ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ машинС. DCOM автоматичСски устанавливаСт соСдинСниС, ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ сообщСниС ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°.

COM ΠΈ DCOM — Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ прилоТСния ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ распрСдСлСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Windows. COM являСтся модСлью программирования Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², которая ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ взаимодСйствиС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π° DCOM — это своСго Ρ€ΠΎΠ΄Π° «ΠΊΠ»Π΅ΠΉ», ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, примСняСмыС Π² Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… прилоТСниях. DCOM Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄Π²ΡƒΠΌ ΠΈΠ»ΠΈ нСскольким ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ Π»Π΅Π³ΠΊΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС программирования ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ написаны, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΈ находятся ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

РаспрСдСлСнныС ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сущности, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ сообщСний. Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ простой ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ «Π²ΡΠ΅ ΠΈΠ»ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ». ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ считаСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ всСх ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² Π½Π΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π° ΠΏΡ€ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… вся опСрация отмСняСтся.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠΌ DCOM являСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ простота использования. Если программисты ΠΏΠΈΡˆΡƒΡ‚ свои Windows-прилоТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ActiveX (ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ³ΠΎ Microsoft способа ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²), Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ соСдинСния ΠΈ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ машинС ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ DCOM ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° Microsoft Π½Π°Π΄Π΅Π»ΠΈΡ‚ΡŒ Windows рядом Π²Π°ΠΆΠ½Ρ‹Ρ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй, Π² Ρ‡Π°ΡΡ‚ности, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСрвСр Microsoft Transaction Server, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· Internet. Новая ΠΆΠ΅ вСрсия COM+ Π΅Ρ‰Π΅ большС упростит ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ распрСдСлСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² Ρ‡Π°ΡΡ‚ности, благодаря Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ, ΠΊΠ°ΠΊ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Π΅ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.

Однако Ρƒ DCOM Π΅ΡΡ‚ΡŒ ряд нСдостатков. Π­Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΄ΠΎ ΡΠΈΡ… ΠΏΠΎΡ€ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° ΡΠΈΡΡ‚Π΅ΠΌΡ‹ Microsoft. DCOM ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ создавалась ΠΏΠΎΠ΄ Windows. Π₯ΠΎΡ€ΠΎΡˆΠΎ извСстно, Ρ‡Ρ‚ΠΎ Microsoft Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΠ»Π° соглашСниС с ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Software AG, ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ — пСрСнос DCOM Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Π’ Ρ‡ΠΈΡΠ»Π΅ нСдостатков ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° прСдусматриваСт использованиС для поиска ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π² ΡΠ΅Ρ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ Microsoft сСтСвой слуТбы ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Active Directory, появившСйся Π² Windows начиная с Π²Π΅Ρ€ΡΠΈΠΈ 2000. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΡ‚ ΡΠΎΠΎΡ‚Π²Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… слуТб Microsoft ΠΈ Ρ€Π΅Π·ΠΊΠΎ сниТаСт Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ использования Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

Π“Π»Π°Π²Π° вторая. OсновныС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ОсновноС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ CORBA ΠΈ COM — ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚ывания слоТных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… систСм.

Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ эти ΠΌΠΎΠ΄Π΅Π»ΠΈ? Π›ΡŽΠ±ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ взятого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ языка нСдостаточно для написания распрСдСлСнных Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСм. ΠžΡ‡Π΅Π½ΡŒ часто Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ систСмы Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ€Π°Π·Π½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ мноТСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² прилоТСния, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ бизнСс-процСссы, создавая Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ CORBA ΠΈ COM — это Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ срСды. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ взаимодСйствиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΈΡ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ Π² Ρ†Π΅Π»ΡŒΠ½ΡƒΡŽ систСму, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ уровня Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ².

ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ Ρ„изичСского размСщСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ исполняСмом Ρ„Π°ΠΉΠ»Π΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ процСсса ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ систСмС.

ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, взаимодСйствуя Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π΅Π΄ΠΈΠ½ΠΎΠΉ систСмы.

ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΡΠ·Ρ‹ΠΊΠ° программирования. Различия Π² ΡΠ·Ρ‹ΠΊΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ создании ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π½Π΅ ΠΏΡ€Π΅ΠΏΡΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈΡ… Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

CORBA ΠΈ COM Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ сходны Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π² Π½ΠΈΡ… достигаСтся рСализация этих ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ². Π­Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрныС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° прСдоставляСтся ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ посрСдством обращСния ΠΊ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½Ρ‹ΠΌ интСрфСйсам. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ опрСдСляСт Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, присущиС Π΄Π°Π½Π½ΠΎΠΌΡƒ классу ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Π΄Π°Π΅Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, скрывая ΠΎΡ‚ Π½Π΅Π³ΠΎ всС Π΄Π΅Ρ‚Π°Π»ΠΈ Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡƒΡ‚Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΈΠ½Ρ‚СрфСйсС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ дСйствия Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Π°Π΄Ρ€Π΅ΡΠ½ΠΎΠΌ пространствС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΠΏΡ€ΠΎΡ†Π΅ΡΡΡƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π‘ΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ слаТСнного взаимодСйствия ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π² Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΈ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΠ½ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΈ ΠΊΠ°ΠΊΠΎΠΉ язык программирования для этого использовался.

Π’ ΠΎΠ±Π΅ΠΈΡ… тСхнологиях взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ клиСнтским процСссом ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ процСссом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ ΠΈ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ экзСмпляры ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (RPC, remote procedure call). Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° RPC — ΡΡ‚Π°Ρ€Π΅ΠΉΡˆΠ΅ΠΉ ΠΈΠ· Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ RPC Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ схСму ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сообщСний, Π² ΡΠΎΠΎΡ‚вСтствии с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ сообщСниС с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΠΎ ΡΠ΅Ρ‚ΠΈ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ сообщСнии клиСнтскому процСссу.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту схСму, Π½Π° ΡΡ‚ΠΎΡ€ΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ Π½Π° ΡΡ‚ΠΎΡ€ΠΎΠ½Π΅ сСрвСра ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, носящиС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ клиСнтский ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΉ суррогаты (client stub ΠΈ server stub). Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΈΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ обращаСтся ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚скому суррогату, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅-запрос ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΈΡ… Π½Π° Ρ‚ранспортный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ соСдинСния. Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΉ суррогат распаковываСт ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ сообщСниС ΠΈ Π² ΡΠΎΠΎΡ‚вСтствии с ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΈΠ»ΠΈ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ RPC. Π’ Π‘ОМ клиСнтский суррогат называСтся proxy, Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΉ — stub. Π’ CORBA клиСнтский суррогат Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ названия, Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ skeleton.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠΎΠ³ΡƒΡ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΎΡ‚ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΠΎΠΉ языковой ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ срСдС, поэтому Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ский ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΉ суррогаты Π²ΠΎΠ·Π»Π°Π³Π°ΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ прСобразования Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π² ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ΅, Π½Π΅ Π·Π°Π²ΠΈΡΡΡ‰Π΅Π΅ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ прСдставлСниС. Π’Π΅ΠΌ самым достигаСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ взаимодСйствия ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ….

Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря, рассуТдая ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΈ этом Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ БОМ, ΠΌΡ‹ Π½Π΅ Π²ΠΏΠΎΠ»Π½Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹. ВзаимодСйствиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΡƒΠ·Π»Π°Ρ… сСти Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Distributed COM (DCOM), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, базируСтся Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ спСцификации DCE RPC. DCOM появилась Π² 1996 Π³ΠΎΠ΄Ρƒ вмСстС с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой Windows NT 4.0.

Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ ΠΆΠ΅ модСль БОМ Π±Ρ‹Π»Π° прСдставлСна Мicrosoft Π² 1993 Π³ΠΎΠ΄Ρƒ ΠΊΠ°ΠΊ интСграционная схСма для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ OLE, Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ построСния составных Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² ΠžΠ‘ Windows 3.1. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ инфраструктура БОМ позволяла Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ адрСсного пространства ΠΈΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚авляла собой фактичСски срСдство динамичСской ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Помимо OLE, модСль БОМ послуТила основой Ρ‚Π°ΠΊΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Microsoft, ΠΊΠ°ΠΊ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Microsoft Transaction Server ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ActiveX.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π‘ОМ, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° CORBA [1,2] с ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°Ρ‡Π°Π»Π° создавалась для распрСдСлСнных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… систСм. Π•Π΅ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ являСтся Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ взятая Ρ„ΠΈΡ€ΠΌΠ°, Π° ΠΊΠΎΠ½ΡΠΎΡ€Ρ†ΠΈΡƒΠΌ Object Management Group (сСйчас Π² Π½Π΅Π³ΠΎ входят Π±ΠΎΠ»Π΅Π΅ 800 ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ), ΠΏΠΎΡΡ‚Π°Π²ΠΈΠ²ΡˆΠΈΠΉ своСй Ρ†Π΅Π»ΡŒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ для взаимодСйствия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π½Π΅ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½ΠΎΠΉ сСтСвой срСдС.

Π‘Ρ€Π΅Π΄ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, ΠΎΡΠ½ΠΎΠ²Π°Π²ΡˆΠΈΡ… OMG, Π±Ρ‹Π»ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… систСм Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ уровня ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ с ΠΌΠΈΡ€ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Ρ‚Π°ΠΊΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ IBM, DEC, HP. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° развСртывания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠΌΠ΅ΡΠΈ ΠΈΠ· ΡΠ°ΠΌΡ‹Ρ… Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ — ΠΎΡ‚ ΠΌΡΠΉΠ½Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ² ΠΈ Unix-ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π΄ΠΎ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² — для Π½ΠΈΡ… стояла ΠΎΡ‡Π΅Π½ΡŒ остро. ΠšΠΎΠ½ΡΠΎΡ€Ρ†ΠΈΡƒΠΌ OMG стрСмился ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ построСния ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрных распрСдСлСнных систСм, с Ρ‚Π΅ΠΌ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, ΡΠΏΠΎΡΠΎΠ±Π½ΡƒΡŽ эффСктивно ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ взаимодСйствиС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π½Π΅ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ срСдС.

Π”ΠΎΠ±ΠΈΡ‚ΡŒΡΡ этой Ρ†Π΅Π»ΠΈ, ΠΎΠΏΠΈΡ€Π°ΡΡΡŒ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ производитСля, практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ — компания-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ ΠΎΡ‚Π΄Π°Π²Π°Π»Π° Π±Ρ‹ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ своСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈ Ρ‚Π΅ΠΌ самым прСпятствовала Π΄ΠΎΡΡ‚ΠΈΠΆΠ΅Π½ΠΈΡŽ истинной ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠΏΠ΅Ρ€Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ OMG пошла ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΅Π΄ΠΈΠ½Ρ‹Ρ… спСцификаций, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠΌΠ΅Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π―Π΄Ρ€ΠΎΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ CORBA (рис. 3) являСтся Π±Ρ€ΠΎΠΊΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… запросов (Object Request Broker, ORB). Π­Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ шина, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² ΡΡ‚ΠΈΠ»Π΅, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅ΠΌ классичСский ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ RPC, происходит взаимодСйствиС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π‘ОМ, ORB Π½Π΅ ΠΎΠΏΠΈΡ€Π°Π΅Ρ‚ся нСпосрСдствСнно Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ RPC, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ. Помимо самого Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ORB ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΠΎΠΈΡΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π΅Π³ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ запроса, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ запроса ΠΈ Π΄ΠΎΡΡ‚Π°Π²ΠΊΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, CORBA Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ нСсколько Π³Ρ€ΡƒΠΏΠΏ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ слуТбы, ΠΎΠ±Ρ‰ΠΈΠ΅ срСдства ΠΈ Π΄ΠΎΠΌΠ΅Π½Ρ‹. ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (Application Objects) ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ спСцифичСских бизнСс-процСссов. Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Ρ‰ΠΈΠ΅ для любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСды возмоТности, входят Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… слуТб (CORBA services): слуТба ΠΈΠΌΠ΅Π½, слуТба событий, слуТба сохранСния Π² Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ памяти, слуТба Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΈ Ρ‚. Π΄. ΠžΠ±Ρ‰ΠΈΠ΅ срСдства (CORBA facilities) — это Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для большого числа ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° составных Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΈ Π΄Ρ€. Π’ CORBA Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ понятиС Π΄ΠΎΠΌΠ΅Π½Π°; Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄ΠΎΠΌΠ΅Π½Π° (CORBAdomains) ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Ρ‹Π½ΠΊΠΎΠ² — здравоохранСния, страхования, финансового Ρ€Ρ‹Π½ΠΊΠ°, производствСнных отраслСй ΠΈ Ρ‚. Π΄.

Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° появлСния ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π΅Π΅ Π²Π΅Ρ€ΡΠΈΠΈ Π² ΠΎΠΊΡ‚ябрС 1991 Π³ΠΎΠ΄Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° CORBA постоянно ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΠ΅Ρ‚ΡΡ, Ρ‡Π΅ΠΌΡƒ ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΡƒΡŽΡ‚ строго Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ процСссы принятия Π½ΠΎΠ²Ρ‹Ρ… стандартов Π² OMG. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Π΅ стандарты ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹, ΠΈ Π»ΡŽΠ±Π°Ρ Ρ„ΠΈΡ€ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΊΠΎΠ½ΡΠΎΡ€Ρ†ΠΈΡƒΠΌΡƒ ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ свою Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ для стандартизации.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ

Π˜Ρ‚Π°ΠΊ, Π² ΠΌΠΎΠ΄Π΅Π»ΡΡ… CORBA ΠΈ COM ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ обслуТиваниС ΠΎΡ‚ ΡΠ΅Ρ€Π²Π΅Ρ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ ΠΌΠ΅Ρ‚ΠΎΠ΄, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Π² ΠΈΠ½Ρ‚СрфСйсС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’Π°ΠΆΠ½ΠΎΠΉ характСристикой ΠΎΠ±Π΅ΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ являСтся Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ интСрфСйсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ — ΡΡƒΡ‚ΡŒ абстрактный Π½Π°Π±ΠΎΡ€ связанных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρƒ доступно описаниС интСрфСйса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ доступ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π”Π΅Ρ‚Π°Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹. ΠœΠ΅Ρ‚ΠΎΠ΄ вызываСтся ΠΏΠΎ ΡΡΡ‹Π»ΠΊΠ΅, ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ дСйствия Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Π°Π΄Ρ€Π΅ΡΠ½ΠΎΠΌ пространствС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Однако Π·Π° ΡΡ‚ΠΈΠΌ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ сходством Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ различия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Π²ΠΎΠΏΠ»ΠΎΡ‰Π΅Π½ΠΈΠ΅ΠΌ Π² Π΄Π²ΡƒΡ… модСлях понятий ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², интСрфСйсов, Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΠΎ ΡΡΡ‹Π»ΠΊΠ΅ ΠΈ Ρ‚. Π΄. На Π½ΠΈΡ… ΠΈ ΠΎΡΡ‚ановимся.

Π’ CORBA интСрфСйс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° задаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ OMG языка описания интСрфСйсов (Interface Definition Language, IDL). Π’ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° — это Ρ‚ΠΈΠΏ Π΅Π³ΠΎ интСрфСйса. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ идСнтифицируСтся ΠΈΠΌΠ΅Π½Π΅ΠΌ, прСдставлСнным Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΎΠΉ символов. Π’ ΠΌΠΎΠ΄Π΅Π»ΠΈ CORBA ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ для всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² — CORBA: Object. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ своСго нСпосрСдствСнного интСрфСйса ΠΈ, ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ наслСдования, всС Π΅Π³ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹.

Π’ Π‘ОМ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ характСризуСтся своим классом. Класс — это рСализация Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ мноТСства интСрфСйсов. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ наслСдованиС интСрфСйсов Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ся, вмСсто этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько интСрфСйсов ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π’ Π‘ОМ интСрфСйс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ ΠΏΡƒΡ‚Π΅ΠΌ наслСдования Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ интСрфСйса. Для всСх интСрфСйсов сущСствуСт Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ интСрфСйс — IUknown. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ ΠΈΠ½Ρ‚СрфСйса Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΊ ΡƒΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ интСрфСйсу ΠΈΠ»ΠΈ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΈΠ½Ρ‚СрфСйсов ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ QueryInterface, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ интСрфСйсС IUknown. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ описания Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… интСрфСйсов для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈ Π² CORBA; анонсированная Π² ΡΠ΅Π½Ρ‚ябрС ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° вСрсия CORBA 3.0 Π² Ρ‡ΠΈΡΠ»Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠΉ содСрТит ΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ Multiple Interface.

Для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ классов ΠΈ ΠΈΠ½Ρ‚СрфСйсов БОМ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π΅ ΠΆΠ΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ (UUID), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приняты для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ интСрфСйсов Π² ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ DCE RPC. МоТно ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ обозначСния интСрфСйса, Π½ΠΎ Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ транслированы Π² Π½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ UUID. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π‘ОМ — это экзСмпляр класса. ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ указатСля Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΅Π³ΠΎ интСрфСйсов (interface pointer). Бвязь ΠΌΠ΅ΠΆΠ΄Ρƒ классом ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΈΠΌ ΠΈΠ½Ρ‚СрфСйсов достаточно ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Π°. НС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ класса ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ интСрфСйсов, ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ экзСмпляры класса ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ подмноТСства интСрфСйсов. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ класса ссылаСтся Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΈ Ρ„актичСский Π½Π°Π±ΠΎΡ€ интСрфСйсов для Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ становится ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ извСстСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΡΡ‚Π°Π΄ΠΈΠΈ выполнСния.

ВсС эти особСнности Π²Ρ‹Ρ‚Π΅ΠΊΠ°ΡŽΡ‚ ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ БОМ, которая Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ². Π”Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС интСрфСйса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Π‘ОМ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ языка Π‘ΠΈ++. ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ доступ ΠΊ ΠΈΠ½Ρ‚СрфСйсу посрСдством указатСля Π½Π° Ρ‚Π°ΠΊΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π° Π²ΡΠ΅ Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ скрыты ΠΎΡ‚ Π½Π΅Π³ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ссли ΠΏΡ€ΠΈ этом Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ‚ся интСрфСйс.

Заимствованная ΠΈΠ· Π‘ΠΈ++ модСль ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°Π±Π»ΠΈΡ† Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ°ΠΊ свои ΠΏΠ»ΡŽΡΡ‹, Ρ‚Π°ΠΊ ΠΈ ΠΌΠΈΠ½ΡƒΡΡ‹. НСвидимая ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Π½Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π²Ρ‹ΡΠΎΠΊΠ°Ρ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ адрСсного пространства ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π‘++ — ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ стороны Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, интСграция Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅. ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ мноТСствСнного наслСдования интСрфСйсов Π² Π‘ОМ — слСдствиС использования Ρ‚Π°Π±Π»ΠΈΡ† Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ прСдставляСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° ΠΎΠ΄Π½Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ наслСдованиС ΠΏΠΎΠ²Π»Π΅ΠΊΠ»ΠΎ Π±Ρ‹ Π·Π° ΡΠΎΠ±ΠΎΠΉ связь ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ интСрфСйса с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ понадобилось Π±Ρ‹ нСсколько ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ интСрфСйса. Π’ Π‘ОМ принята Π±ΠΎΠ»Π΅Π΅ громоздкая, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с CORBA, структура логичСских связСй ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Π΅Π³ΠΎ интСрфСйсов.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ интСрфСйсов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ‚ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ языка программирования. Но ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языков Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠΏΠΈΡ€Π°Ρ‚ΡŒΡΡ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нСпосрСдствСнно ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Π‘ΠΈ++, Π° Π΄Π»Ρ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… языков Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°Ρ‚ΡŒΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠΎ Ρ‡ΠΈΡΠ»Ρƒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… языков БОМ уступаСт CORBA, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ прСдусмотрСн Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ отобраТСния описаний интСрфСйсов Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… IDL Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ структуры Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ языка программирования.

Π Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ языками IDL ΠΏΠΎ Π²Π΅Ρ€ΡΠΈΠΈ OMG ΠΈ Microsoft — ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… для Π΄Π²ΡƒΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. Π’ CORBA язык описания интСрфСйсов — ваТнСйшая Ρ‡Π°ΡΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, основа схСмы ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ВсС интСрфСйсы ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° IDL. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ языки программирования ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ благодаря Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ отобраТСниям ΠΌΠ΅ΠΆΠ΄Ρƒ описаниям Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° IDL Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ опрСдСлСния Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ языкС. CORBA IDL Π·Π°Π΄Π°Π΅Ρ‚ опрСдСлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языков, Π½Π΅ Ρ‚рСбуя ΠΏΡ€ΠΈ этом Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡ‚ Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ языка. Π­Ρ‚ΠΈ отобраТСния Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ компилятором IDL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ исходныС ΠΊΠΎΠ΄Ρ‹ Π½Π° Π½ΡƒΠΆΠ½ΠΎΠΌ языкС. Π’ Π½Π°ΡΡ‚оящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ поддСрТиваСтся ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π‘ΠΈ, Π‘ΠΈ++, SmallTalk, Ada95, Visual Basic, Кобол Cobol ΠΈ Java. Π‘Π°ΠΌ IDL синтаксичСски Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π² Π‘ΠΈ++, Π½ΠΎ ΠΎΡ‚Π½ΡŽΠ΄ΡŒ Π½Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ этому языку.

Если Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² CORBA язык IDL ΠΈΠ³Ρ€Π°Π΅Ρ‚ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ, Ρ‚ΠΎ Microsoft IDL (MIDL) — лишь ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… способов опрСдСлСния интСрфСйсов ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ БОМ подчСркиваСтся, Ρ‡Ρ‚ΠΎ эта модСль Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ Π½Π° Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, поэтому всС спСцификации ΠΈ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹, относящиСся ΠΊ ΡƒΡ€ΠΎΠ²Π½ΡŽ исходных тСкстов ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт ΠΏΡ€ΠΈΡ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΈ MIDL, Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π³ΠΎ влияния Π½Π° ΠΎΠ±Ρ‰ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ систСмы.

MIDL — Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнтарий для написания интСрфСйсов. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ CORBA IDL, MIDL, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ DCE RPC IDL, Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, доступных Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ языкам программирования. На MIDL ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ интСрфСйсы ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΉΠΌΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π‘ΠΈ ΠΈ Π‘ΠΈ++, Π½ΠΎ Π΄Π»Ρ Visual Basic ΠΈ Java этого ΡƒΠΆΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСльзя. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ частично ΠΎΠ±Π΅Ρ‰Π°Π΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ новая спСцификация БОМ+, которая прСдоставит возмоТности встраивания срСдств опрСдСлСния БОМ-интСрфСйсов Π² ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ для языков Ρ‚ΠΈΠΏΠ° Visual Basic ΠΈ Visual C++.

ОбС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΡƒΠΆΠ΅ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π’ ΡΡ‚ΠΎΠΌ случаС Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ скомпилированных ΠΊΠΎΠΌΠ°Π½Π΄ для Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ интСрфСйс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ Π±Ρ‹Π» извСстСн Π½Π° ΡΡ‚Π°ΠΏΠ΅ компиляции. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΅ΠΌΡƒ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ интСрфСйсы динамичСского Π²Ρ‹Π·ΠΎΠ²Π°. Π’ CORBA ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ DII (Dynamic Invocation Interface) опираСтся Π½Π° Interface RepositΠΎry, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит написанныС Π½Π° IDL опрСдСлСния Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠ½Ρ‚СрфСйсов. ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π°Ρ рСализация Ρ‚Π°ΠΊΠΎΠ³ΠΎ рСпозитария зависит ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π±Ρ€ΠΎΠΊΠ΅Ρ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… запросов ORB. Помимо динамичСских Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚Π°Ρ€ΠΈΠΉ интСрфСйсов Π² CORBA ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для систСматичСской ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Ρ…ранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ Π‘ОМ Ρ‚Π΅ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ интСрфСйс Dispatch ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² Type Libraries.

CORBA ΠΈ Π‘ОМ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ подходят ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ (identity) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΈΡ… ΡΠΎΡ…ранСния Π² Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ памяти (persistance). CORBA Π²Π²ΠΎΠ΄ΠΈΡ‚ понятиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ссылки (object reference), которая ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΡΠ΅Ρ‚ΠΈ. Π’Π΅ΠΌ самым экзСмпляру ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° даСтся ΠΏΡ€Π°Π²ΠΎ Π½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π² Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΏΠΎΠ·ΠΆΠ΅ вновь Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΠΈ ΠΏΡ€ΠΈ этом ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ ссылка Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ всС врСмя Π½Π° ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ Π²ΠΎΠΏΠ»ΠΎΡ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Для особо Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ использования, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ ссылки ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ со ΡΠ»ΡƒΠΆΠ±ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈΠ»ΠΈ слуТбой ΠΈΠΌΠ΅Π½.

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ хранСния, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ сохранСния состояния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ памяти для дальнСйшСй Π΅Π³ΠΎ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ, Π² CORBA Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π΅Π½ для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π»Π΅Π³Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ: ΠΊΡƒΠ΄Π° ΠΈ ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ сохраняСтся экзСмпляр ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ соотвСтствуСт ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ сокрытия Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

Π’ Π‘ОМ понятиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ссылки отсутствуСт. Π‘Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΠΉ Π°Π½Π°Π»ΠΎΠ³ — это ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ moniker («ΠΊΠ»ΠΈΡ‡ΠΊΠ°»), ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ символьного ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ интСрфСйса. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ дСйствуСт для Ρ‚Π΅Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ памяти. Π”Π²Π° ΠΆΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΌΠΈ, Ссли для Π½ΠΈΡ… ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° ΠΈΠ½Ρ‚СрфСйс IUknown.

Для Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ хранСния Π² Π‘ОМ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Π²Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΈ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ модСль прСдоставляСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’ ΠΈΠ½Ρ‚СрфСйсС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ хранСния, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ носитСлСй. Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ памяти, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π³Π΄Π΅ Π±Ρ‹Π» сохранСн экзСмпляр ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π΅Π³ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ. Однако, такая модСль эффСктивна, скорСС всСго, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠΉ срСдС ΠΈΠ»ΠΈ Π² Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΎΠΉ локальной сСти, Π³Π΄Π΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. Π”Ρ€ΡƒΠ³ΠΎΠΉ, Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ сохранСния Π² Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π² Π‘ОМ прСдусматриваСт использованиС Microsoft Transaction Server (MTS), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ со ΡΡ‚ΠΎΡ€ΠΎΠ½Ρ‹ сСрвСра.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ слуТбы ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ

Помимо ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², БОМ ΠΈ CORBA ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… слуТб ΠΎΠ±Ρ‰Π΅Π³ΠΎ значСния, Π±Π΅Π· Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π΅ ΠΎΠ±Ρ…одится Π½ΠΈ ΠΎΠ΄Π½Π° прикладная срСда. ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Ρ… слуТб Π² Π΄Π²ΡƒΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… Π½Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹. Π’ Π‘ОМ прСдусмотрСны Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠ±Ρ‰ΠΈΠ΅ слуТбы, ΠΊΠ°ΠΊ Π·Π°Ρ‰ΠΈΡ‚Π° (security), ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ (lifecycle managemΠ΅nt), информация ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… (type information), ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ (naming), доступ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… (database access), ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… (data transfer), рСгистрация (registry) ΠΈ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΠ΅ взаимодСйствиС. Π’ CORBA информация ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… ΠΈ Ρ€Π΅Π³ΠΈΡΡ‚рация входят Π² Ρ‡ΠΈΡΠ»ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π±Ρ€ΠΎΠΊΠ΅Ρ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… запросов ORB. Π‘Π»ΡƒΠΆΠ±Π° имСнования Π² CORBA — это ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π·Π°Π΄Π°Π½Ρ‹ соотвСтствия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΠΈΡ… ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. Π’ Π‘ОМ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ подразумСваСтся схСма прСобразования ΠΈΠΌΠ΅Π½ Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° moniker.

Π’ Π‘ОМ слуТбы Π·Π°Ρ‰ΠΈΡ‚Ρ‹, рСгистрации, имСнования ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… нСпосрСдствСнно Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ модСль. Ряд ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… слуТб Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² MTS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ БОМ ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ срСду Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… систСм, прСдоставляя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ трСбования ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ, Π° Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ нСпосрСдствСнным ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. MTS Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ слуТбы, ΠΊΠ°ΠΊ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π·Π° Ρ€Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡ‹ΠΌ доступом ΠΊ Ρ€Π΅ΡΡƒΡ€ΡΠ°ΠΌ, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ экзСмпляров ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сСансами Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π°. БОМ+ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ MTS.

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ обСспСчиваСт синхронноС взаимодСйствиС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π°, Π½ΠΎ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ… распрСдСлСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅, асинхронныС взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ. Π­Ρ‚Ρƒ Π·Π°Π΄Π°Ρ‡Ρƒ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ сСрвСр ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ сообщСний Microsoft Message Queuing (MSMQ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ, Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΡƒΡŽ доставку сообщСний ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ. MSMQ доступСн ΠΊΠ°ΠΊ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… БОМ, Ρ‚Π°ΠΊ ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ API-интСрфСйсов.

Π‘Π»ΡƒΠΆΠ±Ρ‹ БОМ ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Ρ‹ MTS ΠΈ MSMQ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Windows 95 ΠΈ Windows NT ΠΈ Ρ‚Ссно ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ со ΡΠ»ΡƒΠΆΠ±Π°ΠΌΠΈ самих этих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. Подобная интСграция Π½Π°Ρ†Π΅Π»Π΅Π½Π° Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ Windows Π³ΠΈΠ±ΠΊΠΎΠΉ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСм. Microsoft стрСмится ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свою ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ максимально ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ ΠΏΡ€ΠΎΡΠ²Π»ΡΠ΅Ρ‚ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π·Π°Π±ΠΎΡ‚Ρƒ ΠΎΠ± ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с ΡƒΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ систСмами. Для этих Ρ†Π΅Π»Π΅ΠΉ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, срСдства OLE DB for AS/400, БОМ Transaction Integrator для CICS ΠΈ IMS, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ доступ ΠΊ ΡΠΈΡΡ‚Π΅ΠΌΠ°ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ IBM, сСрвСр Microsoft SNA.

БлСдуя ΠΎΠ±Ρ‰ΠΈΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ CORBA, интСрфСйсы Π΅Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… слуТб (спСцификация CORBAservices) написаны Π½Π° IDL. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ 15 ΠΎΠ±Ρ‰ΠΈΡ… слуТб CORBA: имСнования (naming); событий (events); ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° (life cycle); Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ хранСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (persistent); Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ (transactions); контроля Π·Π° Π΄ΠΎΡΡ‚ΡƒΠΏΠΎΠΌ ΠΊ Ρ€Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡ‹ΠΌ рСсурсам (concurrency control); ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ (relationsips); ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°/экспорта (externalization); запросов (query); лицСнзирования (licensing); свойств (property); Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (time); Π·Π°Ρ‰ΠΈΡ‚Ρ‹ (security); ΠΏΠ΅Ρ€Π΅Π³ΠΎΠ²ΠΎΡ€ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ (object trader); сбора ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (object collections).

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ слуТбы CORBA ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ строгой согласованной ΠΌΠΎΠ΄Π΅Π»ΠΈ. НаиболСС Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Π΅ ΠΈΠ· Π½ΠΈΡ… ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. К ΡΠ°ΠΌΡ‹ΠΌ распространСнным относятся слуТбы имСнования, управлСния ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΈ ΡΠΎΠ±Ρ‹Ρ‚иями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ ΠΈΠ· ΠΏΡ€ΠΈΠ½ΡΡ‚Ρ‹Ρ… OMG. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠ΅ прСдлоТСния OMG, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, слуТба Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΠΊΠ° ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ спСктр Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ. НаимСнСС ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌΠΈ оказались Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ слуТбы Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ хранСния, ΠΈ Π΅Π΅ ΡΠΏΠ΅Ρ†ΠΈΡ„икация Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Π² CORBA 3.0 Π½Π° Π½ΠΎΠ²ΡƒΡŽ — Persistent State Service (PSS). Π’ ΡΡ‚ΠΎΠΉ вСрсии появятся Ρ‚Π°ΠΊΠΆΠ΅ новая слуТба имСнования Interoperable Naming Service для ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠ³ΠΎ поиска ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½Π΅ Π·Π°Π²ΠΈΡΡΡ‰Π΅Π³ΠΎ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ORB, ΠΈ ΡΠ»ΡƒΠΆΠ±Π° асинхронного ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями Asynchronous Messaging.

Π”ΠΎ 1998 Π³ΠΎΠ΄Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ БОМ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ NT ΠΈ Windows 95. БСйчас Microsoft, ΠΊΠ°ΠΊ каТСтся, Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π»ΠΈΡ†ΠΎΠΌ ΠΈ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ систСмам. ΠŸΡ€Π°Π²Π΄Π°, ΠΏΠΎΠ½Π°Ρ‡Π°Π»Ρƒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ состояла Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈ Ρ„ΠΈΡ€ΠΌΡ‹ ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ БОМ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π’Π°ΠΊ, вСрсия БОМ для Sun Solaris Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Software AG. О ΡΠ²ΠΎΠΈΡ… намСрСниях пСрСнСсти БОМ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ OpenVMS объявила Compaq. Однако, судя ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ заявлСниям, Microsoft Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π° Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ собствСнными силами Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ пСрСноса БОМ.

ΠœΡ‹ ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ ΠΎΠ± ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡΡ… языковой ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² Π‘ОМ. Новый Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, БОМ+, ΠΏΠΎΠΌΠΈΠΌΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ мноТСствСнного наслСдования интСрфСйсов ΠΈ Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, ΠΎΠ±Π΅Ρ‰Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ языковыС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΏΡ€ΠΈΠ·Π²Π°Π½Π½Ρ‹Π΅ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² БОМ Π½Π° ΡΠ·Ρ‹ΠΊΠ°Ρ… Java, Visual Basic ΠΈ Visual C++. ΠŸΡ€Π°Π²Π΄Π°, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ CORBA, Π³Π΄Π΅ трансляция описаний Π½Π° IDL Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ язык осущСствляСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ СстСствСнным для этого языка способом ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΅Π³ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ, Π² Π‘ОМ+ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ срСдства настройки языка для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² БОМ.

Если Visual Basic тСсно привязан ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ систСмам MicrosΠΎft, Ρ‚ΠΎ Java ΠΏΠΎ ΡΡƒΡ‚ΠΈ своСй — ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ язык. Π’ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Java-ΠΌΠ°ΡˆΠΈΠ½Ρƒ ΠΎΡ‚ MicrosΠΎft Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ срСдства ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ БОМ. Благодаря этому ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π° Java Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Π‘ОМ — Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ использовании MicrosΠΎft JVM. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅, MicrosΠΎft Π½Π°Π΄ΠΎ Π»ΠΈΠ±ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Java-ΠΌΠ°ΡˆΠΈΠ½Ρ‹ для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, Π»ΠΈΠ±ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ БОМ Π² Java, минуя JVM.

Π’ CORBA ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»Π° Π·Π°Π»ΠΎΠΆΠ΅Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° мноТСства популярных языков программирования Π±Π΅Π· нСобходимости ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π½ΠΈΡ…. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ CORBA ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ компилятором, срСдствами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой. По ΡΡƒΡ‰Π΅ΡΡ‚Π²Ρƒ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Π±Ρ€ΠΎΠΊΠ΅Ρ€ запросов рСализуСтся Π½Π° Π±ΠΎΠ»ΡŒΡˆΠ΅ΠΌ числС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Microsoft, Ρ‡Π΅ΠΌ сама БОМ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Windows 3.1, Windows 95, Windows NT 3.5, Windows 4.0 ΠΈ DOS. CΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎ поддСрТиваСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ языков. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² CORBA Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ‚ΠΎΡ‚ ΠΆΠ΅ Visual Basic, ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ся стандартными возмоТностями Π΄Π°Π½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, Π½ΠΎ Π½Π°Π»ΠΈΡ‡Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… рСализациях.

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ CORBA-интСрфСйсов Π² Java Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Java-ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Iona, Sun ΠΈ Visigenic ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ слуТбы CORBA Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, написанныС Π½Π° Java. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π°ΠΏΠΏΠ»Π΅Ρ‚ Java, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ смоТСт ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΡΠ΅Ρ€Π²Π΅Ρ€Ρƒ CORBA Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ установки срСдств ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ CORBA.

Π—Ρ€Π΅Π»ΠΎΡΡ‚ΡŒ ΠΈ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… слуТб ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΡƒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ систСму, ΠΈ ΡΠΏΠ΅ΠΊΡ‚Ρ€ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ — ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. А ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ — ΠΊΠ»ΡŽΡ‡Π΅Π²Π°Ρ характСристика ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ систСмы. ОбС ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр ΠΎΠ±Ρ‰ΠΈΡ… слуТб, ΠΎΠ΄Π½Π°ΠΊΠΎ, БОМ, ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΅ Π΄Π΅Ρ‚ΠΈΡ‰Π° Microsoft, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ…Π²Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ. Π­Ρ‚ΠΎ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΉ изъян для систСмы, которая ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΡƒΠ΅Ρ‚ Π½Π° Ρ€ΠΎΠ»ΡŒ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π° для распрСдСлСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… организациях. ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ систСма ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ тысячи ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ дСсятки тысяч Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π² Π΄Π΅Π½ΡŒ.

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ описаниС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

ОбС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΡΠΏΠ΅Ρ†ΠΈΡ„икациях, Π½ΠΎ ΡΡ‚атус, ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ написания этих Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² сильно Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ.

CORBA опрСдСляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ спСцификации, написанной Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ IDL. ПоявлСнию ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ вСрсии ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ процСсс Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ стандарта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ быстрСС, Ρ‡Π΅ΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π² ISO. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ CORBA ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ…Π²Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ числом Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ спСцификации появился Π² 1991 Π³ΠΎΠ΄Ρƒ, ΠΈ ΡƒΠΆΠ΅ Π² 1992;ΠΌ Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ коммСрчСский ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ — Π±Ρ€ΠΎΠΊΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… запросов DEC ObjectBroker.

БпСцификация CORBA — это строго ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ описаниС, Π½Π΅ ΠΎΠ±Ρ€Π΅ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ дСталями Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄ΠΎΠ»ΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². ОбилиС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΎΡ‚ Ρ€Π°Π·Π½Ρ‹Ρ… поставщиков с ΠΎΠ΄Π½ΠΎΠΉ стороны стимулируСт ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΡŽ ΠΈ, ΠΊΠ°ΠΊ слСдствиС, ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½ΠΎ Ρ Π΄Ρ€ΡƒΠ³ΠΎΠΉ — ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ нСсовмСстимости Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². Π’Π°ΠΊ, спСцификация CORBA Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Basic Object Adapter, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт доступ ΠΊ ΡΠ΅Ρ€Π²ΠΈΡΠ°ΠΌ Π±Ρ€ΠΎΠΊΠ΅Ρ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… запросов со ΡΡ‚ΠΎΡ€ΠΎΠ½Ρ‹ сСрвСра ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚Π° Ρ‡Π°ΡΡ‚ΡŒ спСцификации оказалась слишком ΠΎΠ±Ρ‰Π΅ΠΉ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ слишком Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ свободы Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ собствСнных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ². Π’ ΠΈΡ‚ΠΎΠ³Π΅, часто ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΎΡΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ пСрСнСсти сСрвСрныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ORB Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π’ Π½ΠΎΠ²ΠΎΠΉ спСцификации пСрСносимого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° (Portable Object Adapter, POA) дСлаСтся ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ этот нСдостаток.

Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π±Ρ€ΠΎΠΊΠ΅Ρ€Ρ‹ запросов Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ General Inter ORB Protocol (GIOP). Π’ ΡΠ²ΡΠ·ΠΈ с Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ пСрСносом Π² ΡΡ€Π΅Π΄Ρƒ Web критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ наибольший интСрСс прСдставляСт рСализация ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° GIOP Π½Π° Π±Π°Π·Π΅ TCP/IP — ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Internet Inter ORB Protocol (IIOP).

БпСцификация БОМ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Microsoft, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Microsoft ΠΈ ΠΊΠΎΠ½Ρ‚ролируСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Microsoft. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ CORBA, это Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒ строго ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π”Π΅Ρ‚Π°Π»Π΅ΠΉ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ достаточно, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° умСстны. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ опрСдСляСтся модСль Connectable Objects, которая Π»Π΅ΠΆΠΈΡ‚ Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий Π² Visual Basic, Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ явной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² ΡΠ°ΠΌΠΎΠΉ БОМ. А Ρ€Π°Π·Π΄Π΅Π» описания Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° для динамичСского Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ практичСски Π½ΠΈΠΊΠ°ΠΊΠΈΡ… подробностСй Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ приходится ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈΡ… Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… источниках, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ SDK для ΠžΠ‘ Windows.

Π”ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΈΡ… ΠΏΠΎΡ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ БОМ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самой Microsoft. И ΡΡ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡Π΅ΡΡ‚ΡŒ Π΅Π΅ ΠΏΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ нСсовмСстимости ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Ρ€Π°Π·Π½Ρ‹Ρ… поставщиков. БСйчас этот вопрос ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Ссли Microsoft Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ заинтСрСсована Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ БОМ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ производитСлями. Π£ΡΠΎΠΌΠ½ΠΈΡ‚ΡŒΡΡ ΠΆΠ΅ Π² Ρ‚Π°ΠΊΠΎΠΉ заинтСрСсованности заставляСт Π΅Π΅ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚вованная вСрсия, БОМ+, которая Π²Π²ΠΎΠ΄ΠΈΡ‚ Π² Π΄Π°Π½Π½ΡƒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ модСль ряд Π²Π°ΠΆΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΡΠ»ΡƒΠΆΠ±, доступных Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Microsoft.

ОбС спСцификации постСпСнно всС большС ΠΈ Π±ΠΎΠ»ΡŒΡˆΠ΅ Ρ€Π°Π·Ρ€Π°ΡΡ‚Π°ΡŽΡ‚ΡΡ. Π’Π°ΠΊ, постоянно растСт число ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… API-интСрфСйсов Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ БОМ. Π’ CORBA становится всС большС IDL-интСрфСйсов, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π½ΠΎΠ²Ρ‹Π΅ слуТбы. И ΡΡ‚ΠΎ услоТняСт Π·Π°Π΄Π°Ρ‡Ρƒ поддСрТания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ для использования Π²ΠΈΠ΄Π΅, ΠΈ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ Π² ΡΠ»ΡƒΡ‡Π°Π΅ БОМ, ΠΈ Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ для Ρ†Π΅Π»ΠΎΠ³ΠΎ ΠΊΠΎΠ½Π³Π»ΠΎΠΌΠ΅Ρ€Π°Ρ‚Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой ΠšΠΎΠ½ΡΠΎΡ€Ρ†ΠΈΡƒΠΌ OMG.

Π’ CORBA, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слуТбы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Collections ΠΈ Queries, ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ функциям, ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ сразу Ρ‚Ρ€ΠΈ стандарта, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΌΠ΅Ρ‚Π°ΠΌΠΎΠ΄Π΅Π»ΠΈ — Object Management Architecture, Meta-Object Facility ΠΈ Business Object Facility.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ