Pregled CORBA

Source: http://www.cs.wustl.edu/~schmidt/corba-overview.html

Zajednička Objekt Zahtjev Broker Arhitektura (CORBA) [OMG: 95a] je u nastajanju otvoren distribuirani objekt computing infrastrukture koji se standardizirana od strane Grupa Upravljanje Objektima (OMG). CORBA automatizira mnoge zajedničke mreže programskih zadataka kao što su registracija objekta, lokacija, i aktiviranje; traži demultipleksiranje; kadriranje i greškama rukovanje; parametar ranţirne i demarshalling; i rad otpremanje. Vidi Web stranice OMG za više pregled materijala na CORBA. Vidi moje CORBA stranica za dodatne informacije o CORBA, uključujući i naše tutoriali i istraživanja na visokih performansi i kugle u realnom vremenu. Rezultati iz našeg istraživanja na visokih performansi i real-time CORBA su slobodno dostupni za preuzimanje u open-source TAO ORB.

Na sljedećoj slici pokazuje primarne komponente u OMG Referentni model arhitekture. Opisi tih komponenti su dostupne dalje ispod. Delovi ovih opisa se baziraju na materijalu iz [Vinoski].

Slika 1. OMG referentni model arhitekture

  • Objekt usluge – to su interfejsi domena-nezavisni koje koriste mnogi distribuiranih programa objekta. Na primjer, pružanja usluga za otkrivanje drugih dostupnih usluga je gotovo uvijek potrebno, bez obzira na domenu primjene. Dva primjera predmet usluge da ispuni ovu ulogu su:
    • Imenovanje Servis – koji omogućava klijentima da pronađu predmete na osnovu imena;
    • Trgovački Servis – koji omogućava klijentima da pronađu predmete na osnovu njihove imovine.

Tu su i Objektni Servis specifikacije za upravljanje životnim ciklusom, sigurnost, transakcije, i obavijest događaj, kao i mnogi drugi [OMG: 95b].

  • Zajedničkim objektima – Kao objekta Servis interfejsa, ovi interfejsi su horizontalno-orijentirani, ali za razliku od objekta usluge su orijentisana na krajnjeg korisnika aplikacije. Jedan primjer takvog objekta je Distributed Document Komponenta Objekt (DDCF), složeni dokument Zajednički Objekt na osnovu OpenDoc. DDCF omogućuje prezentaciju i razmjenu objekata na osnovu modela dokument, na primjer, olakšavajući povezivanje spreadsheet objekta u izvještaju dokument.
  • Domain Interfaces – Ove interfejsi popunio uloge sličan predmet usluge i zajedničkih objekata, ali su orijentirani prema određenim aplikacije domene. Na primjer, jedan od prvih OMG RFPs izdaje domena sučelja je za proizvod Data Management (PDM) Akteri za proizvodnju domena. Ostali OMG RFPs će uskoro biti objavljen u oblasti telekomunikacija, medicinske i finansijske domena.
  • Primjena Interfaces – To su interfejsi razvijen posebno za datu aplikaciju. Zbog toga što su određene aplikacije, i zato što OMG ne razvija aplikacije (samo specifikacije), te interfejsi nisu standardizovani. Međutim, ako s vremenom se čini da su određene široko korisnih usluga nastaju iz određene aplikacije domene, oni mogu postati kandidati za buduće standardizacije OMG.

CORBA ORB Arhitektura

Na sljedećoj slici pokazuje primarne komponente u CORBA ORB arhitekture. Opisi tih komponenti su dostupni ispod figura.

