Introducción al modelo Cliente-Servidor
Carlos Rojas Kramer
Universidad Cristóbal Colón
Modelos computacionales
Modelo centralizado
Computadoras aisladas
Redes locales
Redes amplias
Modelo centralizado
Un computador central poderoso
Los usuarios lo utilizan mediante terminales
Las terminales están distribuidas en correspondencia a las ubicaciones de los usuarios.
Computadoras aisladas
Típicas colecciones de computadoras personales.
Posible intercambio de datos usando medios magnéticos.
Redes locales
Computadoras interconectadas por algún medio de alta velocidad.
Típicamente usadas para compartir archivos, impresoras, enviar correo...
Redes amplias
Típicamente, interconexión de redes locales.
Permiten conexión a niveles corporativos y más allá.
Downsizing
El costo del poder de procesamiento para el computador central es muy alto.
El costo del poder de procesamiento para una PC es bastante bajo.
Quitarle carga de procesamiento al sistema central puede reducir costos.
Eliminar el sistema central puede involucrar complicaciones (BD duplicadas, etc).
Computación distribuida
Un sistema de cómputo distribuido consiste de varias computadoras interconectadas de alguna manera.
Cada una puede comunicarse con las otras. Los programas que corren en una, pueden
compartir información y solicitar a otras la ejecución de alguna tarea.
Cliente-Servidor
Más estructurados que el concepto general de sistema distribuido.
Clientes envían a los servidores peticiones de realizar alguna tarea.
Las tareas pueden variar mucho en naturaleza, y tal vez retornar información.
Clientes y servidores son asimétricos. Un servidor puede ser cliente de otro servidor.
Una definición conceptual
Es un modelo para construir sistemas de información, que se sustenta en la idea de repartir el tratamiento de la información y los datos por todo el sistema informático, permitiendo mejorar el rendimiento del sistema global de información
Definición por su arquitectura
Los distintos aspectos que caracterizan a una aplicación (proceso, almacenamiento, control y operaciones de entrada y salida de datos) en el sentido más amplio, están situados en más de un computador, los cuales se encuentran interconectados mediante una red de comunicaciones
Definición funcional que da IBM
Es la tecnología que proporciona al usuario final el acceso transparente a las aplicaciones, datos, servicios de cómputo o cualquier otro recurso del grupo de trabajo y/o, a través de la organización, en múltiples plataformas. El modelo soporta un medio ambiente distribuido en el cual los requerimientos de servicio hechos por estaciones de trabajo inteligentes o "clientes'', resultan en un trabajo realizado por otros computadores llamados servidores
Propiedades de C-S
Clientes y servidores son procesos separados.
Pueden correr en la misma o en diferentes computadoras.
Cada proceso puede ocultar información interna.
Cada proceso puede instrumentar sus propias reglas.
Términos relacionados con C-S
Interoperabilidad Portabilidad Integración Transparencia Seguridad
Interoperabilidad
Permite a sistemas diferentes intercambiar información con significado.
Se necesitan formas de intercambio estándar
Se requieren formatos de mensaje estándar.
Portabilidad
Un sistema que funciona en un entorno, puede instalarse en otro distinto.
Puede ser el mismo (o diferente) hardware, sistema operativo, ambiente de red, base de datos, etc.
Integración
Compartir e intercambiar información sin intervención externa.
Consistencia de comportamiento y presentación.
Transparencia
El usuario puede obtener información de un sitio sin necesidad de saber dónde está.
El usuario puede actualizar información sin necesidad de saber si hay copias de ella.
Pueden ejecutarse tareas en varios sitios sin que el usuario requiera saber dónde.
Seguridad
Usuarios protegidos de otros usuarios Usuarios protegidos de agentes externos Medio protegido contra espías Medio protegido contra modificaciones Niveles de acceso adecuados, aún al nivel
administrativo.
Ejemplos de C-S
World Wide Web FTP Telnet News e-mail Time y muchísimos más
Ventajas de C-S
Aprovecha las configuraciones existentes de hardware y software
Corresponde con modelos de negocio distribuido
Es escalable La red es la computadora
Desventajas de C-S
Más difícil de instrumentar Menos estable Sensible al tráfico en la red Más difícil de probar Más difícil diagnosticar y corregir
problemas.