SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
MIDDLEWARE
       &
     CORBA
             Por:
• Reyes Gabriel Carlos Ignacio
 • Ruiz Quiroz Oscar Heberto

                         L.S.C.A. 601
¿Qué es?
O Software intermediario entre los componentes de
  un sistema distribuido.
O Servicios proporcionados:
   O Representación común de la información
      O Lenguaje para especificar tipos
      O Implementación (codificación) de cada tipo
      O Herramientas de “conversión”
   O Invocación remota
      O Localización
      O Etc. (nombrado, seguridad...)
Un poco de Historia
O El origen de la palabra Middleware se
 remonta al año 1968, en donde la palabra
 es usada durante la 1968 NATO Software
 Engineering Conference, siendo una idea
 de cómo conectar el nuevo software con
 sistemas más antiguos.
Mejor explicado
O Imagina que en un cyber y mandas a
 imprimir desde tu computadora, entre la
 comgputadora y la impresora debe haber
 un intermediario (middleware) que es el
 controlador de la impresora, el cual da el
 servicio al cliente. De esta manera el
 cliente (computadora) puede hacer uso de
 la impresora, por que hay en medio quien
 le                                 ayude.
Ejemplos de Middleware
• ONC RPC (Sun)
• DCE (Open Software Foundation)
• CORBA (Object Management
  Group)
• Java (Sun)
• SOAP, XML-RPC, ...
Taxonomía de los software
      middleware
Common Object Request
Broker Arquitecture (CORBA)
 Permite invocar métodos de objetos remotos
 sin que importe el lenguaje en el que estén
 escritos el llamador y el llamado, ni las
 plataformas (s.o. y hw.) y redes de
 comunicación intermedias

  Incluye un buen número de servicios
 O Nombres
 O Seguridad
 O Transacciones
 O Persistencia
 O Notificaciones
Common Object Request
Broker Arquitecture (CORBA)
  Está estandarizado por el OMG (Object
  Management Group)
 O Sólo emite especificaciones (no existe
   implementación de referencia)
 O Las especificaciones se desarrollan por
   consenso y son públicas y gratuitas
 O Existen muchos fabricantes que implementan
   las especificaciones más importantes para las
   plataformas más usuales
 O También estandariza UML (Unified Modeling
   Language)
¿Quién es omg?
O Obj Management Group

O Creado en 1989. Actualmente conformado
  por alrededor de 800 compañías de
  software, hardware y telecomunicaciones
  (Sum, IBM, 3com, American airlines, Hewlett-
  packard, Microsoft, Philips, Canon, etc.)
O El OMG no desarrolla software, si no que se
  limita a definir y publicar estándares. El
  desarrollo del software se realiza en cada
  compañía independiente.
Arquitectura corba
O CORBA esta fundamentado en dos modelos: Un modelo de
  Objetos, el cual agrega todas las características de
  Orientación por Objetos como Tipos de
  Datos, Abstracción, Polimorfismo y Herencia y un modelo
  de referencia o arquitectura conocida como OMA (Object
  Management Architecture).

O CORBA define una arquitectura para los objetos
  distribuidos. El paradigma básico de CORBA es el de un
  pedido de servicios de un objeto distribuido. Todo definido
  por el OMG está en términos de este paradigma básico.
O Los servicios que un objeto proporciona son dados por su
  interfaz . Los interfaces se definen en la lengua de la
  definición de interfaz de OMG (IDL). Los objetos
  distribuidos son identificados por las referencias del
  objeto, que son mecanografiadas por los interfaces de IDL.
Ventajas
 1) Disponibilidad y Versatilidad
O Muchas arquitecturas y sistemas operativos
  cuentan con una implementación de CORBA, lo
  que hace suponer que se puede usar CORBA
  virtualmente en cualquier proyecto de sistemas
  distribuidos.

O 2) Las especificaciones se adoptan por consenso.
O 3) Buena infraestructura para construir
  aplicaciones distribuidas.
