Unidad 5 Sintesis

11
INSTITUTO TECNOLOGICO DE TAPACHULA. ALUMNO: Henry Elier Bravo Lorenzo. PROFESOR: Raul Monzon Urbieta. MATERIA: Sistemas Distribuidos. TRABAJO: Sintesis unidad 5: aplicacion distribuida en ambientes gráficos.

description

sintesis unidad 5 sistemas distribuidos

Transcript of Unidad 5 Sintesis

  • INSTITUTO TECNOLOGICO DE TAPACHULA.

    ALUMNO:

    Henry Elier Bravo Lorenzo.

    PROFESOR:

    Raul Monzon Urbieta.

    MATERIA:

    Sistemas Distribuidos.

    TRABAJO:

    Sintesis unidad 5: aplicacion distribuida en ambientes grficos.

  • INTRODUCCION.

    En este unidad se plasmara informacion acerca de los sistemasdistribuidos, com es el caso de los recursos que cuando nosotrosqueremos hacer sistema distribuido tendremos que ver el uso de losrecursos, como la comparticion de diversos componentes tanto fisicascomo logicas asi como los multiusuarios y monousuarios.

    Tambien las llamadas remotas RMI que son conocidas como stub, y queson muy importantes dentro del sistema distribuido. Las aplicacionescliente/servidor que se usan dentro de los SD.

    Y pues por ultimo el desarollo de aplicaciones de cliente/servidor usandoel RMI.

  • 5.1.-ACCESO A RECURSOS DISTRIBUIDOS.

    Los recursos son entidades que se comparten en un sistema distribuido,se extiende desde los componentes como el hardware, discos eimpresoras hasta los elementos de software como ficheros, ventanas,base de datos y otros objetos de datos.

    Los sistemas multiusuarios clasicos han provisto la compaticion derecursos entre todo sus usuarios, en cambio los recursos de cualquiercomputadora multiusuario se comparten de manera natural. Adiferencia de los usuarios de estaciones de trabajo monousuario ocomputadoras personales dentro de un sistema distribuido no obtienenautomaticamente los beneficios de la comparticion de recursos.

    El gestor de recursos es un pequeo modulo del software que maneja uncojunto de recursos particular, estos requieren algunas politicas ymetodos especificos junto con requisitos comunes para todos ellos. Estoincluye nombre para cada clases de recursos, permitiendo a lo recursosindividuales que accedan desde cualquier lugar, la traslacin de nombrede recurso a direcciones de comunicacin y la coordinacin de losaccesos concurrentes que cambian el estado de los recursoscompartidos para mantener la consistencia.

    Un sistema distribuido puede verse de manera abstracta como unconjunto de gestores de recursos y un conjunto de programas que usanlos recursos. Los usuarios de los recursos se comunican con los gestoresde los recursos para acceder a los recursos compartidos del sistema.Esta perspectiva nos lleva a dos modelos de sistemas distribuidos: elmodelo cliente-servidor y el modelo basado en objetos.

  • 5.2.-PROCEDIMIENTOS REMOTOS RMI.

    El mecanismo RMI es una aplicacion o applets que permite que puedatener comunicacion con otros programas la cual se ejecutan de maneraremotas. Donde el programador tiene que crear un objeto que demanera remota se concete a un representante local, tambien esconocido como stub.

    Todo los mensages que se le envia a un objeto remoto son enviadostambien a un stub de manera local, como si fuera algo real. Este tiende aaceptar los mensages que le han enviado y que al mismo tiempo se loesta enviado a un objeto real, el cual se encargara de enviar a susmetodos principales.

    Como resultado final tenemos que la invocacion hecha, tendra queregresar al stub local el cual lo estar regresando al emisor original dellamada.

    En al figura siguiente muestra a un aplicacion cliente que se estaejecutado en una maquina A y que a su ves le esta enviando unmensage al abjeto remoto del la aplicacion que se ejecuta en la maquinaB.

    Cuando la aplicacion cliente enva un mensaje al stub local del objetoemoto, la peticion se transmite a la maquina que contiene al objeto real,donde el metodo es invocado y cualquier resultado retornado al stublocal, de modo que la aplicacion cliente puede obtener la respuestaapropiada.

  • 5.3 CLIENTES Y SERVIDORES RMI.

    La aplicaciones de cliente/servidor usando sockets conlleva el diseo deun protocolo consistente en un lenguaje comn entre el cliente y elservidor. Al disear estos tipos de protocolos no es tan sencillo y cuasamuchos errores como el deadlock.

    Las aplicaciones cliente/servidor ya no trabajan directamente con lossockets si no usan las invocaciones de los metodos remotos en java(javaRMI). Este paquete puede ser usado por los sistemas distribuidos queestan en desarrollo. Estos paquetes permiten invocar metodos de otrasmaquina virtual java.

    El sistema RMI es muy similar (y generalmente ms fcil de usar) a lallamada a procedimientos remotos (RPC) que podemos encontrar enotros sistemas. En RMI el programador tiene la sensacin de realizarllamadas a mtodos locales de una clase local, mientras el sistema es elencargado de pasar los argumentos, ejecutar el mtodo y devolver losresultados de la mquina remota al objeto que ha realizado la llamada.

    La simplicidad es uno de los aspectos mas importante del RMI, ya queestos tienen caracteristicas que soportan y hacen mas facile eldesarrollo de los sistemas distribuidos como la transparencia a la hora

  • de la invocacion, recolector automatico de basura distribuido, y accesoconvenientes a strams, etc.

    La invocacin remota es transparente ya que se realiza de idnticamanera que la llamada aun mtodo local, y el recolector automtico debasura distribuido nos libera de la necesidad de preocuparnos por laliberacin de memoria de un objeto que ya no va a ser utilizado conindependencia de que ste sea local o remoto.

    Los recursos en un sistema distribuido son encapsulados fisicamente enuna de las computadoras y solo pueden acceder atraves de otrasmediante las comunicaciones(la red). Para que la comparticin derecursos sea efectiva, sta debe ser manejada por un programa queofrezca un interfaz de comunicacin permitiendo que el recurso seaaccedido, manipulado y actualizado de una manera fiable y consistente.Surge el trmino genrico de gestor de recursos.

    Objetivos de Java-RMI

    Los objetivos del Java-RMI segn se definen en el manual deespecificaciones son los siguientes:

    Soporte de invocacin de objetos remotos en diferentes mquinasvirtuales Java.

    Soporte de retorno de resultados desde el servidor a los clientes.

    Integrar el modelo de objetos distribuidos en el lenguaje Java de unaforma natural,

    mientras se mantiene la semntica de objetos ya definidas en Java.

    Realizar aplicaciones distribuidas lo ms simples y legibles posibles.

    Preservar la seguridad que provee el runtime system de Java.

  • RMI y el Modelo de Referencia OSI.

    El modelo de referencia OSI establece 7 niveles de para la comunicacinpor red. En la siguiente figura se muestra cmo RMI puede ser descritopor dicho modelo.

  • El sistema RMI consiste en 3 etapas:

    El nivel Stub/Skeletons

    El nivel de Referencia Remota.

    El nivel de Transporte.

    El nivel Stub/Skeletons es una interfaz entre una aplicacin y el resto delsistema RMI. Su propsito es transferir los datos al nivel de ReferenciaRemota. El nivel de Referencia Remota es responsable del manejo de lasemntica de la invocacin, transmitir los datos al nivel de transporteusando una conexin orientada a Streams (TCP).

    El nivel de Transporte en la implementacin actual de RMI est basadoen TCP, pero podra sustituirse por UDP. Finalmente, el nivel deTransporte es el responsable de establecer y manejar la conexin.

    5.4.-DESARROLLO DE APLICACIONES CLIENTE/SERVIDORDISTRIBUIDAS QUE HAGAN USO DE RMI.

    Disear un sistema distribuido es crear aplicaciones de software que,utilizando servicios y ayudndose de la conectividad, participen y seintegren en este entorno de forma transparente a las plataformas deproceso y de almacenamiento de datos, dotndolas de los recursosnecesarios para gestionarse de forma integrada con el resto del sistemadistribuido.

    Los sistemas distribuidos que se diseen y construyan deben estaralineados con los objetivos de negocio de la empresa, aumentar laeficacia y eficiencia operacional de la compaa y permitir el mayorrendimiento con el menor coste en las estructuras informticas que dansoporte.

  • El sistema resultante debe ser adaptable, ofrecer el rendimientonecesario con el coste ms barato que seamos capaces de conseguir.Las tecnologas llegan, se consolidan o desaparecen, y al final mueren. Ysiempre con facilidad y rapidez.

    Pero las estrategias, las tcticas y las tcnicas de diseo tienen un ciclode vida mucho ms lento y robusto. Y estn por encima de lastecnologas en que se implementan.

    El desarrollo de aplicaciones cliente/servidor mediante Java-RMIrequiere 6 etapas:

    1. Definir una interfaz remota.

    2. Implementar dicha interfaz remota. (Servidor).

    3. Implementar la aplicacin que usa los objetos remotos. (Cliente).

    4. Generar los Stubs (Proxies cliente) y Skeletons (entidades servidor).

    5. Ejecutar el registry (servidor de nombres).

    6. Ejecutar el servidor y los clientes.

    Realizaremos un estudio de cada etapa con un ejemplo que nos ayudara la mejor comprensin de cada una de ellas. Vamos a realizar unservidor de operaciones para matrices y vectores y un cliente que haruso de los servicios que ste nos proporciona.

  • CONCLUSION.

    Los puntos que vimos son importante ya que son los que se usan dentrode un S.D. Y sin ellas no prodria funcionar bien, unos de los temas quevimos fue sobre los recursos que estos comparte, como por ejemplo loscomponentes del hardware y tambien los elementos del software comoson los ficheros, las ventanas.

    Asi como los multiusuario que pueden compartir cualquier cosa demanera naturla a diferiencia de las estaciones de trabajo omonousuarios que estos estan limitados y no obtienen beneficios con losrecursos compartidos.

    Despues bienen los procedimientos remotos que son aplicacionesespeciales que permiten las comunicaciones con otras aplicaciones demanera remota, donde el programador tiene que aser un objeto quepermita la conexion de manera remota, a esto se le llama stub.

    Cliente/servidor RMI son aplicaciones que trabajan con sockets y esta asu ves no usan invocaciones de alugn metodo, estos tipos de paquetespueden ser usados en los sistemas distribuidos. El sistema RMI son muyfaciles de usar ya que tienen similitudes a los procedimientosremotos(RPC).

    El disear aplicaciones para los sistemas distribuidos, ayudan a alconectividad y comunicacion entre sistemas diferentes. Lo que sedediquen a disear y construir deben de tener en cuenta los objetivos denegocio de la empresa asi como aumentar la eficacio y la eficienciapermitiendo asi el mejor costo en la estructura de soporte.

  • BIBLIOGRAFIA.

    .- DISEO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTEOBJETOS DISTRIBUIDOS EN JAVA.

    Jos Luis Pastrana Brincones ([email protected])

    Dpto. Lenguajes y Ciencias de la Computacin. Universidad deMlaga.

    .- REMOTE METHOD INVOCATION (RMI) DE JAVA.

    Concurrencia y Distribucion, Programacion Avanzada, Posgrado enCiencia e Ingeniera de la Computacion, UNAM

    .- Diseo de sistemas distribuidos.

    Enric Martnez Gomriz

    .- Introduccin a los Sistemas Distribuidos.

    J. Oscar Rojohttp://augcyl.org/?page_id=231

    .- Introduccin a los Sistemas Distribuidos.