CORBA

CORBA (normalt udtales [ korba ], nogle gange slang [ cobra ]; engelsk  Common Object Request Broker Architecture -  den generelle arkitektur for en objektanmodningsmægler ; typisk arkitektur for indirekte objektanmodninger) - en teknologisk standard til at skrive distribuerede applikationer, der fremmes af konsortiet ( arbejdsgruppe) OMG og dens relaterede informationsteknologi . CORBA giver interoperabilitet mellem systemer, der kører på forskellige operativsystemer skrevet på forskellige programmeringssprogog kører på forskelligt computerudstyr. CORBA bruger en objektorienteret model, selvom systemer, der bruger CORBA, ikke behøver at være objektorienterede. CORBA er et eksempel på et distribueret objektsystemparadigme .

Formålet med CORBA

CORBA-teknologi er designet til at understøtte udvikling og implementering af komplekse objektorienterede applikationssystemer.

CORBA er en mekanisme i software til implementering af sandbox-integration, der gør det muligt for programmer skrevet på forskellige programmeringssprog, der kører på forskellige netværksknuder, at kommunikere med hinanden lige så nemt, som hvis de var i adresserummet i den samme proces.

Generel oversigt

CORBA-specifikationen foreskriver tilknytningen af ​​programkode til et objekt, som skal indeholde information om kodens funktionalitet og adgangsgrænseflader. Klare objekter kan kaldes fra andre programmer (eller CORBA-specifikationsobjekter), der er placeret på netværket.

CORBA-specifikationen bruger Interface Description Language (OMG IDL) til at definere grænseflader for objekter til at interagere med omverdenen, og den beskriver kortlægningsreglerne fra IDL til det sprog, der bruges af udvikleren af ​​et CORBA-objekt.

Mappings til Ada , C , C++ , Lisp , Smalltalk , Java , Cobol , Object Pascal , PL/1 og Python er blevet standardiseret . Der er også ikke-standardtilknytninger til Perl , Visual Basic , Ruby og Tcl implementeret af ORB -værktøjer skrevet til disse sprog.

Nøglebegreber inden for teknologi

Det følgende beskriver nogle af de vigtigste funktioner, som CORBA tilbyder til kommunikation mellem distribuerede objekter.

Objekter efter reference

Referencen til objektet angives ved hjælp af ( URL ), adressen på objektet indstilles på samme måde som at slå adresser op i domænenavnesystemet ( DNS )), eller videregives som en metodeparameter under opkaldet. Objektreferencer er letvægtsobjekter, der passer til grænsefladen af ​​et rigtigt objekt (fjernt eller lokalt). Kaldning af en metode ved reference resulterer i efterfølgende ORB-kald og blokering af tråden, venter på svar, succes eller fiasko. Parametre, returneringsdata (hvis nogen) og undtagelsesdata samles internt af ORB'en i henhold til det lokale sprog og OS-mapping.

Data efter værdi

Interface Definition Language (IDL) CORBA giver en sprog- og OS-uafhængig definition af inter-objektkommunikation. CORBA-objekter videregives ved reference, mens data (heltal, fordoblinger, strukturer, enums osv.) videregives efter værdi. Kombinationen af ​​objekt-for-reference og data-by-værdi giver et middel til at gennemtvinge dataindtastning ved kompilering af klienter og servere, samtidig med at fleksibiliteten ved tilpasset softwareimplementering for hver af de CORBA-kommunikerende softwarekomponenter bevares.

Objekter efter værdi

Ud over fjernobjekter definerer CORBA 3.0 begrebet objekt efter værdi. Denne definition er gjort RMI-IIOP- kompatibel . Koden til metoderne for sådanne objekter udføres som standard lokalt. Hvis objektet efter værdi blev opnået fra den eksterne side, skal den nødvendige kode enten være kendt på begge sider på forhånd eller være dynamisk indlæst. For at gøre dette muligt indeholder indgangen, der definerer et sådant objekt, et kodebasefelt, som er en liste over URL'er, hvorfra koden kan indlæses.

