You are on page 1of 4

Unidad 3 Actividad 1 Desarrollo e implementacin de aplicaciones distribuidas Asesor: Gloria de Len Lpez Grupo: 62912

El modelo cliente-servidor
1. Investigacin a. Qu es un modelo cliente servidor Es un modelo de aplicacin distribuida en donde las tareas se reparten entre los proveedores de servicios (servidores), y los demandantes (clientes). Un cliente realiza peticiones, el servidor da respuesta. b. Caractersticas de un cliente y de un servidor Un cliente es el remitente de una solicitud: Inicia las solicitudes o peticiones (tiene un papel activo en la comunicacin maestro o amo ). Espera y recibe las respuestas del servidor. Puede conectarse con varios servidores a la vez. Interacta con el usuario final (mediante una interfaz grfica)

El servidor es el receptor de la solicitud enviada por un cliente: Al iniciarse estn a la espera de las solicitudes de los clientes, desempean pues, un papel pasivo en la comunicacin (dispositivo esclavo). Tras la recepcin, esta se procesa y devuelven una respuesta al peticionario. Aceptan un gran nmero de conexiones de clientes. No es comn que interacten directamente con el usuario final.

c. Qu es la arquitectura multicapas La arquitectura multicapa esta en funcin de que en ocasiones el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras, aumentando el grado de distribucin del sistema. Existen Arquitecturas cliente-servidor de dos capas: Capa de presentacin y lgica de aplicacin Capa de base de datos

Normalmente esta arquitectura se utiliza en las siguientes situaciones: Se requiera poco procesamiento de datos en la organizacin. Se tiene una base de datos centralizada en un solo servidor. La base de datos es relativamente esttica. Se requiere un mantenimiento mnimo.

Arquitecturas cliente-servidor de tres capas:

Capa de presentacin Capa de lgica de aplicacin Capa de base de datos

Esta arquitectura se utiliza cuando: Se requiere de mucho procesamiento de datos en la aplicacin. La funcionalidad de las aplicaciones esta en constante cambio. Los procesos no estn muy relacionados con los datos. Se requiere de aislar la tecnologa de la base de datos para que sea fcil de cambiar. Se requiera separar el cdigo del cliente para que se facilite el mantenimiento. Se requiere implementar tecnologa orientada a objetos.

d. Ventajas y desventajas 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. Esta centralizacin tambin facilita la tarea de poner al da datos u otros recursos. Escalabilidad: se puede aumentar la capacidad de clientes y servidores por separado. Cualquier elemento puede ser aumentado (o mejorado) en cualquier momento, o se pueden aadir nuevos nodos a la red (clientes y/o servidores). Fcil mantenimiento: al estar distribuidas las funciones y responsabilidades entre varios ordenadores independientes, es posible remplazar, reparar, actualizar, o incluso trasladar un servidor, mientras que sus clientes no se vern afectados por ese cambio (o se afectarn mnimamente). Esta independencia de los cambios tambin se conoce como encapsulacin.

Desventajas La congestin del trfico: Cuando una gran cantidad de clientes envan peticiones simultaneas al mismo servidor, puede ser que cause muchos problemas para ste (a mayor nmero de clientes, ms problemas para el servidor). Cuando un servidor est cado, las peticiones de los clientes no pueden ser satisfechas. Normalmente se necesita software y hardware especfico, sobre todo en el lado del servidor, para satisfacer el trabajo. Por supuesto, esto aumentar el costo. El cliente no dispone de los recursos que puedan existir en el servidor. Por ejemplo, si la aplicacin es una Web, no podemos escribir en el disco duro del cliente o imprimir directamente sobre las impresoras sin sacar antes la ventana previa de impresin de los navegadores.

e. Ejemplos Internet Intranets Juegos Online

b. En qu lenguaje de programacin se puede desarrollar una aplicacin cliente-servidor? Pues se pueden desarrollar aplicaciones en muy diversos lenguajes y dependiendo de en que lado se encuentren (lado cliente o servidor) se mencionan algunos de los lenguajes: HTML XHTML XMLS PHP ASP ASP.NET JAVA PYTHON MySQL

c. Qu tipo de protocolo de comunicacin se utiliza en este modelo? El mas utilizado es TCP/IP pero existe tambin Net BUI de OSI, e IPX/SPX de Novell. d. Presenta un diagrama del modelo cliente servidor
Peticin Base de datos Servidor Directorios / Archivos Red TCP/IP - Internet

Sistema Operativo / Ofimtica /Aplicacin de Base de datos

Cliente/ Usuario

Respuesta

e. Presenta un ejemplo de cdigo en el modelo cliente servidor codificado en Java en el que se muestre la manera en que el cliente utiliza un servidor para copiar un archivo y un ejemplo de cdigo de la manera en que se realiza el direccionamiento en un servidor. Java es un cdigo del lado del servidor que generalmente se aplica en un lenguaje llamado JavaScript, utilizado para crear pequeos programas encargados de realizar diversas acciones, un ejemplo de cdigo muy sencillo sera el siguiente encargado de desplegar una ventana en el navegador diciendo Hola Mundo cuando se accede a una pgina web alojada en un servidor web: <script> window.alert("Hola Mundo") </script> Un ejemplo puro en Java que establece la funcin READ-WRITE (peticin-respuesta) es el siguiente: #include <header.h> void main <void> { struct message m1, m2 int r; while (1) {

receive (FILE_SERVER, &ml) switch (ml.opcode) { } case CREA TE: case READ: case WRITE: case DELETE: default: m2.result = r; send(ml.source, &m2); } } f. Describe la manera en que se implanta un modelo cliente servidor Pues primeramente habra que identificar cuales son los requerimientos de la organizacin o empresa en donde se pretende implementar el modelo, los recursos, rea fsica y acondicionamiento, equipos requeridos y sus respectivas caractersticas, por tanto hay varios aspectos a considerar enlistados a continuacin: Requerimientos/Necesidades Recursos monetarios Eleccin de la tecnologa (equipos y especificaciones) Planta fsica o u oficinas y acondicionamiento Sistemas operativos a manejar Interconexin (protocolos de comunicacin) cableado, antenas, etc. Presentacin al usuario, aplicaciones lgicas y bases de datos (segn necesidades), segn las capas necesarias para desempear las actividades. Administracin y mantenimiento Medidas y polticas de seguridad.

Bibliografa Tanenbaum, A. Sistemas operativos distribuidos. Captulo 2.3 El modelo cliente servidor. Pgina 50 a la 67. Recursos SUV. Universidad de Guadalajara. Mxico. http://www.mitecnologico.com/Main/SistemasDistribuidos http://www.adelat.org/media/docum/nuke_publico/lenguajes_del_lado_servidor_o_cliente.html

You might also like