Oct'99 (cc52n) 1
CORBA:Common Object Request Broker Arquitecture
César Guerrero SaldiviaCC52N - 99/2
Oct'99 (cc52n) 2
¿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) 3
¿que soluciona Corba?
Aplicaciones. Procesos clientes y servidores que representan la lógica del negocio como objetos que pueden residir en distintas máquinas.
Middleware. Soporte que permite la comunicación entre aplicaciones.
Servicios de Red. Transporta la información entre computadores.
Servicios Locales. Ejemplo, bases de datos y administradores de transacciones.
Sistema Operativo. Provee servicios básicos de Hw y scheduling.
M idd leware
A plicaciones
S ervic iosde R ed
S ervic iosLoca les
S istem a O pera tivo
· In fraestructura IT
Oct'99 (cc52n) 4
¿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) 5
¿que soluciona Corba?
Importancia del Middleware.
M iddleware
Oct'99 (cc52n) 6
¿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) 7
¿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) 8
¿como funciona?
Diagrama conceptual de CORBA
C C++ Java Cobol
C lien t S tubs S erver S ke le tons
C C++ Java Cobol
IDL IDL IDL IDL
C orba O R B
Oct'99 (cc52n) 9
¿como funciona?
Diagrama conceptual de CORBA
iin terfazO R B
C orba O R B
InvocaciónSkeletonD inám ico
Skeletonestático
Stub C lienteID L
InvocaciónD inám ica
O bject Adapter
R epositorio deIm plem entaci
onesR epositoriode
Interfaces
C liente Im plem entación O bjetos
Oct'99 (cc52n) 10
¿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) 11
¿como ha evolucionado?
'89 OMG es
fundada
Oct '91 CORBA 1.1
Feb '92 CORBA 1.1 Especificación
conocida
'92 Prim eros
productosCORBAcom erciales
Dec '93 CORBA 1.2
Dec '94 anuncia
CORBA 2.0
Ago '96 CORBA 2.0 IIOP C++ Seguridad COM .......
Ago'97 CORBA 2.1 IIOP / SSL Feb '98
CORBA 2.2 DCOM
Sep '98 anuncia
CORBA 3.0
Jun '99 CORBA 3.0 Asincrono Java Firewalls POA Obj. por
valor OMG (750) ........
C O R B A
1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
Oct'99 (cc52n) 12
¿es único?
Competidores:
DCOM
RMI/RMP
HTTP/CGI
Servlets
Sockets
.............
Oct'99 (cc52n) 13
¿es único?
CORBA/IIOP DCOM RMI/RMP HHTP/CGI Servlets SocketsAbstraction 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 wireprotocol
scaling inter-standar open standar
Client/Server programming with Java and CORBA, 2nd ed, 1998Robert Orfali & Dan Harkey ,Wiley Computer Publishing, pag, 375
Oct'99 (cc52n) 14
¿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 CAvailability A D B
IDE support D A AISV Enthusiasm C A A
Champions(s) C B AComponent library D B B
Languajes(s) A A DFive-year plan D B B
Overall B- B B+
Gartner Group Inc,Server/Workstation ExpertAugust 1999,vol 10 nº8, pag,56
Oct'99 (cc52n) 15
¿qué proyecciones tiene?
'89 OMG es
fundada
Oct '91 CORBA 1.1
Feb '92 CORBA 1.1 Especificación
conocida
'92 Prim eros
productosCORBAcom erciales
Dec '93 CORBA 1.2
Dec '94 anuncia
CORBA 2.0
Ago '96 CORBA 2.0 IIOP C++ Seguridad COM .......
Ago'97 CORBA 2.1 IIOP / SSL Feb '98
CORBA 2.2 DCOM
Sep '98 anuncia
CORBA 3.0
Jun '99 CORBA 3.0 Asincrono Java Firewalls POA Obj. por
valor OMG (750) ........
C O R B A
Ene '96 Java 1.0
Feb '97 Java 1.1 RMI Mar '98
EJB 1.0
Jun '98 prim eros
productos paraEJB 1.0
Dec '98 Java 1.2
May '99 EJB 1.1
1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
E nte rp rise Jav aB eans
Oct'99 (cc52n) 16
¿ejemplos?
C rearD efin ic iones ID L
Precom pilar
C lient ID L S tub
Skeleton
Exam ple Servant
Im plem ento e lC liente
Im plem ento e lServant
C om pilar C om pilar
C lase C liente C lase Servant
O bjectAdapter
R epositorioIn terfaces
R epositorioIm plem entaciones
carga/b ind
usa
instancia
Oct'99 (cc52n) 17
¿ejemplos?
count.id l
id l2 java
_st_coun t C oun tH e lpe r C oun tH o lde r _coun tIm p lB ase C oun t _exam p le_coun t
Java - C liente Java - Server
C orba ID L
P recom pilador ID L-JA V A
Oct'99 (cc52n) 18
¿ejemplos?
count.id l
id l2cpp
coun t_c .hh coun t_c .cc coun t_s .hh coun t_s .cc
C lien te C ++ S erver C ++
C orba ID L
P recom pilador ID L-C ++