Está en la página 1de 2

Programacin en el entorno GNOME

CORBA
Tabla de contenidos
Introduccin a CORBA
La Historia de CORBA en el proyecto GNOME
El lenguaje IDL
ORBit, la implementacin de CORBA de GNOME
Los escritorios modernos estn compuestos por multitud de
pequeos programas que deben comunicarse los unos con los
otros para que el usuario tenga la sensacin de estar trabajando
en un entorno coherente, un entorno en el que todo encaja y
trabaja de forma coordinada.
Tmese como ejemplo el Panel, el Panel, este es un contenedor
en el cual se pueden colocar diferentes "applets", estos
"applets" son programas autnomos que deben comunicarse con
el Panel para que el usuario tenga la sensacin de que el Panel y
los "applets" estn perfectamente integrados.
Otros ejemplos mucho ms complejos son tambin posibles, por
ejemplo, el caso en cual un programa toma datos de un sensor
y los introduce de forma automtica en Gnumeric (la hoja de
clculo de GNOME Office) sin necesidad de que el usuario
intervenga.
Para poder conseguir esta integracin y la posibilidad de
controlar las aplicaciones de esta forma es necesario un sistema
que permita a los diferentes programas comunicarse entre ellos.
En este captulo se presentar la solucin que la comunidad
GNOME a adoptado para este importante problema, sus
caractersticas, sus ventajas y sus limitaciones.

Introduccin a CORBA

CORBA es una tecnologa que oculta la programacin a bajo


nivel de aplicaciones distribuidas, de tal forma que el
programador no se tiene que ocupar de tratar con sockets,
flujos de datos, paquetes, sesiones etc. CORBA oculta todos
estos detalles de bajo nivel. No obstante CORBA tambin brinda
al programador una tecnologa orientada objetos, las funciones
y los datos se agrupan en objetos, estos objetos pueden estar
en diferentes mquinas, pero el programador acceder a ellos a
travs de funciones normales dentro de su programa.
Veamos un ejemplo:
...
GNOME_Evolution_Calendar_Cal__setMode (object, MODE_LOCAL, &ev);
...

Esta funcin ejecutara el mtodo setMode sobre el objeto


object, para el programador esta llamada es como una
operacin local, no hay ms complejidad.
Los mtodos y datos CORBA se agrupan formando lo que se
demoninan interfaces, los interfaces pueden ser interpretados
como objetos que grupan datos y mtodos para acceder a estos.
Todos estos interfaces se definen usado un lenguaje IDL
(Interface Definition Language), que es precisamente esto, un
lenguaje para la definicin de interfaces. Este lenguaje es
estandar y lo soportan todas las implementaciones CORBA.
es algo ms que una abstraccin que oculta la complejidad de
red, -> TODAS LAS LLAMAS PARA EL PROGRAMADOR SON
IGUALES -> SE DEFINEN OBJETOS Y METODOS -> LOS
OBJETOS SON REMOTOS -> NO PORQUE CORBA OCULTE COSAS
DEBEMOS DEJAR DE PENSAR EN LA EFICIENCIA DE RED Hay
una multitud de sistemas con un propsito muy similar a CORBA
circulando por el mundo, los ms usados son: el RPC (Remote
Procedure Call) de Sun Microsystems y DCOM (Distributed que
los desarrolladores de GNOME han adoptado es individuales
CORBA -> muy importante especificacin, OMG

También podría gustarte