CORBA

CORBA (obvykle vyslovováno [ korba ], někdy slangově [ kobra ]; anglicky  Common Object Request Broker Architecture  - obecná architektura zprostředkovatele objektových požadavků ; typická architektura nepřímých požadavků na objekty) - technologický standard pro psaní distribuovaných aplikací propagovaný konsorciem ( pracovní skupina) OMG a související informační technologie . CORBA poskytuje interoperabilitu mezi systémy běžícími na různých operačních systémech , napsanými v různých programovacích jazycích a běžícími na různém výpočetním hardwaru. CORBA používá objektově orientovaný model, ačkoli systémy používající CORBA nemusí být objektově orientované. CORBA je příkladem paradigmatu distribuovaného objektového systému .

Účel CORBA

Technologie CORBA je navržena tak, aby podporovala vývoj a nasazení komplexních objektově orientovaných aplikačních systémů.

CORBA je softwarový mechanismus pro implementaci integrace sandboxu, který umožňuje programům napsaným v různých programovacích jazycích běžících na různých síťových uzlech vzájemně komunikovat tak snadno, jako by byly v adresovém prostoru stejného procesu.

Celkový přehled

Specifikace CORBA předepisuje asociaci programového kódu do objektu, který musí obsahovat informace o funkčnosti kódu a přístupových rozhraních. Připravené objekty lze volat z jiných programů (nebo objektů specifikace CORBA) umístěných v síti.

Specifikace CORBA používá jazyk popisu rozhraní (OMG IDL) k definování rozhraní pro objekty pro interakci s vnějším světem a popisuje pravidla mapování z IDL do jazyka používaného vývojářem objektu CORBA.

Mapování pro Ada , C , C++ , Lisp , Smalltalk , Java , Cobol , Object Pascal , PL/1 a Python byla standardizována . Existují také nestandardní mapování na Perl , Visual Basic , Ruby a Tcl implementovaná nástroji ORB napsanými pro tyto jazyky.

Klíčové pojmy technologie

Níže jsou popsány některé z nejdůležitějších funkcí nabízených CORBA pro komunikaci mezi distribuovanými objekty.

Objekty podle odkazu

Odkaz na objekt se zadává pomocí ( URL ), adresa objektu se nastavuje stejným způsobem jako při vyhledávání adres v systému doménových jmen ( DNS ) nebo se předává jako parametr metody během volání. Odkazy na objekty jsou zjednodušené objekty, které odpovídají rozhraní skutečného objektu (vzdáleného nebo místního). Volání metody pomocí odkazu má za následek následná volání ORB a zablokování vlákna, čekání na odpověď, úspěch nebo selhání. Parametry, návratová data (pokud existují) a data výjimek jsou interně zařazovány ORB podle místního jazyka a mapování OS.

Údaje podle hodnoty

Interface Definition Language (IDL) CORBA poskytuje definici meziobjektové komunikace nezávislou na jazyce a OS. Objekty CORBA jsou předávány odkazem, zatímco data (celá čísla, dvojice, struktury, výčty atd.) jsou předávány hodnotou. Kombinace objekt po referenci a data podle hodnoty poskytuje prostředky k vynucení typování dat při kompilaci klientů a serverů při zachování flexibility implementace vlastního softwaru pro každou softwarovou komponentu komunikující CORBA.

Objekty podle hodnoty

Kromě vzdálených objektů definuje CORBA 3.0 koncept objektu hodnotou. Tato definice je kompatibilní s RMI-IIOP . Kód pro metody takových objektů se standardně spouští lokálně. Pokud byl objekt podle hodnoty získán ze vzdálené strany, pak musí být potřebný kód buď oběma stranám znám předem, nebo musí být dynamicky načten. Aby to bylo možné, obsahuje záznam, který definuje takový objekt, pole Code Base, což je seznam adres URL, ze kterých lze kód načíst.

Objekt podle hodnoty může mít také vzdálené metody, pole, která jsou předávána spolu s objektem samotným. Pole zase mohou být takovými objekty a tvoří tak seznamy, stromy nebo libovolné grafy. Objekty podle hodnoty mohou mít hierarchii tříd, včetně abstraktní a vícenásobné dědičnosti.

CORBA Component Model (CCM)

CORBA Component Model (CCM) je nedávným přírůstkem do rodiny definic CORBA.

CCM byl zaveden od verze CORBA 3.0 a popisuje standardní aplikační rámec pro komponenty CORBA. CCM je silně ovlivněný Enterprise JavaBeans (EJB) a je ve skutečnosti jeho jazykově nezávislým rozšířením. CCM poskytuje abstrakci entit, které mohou poskytovat a přijímat služby prostřednictvím dobře definovaných pojmenovaných rozhraní, portů .

CCM poskytuje kontejner komponent, ve kterém lze dodávat softwarové komponenty. Kontejner poskytuje sadu služeb, které může komponenta používat. Tyto služby zahrnují (ale nejsou omezeny na) služby oznamování, autorizace, perzistence a správy transakcí. Jedná se o nejčastěji používané služby distribuovanou aplikací. Přesunutím implementace těchto služeb od nutnosti implementovat samotnou aplikací do funkčnosti aplikačního kontejneru lze značně snížit složitost implementace samotných komponent.

Common Broker Interaction Protocol (GIOP)

GIOP (General Inter-ORB Protocol) je abstraktní protokol ve standardu CORBA, který poskytuje interoperabilitu brokerů . Standardy související s protokoly vydává Object Management Group (OMG). Architektura GIOP obsahuje několik specifických protokolů:

  1. Internet InterORB Protocol (IIOP) (Interbroker protocol for the Internet) je protokol pro organizování interakce mezi různými brokery, publikovaný konsorciem OMG. IIOP používá GIOP na internetu a poskytuje mapování zpráv mezi GIOP a vrstvou TCP/IP .
  2. SSL InterORB Protocol (SSLIOP) - IIOP přes SSL , podporováno šifrování a ověřování .
  3. HyperText InterORB Protocol (HTIOP) - IIOP přes HTTP .

Reference objektu (Corba Location)

CorbaLoc ( anglicky  Corba Location ) je řetězcový odkaz na objekt technologie CORBA, podobný URL .

Všechny implementace CORBA musí podporovat alespoň dvě varianty URL OMG: corbaloc: a corbaname: . Jejich účelem je poskytnout osobě způsob, jak číst a upravovat referenci, prostřednictvím které lze získat referenci na objekt CORBA .

příklad corbaloc :

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

Implementace CORBA může poskytovat podporu pro formáty "http:", "ftp:" a "file:". Účelem těchto formátů je určit způsob, jak získat řetězcovou reprezentaci odkazu na objekt CORBA.

Seznam brokerů (CORBA ORB)

Viz také

Poznámky

  1. CORBA Environment for Distributed Processing & Computing Applications – od Borland Archivováno z originálu 27. února 2007.
  2. MICO CORBA (nedostupný odkaz) . Datum přístupu: 25. května 2010. Archivováno z originálu 26. července 2010. 
  3. Projekt omniORB na SourceForge.net
  4. ORBit2 . Datum přístupu: 3. března 2007. Archivováno z originálu 28. května 2007.
  5. JacORB . Získáno 3. března 2007. Archivováno z originálu dne 12. prosince 2005.
  6. CORBA v reálném čase s TAO (ACE ORB) (downlink) . Získáno 3. března 2007. Archivováno z originálu 11. června 2007. 
  7. Produkty - Orbacus - Embeddable CORBA ORB - Progress Software | Progress Software (downlink) . Získáno 3. března 2007. Archivováno z originálu 20. března 2007. 

Odkazy