You are on page 1of 4

CONCEPTO DE ARQUITECTURA CLIENTE / SERVIDOR.

La tecnologa Cliente/Servidor es el procesamiento cooperativo de la informacin por medio de un conjunto de procesadores, en el cual mltiples clientes, distribuidos geogrficamente, solicitan requerimientos a uno o ms servidores centrales. En el modelo usual Cliente/Servidor, un servidor, se activa y espera las solicitudes de los clientes. Habitualmente, programas cliente mltiples comparten los servicios de un programa servidor comn. Tanto los programas cliente como los servidores son con frecuencia parte de un programa o aplicacin mayores. El Esquema de funcionamiento de un Sistema Cliente/Servidor sera: 1. 2. 3. 4. 5. El cliente solicita una informacin al servidor. El servidor recibe la peticin del cliente. El servidor procesa dicha solicitud. El servidor enva el resultado obtenido al cliente. El cliente recibe el resultado y lo procesa.

COMPONENTES DE LA ARQUITECTURA CLIENTE/SERVIDOR


El modelo Cliente/Servidor es un modelo basado en la idea del servicio, en el que el cliente es un proceso consumidor de servicios y el servidor es un proceso proveedor de servicios. Adems esta relacin est establecida en funcin del intercambio de mensajes que es el nico elemento de acoplamiento entre ambos. De estas lneas se deducen los tres elementos fundamentales sobre los cuales se desarrollan e implantan los sistemas Cliente/Servidor: el proceso cliente que es quien inicia el dilogo, el proceso servidor que pasivamente espera a que lleguen peticiones de servicio y el middleware que corresponde a la interfaz que provee la conectividad entre el cliente y el servidor para poder intercambiar mensajes.

ELEMENTOS PRINCIPALES
CLIENTE Un cliente es todo proceso que reclama servicios de otro, es decir, el cliente es el proceso que permite al usuario formular los requerimientos y pasarlos al servidor. Se lo conoce con el trmino front-end.

ste 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 la 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.

SERVIDOR Un servidor es todo proceso que proporciona un servicio a otros. Es el proceso encargado de atender a mltiples clientes que hacen peticiones de algn recurso administrado por l. Al proceso servidor se lo 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 principales funciones que lleva a cabo el proceso servidor se enumeran a continuacin:

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.

Puede darse el caso que un servidor acte a su vez como cliente de otro servidor. Existen numerosos tipos de servidores, cada uno de los cuales da lugar a un tipo de arquitectura Cliente/Servidor diferente. El trmino "servidor" se suele utilizar tambin para designar el hardware, de gran potencia, capacidad y prestaciones, utilizado para albergar servicios que atienden a un gran nmero de usuarios concurrentes. Desde el punto de vista de la arquitectura cliente/servidor y del procesamiento cooperativo un servidor es un servicio software que atiende las peticiones de procesos software clientes.

TIPOS DE ARQUITECTURA CLIENTE / SERVIDOR.


Uno de los aspectos claves para entender la tecnologa Cliente/Servidor, y por tanto contar con la capacidad de proponer y llevar a cabo soluciones de este tipo, es llegar a conocer la arquitectura de este modelo y los conceptos o ideas asociados al mismo. Ms all de entender los componentes cliente/middleware/servidor, es preciso analizar ciertas relaciones entre stos, que pueden definir el tipo de solucin que se ajusta de mejor forma a las estadsticas y restricciones acerca de los eventos y requerimientos de informacin que se obtuvieron en la etapa de anlisis de un determinado proyecto. De hecho el analista deber conocer estos eventos o restricciones del proyecto para que a partir de ah, se puedan hacer las consideraciones y estimaciones de la futura configuracin, teniendo en cuenta aspectos como por ejemplo, la oportunidad de la informacin, tiempo de respuesta, tamaos de registros, tamao de bases de datos, estimaciones del trfico de red, distribucin geogrfica tanto de los procesos como de los datos, etc.

SERVIDORES DE FICHEROS Con un servidor de archivos, un cliente lo que hace es requerimientos de los mismos sobre una red. Esta es una forma muy primitiva de servicios de datos, la cual necesita intercambio de muchos mensajes sobre una red para hallar el dato requerido. Los servidores de archivos usan recursos compartidos sobre la red y son necesarios para crear repositorios de documentos, imgenes y archivos grandes sobre la red. SERVIDORES DE BASES DE DATOS Este anlisis est elaborado desde el punto de vista del modelo Cliente/Servidor, y est directamente relacionado con la arquitectura en dos planos, que se describir en el apartado siguiente.

