Corba Exposicion

31

Transcript of Corba Exposicion

Page 1: Corba Exposicion
Page 2: Corba Exposicion
Page 3: Corba Exposicion

SISTEMAS DISTRIBUIDOS

"Sistemas cuyos componentes hardware y software, que están en ordenadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicación mediante un protocolo prefijado por un esquema cliente-servidor".

Page 4: Corba Exposicion

Cliente-servidor

La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, que le da respuesta.

Page 5: Corba Exposicion

Concurrencia.-

Compartir recursos :

Tolerancia a fallas:

CARACTERISTICAS DE LOS SISTEMAS DISTRIBUIDOS

Los recursos de un computador multiusuario son normalmente compartidos entre todos los usuarios

Page 6: Corba Exposicion

Solaris-MC

Amoeba

Taos

=>Taos es un sistema operativo basado en Kernels.

=>Taos es capaz de operar en sistemas heterogéneos sin incurrir en la ineficiencia que el uso de una máquina abstracta conlleva como ocurre en el caso de Java

Amoeba es un sistema operativo distribuido de investigación, basado en una arquitectura de micro núcleo.

Solaris es un sistema operativo de tipo Unix desarrollado desde 1992

Page 7: Corba Exposicion

En los sistemas Cliente/Servidor, un objeto distribuido es aquel que esta gestionado por un servidor y sus clientes invocan sus métodos utilizando un “método de invocación remota". El cliente invoca el método mediante un mensaje al servidor que gestiona el objeto, se ejecuta el método del objeto en el servidor y el resultado se devuelve al cliente en otro mensaje.

OBJETOS DISTRIBUIDOS:

Page 8: Corba Exposicion

Tecnologías de objetos distribuidos

Java RMI Modelo fuertemente acoplado con el lenguaje Java Se ha estandarizado la interoperabilidad con CORBA (Java RMI over IIOP)

CORBA Permite invocación de 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.

Page 9: Corba Exposicion

INTRODUCCIONI.

Los escritorios modernos están compuestos por multitud de pequeños programas que deben comunicarse los unos con los otros para que el usuario tenga la sensación de estar trabajando en un entorno coherente, un entorno en el que todo encaja y trabaja de forma coordinada.

Para poder conseguir esta integración y la posibilidad de controlar las aplicaciones de esta forma es necesario un sistema o plataforma que permita a los diferentes programas comunicarse entre ellos.

Page 10: Corba Exposicion

La solución que se ha adoptado para este importante problema fue “CORBA” donde es una tecnología que oculta la programación a bajo nivel de aplicaciones distribuidas, de tal forma que el programador no se tiene que ocupar de tratar con sockets, flujos de datos, paquetes, sesiones etc

Tómese como ejemplo el Panel, el Panel, este es un contenedor en el cual se pueden colocar diferentes "applets", estos "applets" son programas autónomos que deben comunicarse con el Panel para que el usuario tenga la sensación de que el Panel y los "applets" están perfectamente integrados.

Page 11: Corba Exposicion

SERVICIOS MIDDLEWARE

Estos servicios se denominan usualmente servicios middleware, porque se encuentran en una capa intermedia, por encima del sistema operativo y del software de red y por debajo de las aplicaciones de los usuarios finales.

Para resolver los problemas inherentes a sistemas heterogéneos y distribuidos, que dificultan la implementación de verdaderas aplicaciones empresariales, los proveedores de software están ofreciendo interfaces de programación y protocolos estándares.

Page 12: Corba Exposicion

Los componentes middleware se distinguen de aplicaciones finales y de servicios de plataformas específicas por cuatro importantes propiedades:

Son independientes de las aplicaciones y de las industrias para las que éstas se desarrollan.

Se pueden ejecutar en múltiples plataformas.

Se encuentran distribuidos.

Soportan interfaces y protocolos estándar.

Page 13: Corba Exposicion

CORBA es el estándar propuesto por el OMG. EL OMG fue fundado en 1989 y es el más grande consorcio de industrias de la actualidad, con más de 700 compañías que son miembros del grupo

Los primeros años de la OMG estuvieron dedicados a resolver los principales problemas de cableado. Como resultado se obtuvo la primera versión del Common Object Request Broker, publicado en 1991. Hoy en día, el último estándar aprobado de CORBA está por la versión 2.3, y la versión 3.0 está a punto de ser lanzada.

CORBA

Page 14: Corba Exposicion

Desde sus principios, el objetivo de CORBA fue permitir la interconexión abierta de distintos lenguajes, implementaciones y plataformas. De esta forma, CORBA cumple con las cuatro propiedades enumeradas como deseables de los servicios middleware.

CORBA va más allá de simples servicios middleware, provee una infraestructura (framework) para construir aplicaciones orientadas a objetos.

Page 15: Corba Exposicion

Las interfaces definen los servicios que prestan los objetos, el ORB se encarga de la localización e invocación de los métodos sobre los objetos y el object adapter es quien liga la implementación del objeto con el ORB.

Para que las interfaces de invocación y los adaptadores de objetos funcionen correctamente, se deben cumplir dos requisitos importantes.

• En primer lugar, las interfaces de los objetos deben describirse en un lenguaje común.

•En segundo lugar, todos los lenguajes en los que se quieran implementar los objetos deben proveer un mapeo entre los elementos propios del lenguaje de programación y el lenguaje común.

Page 16: Corba Exposicion

CORBA y el desarrollo basado en componentes

Un componente ha sido definido en la European Conference on Object Oriented Programming (ECOOP) de 1996 como una “una unidad de composición con interfaces contractuales especificadas y dependencias de contexto explícitas.”

