CORBA

CORBA (lausutaan yleensä [ korba ], joskus slangi [ kobra ]; Englanti  Common Object Request Broker Architecture - objektipyyntövälittäjän  yleinen arkkitehtuuri ; tyypillinen epäsuorien objektipyyntöjen arkkitehtuuri) - tekninen standardi konsortion edistämien hajautettujen sovellusten kirjoittamiseen ( työryhmä) OMG ja siihen liittyvä tietotekniikka . CORBA tarjoaa yhteentoimivuuden eri käyttöjärjestelmissä toimivien järjestelmien välillä , jotka on kirjoitettu eri ohjelmointikielillä ja jotka toimivat eri laskentalaitteistoilla. CORBA käyttää oliomallia, vaikka CORBA:ta käyttävien järjestelmien ei tarvitse olla oliopohjaisia. CORBA on esimerkki hajautetun objektijärjestelmän paradigmasta .

CORBA:n tarkoitus

CORBA-teknologia on suunniteltu tukemaan monimutkaisten oliopohjaisten sovellusjärjestelmien kehittämistä ja käyttöönottoa.

CORBA on hiekkalaatikkointegraation toteuttamiseen tarkoitettu ohjelmistomekanismi, jonka avulla eri verkkosolmuissa toimivat eri ohjelmointikielillä kirjoitetut ohjelmat voivat kommunikoida keskenään yhtä helposti kuin jos ne olisivat saman prosessin osoiteavaruudessa.

Yleiskatsaus

CORBA-spesifikaatio määrää ohjelmakoodin liittämisen objektiin, jonka tulee sisältää tietoa koodin toimivuudesta ja pääsyliitännöistä. Valmiita objekteja voidaan kutsua muista verkossa olevista ohjelmista (tai CORBA-määrittelyobjekteista).

CORBA-spesifikaatio käyttää Interface Description Language (OMG IDL) -liittymää rajapintojen määrittämiseen kohteille, jotka voivat olla vuorovaikutuksessa ulkomaailman kanssa, ja se kuvaa kartoitussäännöt IDL:stä CORBA-objektin kehittäjän käyttämään kieleen.

Ada , C , C++ , Lisp , Smalltalk , Java , Cobol , Object Pascal , PL/1 ja Python kartoitukset on standardisoitu . Perlille , Visual Basicille , Rubylle ja Tcl :lle on myös epästandardeja kartoituksia , jotka on toteutettu näille kielille kirjoitetuilla ORB -työkaluilla.

Tekniikan keskeiset käsitteet

Seuraavassa kuvataan joitain tärkeimmistä CORBA:n tarjoamista ominaisuuksista hajautettujen objektien väliseen viestintään.

Objektit viitteellä

Viittaus objektiin määritetään käyttämällä ( URL ), objektin osoite asetetaan samalla tavalla kuin haetaan osoitteita verkkotunnusjärjestelmästä ( DNS ) tai välitetään menetelmäparametrina kutsun aikana. Objektiviittaukset ovat kevyitä objekteja, jotka mukautuvat todellisen objektin käyttöliittymään (etä- tai paikallinen). Menetelmän kutsuminen viittauksella johtaa myöhempään ORB-kutsuun ja säikeen estoon, vastauksen odottamiseen, onnistumiseen tai epäonnistumiseen. Parametrit, palautustiedot (jos sellaisia ​​on) ja poikkeustiedot jakavat sisäisesti ORB:n paikallisen kielen ja käyttöjärjestelmäkartoituksen mukaisesti.

Tiedot arvon mukaan

Interface Definition Language (IDL) CORBA tarjoaa kielestä ja käyttöjärjestelmästä riippumattoman määritelmän objektien väliselle kommunikaatiolle. CORBA-objektit välitetään viitteellä, kun taas tiedot (kokonaisluvut, tuplaukset, rakenteet, enummit jne.) välitetään arvon mukaan. Kohde-viittauksen ja data-arvon yhdistelmä tarjoaa keinon pakottaa tietojen kirjoittamiseen asiakkaita ja palvelimia käännettäessä, samalla kun se säilyttää mukautetun ohjelmiston toteutuksen joustavuuden jokaiselle CORBA-kommunikaatiolle ohjelmistokomponentille.

Objektit arvon mukaan

Etäobjektien lisäksi CORBA 3.0 määrittelee objektin käsitteen arvon mukaan. Tämä määritelmä on tehty RMI-IIOP- yhteensopivaksi . Tällaisten objektien menetelmien koodi suoritetaan oletusarvoisesti paikallisesti. Jos kohde arvon mukaan on saatu etäpuolelta, niin tarvittava koodi on joko oltava molempien osapuolten tiedossa etukäteen tai ladattava dynaamisesti. Tämän mahdollistamiseksi tällaisen objektin määrittelevä merkintä sisältää Code Base -kentän, joka on luettelo URL-osoitteista, joista koodi voidaan ladata.