O 4) Permite integrar aplicaciones heterogéneas.
Ventajas
 5)    Adaptación   a   Lenguajes       de
 programación
O Además, es posible emplear los servicios
  de CORBA desde cualquier lenguaje de
  programación,   desde    C++,    C     ó
  Java, hasta COBOL ó Ada.
Desventajas
1) Incompatibilidad entre implementaciones

Cuestiones como la colocación de librerías o las
diferentes formas de implementar la gestión de la
concurrencia, hacen difícil la portabilidad del código y
obligan al programador a reciclarse cuando quiere
cambiar de ORB. Además, donde el estándar no
concreta, las implementaciones pueden variar entre
sí, lo que da lugar a molestas incompatibilidades que
complican la vida al usuario.

2) Las especificaciones tardan en desarrollarse, y en
consecuencia las implementaciones tardan en salir al
mercado
Middleware & Corba

Más contenido relacionado

La actualidad más candente

Equivalencia de autómatas finitos y expresiones regulares.
Equivalencia de autómatas finitos y expresiones regulares.Equivalencia de autómatas finitos y expresiones regulares.
Equivalencia de autómatas finitos y expresiones regulares.Yamilee Valerio
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentesmartin
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosCarolina Cols
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regularesJordan-P
 
Proyecto de compiladores Sentencia While con Java CUP y JFLEX
Proyecto de compiladores Sentencia While con Java CUP y JFLEXProyecto de compiladores Sentencia While con Java CUP y JFLEX
Proyecto de compiladores Sentencia While con Java CUP y JFLEXIvan Luis Jimenez
 
Lenguaje estructurado de consulta
Lenguaje estructurado de consultaLenguaje estructurado de consulta
Lenguaje estructurado de consultaMaria Garcia
 
Estructura de un interprete
Estructura de un interpreteEstructura de un interprete
Estructura de un interpreteperlallamas
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARESAnel Sosa
 
Calculo relacional de base de datos
Calculo relacional de base de datosCalculo relacional de base de datos
Calculo relacional de base de datosDILMER OLIVERA
 
Estados y transiciones de los procesos
Estados y transiciones de los procesosEstados y transiciones de los procesos
Estados y transiciones de los procesosAlberto Ch
 
Servicio de Nombramiento
Servicio de NombramientoServicio de Nombramiento
Servicio de NombramientoJorge Guerra
 
Diccionario de base de datos
Diccionario de base de datosDiccionario de base de datos
Diccionario de base de datosalexis armas
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 

La actualidad más candente (20)

Equivalencia de autómatas finitos y expresiones regulares.
Equivalencia de autómatas finitos y expresiones regulares.Equivalencia de autómatas finitos y expresiones regulares.
Equivalencia de autómatas finitos y expresiones regulares.
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativos
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Proyecto de compiladores Sentencia While con Java CUP y JFLEX
Proyecto de compiladores Sentencia While con Java CUP y JFLEXProyecto de compiladores Sentencia While con Java CUP y JFLEX
Proyecto de compiladores Sentencia While con Java CUP y JFLEX
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Diseño caso de pruebas
Diseño caso de pruebasDiseño caso de pruebas
Diseño caso de pruebas
 
Sql triggers v3
Sql triggers v3Sql triggers v3
Sql triggers v3
 
Lenguaje estructurado de consulta
Lenguaje estructurado de consultaLenguaje estructurado de consulta
Lenguaje estructurado de consulta
 
Estructura de un interprete
Estructura de un interpreteEstructura de un interprete
Estructura de un interprete
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 
Factibilidad Técnica y Económica
Factibilidad Técnica y EconómicaFactibilidad Técnica y Económica
Factibilidad Técnica y Económica
 
Calculo relacional de base de datos
Calculo relacional de base de datosCalculo relacional de base de datos
Calculo relacional de base de datos
 
Estados y transiciones de los procesos
Estados y transiciones de los procesosEstados y transiciones de los procesos
Estados y transiciones de los procesos
 
