Está en la página 1de 36

En el mundo de TCP/IP las comunicaciones entre computadoras se rigen bsicamente por lo que se llama modelo ClienteServidor, ste es un modelo

que intenta proveer usabilidad, flexibilidad, interoperabilidad y escalabilidad en las comunicaciones. El trmino Cliente/Servidor fue usado por primera vez en 1980 para referirse a PCs en red. Este modelo Cliente/Servidor empez a ser aceptado a finales de los 80s. Su funcionamiento es sencillo: se tiene una mquina cliente, que requiere un servicio de una mquina servidor, y ste realiza la funcin para la que est programado (ntese que no tienen que tratarse de mquinas diferentes; es decir, una computadora por s sola puede ser ambos cliente y servidor dependiendo del software de configuracin).

Sistema distribuido entre mltiples procesadores donde hay clientes que solicitan servicios y servidores que los proporcionan. Separa los servicios situando cada uno en su plataforma ms adecuada.

Desde el punto de vista funcional, se puede definir la computacin Cliente/Servidor como una arquitectura distribuida que permite a los usuarios finales obtener acceso a la informacin en forma transparente an en entornos multiplataforma. En el modelo cliente servidor, el cliente enva un mensaje solicitando un determinado servicio a un servidor (hace una peticin), y este enva uno o varios mensajes con la respuesta (provee el servicio).

En un sistema distribuido cada mquina puede cumplir el rol de servidor para algunas tareas y el rol de cliente para otras.
La idea es tratar a una computadora como un instrumento, que por s sola pueda realizar muchas tareas, pero con la consideracin de que realice aquellas que son mas adecuadas a sus caractersticas. Si esto se aplica tanto a clientes como servidores se entiende que la forma ms estndar de aplicacin y uso de sistemas Cliente/Servidor es mediante la explotacin de las PCs a travs de interfaces grficas de usuario; mientras que la administracin de datos y su seguridad e integridad se deja a cargo de computadoras centrales tipo mainframe. Usualmente la mayora del trabajo pesado se hace en el proceso llamado servidor y el o los procesos cliente slo se ocupan de la interaccin con el usuario (aunque esto puede variar).

En otras palabras la arquitectura Cliente/Servidor es una extensin de programacin modular en la que la base fundamental es separar una gran pieza de software en mdulos con el fin de hacer ms fcil el desarrollo y mejorar su mantenimiento. Esta arquitectura permite distribuir fsicamente los procesos y los datos en forma ms eficiente lo que en computacin distribuida afecta directamente el trfico de la red, reducindolo grandemente.

Esta 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.

En esta arquitectura la capacidad de proceso est repartida entre los clientes y los servidores, aunque son ms importantes las ventajas de tipo organizativo debidas a la centralizacin de la gestin de la informacin y la separacin de responsabilidades, lo que facilita y clarifica el diseo del sistema. La separacin entre cliente y servidor es una separacin de tipo lgico, donde el servidor no se ejecuta necesariamente sobre una sola mquina ni es necesariamente un slo programa. Los tipos especficos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propsitos varan de unos servicios a otros, la arquitectura bsica seguir siendo la misma. Una disposicin muy comn son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando as el grado de distribucin del sistema.

La arquitectura cliente-servidor sustituye a la arquitectura monoltica en la que no hay distribucin, tanto a nivel fsico como a nivel lgico. La red Cliente/Servidor es aquella red de comunicaciones en la que todos los clientes estn conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposicin de los clientes cada vez que estos son solicitados. Esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en l se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso pblico y los que son de uso restringido, los archivos que son de slo lectura y los que, por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente en caso de que se est utilizando en una red mixta.

1. 2. 3. 4.

Cambios estructurales y organizativos. Cambios en organigramas. Respuesta dinmica de mercado. Cambio en procesos de negocio.

1. La demanda de sistemas fciles. 2. Precio/rendimiento de estaciones y servidores. 3. Creciente acceso a la informacin para decisiones: A.Separacin datos-programas. B. Programas flexibles. 4. Nuevas tecnologas de alta productividad.

Un sistema cliente/servidor funciona tal como se detalla en el siguiente diagrama:

El cliente enva una solicitud al servidor mediante su direccin IP y el puerto, que est reservado para un servicio en particular que se ejecuta en el servidor. El servidor recibe la solicitud y responde con la direccin IP del equipo cliente y su puerto.

Es el que inicia un requerimiento de servicio. El requerimiento inicial puede convertirse en mltiples requerimientos de trabajo a travs de redes LAN o WAN. La ubicacin de los datos o de las aplicaciones es totalmente transparente para el cliente. En la arquitectura C/S el remitente de una solicitud es conocido como cliente.

1. Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicacin (dispositivo maestro o amo). 2. Espera y recibe las respuestas del servidor. 3. Por lo general, puede conectarse a varios servidores a la vez. 4. Normalmente interacta directamente con los usuarios finales mediante una interfaz grfica de usuario.

5. Al contratar un servicio de redes , se tiene que tener en la velocidad de conexin que le otorga al cliente y el tipo de cable que utiliza , por ejemplo : cable de cobre ronda entre 1 ms y 50 ms.

Es cualquier recurso de cmputo dedicado a responder a los requerimientos del cliente. Los servidores pueden estar conectados a los clientes a travs de redes, para proveer de mltiples servicios a los clientes y ciudadanos tales como impresin, acceso a bases de datos, fax, procesamiento de imgenes, etc. Al receptor de la solicitud enviada por cliente se conoce como servidor.

1. Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempean entonces un papel pasivo en la comunicacin (dispositivo esclavo). 2. Tras la recepcin de una solicitud, la procesan y luego envan la respuesta al cliente. 3. Por lo general, aceptan conexiones desde un gran nmero de clientes (en ciertos casos el nmero mximo de peticiones puede estar limitado). 4. No es frecuente que interacten directamente con los usuarios finales.

El cliente es el proceso que permite al usuario formular los requerimientos y pasarlos al servidor, se le conoce con el trmino front-end.

El Cliente normalmente maneja todas las funciones relacionadas con la manipulacin y despliegue de datos, por lo que estn desarrollados sobre plataformas que permiten construir interfaces grficas de usuario (GUI), adems de acceder a los servicios distribuidos en cualquier parte de una red. Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes puntos:

Administrar la interfaz de usuario. Interactuar con el usuario. Procesar la lgica de la aplicacin y hacer validaciones locales. Generar requerimientos de bases de datos. Recibir resultados del servidor. Formatear resultados.

Es el proceso encargado de atender a mltiples clientes que hacen peticiones de algn recurso administrado por l. Al proceso servidor se le conoce con el trmino back-end.

El servidor normalmente maneja todas las funciones relacionadas con la mayora de las reglas del negocio y los recursos de datos.
Las funciones que lleva a cabo el proceso servidor se resumen en los siguientes puntos: Aceptar los requerimientos de bases de datos que hacen los clientes. Procesar requerimientos de bases de datos. Formatear datos para trasmitirlos a los clientes. Procesar la lgica de la aplicacin y realizar validaciones a nivel de bases de datos.

Cualquier combinacin de sistemas que pueden colaborar entre s para dar a los usuarios toda la informacin que ellos necesiten sin que tengan que saber donde est ubicada.
Es una arquitectura de procesamientos cooperativo donde uno de los componentes pide servicios a otro. Es un procesamiento de datos de ndole colaborativo entre dos o ms computadoras conectadas a una red.

El trmino cliente/servidor es originalmente aplicado a la arquitectura de software que describe el procesamiento entre dos o ms programas: una aplicacin y un servicio soportante.

IBM define al modelo Cliente/Servidor. "Es la tecnologa que proporciona al usuario final el acceso transparente a las aplicaciones, datos, servicios de cmputo o cualquier otro recurso del grupo de trabajo y/o, a travs de la organizacin, en mltiples 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".

"Es un modelo para construir sistemas de informacin, que se sustenta en la idea de repartir el tratamiento de la informacin y los datos por todo el sistema informtico, permitiendo mejorar el rendimiento del sistema global de informacin"

Combinacin de un cliente que interacta con el usuario, y un servidor 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. 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 y 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 basada 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 recursos compartidos. Los clientes corresponden a procesos activos en cuanto a que son stos los que hacen peticiones de servicios a los servidores. Estos ltimos tienen un carcter pasivo ya que esperan las 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 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 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.

Front/end : Es la parte de la aplicacin que interacta con el usuario. Basados en una interfaz grfica con el usuario (GUI). El Cliente corre la aplicacin que ofrece la interfaz con el usuario.

Back/end: Es la parte no-interactiva de la aplicacin. La mayor parte reside en las Bases de Datos (relacionales o no).

No requieren una gran Base de Datos compartida, pueden ser elaboradas solamente en el Cliente.
Exigen dos capas, una para la aplicacin del usuario (Cliente) y otra para la base de datos (Servidor).

Nivel
Aplicativo del Usuario Reglas de Negocio

Responsabilidad
Interfaz Incomprensible y Eficiente Polticas, Reglas y Heurstica Datos Consistentes y Seguros

Funciones
Presentacin, Navegacin, Manejo y Anlisis Toma de Decisiones, Polticas y Administracin de Recursos Mantenimiento, Actualizacin, Integridad y Seguridad

Herramientas
Herramientas Graficas y Lenguaje de Programacin Lenguaje de Programacin Base de Datos, Lenguaje de Base de Datos

