Download Presentación CORBA
Document related concepts
no text concepts found
Transcript
CORBA
David Jesús Horat Flotats
ÍNDICE
1 Introducción a CORBA
2 Interface Definition Language (IDL)
3 Servicio de nombres
4 Object Request Broker (ORB)
5 Ejemplo
6 CORBA vs RMI
1. Introducción a CORBA
Common Object Request Broker Architecture
Llamada a Procedimiento Remoto (RPC)
Estándar internacional
– OMG: Object Management Group
Tecnología de integración de objetos
– No un aspecto del lenguaje
Independencia del lenguaje
– Es necesario un compilador IDL al lenguaje
especificado
1. Introducción a CORBA
Object Management Architecture
– Core Object Model
Semántica
común de objetos
– Interfaz, operaciones, etc...
Definida
a través de IDL
CORBA es un mejoramiento de COM
– OMA Reference Architecture
Infraestructura
de servicios
Incluye el ORB (Object Request Broker)
Incluye Object Services (CORBA Services)
2. Interface Definition
Language
Forma independiente del lenguaje de
especificar tipos de datos, atributos,
operaciones, interfaces, módulos, ....
Sintaxis similar a C++ y Java
Soporta el conceto de herencia usando
“:” como en C++
Se compila de IDL al lenguaje
especificado
– Ejemplo: IDL/Java
2. Interface Definition
Language
CORBA IDL
Módulo
JAVA
Paquete
C++
Espacio de nombre
Interfaz
Interfaz
Clase abstracta pura
Método
Método
Función miembro
module unejemplo {
interface Saludos {
string decirHola();
};
};
2. Interface Definition
Language
IDL define además:
Implementación
Servidor
Petición
Petición
– Stubs: Crea y envía
las solicitudes del
cliente al ORB
– Skeleton: Entrega las
solicitudes
procedentes del ORB
a la implementación
del objeto CORBA
Implementación
Cliente
Stub
Red
Skeleton
IDL
Compilación
Compilación
3. Servicio de nombres
Servicio fundamental de CORBA
Encadena referencias
– Parecido a DNS
– Convierte cadenas a referencias
4. Object Request Broker
Parte principal
Canal de comunicación entre Stubs y
Skeletons
Es transparente
–
–
–
Oculta la implementación del objeto
Ocultado el estado de ejecución
Oculta los mecanismos de comunicación
ORB Interface: Para asegurar la
compatibilidad entre diferentes ORB se
establece una interfaz común
4. Object Request Broker
Implementaciones:
–
–
–
–
–
–
MICO : implementación Open-Source de un ORB
ORBacus de Object Orientated Concepts
Visibroker de Borland
OrbixWeb de Iona
Component Broker de IBM
Java IDL / ORB de Sun, ya incluido en todo JDK
5. Ejemplo
5.1 IDL fuente
– Compilación
5.2 Implementación del servidor
5.3 Implementación del cliente
5.4 Ejecución
6. CORBA vs RMI
RMI es sólo para Java, CORBA es
independiente
RMI es más sencillo que CORBA
Se puede usar RMI como cliente de código
no Java usando JNI
– Complejo
– Se evita usar un ORB de terceros
Le elección depende de las necesidades