Arvokohtaisella objektilla voi olla myös etämenetelmiä, kenttiä, jotka välitetään itse objektin mukana. Kentät voivat puolestaan ​​olla myös tällaisia ​​objekteja, jolloin ne muodostavat listoja, puita tai mielivaltaisia ​​kuvaajia. Objekteilla arvon mukaan voi olla luokkahierarkia, mukaan lukien abstrakti ja moninkertainen periytyminen.

CORBA Component Model (CCM)

CORBA Component Model (CCM) on tuore lisäys CORBA-määritelmien perheeseen.

CCM on otettu käyttöön CORBA 3.0:n jälkeen ja se kuvaa CORBA-komponenttien vakiosovelluskehyksen. Enterprise JavaBeans (EJB) vaikuttaa voimakkaasti CCM: ään , ja se on itse asiassa sen kieliriippumaton laajennus. CCM tarjoaa abstraktion kokonaisuuksista, jotka voivat tarjota ja vastaanottaa palveluita hyvin määriteltyjen nimettyjen rajapintojen, porttien kautta .

CCM tarjoaa komponenttisäiliön, jossa ohjelmistokomponentteja voidaan lähettää. Säiliö tarjoaa joukon palveluita, joita komponentti voi käyttää. Näihin palveluihin kuuluvat (mutta eivät rajoitu) ilmoitus-, valtuutus-, pysyvyys- ja tapahtumanhallintapalvelut. Nämä ovat hajautetun sovelluksen yleisimmin käyttämiä palveluita. Siirtämällä näiden palveluiden toteutus pois sovelluksen itsensä toteuttamasta sovellussäiliön toimivuuteen, itse komponenttien toteuttamisen monimutkaisuus voidaan vähentää huomattavasti.

Common Broker Interaction Protocol (GIOP)

GIOP (General Inter-ORB Protocol) on CORBA-standardin abstrakti protokolla, joka tarjoaa välittäjien yhteentoimivuuden . Protokolliin liittyvät standardit on julkaissut Object Management Group (OMG). GIOP-arkkitehtuuri sisältää useita erityisprotokollia:

  1. Internet InterORB Protocol (IIOP) (Interbroker Protocol for the Internet) on OMG-konsortion julkaisema protokolla eri välittäjien välisen vuorovaikutuksen järjestämiseen. GIOP käyttää IIOP:ta Internetissä , ja se tarjoaa viestikartoituksen GIOP:n ja TCP/IP -kerroksen välillä .
  2. SSL InterORB Protocol (SSLIOP) - IIOP yli SSL , salaus ja todennus tuettu .
  3. HyperText InterORB Protocol (HTIOP) - IIOP HTTP :n kautta .

Objektiviittaus (Corba-sijainti)

CorbaLoc ( eng.  Corba Location ) on merkkijonoviittaus CORBA-teknologiaobjektiin, joka on samanlainen kuin URL -osoite .

Kaikkien CORBA-toteutusten on tuettava vähintään kahta OMG-URL-versiota: corbaloc: ja corbaname: . Niiden tarkoituksena on tarjota ihmiselle tapa lukea ja muokata viittausta, jonka kautta viittaus CORBA-objektiin voidaan saada .

Corbaloc esimerkki :

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

CORBA-toteutus voi tukea muotoja "http:", "ftp:" ja "file:". Näiden muotojen tarkoitus on määrittää tapa saada CORBA-objektiviittauksen merkkijonoesitys.

Luettelo välittäjistä (CORBA ORB:t)

Katso myös

Muistiinpanot

  1. CORBA Environment for Distributed Processing & Computing Applications - Borlandilta Arkistoitu alkuperäisestä 27. helmikuuta 2007.
  2. MICO CORBA (linkki ei saatavilla) . Käyttöpäivä: 25. toukokuuta 2010. Arkistoitu alkuperäisestä 26. heinäkuuta 2010. 
  3. omniORB-projekti osoitteessa SourceForge.net
  4. ORBit2 . Käyttöpäivä: 3. maaliskuuta 2007. Arkistoitu alkuperäisestä 28. toukokuuta 2007.
  5. JacORB . Haettu 3. maaliskuuta 2007. Arkistoitu alkuperäisestä 12. joulukuuta 2005.
  6. Reaaliaikainen CORBA TAO:n (The ACE ORB) kanssa (downlink) . Haettu 3. maaliskuuta 2007. Arkistoitu alkuperäisestä 11. kesäkuuta 2007. 
  7. Tuotteet - Orbacus - Upotettava CORBA ORB - Progress Software | Progress Software (downlink) . Haettu 3. maaliskuuta 2007. Arkistoitu alkuperäisestä 20. maaliskuuta 2007. 

Linkit