Base de Datos

1. Generalmente usa los modelos de funcin distribuida o datos distribuidos. 2. Muy productivo. 3. Distribucin no flexible. 4. Dependiente del suministrador.

La Arquitectura de tres niveles es lgica y no fsica. Se preocupa con las funciones y no con la implantacin. La Arquitectura puede ser utilizada para desarrollar sistemas Centralizados o Distribuidos. La Arquitectura facilitar la distribucin de los componentes del sistema. 1. Modelo presentacin-negocio-datos 2. Distribucin flexible. 3. Sistema abierto. No dependiente.

Estructura para la elaboracin de aplicativos flexibles y fciles de modificar, segn las necesidades del negocio(cambio). Alto nivel de reutilizacin del software y datos. Fcil y rpido desarrollo de aplicativos grandes y complejos, para las transacciones y los SSD. Fcil y rpido desarrollo de sistemas distribuidos que dan soporte a la administracin central y a equipos autogestionados.

Esconde de cada nivel los detalles contenidos en los niveles inferiores: Desarrollo simplificado del aplicativo: Al desarrollar un nivel no precisa preocuparse por el otro. Mayor seguridad y proteccin: El desarrollador de un nivel no puede controlar fsicamente otra camada en ningn nivel de detalle. Es la superficie entre los componentes adyacentes de un aplicativo y el dispositivo por medio del cual ellos interactan a travs de las siguientes funciones: Informa lo que el otro componente debe hacer, pregunta el estado actual del otro componente, recibe el resultado de las operaciones solicitadas.

Nivel
Aplicativo del Usuario GUI

Interfaz

Foco del Proyecto


Objetos del Aplicativo Independiente del Proyecto

Proceso de Reglas del Negocio

Proceso

Solicitud de Decisiones Independientes de la Interfaz, Usuario y Datos

Administracin de Base de Datos

Transaccin y Consultas

Datos Independiente de la Decisin

El desarrollo de un buen sistema Cliente / Servidor exige especializacin de: 1. 2. 3. 4. 5. 6. Interfaz grfica Redes de computadora Programacin de Negocios Base de Datos Programacin de Base de Datos Distribucin de sistemas

En la arquitectura Cliente/Servidor se como los tres niveles de aplicacin se relacionan. Focaliza sobre la estructura y la adaptacin. Y determina qu entra en cada nivel y cmo la aplicacin se relaciona con otras aplicaciones.

*Distribucin de Datos *Distribucin de Procesamiento *Interfaz grfica con el usuario

Histricamente el rea de informtica elabora los sistemas de aplicacin de forma completa, estando los usuarios obligados a tomarlos o dejarlos. En el futuro, el rea informtica elaborar la infraestructura, o sea: La base de Datos, los mdulos de los procesos de negocio, y kits de herramientas; para que el usuario pueda elaborar sus propias aplicaciones.

1. 2. 3. 4.

Proveer los procesos de las reglas del negocio. Proveer las estructuras fundamentales de las Bases de Datos Proveer los elementos de la interfaz. Proveer la infraestructura general de los sistemas, sobre la cual los equipos de trabajo puedan montar sus aplicaciones.

Conceptual Aplicacin del Usuario Reglas del Negocio Base de Datos Flujo de trabajo Flujo de Procesos Modelo de Datos

Lgico Secuencia de Formularios Modelo de procesos

Fsico Formularios Programas

Esquema de Tablas e Base de Datos ndices

1. Uno de los aspectos que ms ha promovido el uso de sistemas Cliente/Servidor, es la existencia de plataformas de hardware cada vez ms baratas. 2. El esquema Cliente/Servidor facilita la integracin entre sistemas diferentes y comparte informacin permitiendo, por ejemplo que las mquinas ya existentes puedan ser utilizadas pero utilizando interfaces mas amigables al usuario. 3. Al favorecer el uso de interfaces grficas interactivas, los sistemas construidos bajo este esquema tienen mayor interaccin ms intuitiva con el usuario. 4. Es ms rpido el mantenimiento y el desarrollo de aplicaciones, pues se pueden emplear las herramientas existentes (por ejemplo los servidores de SQL o las herramientas de ms bajo nivel como los sockets o el RPC ).

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. El esquema Cliente/Servidor contribuye adems, a proporcionar, a los diferentes departamentos de una organizacin, soluciones locales, pero permitiendo la integracin de la informacin relevante a nivel global.

es.wikipedia.org/wiki/Cliente-servidor www.monografias.com/trabajos24/arquitecturacliente-servidor/arquitectura-cliente-servidor.shtml www.desarrolloweb.com/articulos/arquitectura-clienteservidor.html www.csae.map.es/csi/silice/Global71.html temariotic.wikidot.com/la-arquitectura-cliente-servidor

También podría gustarte