SlideShare una empresa de Scribd logo
1 de 14
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

calidad para el producto del software
calidad para el producto del softwarecalidad para el producto del software
calidad para el producto del softwarearidesbetava15
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareRoger Villegas
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareJosé Antonio Sandoval Acosta
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software Brihany Rossell
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentesmartin
 
Elección de puente raíz puertos raiz puertos designados y no designados
Elección de puente raíz puertos raiz puertos designados y no designadosElección de puente raíz puertos raiz puertos designados y no designados
Elección de puente raíz puertos raiz puertos designados y no designadosJose Hernandez Landa
 
Métricas del proceso y proyecto - Procesos de Ingeniería de software
Métricas del proceso y proyecto - Procesos de Ingeniería de softwareMétricas del proceso y proyecto - Procesos de Ingeniería de software
Métricas del proceso y proyecto - Procesos de Ingeniería de softwareGalo Lalangui
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadXKWDX
 
AD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidosAD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidosFranklin Parrales Bravo
 
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARECUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWAREFreddy Aguilar
 
Gestión de proyectos de software - Tema 3: Planificación del proyecto
Gestión de proyectos de software - Tema 3: Planificación del proyectoGestión de proyectos de software - Tema 3: Planificación del proyecto
Gestión de proyectos de software - Tema 3: Planificación del proyectoJair Valenz
 

La actualidad más candente (20)

5.comprensión de los requerimientos
5.comprensión de los requerimientos5.comprensión de los requerimientos
5.comprensión de los requerimientos
 
Algoritmo Blowfish y TwoFish
Algoritmo Blowfish y TwoFishAlgoritmo Blowfish y TwoFish
Algoritmo Blowfish y TwoFish
 
Unidad 2 modelado de negocios
Unidad 2 modelado de negociosUnidad 2 modelado de negocios
Unidad 2 modelado de negocios
 
calidad para el producto del software
calidad para el producto del softwarecalidad para el producto del software
calidad para el producto del software
 
1-Unidad 1. Arquitectura de Diseño
1-Unidad 1. Arquitectura de Diseño1-Unidad 1. Arquitectura de Diseño
1-Unidad 1. Arquitectura de Diseño
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de software
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
computación paralela
computación paralelacomputación paralela
computación paralela
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
Sistemas expertos y sus aplicaciones
Sistemas expertos y sus aplicacionesSistemas expertos y sus aplicaciones
Sistemas expertos y sus aplicaciones
 
Elección de puente raíz puertos raiz puertos designados y no designados
Elección de puente raíz puertos raiz puertos designados y no designadosElección de puente raíz puertos raiz puertos designados y no designados
Elección de puente raíz puertos raiz puertos designados y no designados
 
Métricas del proceso y proyecto - Procesos de Ingeniería de software
Métricas del proceso y proyecto - Procesos de Ingeniería de softwareMétricas del proceso y proyecto - Procesos de Ingeniería de software
Métricas del proceso y proyecto - Procesos de Ingeniería de software
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidad
 
AD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidosAD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidos
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARECUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
 
analisis de aplicaciones web
analisis de aplicaciones webanalisis de aplicaciones web
analisis de aplicaciones web
 
Gestión de proyectos de software - Tema 3: Planificación del proyecto
Gestión de proyectos de software - Tema 3: Planificación del proyectoGestión de proyectos de software - Tema 3: Planificación del proyecto
Gestión de proyectos de software - Tema 3: Planificación del proyecto
 

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
 
Supremo
SupremoSupremo
Supremo
 
Ug chica
Ug chicaUg chica
Ug chica
 
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
 
Net remoting
Net remotingNet remoting
Net remoting
 
Ug zuñiga
Ug zuñigaUg zuñiga
Ug zuñiga
 
.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