CORBA

CORBA (pronunțat de obicei [ korba ], uneori argou [ cobra ]; engleză  Common Object Request Broker Architecture  - arhitectura generală a unui broker de solicitare de obiect ; arhitectura tipică a solicitărilor de obiect indirect) - un standard tehnologic pentru scrierea aplicațiilor distribuite promovat de consorțiu ( grup de lucru) OMG și tehnologia informațională aferentă acesteia . CORBA oferă interoperabilitate între sisteme care rulează pe diferite sisteme de operare scrise în diferite limbaje de programareși rulează pe diferite echipamente de calcul. CORBA folosește un model orientat pe obiecte, deși sistemele care folosesc CORBA nu trebuie să fie orientate pe obiecte. CORBA este un exemplu de paradigmă de sistem de obiecte distribuite .

Scopul CORBA

Tehnologia CORBA este concepută pentru a sprijini dezvoltarea și implementarea sistemelor de aplicații complexe orientate pe obiecte.

CORBA este un mecanism în software pentru implementarea integrării sandbox care permite programelor scrise în diferite limbaje de programare care rulează pe diferite noduri de rețea să comunice între ele la fel de ușor ca și cum s-ar afla în spațiul de adrese al aceluiași proces.

Prezentare generală

Specificația CORBA prescrie asocierea codului de program într-un obiect, care trebuie să conțină informații despre funcționalitatea codului și interfețele de acces. Obiectele gata pot fi apelate din alte programe (sau obiecte de specificație CORBA) aflate în rețea.

Specificația CORBA utilizează limbajul de descriere a interfeței (OMG IDL) pentru a defini interfețele pentru ca obiectele să interacționeze cu lumea exterioară și descrie regulile de mapare de la IDL la limbajul folosit de dezvoltatorul unui obiect CORBA.

Mapările pentru Ada , C , C++ , Lisp , Smalltalk , Java , Cobol , Object Pascal , PL/1 și Python au fost standardizate . Există, de asemenea, mapări non-standard către Perl , Visual Basic , Ruby și Tcl implementate de instrumentele ORB scrise pentru acele limbi.

Concepte cheie ale tehnologiei

În cele ce urmează sunt descrise unele dintre cele mai importante caracteristici oferite de CORBA pentru comunicarea între obiecte distribuite.

Obiecte prin referință

Referința la obiect este specificată folosind ( URL ), adresa obiectului este setată în același mod ca și căutarea adreselor în sistemul de nume de domeniu ( DNS )) sau transmisă ca parametru de metodă în timpul apelului. Referențele la obiecte sunt obiecte ușoare care se conformează interfeței unui obiect real (la distanță sau local). Apelarea unei metode prin referință are ca rezultat apeluri ORB ulterioare și blocarea firului de execuție, așteptarea unui răspuns, succes sau eșec. Parametrii, datele returnate (dacă există) și datele de excepție sunt organizate intern de ORB în funcție de limba locală și maparea sistemului de operare.

Date după valoare

Limbajul de definire a interfeței (IDL) CORBA oferă o definiție independentă de limbă și OS a comunicării între obiecte. Obiectele CORBA sunt transmise prin referință, în timp ce datele (numere întregi, duble, structuri, enumerari etc.) sunt transmise prin valoare. Combinația dintre obiect după referință și date după valoare oferă un mijloc de a impune tastarea datelor atunci când se compilează clienți și servere, menținând în același timp flexibilitatea implementării software personalizate pentru fiecare dintre componentele software care comunică CORBA.

Obiecte după valoare

Pe lângă obiectele aflate la distanță, CORBA 3.0 definește conceptul de obiect după valoare. Această definiție este compatibilă cu RMI-IIOP . Codul pentru metodele unor astfel de obiecte este executat local în mod implicit. Dacă obiectul după valoare a fost obținut din partea la distanță, atunci codul necesar trebuie fie să fie cunoscut de ambele părți în prealabil, fie să fie încărcat dinamic. Pentru a face acest lucru posibil, intrarea care definește un astfel de obiect conține un câmp de bază de cod, care este o listă de adrese URL de unde poate fi încărcat codul.

