arquitectura de sistemas distribuidos

13
República Bolivariana de Venezuela. Ministerio de Poder Popular para la Educación Superior. Universidad Bicentenaria de Aragua. Escuela de Ingeniería en Sistemas. Ingeniería del software ARQUITECTURA DE SISTEMAS DISTRIBUIDOS Profesor: Franklin Morillo Alumnos: Balbás Verónica Bravo Kelvin Caraballo Carla Giron David Totesaut Virginia Vieira Ezequiel

Upload: ezequielmaurice

Post on 12-Sep-2015

4 views

Category:

Documents


2 download

DESCRIPTION

Arquitectura de Sistemas Distribuidos

TRANSCRIPT

Repblica Bolivariana de Venezuela

Repblica Bolivariana de Venezuela.Ministerio de Poder Popular para la Educacin Superior.Universidad Bicentenaria de Aragua.Escuela de Ingeniera en Sistemas.Ingeniera del software

ARQUITECTURA DE SISTEMAS DISTRIBUIDOS

Profesor:Franklin Morillo

Alumnos:Balbs VernicaBravo KelvinCaraballo CarlaGiron DavidTotesaut VirginiaVieira Ezequiel

Ciudad Guayana, Diciembre de 2014.INDICE

ContenidoSistemas DistribuidosError! Marcador no definido.Propiedades o Caractersticas de los sistemas distribuidosError! Marcador no definido.Ventajas y DesventajasError! Marcador no definido.Arquitectura de sistemas o de distribucinError! Marcador no definido.Arquitecturas multiprocesadorError! Marcador no definido.Arquitecturas cliente-servidorError! Marcador no definido.Arquitecturas de objetos distribuidosError! Marcador no definido.Computacin distribuida interorganizacionalError! Marcador no definido.

