Almindelig objektanmodningsmæglerarkitektur

CORBA
Logo.
Redaktør Object Management Group (OMG)
Venlig Formel specifikation
stat Version 3.3
Første publikation August 1991
Sidste post oktober 2012
Standard omg.org/spec/CORBA
Internet side www.corba.org

CORBA , akronym for Common Object Request Broker Architecture , er en softwarearkitektur til komponent- og objektanmodningsmægler (ORB) -udvikling. Disse komponenter, som er sammensat til at bygge komplette applikationer, kan skrives på separate programmeringssprog, køres i separate processer eller endda distribueres på separate maskiner.

CORBA er en standard, der opretholdes af Object Management Group .

Historisk

CORBA er en standard defineret i 1992 af computerhardwareproducenter og softwareforlag (inklusive Sun , Oracle , IBM osv.) Grupperet i et konsortium kaldet Object Management Group (OMG).

Det var med version 2 af CORBA (sidst i 1995 ), at standard IIOP- protokollen og beskrivelsessproget ( IDL ) -grænsefladen dukkede op .

Version 2.3 gør CORBA og RMI interoperable .

CORBA version 3 specificerer seksten typer tjenester (objektnavngivelse og mappe, livscyklus, hændelsesmeddelelse, transaktion, objektrelationer og parallelisme, opbevaring, arkivering, sikkerhed, objektgodkendelse og administration, licensering og versioner ...), men ikke alle er implementeret i ORB'erne på markedet.

CORBA Design valg

CORBA-teknologien anvender en i det væsentlige objektorienteret tilgang  : set fra et programmeringssprog er alle metoder virtuelle; der er ingen parametrisk polymorfisme, ingen beskyttet eller privat metode, ingen operatøroverbelastning, ingen førsteklasses funktion. Hver komponent er beskrevet som en grænseflade skrevet på IDL- sprog .

Der er angivet en korrespondance mellem IDL-sproget og forskellige programmeringssprog. Dedikerede prækompilere gør det muligt automatisk at generere IDL-interface-skeletet på et givet sprog, samtidig med at de producerer koden, der sikrer opkald til fjernfunktioner og behandling af resultaterne. Denne kode kaldes stub på klientsiden og skelet på serversiden. Et modul, hvis grænseflade er specificeret i IDL, kunne således programmeres i C ++ , mens Java- moduler, der ville bruge det, faktisk ville ringe til en Java-grænseflade, der blev genereret fra den samme IDL, idet CORBA-arkitekturen sørgede for routing.opkald mellem processer.

CORBA applikationer og komponenter blander statisk og dynamisk typing. Således er hver komponent statisk beskrevet af en grænseflade, men de komponenter, der bruger denne, skal dynamisk kontrollere, at grænsefladen faktisk er implementeret.

CORBA udvikling

Grænseflader

Object Request Broker (ORB)

Object Request Broker (ORB) er en grundlæggende komponent i CORBA-arkitekturen; dens mission er at lette kommunikationen mellem objekter: den er ansvarlig for at sende anmodninger til objekter og returnere svar til klienten, der påberåbte dem gennem en serieiseringsproces.

Interface Definition Language (IDL)

Interface Definition Language (IDL) bruges til at definere grænseflader mellem komponenter i en applikation og muliggøre interoperabilitet mellem forskellige teknologier.

IDL kan kun definere grænseflader, ikke implementeringer. Ved at specificere grænsefladerne mellem objekter i CORBA er IDL ansvarlig for at sikre uafhængighed af de anvendte programmeringssprog: et modul, hvis grænseflade er specificeret i IDL, kan således programmeres i C ++ , mens Java- moduler, der rent faktisk ville ringe over Java-interface genereret fra den samme IDL, med CORBA-arkitekturen, der giver routing mellem opkald mellem processer.

Placeringer

Sammensætning

Under udførelsen håndteres kommunikation mellem komponenter af en ORB .

Eksempler på applikationer

Bonobo- teknologien i GNOME- projektet bruger CORBA.

Dette er også tilfældet med ESRF ' TANGO ' SCADA- rammen .

Bibliografi

  • Annick Fron 2007, Distribuerede arkitekturer i Java , ( ISBN  978-2-10-051141-9 ) .
  • JM Geib, C. Gransart, P.Merle, 'CORBA: fra begreber til praksis', Masson, 1997.

Se også

Relaterede artikler

eksterne links

  • OMG officielle hjemmeside vedrørende CORBA-distribuerede objektbussen: Den indeholder busens specifikationer, kommunikationsprotokoller, fælles objekttjenester osv.