Un obiect după valoare poate avea și metode la distanță, câmpuri care sunt transmise împreună cu obiectul însuși. Câmpurile, la rândul lor, pot fi, de asemenea, astfel de obiecte, formând astfel liste, arbori sau grafice arbitrare. Obiectele după valoare pot avea o ierarhie de clasă, inclusiv moștenirea abstractă și multiplă.

Modelul componentelor CORBA (CCM)

Modelul de componente CORBA (CCM) este o adăugare recentă la familia de definiții CORBA.

CCM a fost introdus începând cu CORBA 3.0 și descrie un cadru de aplicație standard pentru componentele CORBA. CCM este puternic influențat de Enterprise JavaBeans (EJB) și este de fapt o extensie independentă de limbaj a acestuia. CCM oferă o abstractizare a entităților care pot furniza și primi servicii prin interfețe bine definite, porturi .

CCM oferă un container de componente în care componentele software pot fi expediate. Containerul oferă un set de servicii pe care componenta le poate folosi. Aceste servicii includ (dar nu se limitează la) servicii de notificare, autorizare, persistență și gestionarea tranzacțiilor. Acestea sunt cele mai frecvent utilizate servicii de către o aplicație distribuită. Prin mutarea implementării acestor servicii de la necesitatea implementării de către aplicația în sine și în funcționalitatea containerului aplicației, complexitatea implementării componentelor în sine poate fi mult redusă.

Protocolul comun de interacțiune a brokerului (GIOP)

GIOP (General Inter-ORB Protocol) este un protocol abstract din standardul CORBA care asigură interoperabilitatea brokerului . Standardele legate de protocol sunt emise de Object Management Group (OMG). Arhitectura GIOP include mai multe protocoale specifice:

  1. Internet InterORB Protocol (IIOP) (Protocol Interbroker pentru Internet) este un protocol de organizare a interacțiunii între diferiți brokeri, publicat de consorțiul OMG. IIOP este utilizat de GIOP pe Internet și oferă o mapare a mesajelor între GIOP și nivelul TCP/IP .
  2. Protocol SSL InterORB (SSLIOP) - IIOP prin SSL , criptare și autentificare acceptate .
  3. Protocolul HyperText InterORB (HTIOP) - IIOP prin HTTP .

Referință obiect (Locația Corba)

CorbaLoc ( Eng.  Corba Location ) este o referință șir la un obiect tehnologic CORBA, similar cu un URL .

Toate implementările CORBA trebuie să accepte cel puțin două variante de URL OMG: corbaloc: și corbaname: . Scopul lor este de a oferi unei persoane o modalitate de a citi și edita o referință, prin care poate fi obținută o referință la un obiect CORBA .

exemplu corbaloc :

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

O implementare CORBA poate oferi suport pentru formatele „http:”, „ftp:” și „fișier:”. Scopul acestor formate este de a specifica o modalitate de a obține reprezentarea în șir a unei referințe de obiect CORBA.

Lista brokerilor (ORB-uri CORBA)

Vezi și

Note

  1. CORBA Environment for Distributed Processing & Computing Applications - de la Borland Arhivat din original pe 27 februarie 2007.
  2. MICO CORBA (link indisponibil) . Data accesului: 25 mai 2010. Arhivat din original pe 26 iulie 2010. 
  3. proiect omniORB la SourceForge.net
  4. ORBit2 . Data accesului: 3 martie 2007. Arhivat din original la 28 mai 2007.
  5. JacORB . Preluat la 3 martie 2007. Arhivat din original la 12 decembrie 2005.
  6. CORBA în timp real cu TAO (The ACE ORB) (link descendent) . Preluat la 3 martie 2007. Arhivat din original la 11 iunie 2007. 
  7. Produse - Orbacus - CORBA ORB incorporabil - Progress Software | Progress Software (link descendent) . Consultat la 3 martie 2007. Arhivat din original pe 20 martie 2007. 

Link -uri