CORBA (Common Object Request Broker Architecture) er OMG's (Object Management Group's) løsning på de behov, der er for direkte samspil mellem et stadigt stigende antal hardware- og software produkter. For at sige det enkelt - CORBA gør det muligt for applikationer at kommunikere med hinanden uanset, hvor de befinder sig og uanset, hvem der har udviklet dem.

OMG introducerede i 1991 CORBA 1.1 og definerede IDL (Interface Definition Language) plus API (Application Programming Interfaces), som muliggør interaktion mellem client/server objekter indenfor en specifik implementation af en ORB (Object Request Broker). I 1994 definerede CORBA 2.0 et reelt samspil ved at specifisere, hvordan ORB'er fra forskellige leverandører kan fungere sammen.

ORB'en er det middleware, der etablerer client/server-relationer mellem objekter. Ved at anvende en ORB kan en klient på en transparent måde aktivere en metode på et server-objekt, som kan befinde sig på samme maskine som klienten eller et eller andet sted på et netværk. ORB'en tolker kaldene og er ansvarlig for at finde et objekt, som kan implementere forespørgslen, viderebringe parametre til objektet, aktivere objektet og returnere resultaterne. Klienten behøver ikke at være klar over, hvor objektet befinder sig, hvilket programmeringssprog det er udviklet med, hvilket operativsystem det kører på eller andre systemmæssige aspekter, som ikke er en del af et objekts interface. På denne måde giver ORB'en mulighed for samarbejde mellem applikationer på forskellige maskiner i distribuerede miljøer.

Udviklere anvender ofte egne designs eller anerkendte standards til at definere de protokoller, der skal anvendes mellem forskellige dele af en client/server-løsning. Definitionen af en protokol er afhængig af det valgte sprog, netværkstransport og en mængde andre faktorer. ORB'en forenkler denne proces. Med en ORB bliver protokollen defineret gennem applikationens interfaces via en enkelt implementeringsuafhængig specifikation - IDL. ORB'er giver også fleksibilitet. De giver programmører mulighed for at vælge det bedst passende operativsystem, driftsmiljø og programmeringssprog for hver enkelt systemkomponent, der er under udvikling. Og hvad der er endnu vigtigere - de giver mulighed for integration mellem eksisterende komponenter. I en ORB-baseret løsning "tilpasser" udviklerne simpelthen den eksisterende komponent med den samme IDL, som de bruger til at skabe nye objekter. Så skriver de "indpakningspapir" kode, som får tingene til at forstå hinanden.

CORBA er en milepæl på vejen mod objektorienteret standardisering og samvirke. Med CORBA får brugerne adgang til information uden at skulle tænke på, hvilken software- eller hardware-platform den befinder sig på, eller hvor den befinder sig i et eller andet netværk. CORBA er krumtappen i objektorienterede systemer og giver mulighed for ægte samspil i nutidens computermiljøer.
Læs meget mere om CORBA hos: OMG logo