Et objekt efter værdi kan også have fjernmetoder, felter, der sendes sammen med selve objektet. Felter kan til gengæld også være sådanne objekter, og dermed danne lister, træer eller vilkårlige grafer. Objekter efter værdi kan have et klassehierarki, inklusive abstrakt og multipel nedarvning.

CORBA Component Model (CCM)

CORBA Component Model (CCM) er en nylig tilføjelse til CORBA-familien af ​​definitioner.

CCM er blevet introduceret siden CORBA 3.0 og beskriver en standardapplikationsramme for CORBA-komponenter. CCM er stærkt påvirket af Enterprise JavaBeans (EJB) og er faktisk en sproguafhængig forlængelse af det. CCM giver en abstraktion af enheder, der kan levere og modtage tjenester gennem veldefinerede navngivne grænseflader, porte .

CCM'en giver en komponentbeholder, hvori softwarekomponenter kan sendes. Containeren giver et sæt tjenester, som komponenten kan bruge. Disse tjenester omfatter (men er ikke begrænset til) meddelelser, autorisation, persistens og transaktionsstyringstjenester. Disse er de mest brugte tjenester af en distribueret applikation. Ved at flytte implementeringen af ​​disse tjenester væk fra at skulle implementeres af selve applikationen og ind i funktionaliteten af ​​applikationsbeholderen, kan kompleksiteten ved at implementere selve komponenterne reduceres betydeligt.

Common Broker Interaction Protocol (GIOP)

GIOP (General Inter-ORB Protocol) er en abstrakt protokol i CORBA-standarden, der giver mæglerinteroperabilitet . De protokolrelaterede standarder er udstedt af Object Management Group (OMG). GIOP-arkitekturen inkluderer flere specifikke protokoller:

  1. Internet InterORB Protocol (IIOP) (Interbroker protocol for the Internet) er en protokol til at organisere interaktion mellem forskellige mæglere, udgivet af OMG-konsortiet. IIOP bruges af GIOP på internettet og giver en meddelelseskortlægning mellem GIOP og TCP/IP- laget .
  2. SSL InterORB Protocol (SSLIOP) - IIOP over SSL , kryptering og godkendelse understøttet .
  3. HyperText InterORB Protocol (HTIOP) - IIOP over HTTP .

Objektreference (Corba-placering)

CorbaLoc ( Eng.  Corba Location ) er en strengreference til et CORBA-teknologiobjekt, der ligner en URL .

Alle CORBA-implementeringer skal understøtte mindst to OMG URL-varianter: corbaloc: og corbaname: . Deres formål er at give en person mulighed for at læse og redigere en reference, hvorigennem en reference til et CORBA-objekt kan opnås .

corbaloc eksempel :

corbaloc::160.45.110.41:38693/StandardNS/NameServer-POA/_root

En CORBA-implementering kan give understøttelse af formaterne "http:", "ftp:" og "file:". Formålet med disse formater er at specificere en måde at få strengrepræsentationen af ​​en CORBA-objektreference.

Liste over mæglere (CORBA ORB'er)

Se også

Noter

  1. CORBA Environment for Distributed Processing & Computing Applications - fra Borland Arkiveret fra originalen den 27. februar 2007.
  2. MICO CORBA (utilgængeligt link) . Dato for adgang: 25. maj 2010. Arkiveret fra originalen den 26. juli 2010. 
  3. omniORB-projektSourceForge.net
  4. ORBit2 . Dato for adgang: 3. marts 2007. Arkiveret fra originalen den 28. maj 2007.
  5. JacORB . Hentet 3. marts 2007. Arkiveret fra originalen 12. december 2005.
  6. Real-time CORBA med TAO (The ACE ORB) (downlink) . Hentet 3. marts 2007. Arkiveret fra originalen 11. juni 2007. 
  7. Produkter - Orbacus - Integrerbar CORBA ORB - Progress Software | Progress Software (downlink) . Hentet 3. marts 2007. Arkiveret fra originalen 20. marts 2007. 

Links