Desnormalización de Base de Datos
Desnormalización de Base de DatosDesnormalización de Base de Datos
Desnormalización de Base de Datos
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Servicio de Nombramiento
Servicio de NombramientoServicio de Nombramiento
Servicio de Nombramiento
 
Diccionario de base de datos
Diccionario de base de datosDiccionario de base de datos
Diccionario de base de datos
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 

Destacado

Destacado (16)

Middleware
MiddlewareMiddleware
Middleware
 
Aplicaciones Middleware
Aplicaciones MiddlewareAplicaciones Middleware
Aplicaciones Middleware
 
Middleware
MiddlewareMiddleware
Middleware
 
07 middleware
07 middleware07 middleware
07 middleware
 
Middleware
MiddlewareMiddleware
Middleware
 
RPC - LLAMADAS REMOTAS
RPC - LLAMADAS REMOTASRPC - LLAMADAS REMOTAS
RPC - LLAMADAS REMOTAS
 
RMI
RMIRMI
RMI
 
Areas donde implementamos los sistemas distribuidos
Areas donde implementamos los sistemas distribuidosAreas donde implementamos los sistemas distribuidos
Areas donde implementamos los sistemas distribuidos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidos
 
Antecedentes de los sistemas distribuidos.
Antecedentes de los sistemas distribuidos.Antecedentes de los sistemas distribuidos.
Antecedentes de los sistemas distribuidos.
 
Tipos de sistemas distribuidos.
Tipos de sistemas distribuidos.Tipos de sistemas distribuidos.
Tipos de sistemas distribuidos.
 
RPC
RPCRPC
RPC
 
Semana 13 sistemas distribuidos
Semana 13   sistemas distribuidosSemana 13   sistemas distribuidos
Semana 13 sistemas distribuidos
 

Similar a Middleware & Corba (20)

Arquitectura Corba
Arquitectura CorbaArquitectura Corba
Arquitectura Corba
 
Tecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
Tecnologías de Desarrollo de Sistemas Distribuidos basados en ObjetosTecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
Tecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
 
Bd distribuidas
Bd distribuidasBd distribuidas
Bd distribuidas
 
P3 Componentes
P3 ComponentesP3 Componentes
P3 Componentes
 
Ug chica
Ug chicaUg chica
Ug chica
 
Supremo
SupremoSupremo
Supremo
 
Ug mvillao
Ug mvillaoUg mvillao
Ug mvillao
 
Corba
CorbaCorba
Corba
 
Ug chaguay
Ug chaguayUg chaguay
Ug chaguay
 
Merchan y mocha
Merchan y mochaMerchan y mocha
Merchan y mocha
 
Ug zuñiga
Ug zuñigaUg zuñiga
Ug zuñiga
 
Net remoting
Net remotingNet remoting
Net remoting
 
.Net Remoting
.Net Remoting.Net Remoting
.Net Remoting
 
R_QuintoNevarez
R_QuintoNevarezR_QuintoNevarez
R_QuintoNevarez
 
Ut jsilvareyes
Ut jsilvareyesUt jsilvareyes
Ut jsilvareyes
 
Jacomefarino
JacomefarinoJacomefarino
Jacomefarino
 
Jacomefarino
JacomefarinoJacomefarino
Jacomefarino
 
odmg - corba
odmg - corbaodmg - corba
odmg - corba
 
CORBA
CORBACORBA
CORBA
 
Trabajo grupal 1 taller-prog-distribuida
Trabajo grupal 1 taller-prog-distribuidaTrabajo grupal 1 taller-prog-distribuida
Trabajo grupal 1 taller-prog-distribuida
 

