ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡ.
ΠΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ, ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ case-ΡΡΠ΅Π΄ΡΡΠ²Π°
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² IDL Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° interface, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ: ΠΈΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (op dcl) Π²ΡΠ·ΠΎΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²: interface A { … } interface Π { … } interface Π‘: B, A {… }. ΠΡΠΈ ΠΎΡΡΡΠ»ΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ; out — ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡ; inout — ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΎΠ±Π° Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡ. ΠΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ, ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ case-ΡΡΠ΅Π΄ΡΡΠ²Π° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π€ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² IDL ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² OMG CORBA. Π Π½Π΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΠ΅ ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΠΊΠΈ (Stub, Skeleton) ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π² ΡΠ·ΡΠΊΠ΅ Π―Π1 Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° (Stub Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ Skeleton Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°) ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² IDL Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° interface, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ: ΠΈΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (op dcl) Π²ΡΠ·ΠΎΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²: interface A { … } interface Π { … } interface Π‘: B, A {… }.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (opdcl) Π² Π·Π°Π΄Π°Π½ΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΡΡΠΎ:
- 1) ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ (type dcl);
- 2) ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° (const dcl);
- 3) Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΡ (cxceptdcl), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°;
- 4) Π°ΡΡΠΈΠ±ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (attr dcl).
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ (Π’Π) Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ typedef, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠΈΠΏ ΠΈ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΠ½ΡΡΠ°Π½Ρ. Π’Π ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ : integer, boolean, string, float, char ΠΈ Π΄Ρ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ op dcl ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ:
- 1) Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°;
- 2) ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (ΠΎΡ Π½ΡΠ»Ρ ΠΈ Π±ΠΎΠ»Π΅Π΅);
- 3) ΡΠΈΠΏΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ², ΠΈΠ½Π°ΡΠ΅ — void;
- 4) ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΠ»ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΈ Π΄Ρ. ΠΡΡΠΈΠ±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ: in —
ΠΏΡΠΈ ΠΎΡΡΡΠ»ΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ; out — ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡ; inout — ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΎΠ±Π° Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ).
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΈ ΡΠΎΠ³Π΄Π° ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌ. ΠΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Π΄Π°Π½ Π½ΠΈΠΆΠ΅: const long 1=2 interface, Π { void f (in float s [1]); } interface Π { const long 1=3) interface Π‘: B, A { (.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π ΠΈ Π. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π‘ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ , Π ΠΈ Π, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ Π‘ ΡΠ²Π»ΡΡΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ. ΠΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° ΠΎΡΡΠ°ΡΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌΠΈ. Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° — ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ f Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π‘ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΈΠ· Π.
ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π±Π΅Π· ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ. ΠΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠΌΠ΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° skeleton.
ΠΠ±ΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π² ΡΠ·ΡΠΊΠ΅ IDL ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄: Regust Operations module CORBA { interface Reguest {.
Status add-arg (in Identifier name, in Flags argflags);
Status invoke (.
in Flags invoke flags // invocation flags.
);
Status send (.
Status get_respouse (.
out Flags response flags // response flags);););
Π’ΠΈΠΏ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ Π’Π, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² RPC, RMI, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ Π² WCF VS.Net ΠΈ Π΄Ρ. Π’Π ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² Π―Π ΠΠΠ (Π‘#, Vbasic, Pascal, ΠΈ Π΄Ρ.).
ΠΡ ΠΎΠ΄Π½ΡΠ΅ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Pi, Pi (ΡΠΈΡ. 2.7) ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ, Π½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ Π―Π. ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΎΡ ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄Π»Ρ Pi ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ½ΠΊΡΠΈΠΈ F/ (…), Π 2 (β’ β’ β’) ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ In, Out., Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π’Π ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Pt, Π } ΠΈ FS, Π < ΡΡΠ΄Π° ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ.
Π ΠΈΡ. 2.7. Π‘Ρ Π΅ΠΌΠ° Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΠ°Π½Π½ΡΠΉ Π°ΠΏΠΏΠ°ΡΠ°Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ CORBA, ΠΠ‘ IBM, Microsoft ΠΈ Π΄Ρ. ΠΠ³ΠΎ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π’Π Π² ΡΡΠΈΡ ΠΠ‘, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².