Fundam servclient

Click here to load reader

download Fundam servclient

of 20

Transcript of Fundam servclient

  • 1. 6.2.2 DISEO DE SOFTWARE DEARQUITECTURA CLIENTE/SERVIDOR

2. HISTORIA En los inicios de la informtica, la programacin se consideraba un arte y se desarrollaba como tal, debido a la dificultad que resultaba para la mayora de las personas, pero con el tiempo se han ido descubriendo y desarrollando formas y guas generales, con base a las cuales se puedan resolver los problemas. A estas, se les ha denominado Arquitectura de Software, porque, a semejanza de los planos de un edificio o construccin, estas indican la estructura, funcionamiento e interaccin entre las partes del software. 3. ARQUITECTURA La Arquitectura del Software es el diseo de ms alto nivel de la estructura de un sistema. UnaArquitectura de Software, tambin denominada Arquitectura lgica, consiste en un conjuntode patrones yabstracciones coherentes que proporcionan el marco de referencia necesario para guiar la construccin del software para un sistema de informacin. 4. La arquitectura de software establece los fundamentos paraque analistas, diseadores, programadores, etc. trabajenen una lnea comn que permita alcanzar los objetivos delsistema de informacin, cubriendo todas las necesidades. Una arquitectura de software se selecciona y disea conbase en objetivos y restricciones. Los objetivos sonaquellos prefijados para el sistema de informacin, nosolamente los de tipo funcional, tambin otros como lamantenibilidad, auditabilidad, flexibilidad e interaccin conotros sistemas de informacin. Las restricciones sonaquellas limitaciones derivadas de las tecnologasdisponibles para implementar sistemas de informacin.Unas arquitecturas son ms recomendables deimplementar con ciertas tecnologas mientras que otrastecnologas no son aptas para determinadas arquitecturas. 5. La arquitectura de software define, de manera abstracta,los componentes que llevan a cabo alguna tarea decomputacin, sus interfaces y la comunicacin entreellos. Toda arquitectura debe ser implementada en unaarquitectura fsica, que consiste simplemente endeterminar qu computadora tendr asignada cadatarea. La arquitectura de software, tiene que ver con el diseo yla implementacin de estructuras de software de altonivel. Es el resultado de ensamblar un cierto nmero deelementos arquitectnicos de forma adecuada parasatisfacer la mayor funcionalidad y requerimientos dedesempeo de un sistema. 6. CLIENTE/SERVIDOR Este modelo es un prototipo de sistemas distribuidos que muestra como los datos y el procesamiento se distribuyen a lo largo de varios procesadores. Es una forma de dividir las responsabilidades de un sistema de informacin separando la interfaz del usuario de la gestin de la informacin. 7. CLIENTEEl cliente es el proceso que permite al usuarioformular los requerimientos y pasarlos al servidor.El cliente normalmente maneja todas lasfunciones relacionadas con la manipulacin ydespliegue de datos, por lo que estndesarrollados sobre plataformas que permitenconstruir interfaces grficas de usuario (GUI),adems de acceder a los servicios distribuidos encualquier parte de una red. 8. Las funciones que lleva a cabo el procesocliente se resumen en los siguientes puntos: Administrar la interfaz de usuario. Interactuar con el usuario. Procesar la lgica de la aplicacin y hacervalidaciones locales. Generar requerimientos de bases de datos. Recibir resultados del servidor. Formatear resultados. 9. SERVIDOREs el proceso encargado de atender a mltiplesclientes que hacen peticiones de algn recursoadministrado por l.El servidor normalmente maneja todas lasfunciones relacionadas con la mayora de lasreglas del negocio y los recursos de datos. 10. Las funciones que lleva a cabo el procesoservidor se resumen en los siguientes puntos: Aceptar los requerimientos de bases de datosque hacen los clientes. Procesar requerimientos de bases de datos. Formatear datos para transmitirlos a losclientes. Procesar la lgica de la aplicacin y realizarvalidaciones a nivel de bases de datos. 11. FUNCIONAMIENTO BSICO El funcionamiento de este modelo consiste en que un programa cliente realiza peticiones a un programa servidor, y espera hasta que el servidor de respuesta. 12. MODELOS O VISTAS Toda arquitectura de software debe describir diversos aspectos del software. Generalmente, cada uno de estos aspectos se describe de una manera ms comprensible si se utilizan distintos modelos o vistas. Es importante destacar que cada uno de ellos constituye una descripcin parcial de una misma arquitectura y es deseable que exista cierto solapamiento entre ellos. Esto es as porque todas las vistas deben ser coherentes entre s, evidente dado que describen la misma cosa. 13. Existen al menos tres vistas absolutamente fundamentales en cualquier arquitectura: La visin esttica: describe qu componentestiene la arquitectura. La visin funcional: describe qu hace cadacomponente. La visin dinmica: describe cmo secomportan los componentes a lo largo deltiempo y cmo interactan entre s. 14. Las vistas o modelos de una arquitectura de software pueden expresarse mediante uno o varios lenguajes. El ms obvio es el lenguaje natural, pero existen otros lenguajes tales como los diagramas de estado, los diagramas de flujo de datos, etc. Estos lenguajes son apropiados nicamente para un modelo o vista. Afortunadamenteexiste cierto consenso en adoptar UML (Unified Modeling Language, lenguaje unificado de modelado) como lenguaje nico para todos los modelos o vistas. 15. CARACTERISTICAS DE LAARQUITECTURACLIENTE/SERVIDORLas caractersticas bsicas de una arquitecturacliente/servidor son: Combinacin de un cliente que interacta con los recursos compartidos. 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, mdems, etc. 16. Las tareas del cliente y del servidor tienen diferentes requerimientos en cuanto a recursos de cmputo, velocidad del procesador, memoria, velocidad y capacidades del disco as como entrada y salida de dispositivos. 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. 17. Existe una clara distincin de funciones basadaen el concepto de servicio, que se estableceentre clientes y servidores. La relacin establecida puede ser de muchos auno, en la que un servidor puede dar servicio amuchos clientes, regulando su acceso a recursoscompartidos. Los clientes corresponden a procesos activos encuanto a que son stos lo que hacen peticionesde servicios a los servidores. Estos ltimostienen un carcter pasivo ya que esperan laspeticiones de los clientes. 18. 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 servicio. El ambiente es heterogneo. La plataforma de hardware y el sistema operativo del cliente y del servidor no son siempre la misma. Precisamente una de las principales ventajas de esta arquitectura es la posibilidadde conectar clientes y servidores independientemente de sus plataformas. 19. VENTAJAS Centralizacin del control: Los accesos, recursos y la integridad de los datos son controlados por el servidor de forma que un programa cliente defectuoso o no autorizado no pueda daar el sistema. Escalabilidad: Se puede aumentar la capacidad de clientes y servidores por separado. Fcil mantenimiento 20. DESVENTAJAS La congestin del trfico (a mayor nmero de clientes, ms problemas para el servidor). El software y el hardware de un servidor son generalmente muy determinantes. Un hardware regular de un ordenador personal puede no poder servir a cierta cantidad de clientes. Normalmente se necesita software y hardware especfico, sobre todo en el lado del servidor, para satisfacer el trabajo. Por supuesto, esto aumentar el costo.