Está en la página 1de 18

CORBA:

Common Object Request Broker Arquitecture

César Guerrero Saldivia


CC52N - 99/2

Oct'99 (cc52n) 1
¿que es Corba?

 Common Object Request Broker Arquitecture (CORBA)

 CORBA es una especificación. No es un software o aplicación.

 Auspiciado por Object Managament Group (OMG), para establecer una especificación
de inter-operabilidad entre plataformas.

 OMG es fundada en 1989, por American Airlines, Canon, Data General, HP, Philips
Telecomunicaciones, Sun , 3Com y Unisys

 Hay un gran número de implementaciones de CORBA. Estas son conocidas como


Object Request Broker (ORB)

Oct'99 (cc52n) 2
¿que soluciona Corba?

 Aplicaciones. Procesos clientes y servidores que


· Infraestructura IT representan la lógica del negocio como objetos que
pueden residir en distintas máquinas.
Aplicaciones
 Middleware. Soporte que permite la comunicación entre
aplicaciones.
Middleware

 Servicios de Red. Transporta la información entre


computadores.
Servicios Servicios
de Red Locales
 Servicios Locales. Ejemplo, bases de datos y
administradores de transacciones.

Sistema Operativo
 Sistema Operativo. Provee servicios básicos de Hw y
scheduling.

Oct'99 (cc52n) 3
¿que soluciona Corba?

Definición Middleware

......Conjunto de servicios comunes no relacionado con “la


lógica de negocio” que permite que aplicaciones servidoras y
clientes interactuen con otras a través de una Red. En esencia
el Middleware es el software que reside sobre la red ,
permitiendo software de aplicacion orientados sólo a “logica
de negocio.

Oct'99 (cc52n) 4
¿que soluciona Corba?

 Importancia del Middleware.

Middleware

Oct'99 (cc52n) 5
¿que soluciona Corba?

 Ejemplos sobre implementaciones de Middleware.

 Correo Electrónico. Provee servicios no relacionados con el negocio


que residen sobre la red permitiendo interconectar usuarios.

 Productos de Groupware, como por ejemplo Lotus Notes.

 Web Browser, Web gateways.

 Sql Gateways.

 Paquetes de “Electronic Data Interchange” (EDI).

 Paquetes de Remote procedure Call (RPC).

 Servidores de Objetos distribuidos, como por ejemplo CORBA.

Oct'99 (cc52n) 6
¿como funciona?

Los conceptos claves de CORBA son:

 Esencialmente especifica los servicios de middleware que serán usados por las
aplicaciones (objetos).

 Existe una interfaz entre aplicaciones clientes y servidoras. Una lenguaje de definición
de interfaz (IDL) ha sido definido específicamente para CORBA.

 Cualquier objeto puede ser un cliente, un servidor o ambos. Para efectos de


descripción CORBA usa el modelo Cliente/Servidor.

 Soporta “static binding” y “dinamic binding”

 No conoce los detalles de las implementaciones fundamentales de los objetos. Un


“object adapter” mapea modelos genéricos a implementaciones, siendo la principal
manera en que las implementaciones de los objetos acceden los servicios provistos por
el ORB (object Request Broker)

Oct'99 (cc52n) 7
¿como funciona?

Diagrama conceptual de CORBA

C C++ Java Cobol

C C++ Java Cobol


IDL IDL IDL IDL

Client Stubs Server Skeletons

Corba ORB

Oct'99 (cc52n) 8
¿como funciona?

Diagrama conceptual de CORBA

Cliente Implementación Objetos

Invocación
Skeleton
Skeleton
estático Repositorio de
Dinámico
Implementaci
Repositorio ones
de Invocación Stub Cliente iinterfaz
Object Adapter
Interfaces Dinámica IDL ORB

Corba ORB

Oct'99 (cc52n) 9
¿como ha evolucionado?

 CORBA es una especificación. Como cualquier


especificación hubo áreas dejadas a la interpretación de
los implementadores.

 A través de Internet Inter-ORB Protocol (IIOP), la OMG


espera que ORB’s de diferentes vendedores puedan
comunicarse fácilmente entre si.

 Recientemente las especificaciones “Portable Object


Adapter” (POA) permite a clientes escritos para acceder un
ORB en particular, pueda acceder fácilmente otros
productos de diferentes vendedores.

 Se ha adaptado a los tiempos y a la competencia.

Oct'99 (cc52n) 10
¿como ha evolucionado?

