Вы находитесь на странице: 1из 31

SISTEMAS DISTRIBUIDOS

"Sistemas cuyos componentes hardware y software, que estn 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 comunicacin mediante un protocolo prefijado por un esquema cliente-servidor".

Cliente-servidor

La arquitectura cliente-servidor es un modelo de aplicacin 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.

Concurrencia.-

CARACTERISTICAS DE LOS SISTEMAS DISTRIBUIDOS

Tolerancia a fallas: Compartir recursos : Los recursos de un computador multiusuario son normalmente compartidos entre todos los usuarios

Amoeba
Solaris-MC
Solaris es un sistema operativo de tipo Unix desarrollado desde 1992

Amoeba es un sistema operativo distribuido de investigacin, basado en una arquitectura de micro ncleo.

=>Taos es un sistema operativo basado en Kernels.

Taos

=>Taos es capaz de operar en sistemas heterogneos sin incurrir en la ineficiencia que el uso de una mquina abstracta conlleva como ocurre en el caso de Java

OBJETOS DISTRIBUIDOS:

En los sistemas Cliente/Servidor, un objeto distribuido es aquel que esta gestionado por un servidor y sus clientes invocan sus mtodos utilizando un mtodo de invocacin remota". El cliente invoca el mtodo mediante un mensaje al servidor que gestiona el objeto, se ejecuta el mtodo del objeto en el servidor y el resultado se devuelve al cliente en otro mensaje.

Tecnologas 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 invocacin de mtodos de objetos remotos sin que importe el lenguaje en el que estn escritos el llamador y el llamado, ni las plataformas (s.o. y hw.) y redes de comunicacin intermedias.

I. INTRODUCCION
Los escritorios modernos estn compuestos por multitud de pequeos programas que deben comunicarse los unos con los otros para que el usuario tenga la sensacin de estar trabajando en un entorno coherente, un entorno en el que todo encaja y trabaja de forma coordinada.

Para poder conseguir esta integracin 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.

Tmese como ejemplo el Panel, el Panel, este es un contenedor en el cual se pueden colocar diferentes "applets", estos "applets" son programas autnomos que deben comunicarse con el Panel para que el usuario tenga la sensacin de que el Panel y los "applets" estn perfectamente integrados.

La solucin que se ha adoptado para este importante problema fue CORBA donde es una tecnologa que oculta la programacin 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

SERVICIOS MIDDLEWARE
Para resolver los problemas inherentes a sistemas heterogneos y distribuidos, que dificultan la implementacin de verdaderas aplicaciones empresariales, los proveedores de software estn ofreciendo interfaces de programacin y protocolos estndares.

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.

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

Son independientes de las aplicaciones y de las industrias para las que stas se desarrollan. Se pueden ejecutar en mltiples plataformas. Se encuentran distribuidos. Soportan interfaces y protocolos estndar.

CORBA
CORBA es el estndar propuesto por el OMG. EL OMG fue fundado en 1989 y es el ms grande consorcio de industrias de la actualidad, con ms de 700 compaas que son miembros del grupo

Los primeros aos de la OMG estuvieron dedicados a resolver los principales problemas de cableado. Como resultado se obtuvo la primera versin del Common Object Request Broker, publicado en 1991. Hoy en da, el ltimo estndar aprobado de CORBA est por la versin 2.3, y la versin 3.0 est a punto de ser lanzada.

Desde sus principios, el objetivo de CORBA fue permitir la interconexin 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 ms all de simples servicios middleware, provee una infraestructura (framework) para construir aplicaciones orientadas a objetos.

Las interfaces definen los servicios que prestan los objetos, el ORB se encarga de la localizacin e invocacin de los mtodos sobre los objetos y el object adapter es quien liga la implementacin del objeto con el ORB.

Para que las interfaces de invocacin 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 comn.

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 programacin y el lenguaje comn.

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 composicin con interfaces contractuales especificadas y dependencias de contexto explcitas.

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.

Como escenario de ejemplo para mostrar cmo sera la construccin de software basado en componentes,

El programador desea ahora: Mapear la interfaz: Transparencia: Crear objetos:

Los servicios middleware que provee CORBA buscan resuelven estos problemas.

CORBA
CORBA es una arquitectura de objetos distribuidos que permite a los objetos interactuar a travs de redes de comunicaciones utilizando plataformas heterogneas y lenguajes diferentes.

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

El lenguaje IDL
A la hora de desarrollar aplicaciones CORBA, uno de los primeros pasos que tenemos que hacer es escribir los interfaces IDL de nuestra aplicacin. IDL es un lenguaje que permite definir una serie de interfaces para la comunicacin entre dos o ms aplicaciones. El IDL se escribe en un fichero, normalmente con la extensin IDL, en el cual se definen los interfaces y los mtodos (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 mtodos,toUpper y toLower.

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 implantacin 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 comunicacin. Figura

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

1. Definir la interfaz remota.

Se define, en primer lugar, la interfaz del objeto remoto en IDL. Dicha interfaz permitir generar, de manera automtica, el cdigo fuente del stub y el skeleton as como todo el cdigo necesario para comunicarse con el ORB

2. Compilar la interfaz remota. El compilador genera todo el cdigo fuente mencionado en el paso anterior.

3. Implementar el servidor. Adems de los mtodos que implementan la interfaz remota, el cdigo del servidor crea un mecanismo para arrancar el ORB y esperar por la invocacin de un cliente.

4. Implementar el cliente.

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 mtodos.

5. Arrancar los programas. Una vez est todo implementado, se arranca el servicio de nombrado, el servidor y finalmente, el cliente.

Caractersticas
Permite invocar mtodos de objetivos remotos sin que importe el lenguaje en el que estn escritos el llamador y el llamado, ni las plataformas (sistema operativo y hardware) y redes de comunicacin intermedias. Incluye un buen nmero de servicios: nombres, trading (comercio), seguridad, transacciones, persistencia, notificaciones, etc.

Esta estandarizado por el OMG (Object Management Group) o El mayor consorcio de la industria de software. o Solo emite especificaciones (no existe implementacin de referencia). o Las especificaciones se desarrollan por consenso son pblicas y gratuitas. o Existen muchos fabricantes que implementan las especificaciones ms importantes para las plataformas ms usuales.

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

Interfaces.

Transparencia de Ubicacin.

Invocacin a mtodos remotos. Invocacin Esttica. Invocacin Dinmica. Activacin de los objetos. Creacin de objetos.

Ventajas de Corba
Movilidad:

Heterogeneidad:

Adaptacin al cliente Eficiencia

Tiempo de desempeo:

Robusto

Desventajas de Corba

El problema fundamental de los sistemas de integracin es el software. An no existe mucha experiencia en el diseo, implantacin y uso de software como CORBA.

QUE SOLUCIONA CORBA

Arquitectura de Corba

ORB (Object request brker)


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.

Proceso del ORB:

CONCLUSIONES CORBA proporciona una infraestructura y un modelo comn desde donde los requisitos expresados en diferentes lenguajes (las diferentes metodologas de desarrollo), pueden ser integrados para formar un sistema globalmente consistente.

Los sistemas que son desarrollados con tecnologas antiguas pueden ser integrados con las nuevas a travs de CORBA. Esto es, construyendo interfaces para que intercambien informacin local o remota a travs de la red para resolver problemas en forma parcial e incremental.

CORBA es una tecnologa adecuada para implementar sistemas distribuidos y en particular es muy adecuada para la implementacin de sistemas distribuidos de control porque simplifica el proceso de diseo, construccin, despliegue y mantenimiento cuando las aplicaciones superan un nivel mnimo de complejidad.

Вам также может понравиться