CORBA Študent: Bc. Juraj Kráľ
Dnes uvidíte ... ... Čo je to CORBA ... ako funguje ... ORB ... IDL ... Vývoj distribuovaných aplikácií ... História vývoja CORBA
Čo je to CORBA CORBA (The Common Object Request Broker Architecture) Umožňuje spolupracovať distribuovaným aplikáciám a to nezávislé na tom, v akom jazyku sú napísané CORBA využíva objektovo orientovaný prístup na vytváranie softvérových komponentov je architektúra a špecifikácia na vytváranie, distribuovanie a spravovanie distribuovaných objektov v sieti. Umožňuje distribuovaným aplikáciám, aby spolupracovali, a to nezávisle na tom, v akom jazyku sú napísané a kde sa nachádzajú. Teda jeden objekt je napríklad na unixovskom stroji v jazyku c++, druhý na windowse v jave niekde na druhom konci sveta. Výhodou je, že všetko je štandardizované. CORBA využíva objektovo orientovaný prístup na vytváranie softvérových komponentov, ktoré môžu byť zdieľané medzi aplikáciami.
Ako to funguje CORBA je klient/server architektúra, ktorá sa skladá z troch základných komponentov: klient server ORB (Object Request Broker) ORB spája klientskú aplikáciu s objektmi, ktoré chce aplikácia použiť. Klientský program nepotrebuje vedieť, či je server s ktorým komunikuje na tom istom počítači, alebo na nejakom vzdialenom počítači niekde v sieti. Klientský program len potrebuje vedieť meno objektu a musí rozumieť ako používať interface objektu. O detaily zamerania objektu, smerovania požiadavky a vrátenia výsledku sa postará ORB. Samotý ORB nie je samostatný proces. Je to kolekcia knižníc, ktorá umožňuje klientským aplikáciám zamerať a využívať objekty.
ORB Spája klientskú aplikáciu s objektami ktoré chce aplikácia použiť Samotý ORB nie je samostatný proces. Je to kolekcia knižníc, ktorá umožňuje klientským aplikáciám zamerať a využívať objekty.
Na počiatku je IDL Pre komunikáciu medzi CORBA objektami je dôležitá špecifikácia ich rozhraní v jazyku IDL Klient volá len metódy nad rozhraním definovaným v IDL a nestará sa o to ako sú objekty implementované IDL špecifikácie sú potom mapované do konkrétnych jazykov Dnes existujú mapovania do: C, C++, Smalltalk, Ada95, COBOL, Java
Volanie metód CORBA objektov Vzdialený CORBA objekt je v klientskom adresovom priestore zastupovaný iným objektom, tzv. proxy. Proxy má obvykle rovnaké rozhranie ako cieľový objekt a jeho metódy sa nazývajú stuby Server pošle ORB správu skeletonu Formát správ je špecifikovaný protokolom IIOP (Internet Inter-ORB Protocol)
Vývoj distribuovaných aplikácií Vytvorenie špecifikácie pre každý objekt použijúc IDL Využitie IDL kompilátora na generovanie klientského stub kódu a serverového POA kódu Napísanie programového kódu pre klienta Napísanie programového kódu pre serverovské objekty. Skompilovanie klientského a serverovského kódu (Interface Definition Language). IDL je jazyk, ktorý slúži na popis objektového rozhrania (Portable Object Adapter) POA je sprostredkovateľ medzi implementáciou objektu a ORB-om.
História CORBA 1.0 (Október 1991) CORBA 1.1 (Február 1992) pridanie rozhrania pre základný objekt adaptér a správa pamäte, objasnili sa nejasnosti v objektovom modeli CORBA 1.2 (December 1993) Uzavreté niekoľké nejasností, najmä v riadení pamäti a v porovnávaní referencií na objekty
História CORBA 2.0 (August 1996) Zásadné prerobenie objektového modelu a pridanie niekoľkých doležitých funkcií Zahrnuté v tejto verzii boli Interoperabilita Špecifikácia protokolu, vylepšenia rozhrania repozitára, inicializácia, a dva IDL jazykové mapovania (C + + a Smalltalk).
História CORBA 2.1 (August 1997) CORBA 2.2 (Február 1998) – POA, IDL/JAVA mapovanie CORBA 2.3 (Jún 1999) – nové špecifikácie CORBA 2.4 (Október 2000) – nové špecifikácie CORBA 2.5 (September 2001) – nové špecifikácie CORBA 2.6 (December 2001) – nové špecifikácie
História CORBA 3.0 (Júl 2002) CORBA 3.0.1 (November 2002) Zahŕňa aktualizácie na základe výstupu z jadra RTF Umožňuje užšiu špecifikáciu s Javou a s ďalšími komponentmi čo uľahčuje programátorom používať CORBA CORBA 3.0.1 (November 2002) CORBA 3.0.2 (December 2002)
Domáca úloha Na tomto príklade si môžete doma pozrieť prepojenie CORBA a JAVA http://www.docstoc.com/docs/23959214/CORBA-a-Java
Zdroje http://pcworld.cz/software/co-je-to-corba-aneb-middleware-dneska-15175 http://www.docstoc.com/docs/23959214/CORBA-a-Java http://ics.upjs.sk/~jirasek/sps/sps2004/corba/index.html http://www.ois.com/Products/what-is-corba.html http://www.omg.org/gettingstarted/history_of_corba.htm
Ďakujem za pozornosť