Un componente no es un objeto. A diferencia de los objetos, los componentes no tienen estado. Esto quiere decir que un componente no puede distinguirse de una copia de sí mismo.

Page 17: Corba Exposicion

Como escenario de ejemplo para mostrar cómo sería la construcción de software basado en componentes,

El programador desea ahora:

Mapear la interfaz:

Crear objetos: Transparencia:

Los servicios middleware que provee CORBA buscan resuelven estos problemas.

Page 18: Corba Exposicion

CORBA es una arquitectura de objetos distribuidos que permite a los objetos interactuar a través de redes de comunicaciones utilizando plataformas heterogéneas y lenguajes diferentes.

CORBA define un modelo de objetos basado en la definición de las interfaces de los objetos mediante el lenguaje IDL.

CORBA

Page 19: Corba Exposicion

El lenguaje IDLA la hora de desarrollar aplicaciones CORBA, uno de los primeros pasos que tenemos que hacer es escribir los interfaces IDL de nuestra aplicación. IDL es un lenguaje que permite definir una serie de interfaces para la comunicación entre dos o más aplicaciones.

El IDL se escribe en un fichero, normalmente con la extensión IDL, en el cual se definen los interfaces y los métodos (funciones) de esos interfaces. De hecho, IDL NO ES un lenguaje para

implementar interfaces CORBA, sino que es un lenguaje PARA DEFINIR interfaces CORBA,

veamos un ejemplo de un fichero IDL, en este caso, String.idl. En

este caso, definimos un solo interfaz, String, que incluye dos métodos,toUpper y toLower.

Page 20: Corba Exposicion

Con el impulso que ha significado Internet para los sistemas distribuidos, CORBA ha pasado a ocupar un papel muy relevante dentro de la industria software y hay grandes intereses en su implantación en Internet. CORBA ha llegado a ser incluido dentro de los clientes de Netscape y se pretende que llegue a sustituir al protocolo HTTP (con IIOP) supliendo la carencia de HTTP de no mantener el estado de la comunicación. Figura

Page 21: Corba Exposicion

Para construir componentes que utilicen el entorno CORBA se deben seguir los siguientes pasos:

1. Definir la interfaz remota.

2. Compilar la interfaz remota.

3. Implementar el servidor.

Se define, en primer lugar, la interfaz del objeto remoto en IDL. Dicha interfaz permitirá generar, de manera automática, el código fuente del stub y el skeleton así como todo el código necesario para comunicarse con el ORB

El compilador genera todo el código fuente mencionado en el paso anterior.

Además de los métodos que implementan la interfaz remota, el código del servidor crea un mecanismo para arrancar el ORB y esperar por la invocación de un cliente.

Page 22: Corba Exposicion

4. Implementar el cliente.

5. Arrancar los programas.

De una manera similar al servidor, el cliente hace uso de los stubs generados en el paso 2. El cliente se basa en el stub para arrancar su ORB, encontrar el servidor utilizando el servicio de nombrado, obtener una referencia al objeto remoto e invocar sus métodos.

Una vez está todo implementado, se arranca el servicio de nombrado, el servidor y finalmente, el cliente.

Page 23: Corba Exposicion

Características

Esta estandarizado por el OMG (Object Management Group)

o El mayor consorcio de la industria de software. o Solo emite especificaciones (no existe implementación de referencia). o Las especificaciones se desarrollan por consenso son públicas y gratuitas. o Existen muchos fabricantes que implementan las especificaciones más

importantes para las plataformas más usuales.

Permite invocar métodos de objetivos remotos sin que importe el lenguaje en el que estén escritos el llamador y el llamado, ni las plataformas (sistema operativo y hardware) y redes de comunicación intermedias.

Incluye un buen número de servicios: nombres, trading (comercio), seguridad, transacciones, persistencia, notificaciones, etc.

Page 24: Corba Exposicion

Aspectos de Corba Los aspectos a tener en cuenta es la forma de manejar los siguientes puntos:

• Interfaces.

• Transparencia de Ubicación.

• Invocación a métodos remotos.

• Invocación Estática. • Invocación Dinámica.

• Activación de los objetos. • Creación de objetos.

Page 25: Corba Exposicion

Ventajas de Corba Heterogeneidad:

Movilidad:

Eficiencia

Adaptación al cliente

Tiempo de desempeño:

Robusto

Page 26: Corba Exposicion

Desventajas de Corba

El problema fundamental de los sistemas de integración es el software. Aún no existe mucha experiencia en el diseño, implantación y uso de software como CORBA.

Page 27: Corba Exposicion

QUE SOLUCIONA CORBA

Page 28: Corba Exposicion

Arquitectura de Corba

Page 29: Corba Exposicion

ORB (Object request bróker) Componente que permite que clientes y objetos puedan comunicarse en un ambiente distribuido y que contempla cada una de las interfaces que el ORB manipula.

Page 30: Corba Exposicion

Proceso del ORB:

Page 31: Corba Exposicion

CONCLUSIONES

CORBA proporciona una infraestructura y un modelo común desde donde los requisitos expresados en diferentes lenguajes (las diferentes metodologías de desarrollo), pueden ser integrados para formar un sistema globalmente consistente.

Los sistemas que son desarrollados con tecnologías antiguas pueden ser integrados con las nuevas a través de CORBA. Esto es, construyendo interfaces para que intercambien información local o remota a través de la red para resolver problemas en forma parcial e incremental.

CORBA es una tecnología adecuada para implementar sistemas distribuidos y en particular es muy adecuada para la implementación de sistemas distribuidos de control porque simplifica el proceso de diseño, construcción, despliegue y mantenimiento cuando las aplicaciones superan un nivel mínimo de complejidad.