Jun '99
Ÿ CORBA 3.0
CORBA Feb '92 Ÿ Asincrono
Ÿ CORBA 1.1 Ÿ Java
Ÿ Especificación Ÿ Firewalls
conocida Ÿ POA
Dec '94
Ÿ anuncia Ÿ Obj. por
CORBA 2.0 valor
Ÿ OMG (750)
'92 Ÿ ........
Ÿ Primeros Dec '93 Ago '96
'89 productos
Ÿ OMG es Ÿ CORBA 1.2 Ÿ CORBA 2.0 Sep '98
CORBA Ÿ
fundada IIOP Ÿ anuncia
comerciales Ÿ C++ Ago'97 CORBA 3.0
Ÿ Seguridad Ÿ CORBA 2.1
Ÿ COM Ÿ IIOP / SSL Feb '98
Oct '91 Ÿ ....... Ÿ CORBA 2.2
Ÿ CORBA 1.1 Ÿ DCOM

1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999

Oct'99 (cc52n) 11
¿es único?

Competidores:

 DCOM

 RMI/RMP

 HTTP/CGI

 Servlets

 Sockets

 .............

Oct'99 (cc52n) 12
¿es único?

CORBA/IIOP DCOM RMI/RMP HHTP/CGI Servlets Sockets


Abstraction level      
Seemless Java Integration      
OS Platform support      
All-Java Implementation      
Typed parameter support      
Ease of configuration      
Distributed method      
invocations
State across invocations      
Dynamic discovery and      
metadata support
Dynamic invocations      
performance (remote pings)      
(3.5 msec) (3.8 msec) (3.3msec) (827.9 msec) (55.6 msec) (2.1 msec)
wire-level security      
wire-level transactions      
persistent object references      
URL-based naming      
multilingual object      
invocations
language neutral wire      
protocol
scaling inter-standar      
open standar      

Client/Server programming with Java and CORBA, 2nd ed, 1998


Robert Orfali & Dan Harkey ,Wiley Computer Publishing, pag, 375
Oct'99 (cc52n) 13
¿qué proyecciones tiene?

 RMI y Corba, son dos estándares de objetos distribuidos soportados por OMG.

 Microsoft COM/DCOM.

 “Las especificaciones “corba java-to-IDL” y “object-by-value” son un gran paso


hacia la unificación en el campo de los objetos distribuidos entre Corba y RMI.
Significa que no se debe elegir entre Java RMI y Java IDL. EJB es un buen
ejemplo de esta nueva unificación en acción.

 ¿Enterprise Java Bean ?


CORBA COM/COM+ EJB
Maturity A B C
Availability A D B
IDE support D A A
ISV Enthusiasm C A A
Champions(s) C B A
Component library D B B
Languajes(s) A A D Gartner Group Inc,
Server/Workstation Expert
Five-year plan D B B August 1999,vol 10 nº8, pag,56
Overall B- B B+

Oct'99 (cc52n) 14
¿qué proyecciones tiene?

Jun '99
Ÿ CORBA 3.0
CORBA Feb '92 Ÿ Asincrono
Ÿ CORBA 1.1 Ÿ Java
Ÿ Especificación Ÿ Firewalls
conocida Ÿ POA
Dec '94
Ÿ anuncia Ÿ Obj. por
CORBA 2.0 valor
Ÿ OMG (750)
'92 Ÿ ........
Ÿ Primeros Dec '93 Ago '96
'89 productos
Ÿ OMG es Ÿ CORBA 1.2 Ÿ CORBA 2.0 Sep '98
CORBA Ÿ
fundada IIOP Ÿ anuncia
comerciales Ÿ C++ Ago'97 CORBA 3.0
Ÿ Seguridad Ÿ CORBA 2.1
Ÿ COM Ÿ IIOP / SSL Feb '98
Oct '91 Ÿ ....... Ÿ CORBA 2.2
Ÿ CORBA 1.1 Ÿ DCOM

1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999

Ene '96
Ÿ Java 1.0
Feb '97 May '99
Enterprise JavaBeans Ÿ Java 1.1 Ÿ EJB 1.1
Ÿ RMI Mar '98
Ÿ EJB 1.0

Jun '98
Ÿ primeros
productos para
EJB 1.0

Dec '98
Ÿ Java 1.2

Oct'99 (cc52n) 15
¿ejemplos?

carga/bind
Crear Repositorio
Definiciones IDL Interfaces

Precompilar
Skeleton

Client IDL Stub Example Servant

usa

Implemento el Implemento el
Cliente Servant

Compilar Compilar Object


Adapter
instancia

Clase Cliente Clase Servant Repositorio


Implementaciones

Oct'99 (cc52n) 16
¿ejemplos?

count.idl
Corba IDL

Precompilador IDL-JAVA
idl2java

_st_count CountHelper CountHolder _countImplBase Count _example_count

Java - Cliente Java - Server

Oct'99 (cc52n) 17
¿ejemplos?

count.idl
Corba IDL

Precompilador IDL-C++
idl2cpp

count_c.hh count_c.cc count_s.hh count_s.cc

Cliente C++ Server C++

Oct'99 (cc52n) 18

También podría gustarte