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