Está en la página 1de 17

ARQUITECTURA CORBA

INGENIERA DE SOFTWARE
Arquitectura CORBA (I)
Promovida por la OMG (Grupo de gestion de objeto +700
compaas)
Estndares abierto
CORBA (Arquitectura de Agente de bolsa de Peticin de
Objeto Comn)
CORBA define:
El interfaz de los objetos (IDL)
Cmo se comunican entre s (IIOP)
Servicios de objeto
Invocacin de mtodos remotos
Programa cliente
llamada
Lenguaje
firmas de
operacin de
mapeo
Localizacion de
servicios
ORB
Operaciones ORB Adaptador de objeto
taln esqueleto
Languaje puntos de
entrada de mapeo
Metodo
Implemtacion de
objeto
Capa de transporte
Arquitectura CORBA (II)
CORBA trata con Interfaces, no con la implementacin de
los objetos
Los programadores usan referencias a objetos remotos
como si fuesen locales
CORBA pone el objeto a disposicin de cualquier
aplicacin conectada al bus de objetos de forma
trasparente
Interoperatividad entre objetos heterogneos
distribuidos. (Aplicaciones distribuidas)
El protocolo IIOP
IIOP (Internet-Inter Protocolo ORB )
Permite la comunicacin entre varios ORBs
Desde la implementacin CORBA 2.0
Protocolo sobre TCP/IP
Existen otras versiones ms genricas:
GIOP ( Protocolo General Inter-ORB ]
ESIOPs (Protocolos Inter-ORB- de entorno especfico)
Lenguaje de definicin de interfaces IDL
IDL (Interface Definition Language) Instrumento para
definir las interfaces de los objetos
Lenguaje declarativo y /o que permite la abstraccin del
lenguaje de programacin empleado en los objetos
Sintaxis similar a C++
Compiladores de IDL a varios lenguajes de programacin:
C, C++
Java
Smalltalk
COBOL
Ada, ...
Invocaciones IDL estticas
Rheinische Friedrich-Wilhelms-Universitt Bonn,
Institut fr Informatik III
OMG IDL Compiler
CORBA
Run-Time
Libraries
Client
program
Server
program
IDL Interface
Specification
interface Quoter
{
long get_quote (in string name);
};
IDL Compiler
Server
source code
Client
source code
Stub
source code
Skeleton
source code
C++ J ava
C++ Compiler Java Compiler
Ejemplo de fichero IDL
Module ObjetosRobot {
struct Posicion {
double Cord_x, Cord_y, Cord_z;
};
exception Unknown{};
interface Brazo {
Posicion ObtenerPosicionActual();
void MoverAPosicion(in Posicion PosicionFinal) raises (Unknown);
};
interface Garra {
readonly attribute string tipoGarra;
void CambiarGarra(in long NuevaGarra) raises (Unknown);
} ;
};
Componentes arquitectura
CORBE
Invocacion
dinamica
Interfaz de
repositorio
Cliente IDL
Stubs

Interfaz
ORB

Skeletons
estaticos
Invocacion
dinamica
de
Skeleton
Adaptador de objeto
implementacin
repositorio
Client
Implementacion
De
objeto
Invocaciones a mtodos estticos
vs dinmicos
Llamadas estticas:
El cdigo generado por el IDL se compila dentro del Cliente y
Servidor
Clases definidas en tiempo de compilacin
Llamadas dinmicas:
Permiten detectar nuevas clases de objetos en tiempo de
ejecucin
Se introduce cdigo para detectar los nuevos interfaces
Se publica el interfaz en una BBDD
Mayor flexibilidad vs. mayor complejidad
Adaptador de Objetos
Principal mecanismo para que las implementaciones de
los objetos accedan a los servicios del ORB
Servicios ofrecidos por el Adaptador de Objetos:
Registro de clases de servidor en el Implementation Repository
Crea instancias de nuevos objetos en tiempo de ejecucin
Crea y manipula referencias a objetos
Comunica la presencia de objetos servidos a otros OA
Gestiona las llamadas de los clientes remotos
BOA (Basic Object Adapter) y el POA (Portable OA) (desde
CORBA 2.2)
Servicios CORBA
Aumentan la funcionalidad de CORBA
Algunos de los servicios disponibles son:
Servicio de nombres
Ciclo de vida de objetos (creacin, copia, borrado...)
Servicio de eventos
Servicio de transacciones (incluso entre distintos ORBs)
Control de concurrencia (Accesos concurrentes a objetos)
Servicio de objetos persistentes
Servicios de seguridad
...
Quin y para qu usa CORBA hoy?
Integracin de sistemas (Encapsulado de software
previo)
Internet (junto a JAVA)
Telecomunicaciones (Gestin de redes y equipos...)
Entornos industriales
VENTAJAS
Heterogeneidad.
Movilidad
Eficiencia
Adaptacion al cliente
Tiempo de desempleo
Robusto

Desventajas
Falta de existencia en el diseo,
implantacin y uso del software.
Uso indispensable de las redes para
comunicacin.
Saturacin, embotellamiento, interrupcion
o perdidas de mensajes.

EJEMPLOS
Navegacin por la web
Correo electrnico
Servidores de impresin
Juegos

También podría gustarte