Obviamente la creacin de aplicaciones Cliente/Servidor est asociada a la utilizacin de servidores de bases de datos relacionales SQL, y dependiendo de los requerimientos y restricciones se debe elegir entre una arquitectura dos o tres planos. Pero para una arquitectura centrada en un servidor de bases de datos, cualquiera de las modalidades dos planos, permite que un proceso cliente solicite datos y servicios directamente a un servidor de bases de datos. Segn las distintas normas de SQL (SQL-89, SQL-92, SQL3) el servidor debe proveer un acceso compartido a los datos con los mecanismos de proteccin necesarios, as como proveer mecanismos para seleccionar resultados dentro de un conjunto de datos, posibilitando un ahorro en procesos de comunicacin. El servidor debe tambin proveer mecanismos de concurrencia, seguridad y consistencia de datos, basado principalmente en el concepto de transaccin en el que todo se realiza, y por lo tanto se hace permanente, o todo falla, anulndose la transaccin en tal caso.

SERVIDORES DE TRANSACCIONES Estos tipos de sistemas se pueden implementar con cualquiera de las modalidades Cliente/Servidor en dos o tres planos, pero incorporan un elemento principal sobre el cual se elabora y basa toda la fortaleza de este modelo, el concepto de transaccin. Con un servidor de transacciones el proceso cliente llama a funciones, procedimientos o mtodos que residen en el servidor, ya sea que se trate de un servidor de bases de datos o un servidor de aplicaciones. Lo importante es que el intercambio a travs de la red se realiza mediante un nico mensaje de solicitud/respuesta, es decir, independientemente de que se necesite ejecutar una o ms funciones, una o ms instrucciones o sentencias SQL, stas son agrupadas en una unidad lgica llamada transaccin; evitando as el intercambio a travs de la red de un mensaje solicitud/respuesta por cada sentencia SQL, el cual es el caso de los sistemas Cliente/Servidor dos planos, implementados a travs de SQL remoto. Estas aplicaciones denominadas OLTP (On Line Transaction Proccesing) estn orientadas a dar soporte a los procedimientos y reglas de los sistemas de misin crtica.

En la actualidad muchas aplicaciones tienen la necesidad de ser desarrolladas con la ayuda de transacciones, vase el ejemplo de los cajeros automticos: imaginemos que queremos sacar dinero. Introducimos la cantidad adecuada y pulsamos el botn de enviar. El cajero manda una solicitud al banco para que descuente dicha cantidad de la cuenta del cliente, y recibe la respuesta. Si diera la casualidad que la respuesta del banco se perdiera en medio de la red, el cajero volvera a realizar la peticin, por lo que el banco volvera a descontar dicha cantidad de la cuenta bancaria asociada. Este problema tan comn se soluciona con la ayuda de las transacciones.

SERVIDORES DE OBJETOS

Con un servidor de objetos, las aplicaciones Cliente/Servidor son escritas como un conjunto de objetos que se comunican. Los objetos cliente se comunican con los objetos servidores usando un Object Request Broker (ORB). El cliente invoca un mtodo de un objeto remoto. El ORB localiza el mtodo del objeto en el servidor, y lo ejecuta para devolver el resultado al objeto cliente. Los servidores de objetos deben soportar concurrencia

SERVIDORES WEB La primera aplicacin cliente servidor que cubre todo el planeta es el World Wide Web. Este nuevo modelo consiste en clientes simples que hablan con servidores Web. Un servidor Web devuelve documentos cuando el cliente pregunta por el nombre de los mismos. Los clientes y los servidores se comunican usando un protocolo basado en RPC, llamado HTTP. Este protocolo define un conjunto simple de comandos, los parmetros son pasados como cadenas y no provee tipos de datos. La Web y los objetos distribuidos estn comenzando a crear un conjunto muy interactivo de computacin Cliente/Servidor. Ventajas y desventajas del modelo cliente/servidor Ventajas: * Centralizacin del control de los recursos, datos y accesos. * Facilidad de mantenimiento y actualizacin del lado del servidor: Esto es porque el lado del servidor se puede mantener o actualizar fcilmente. Por ejemplo, una actualizacin se aplica a un nico servidor, pero los beneficios los obtienen mltiples clientes generalmente sin necesidad de que stos actualicen nada. * Toda la informacin es almacenada en el lado del servidor, que suele tener mayor seguridad que los clientes. * Hay muchas herramientas cliente-servidor probadas, seguras y amigables para usar.

You might also like