Middleware & Corba

  • 1. MIDDLEWARE & CORBA Por: • Reyes Gabriel Carlos Ignacio • Ruiz Quiroz Oscar Heberto L.S.C.A. 601
  • 2. ¿Qué es? O Software intermediario entre los componentes de un sistema distribuido. O Servicios proporcionados: O Representación común de la información O Lenguaje para especificar tipos O Implementación (codificación) de cada tipo O Herramientas de “conversión” O Invocación remota O Localización O Etc. (nombrado, seguridad...)
  • 3. Un poco de Historia O El origen de la palabra Middleware se remonta al año 1968, en donde la palabra es usada durante la 1968 NATO Software Engineering Conference, siendo una idea de cómo conectar el nuevo software con sistemas más antiguos.
  • 4. Mejor explicado O Imagina que en un cyber y mandas a imprimir desde tu computadora, entre la comgputadora y la impresora debe haber un intermediario (middleware) que es el controlador de la impresora, el cual da el servicio al cliente. De esta manera el cliente (computadora) puede hacer uso de la impresora, por que hay en medio quien le ayude.
  • 5. Ejemplos de Middleware • ONC RPC (Sun) • DCE (Open Software Foundation) • CORBA (Object Management Group) • Java (Sun) • SOAP, XML-RPC, ...
  • 6. Taxonomía de los software middleware
  • 7. Common Object Request Broker Arquitecture (CORBA) Permite invocar métodos de objetos remotos sin que importe el lenguaje en el que estén escritos el llamador y el llamado, ni las plataformas (s.o. y hw.) y redes de comunicación intermedias Incluye un buen número de servicios O Nombres O Seguridad O Transacciones O Persistencia O Notificaciones
  • 8. Common Object Request Broker Arquitecture (CORBA) Está estandarizado por el OMG (Object Management Group) O Sólo emite especificaciones (no existe implementación de referencia) O Las especificaciones se desarrollan por consenso y son públicas y gratuitas O Existen muchos fabricantes que implementan las especificaciones más importantes para las plataformas más usuales O También estandariza UML (Unified Modeling Language)
  • 9. ¿Quién es omg? O Obj Management Group O Creado en 1989. Actualmente conformado por alrededor de 800 compañías de software, hardware y telecomunicaciones (Sum, IBM, 3com, American airlines, Hewlett- packard, Microsoft, Philips, Canon, etc.) O El OMG no desarrolla software, si no que se limita a definir y publicar estándares. El desarrollo del software se realiza en cada compañía independiente.
  • 10. Arquitectura corba O CORBA esta fundamentado en dos modelos: Un modelo de Objetos, el cual agrega todas las características de Orientación por Objetos como Tipos de Datos, Abstracción, Polimorfismo y Herencia y un modelo de referencia o arquitectura conocida como OMA (Object Management Architecture). O CORBA define una arquitectura para los objetos distribuidos. El paradigma básico de CORBA es el de un pedido de servicios de un objeto distribuido. Todo definido por el OMG está en términos de este paradigma básico. O Los servicios que un objeto proporciona son dados por su interfaz . Los interfaces se definen en la lengua de la definición de interfaz de OMG (IDL). Los objetos distribuidos son identificados por las referencias del objeto, que son mecanografiadas por los interfaces de IDL.
  • 11. Ventajas 1) Disponibilidad y Versatilidad O Muchas arquitecturas y sistemas operativos cuentan con una implementación de CORBA, lo que hace suponer que se puede usar CORBA virtualmente en cualquier proyecto de sistemas distribuidos. O 2) Las especificaciones se adoptan por consenso. O 3) Buena infraestructura para construir aplicaciones distribuidas. O 4) Permite integrar aplicaciones heterogéneas.
  • 12. Ventajas 5) Adaptación a Lenguajes de programación O Además, es posible emplear los servicios de CORBA desde cualquier lenguaje de programación, desde C++, C ó Java, hasta COBOL ó Ada.
  • 13. Desventajas 1) Incompatibilidad entre implementaciones Cuestiones como la colocación de librerías o las diferentes formas de implementar la gestión de la concurrencia, hacen difícil la portabilidad del código y obligan al programador a reciclarse cuando quiere cambiar de ORB. Además, donde el estándar no concreta, las implementaciones pueden variar entre sí, lo que da lugar a molestas incompatibilidades que complican la vida al usuario. 2) Las especificaciones tardan en desarrollarse, y en consecuencia las implementaciones tardan en salir al mercado