Slika 2. CORBA ORB Arhitektura

  • Objekt – Ovo je CORBA programski entitet koji se sastoji od identiteta, interfejs, i implementaciju, koji je poznat kao sluga.
  • Servant – Ovo je programski implementacija jezik entitet koji definira operacije koje podržavaju CORBA IDL sučelje. Službenici mogu pisati u različitim jezicima, uključujući C, C ++, Java, Smalltalk, i Ada.
  • Klijent – Ovaj je program entitet koji poziva operaciju na implementaciji objekat. Pristupanje usluge udaljenog objekta treba biti transparentan pozivatelja. U idealnom slučaju, to bi trebao biti kao jednostavan kao pozivanje metoda na objektu, i.e., obj-> op (args). Preostale komponente na slici 2 pomoć da podrže ovaj nivo transparentnosti.
  • Objekt zahtjev broker (ORB) – ORB pruža mehanizam za transparentno komunikaciju zahtjeve klijenata za cilj implementacije objekta. ORB pojednostavljuje distribuira programiranje odvajanje klijenta iz detalje metoda prizivanja. To čini zahtjeve klijenta čini se da lokalni postupak poziva. Kada klijent poziva operaciju, kugla je odgovoran za pronalaženje realizaciju objekta, transparentno aktiviranjem ako je potrebno, pružajući zahtjev za objekt, a vraća nikakav odgovor na pozivatelja.
  • ORB Interface – Sfera je logično entitet koji se može implementirati na različite načine (kao što je jedan ili više procesa ili skup biblioteka). Razdvojiti aplikacije od detalje implementacije, specifikacije CORBA definira apstraktna interfejs za ORB. Ovo sučelje pruža različite pomagač funkcije kao što su pretvaranje reference na objekte u nizove i obrnuto, i stvaranje liste argumenata za zahtjeva kroz dinamičan prizivanje sučelje opisano u nastavku.
  • CORBA IDL kupone i kostura – CORBA IDL kupone i kosturi služe kao “ ljepilo ” između klijenta i poslužitelja aplikacija, odnosno, i ORB. Transformacija između definicije CORBA IDL i ciljni programski jezik je automatizovan od CORBA IDL kompajler. Upotreba kompilator smanjuje potencijal za nedosljednosti između klijenta kupone i server kostura i povećanja mogućnosti za automatsku kompajler optimizacije.
  • Dinamičan prizivanje sučelje (DII) – Ovo sučelje omogućava klijentu da direktan pristup osnovni mehanizmi zahtjeva koje je ORB. Aplikacije koriste DII za dinamički izdaju zahtjeve za objekte bez potrebe IDL sučelje specifične kupone koji će biti povezan u. Za razliku od IDL kupone (koji omogućuju samo zahtjeva RPC-style), DII također omogućava klijentima da ne blokira odgođeni sinhroni (odvojene send i primaju operacije) i oneway (slati samo) poziva.
  • Dinamičan kostur sučelje (DSI) – To je analogni servera strane da DII klijenta strane. DSi omogućava ORB da dostave zahtjeve za implementaciju objekat koji nema kompiliranja vremena znanja o vrsti objekta se provodi. Klijent koja podnosi zahtjev nema pojma da li je implementacija koristi tip-specifične IDL kosture ili koristi dinamičke kosture.
  • Adapter objekta – Ovo pomaže ORB sa isporukom zahtjeve objekta i aktiviranje objekta. Što je još važnije, objekt adapter saradnika prigovor implementacije sa ORB. Objekt adapteri mogu biti specijalizirana za pružanje podrške za određene stilove realizaciju objekata (kao što su OODB objekat adapteri za upornost i biblioteku objekata adapteri za registrirane-udaljenih objekata).

Moja CORBA stranica sadrži dodatne informacije o obrascima i tehnikama za dizajniranje CORBA kugle i CORBA usluge. Primjeri ovih obrazaca i tehnike mogu se naći u TAO implementacije u realnom vremenu CORBA.


Reference

[OMG: 95a] Common Object Request Broker Archictecture, OMG, jula 1995.
[OMG: 95b] Common Object Services Specification, OMG 95-3-31 1995

[Vinoski] Steve Vinoski, CORBA: Integrating Diverse Applications Within Distributed Heterogeneous Environments, Communications Magazine IEEE, februara 1997.