Arquitectura Cliente ServidorEsta arquitectura consiste bsicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es ms ventajosa en un sistema operativo multiusuario distribuido a travs de una red de computadoras. La interaccin cliente-servidor es el soporte de la mayor parte de la comunicacin por redes. Ayuda a comprender las bases sobre las que estn construidos los algoritmos distribuidos. El servidor debe negociar con su Sistema Operativo un puerto (casi siempre bien conocido) donde esperar las solicitudes. El servidor espera pasivamente las peticiones en un puerto bien conocido que ha sido reservado para el servicio que ofrece. El cliente tambin solicita, a su sistema operativo, un puerto no usado desde el cual enviar su solicitud y esperar respuesta. Un cliente ubica un puerto arbitrario, no utilizado y no reservado, para su comunicacin. En una interaccin se necesita reservar solo uno de los dos puertos, asignados un identificador nico de puerto para cada servicio, se facilita la construccin de clientes y servidores. Los servidores por lo general son ms difciles de construir que los clientes pues aunque se implantan como programas de aplicacin deben manejar peticiones concurrentes, as como reforzar todos los procedimientos de acceso y proteccin del sistema computacional en el que corren, y protegerse contra todos los errores posibles. El cliente y el servidor pueden interactuar en la misma mquina. Evolucin Computadora central: Desde sus inicios el modelo de administracin de datos a travs de computadoras se basaba en el uso de terminales remotas, que se conectaban de manera directa a una computadora central. Dicha computadora central se encargaba de prestar servicios caracterizados por que cada servicio se prestaba solo a un grupo exclusivo de usuarios. Computadoras dedicadas: Esta es la era en la que cada servicio empleaba su propia computadora que permita que los usuarios de ese servicio se conectaran directamente. Esto es consecuencia de la aparicin de computadoras pequeas, de fcil uso, ms baratas y ms poderosas de las convencionales. Conexin libre: Hace ms de 10 aos que las computadoras escritorio aparecieron de manera masiva. Esto permiti que parte apreciable de la carga de trabajo de cmputo tanto en el mbito de clculo como en el mbito de la presentacin se lleven a cabo desde el escritorio del usuario. En muchos de los casos el usuario obtiene la informacin que necesita de alguna computadora de servicio. Estas computadoras de escritorio se conectan a las computadoras de servicio empleando software que permite la emulacin de algn tipo de terminal. En otros de los casos se les transfiere la informacin haciendo uso de recursos magnticos o por transcripcin. Cmputo a travs de redes: Esta es la era que esta basada en el concepto de redes de computadoras, en la que la informacin reside en una o varias computadoras, los usuarios de esta informacin hacen uso de computadoras para laborar y todas ellas se encuentran conectadas entre si. Esto brinda la posibilidad de que todos los usuarios puedan acceder a la informacin de todas las computadoras y a la vez que los diversos sistemas intercambien informacin.Arquitectura cliente-servidor: en estaarquitecturalacomputadorade cada uno de los usuarios, llamadacliente, produce una demanda de informacin a cualquiera de las computadoras que proporcionan informacin, conocidas comoservidoresestos ltimos responden a la demanda del cliente que la produjo.Los clientes y los servidores pueden estar conectados a una red local o una red amplia, como la que se puede implementar en una empresa o a una red mundial como lo es laInternet.Bajo este modelo cada usuario tiene la libertad de obtener la informacin que requiera en un momento dado proveniente de una o varias fuentes locales o distantes y de procesarla como segn le convenga. Los distintos servidores tambin pueden intercambiar informacin dentro de esta arquitectura.Partes que componen el sistema Cliente: Programa ejecutable que participa activamente en el establecimiento de las conexiones. Enva una peticin al servidor y se queda esperando por una respuesta. Su tiempo de vida es finito una vez que son servidas sus solicitudes, termina el trabajo. Servidor: Es un programa que ofrece un servicio que se puede obtener en una red. Acepta la peticin desde la red, realiza el servicio y devuelve el resultado al solicitante. Al ser posible implantarlo como aplicaciones de programas, puede ejecutarse en cualquier sistema donde exista TCP/IP y junto con otros programas de aplicacin. El servidor comienza su ejecucin antes de comenzar la interaccin con el cliente. Su tiempo de vida o de interaccin es interminable. Los servidores pueden ejecutar tareas sencillas (caso del servidor hora da que devuelve una respuesta) o complejas (caso del servidor ftp en el cual se deben realizar operaciones antes de devolver una respuesta). Los servidores sencillos procesan una peticin a la vez (son secuenciales o interactivos), por lo que no revisan si ha llegado otra peticin antes de enviar la respuesta de la anterior. Los ms complejos trabajan con peticiones concurrentes an cuando una sola peticin lleve mucho tiempo para ser servida (caso del servidor ftp que debe copiar un archivo en otra mquina). Son complejos pues tienen altos requerimientos de proteccin y autorizacin. Pueden leer archivos del sistema, mantenerse en lnea y acceder a datos protegidos y a archivos de usuarios. No puede cumplir a ciegas las peticiones de los clientes, deben reforzar el acceso al sistema y las polticas de proteccin. Los servidores por lo general tienen dos partes: 1. Programa o proceso que es responsable de aceptar nuevas peticiones: Maestro o Padre. 2. Programas o procesos que deben manejar las peticiones individuales: Esclavos o Hijos. Tareas del programa maestro Abrir un puerto local bien conocido al cual pueda acceder los clientes. Esperar las peticiones de los clientes. Elegir un puerto local para las peticiones que llegan en informar al cliente del nuevo puerto, (innecesario en la mayora de los casos). Iniciar un programa esclavo o proceso hijo que atienda la peticin en el puerto local, (el esclavo cuando termina de manejar una peticin no se queda esperando por otras). Volver a la espera de peticiones mientras los esclavos, en forma concurrente, se ocupan de las anteriores peticiones. Caractersticas de la arquitectura Cliente-Servidor Combinacin de un cliente que interacta con el usuario, y un servidor que interacta con los recursos a compartir. El proceso del cliente proporciona la interfaz entre el usuario y el resto del sistema. El proceso del servidor acta como un motor de software que maneja recursos compartidos tales como bases de datos, impresoras, Mdem, etc. Las tareas del cliente y del servidor tienen diferentes requerimientos en cuanto a recursos de cmputo como velocidad del procesador, memoria, velocidad y capacidades del disco e input-output devices. Se establece una relacin entre procesos distintos, los cuales pueden ser ejecutados en la misma mquina o en mquinas diferentes distribuidas a lo largo de la red. Existe una clara distincin de funciones basadas en el concepto de servicio, que se establece entre clientes y servidores. La relacin establecida puede ser de muchos a uno, en la que un servidor puede dar servicio a muchos clientes, regulando su acceso a los recursos compartidos. Los clientes corresponden a procesos activos en cuanto a que son estos los que hacen peticiones de servicios. Estos ltimos tienen un carcter pasivo, ya que esperan peticiones de los clientes. No existe otra relacin entre clientes y servidores que no sea la que se establece a travs del intercambio de mensajes entre ambos. El mensaje es el mecanismo para la peticin y entrega de solicitudes de servicios. El ambiente es heterogneo. La plataforma de hardware y el sistema operativo del cliente y del servidor no son siempre los mismos. Precisamente una de las principales ventajas de esta arquitectura es la posibilidad de conectar clientes y servidores independientemente de sus plataformas. El concepto de escalabilidad tanto horizontal como vertical es aplicable a cualquier sistema Cliente - Servidor. La escalabilidad horizontal permite agregar ms estaciones de trabajo activas sin afectar significativamente el rendimiento. La escalabilidad vertical permite mejorar las caractersticas del servidor o agregar mltiples servidores. Ventajas del esquema Cliente-Servidor Existencia de plataformas de hardware cada vez ms baratas. Esta constituye a su vez una de las ms palpables ventajas de este esquema, la posibilidad de utilizar mquinas mucho ms baratas que las requeridas por una solucin centralizada, basada en sistemas grandes (mainframes). Adems, se pueden utilizar componentes, tanto de hardware como de software, de varios fabricantes, lo cual contribuye considerablemente a la reduccin de costos y favorece la flexibilidad en la implantacin y actualizacin de soluciones. Facilita la integracin entre sistemas diferentes y comparte informacin, permitiendo por ejemplo que las mquinas ya existentes puedan ser utilizadas pero utilizando interfaces ms amigables el usuario. De esta manera, se puede integrar PCs con sistemas medianos y grandes, sin necesidad de que todos tengan que utilizar el mismo sistema operativo. Al favorecer el uso de interfaces grficas interactivas, los sistemas construidos bajo este esquema tienen una mayor y ms intuitiva con el usuario. En el uso de interfaces grficas para el usuario, presenta la ventaja, con respecto a uno centralizado, de que no siempre es necesario transmitir informacin grfica por la red pues esta puede residir en el cliente, lo cual permite aprovechar mejor el ancho de banda de la red. La estructura inherentemente modular facilita adems la integracin de nuevas tecnologas y el crecimiento de la infraestructura computacional, favoreciendo as la escalabilidad de las soluciones. Contribuye adems a proporcionar a los diferentes departamentos de una organizacin, soluciones locales, pero permitiendo la integracin de la informacin. Desventajas El mantenimiento de los sistemas es ms difcil pues implica la interaccin de diferentes partes de hardware y de software, distribuidas por distintos proveedores, lo cual dificulta el diagnstico de fallas. Cuenta con muy escasas herramientas para la administracin y ajuste del desempeo de los sistemas. Es importante que los clientes y los servidores utilicen el mismo mecanismo (por ejemplo sockets o RPC), lo cual implica que se deben tener mecanismos generales que existan en diferentes plataformas. Hay que tener estrategias para el manejo de errores y para mantener la consistencia de los datos. El desempeo (performance), problemas de este estilo pueden presentarse por congestin en la red, dificultad de trfico de datos, etc.

3