Você está na página 1de 27

ARQUITECTURA CLIENTE/SERVIDOR

Fundamentos de Arquitectura Cliente Servidor

DEFINICIN BSICA
Es un modelo para construir sistemas de informacin Sustenta la idea de repartir el tratamiento de la informacin y los datos por todo el sistema informtico Permite mejorar el rendimiento del sistema global de informacin

EN TRMINOS DE ARQUITECTURA
Los distintos aspectos que caracterizan a una aplicacin (proceso, almacenamiento, control y operaciones de entrada y salida de datos), estn situados en ms de un computador, los cuales se encuentran interconectados mediante una red de comunicaciones.

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

ELEMENTOS DE LA ARQUITECTURA CLIENTE/SERVIDOR


Una arquitectura es un entramado de componentes funcionales que aprovechando diferentes estndares, convenciones, reglas y procesos, permite integrar una amplia gama de productos y servicios informticos, de manera que pueden ser utilizados eficazmente dentro de la organizacin con el objetivo de definir y delimitar el modelo de referencia de una arquitectura Cliente/Servidor, debemos identificar los componentes que permitan articular dicha arquitectura

ELEMENTOS DE LA ARQUITECTURA CLIENTE/SERVIDOR


considerando que toda aplicacin de un sistema de informacin est caracterizada por tres componentes bsicos: Presentacin/Captacin de Informacin Procesos Almacenamiento de la Informacin Y se integran en una arquitectura Cliente/Servidor en base a los elementos que caracterizan dicha arquitectura, es decir: Puestos de Trabajo Comunicaciones Servidores

ELEMENTOS DE LA ARQUITECTURA CLIENTE/SERVIDOR


Las Comunicaciones en sus dos vertientes: Infraestructura de redes : Componentes Hardware y Software que garantizan la conexin fsica y la transferencia de datos entre los distintos equipos de la red. Infraestructura de comunicaciones Componentes Hardware y Software que permiten la comunicacin y su gestin, entre los clientes y los servidores. La arquitectura Cliente/Servidor es el resultado de la integracin de la Mainframe que aporta capacidad de almacenamiento, integridad y acceso a la informacin y, por la del computador que aporta facilidad de uso (cultura de PC), bajo costo, presentacin atractiva (aspecto ldico) y una amplia oferta en productos y aplicaciones.

CARACTERSTICAS DEL MODELO CLIENTE/SERVIDOR


1. El Cliente y el Servidor pueden actuar como una sola entidad y tambin pueden actuar como entidades separadas, realizando actividades o tareas independientes. 2. Las funciones de Cliente y Servidor pueden estar en plataformas separadas, o en la misma plataforma. 3. Un servidor proporciona servicio a mltiples clientes en forma concurrente.

CARACTERSTICAS DEL MODELO CLIENTE/SERVIDOR


4. Cada plataforma puede ser escalable independientemente. Los cambios realizados en las plataformas de los Clientes o de los Servidores, ya sean por actualizacin o por reemplazo tecnolgico, se realizan de una manera transparente para el usuario final. 5. La interrelacin entre el hardware y el software estn basados en una infraestructura poderosa, de tal forma que el acceso a los recursos de la red no muestra la complejidad de los diferentes tipos de formatos de datos y de los protocolos

CARACTERSTICAS DEL MODELO CLIENTE/SERVIDOR


6. Se constituye como el nexo de unin ms adecuado para reconciliar los sistemas de informacin basados en mainframes o minicomputadoras, con aquellos otros sustentados en entornos informticos pequeos y estaciones de trabajo. 7. Designa un modelo de construccin de sistemas informticos de carcter distribuido. 8. Su representacin tpica es un centro de trabajo (PC), en donde el usuario dispone de sus propias aplicaciones de oficina y sus propias bases de datos, sin dependencia directa del sistema central de informacin de la organizacin.

VENTAJAS DEL MODELO CLIENTE/SERVIDOR


a) Existencia de plataformas de hardware cada vez ms baratas. Se pueden utilizar componentes, tanto de hardware como de software, de varios fabricantes, lo cual contribuye considerablemente a la reduccin de costos y favorece la flexibilidad en la implantacin y actualizacin de soluciones. b) Facilita la integracin entre sistemas diferentes y comparte informacin permitiendo, por ejemplo que las mquinas ya existentes puedan ser utilizadas pero con interfaces ms amigables al usuario.

VENTAJAS DEL MODELO CLIENTE/SERVIDOR


c) Al favorecer el uso de interfaces grficas interactivas, los sistemas construidos bajo este esquema tienen mayor interaccin ms intuitiva con el usuario d) El mantenimiento y el desarrollo de aplicaciones, 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).

VENTAJAS DEL MODELO CLIENTE/SERVIDOR


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

DESVENTAJAS DEL MODELO CLIENTE/SERVIDOR


a) Tiene escasas herramientas para la administracin y ajuste del desempeo de los sistemas. b) En el desarrollo de aplicaciones Cliente/Servidor se deben considerar los siguientes aspectos:
Los clientes y los servidores debern utilizar el mismo mecanismo (por ejemplo sockets o RPC) hay que tener estrategias pare el manejo de errores y para mantener la consistencia de los datos. se deben hacer verificaciones en el cliente y en el servidor. Tambin se puede recurrir a otras tcnicas como el encripcin. El desempeo. Problemas de este estilo pueden presentarse por congestin en la red, dificultad de trfico de datos, etc.

SERVICIOS BASADOS EN CLIENTE/SERVIDOR


a) Servicios de Datos e Impresin: Servicios que permiten compartir archivos, bases de datos, impresoras y graficadores (plotters). Administracin de las colas de impresin en diferentes dispositivos. b) Servicios de Comunicaciones: Aseguran que cada componente fsico de la red sea capaz de comunicarse exitosamente con otros componentes, tales como LAN a LAN y LAN a WAN

SERVICIOS BASADOS EN CLIENTE/SERVIDOR


c) Servicio de Administracin:
Administracin de Sistemas involucra administracin de cambios, de problemas, operaciones, configuracin y rendimiento. Administracin de Cambios: es definida como las actividades involucradas en la planeacin, programacin, distribucin, instalacin y registro de hardware y software en una red distribuida. Administracin de Problemas: involucra la determinacin de los mismos, la identificacin de su origen en una red y su solucin.

SERVICIOS BASADOS EN CLIENTE/SERVIDOR


Administracin de Operaciones: es definida como la administracin del uso de los sistemas y de los recursos para soportar la carga de trabajo de la organizacin, la cual incluye operaciones automatizadas y remotas. Administracin de Configuracin: es el manejo de las relaciones lgicas y fsicas entre los recursos de la red. Administracin del Rendimiento: es un conjunto de actividades tales como la recopilacin de datos de desempeo, afinamiento, distribucin de carga de trabajo y el planeamiento de la capacidad para las redes distribuidas. Administracin de Sistemas: tambin incluye servicios de respaldo, recuperacin de datos, seguridad de recursos de cmputo y distribucin y mantenimiento de software.

SERVICIOS BASADOS EN CLIENTE/SERVIDOR


d) Servicios de Aplicacin: Si el recurso compartido es una parte de una aplicacin (una funcin de la aplicacin), Cada uno de los procesadores participantes en un ambiente Cliente/Servidor puede mantener parte del cdigo de la aplicacin, el cual debe ser compartido por todos ellos (interoperabilidad). Esto significa que las partes de una aplicacin pueden ser distribuidas en varios procesadores, locales o remotos. El diseo de las funciones de la aplicacin no debe estar ligado a un computador, lo que permite transportar la aplicacin de un procesador a otro, sin modificaciones (portabilidad). Una ventaja derivada de esto, es que la aplicacin puede estar ptimamente ubicada dentro de una red en base a las necesidades: de recursos de cmputo y de la organizacin.

2. ESTILOS ARQUITECTNICOS DE SISTEMAS DISTRIBUIDOS


Los estilos arquitectnicos describen la organizacin lgica de los componen- tes de un sistema distribuido. Un componente lgico es una unidad modular, sustituible, que define las in- terfaces requeridas y ofrecidas en otros componentes lgicos. Los sistemas dis- tribuidos se forman a base de componentes lgicos interrelacionados entre s. Los conectores son mecanismos que hacen de mediadores de la comunica- cin, coordinacin o cooperacin entre componentes.

ESTILOS ARQUITECTNICOS DE SISTEMAS DISTRIBUIDOS


A partir de interrelacio- nar componentes lgicos y conectores se pueden construir diferentes estilos de sistemas distribuidos: 1) Arquitecturas por capas. Los componentes lgicos se organizan por capas. En este estilo, las invocaciones van de las capas superiores a las capas inferiores, mientras que los resultados van de las capas inferiores hacia las capas superiores. 2) Arquitecturas orientadas a componentes. Cada objeto representa un componente lgico y los componentes lgicos estn interconectados mediante invocaciones remotas (RPC). Este estilo y el estilo de la arquitectura por capas son los ms usados en sistemas distribuidos de gran escala.

ESTILOS ARQUITECTNICOS DE SISTEMAS DISTRIBUIDOS


3) Arquitectura orientada a los datos. En los sistemas distribuidos la localidad de los datos es un factor que afecta al rendimiento del sistema. Esta arquitectura tambin es utilizada cuando se quieren gestionar datos que estn distribuidos de una cierta manera, por ejemplo, cuando el volumen de datos es muy grande. 4) Arquitecturas orientadas a eventos. Los componentes bsicamente se comunican mediante eventos. En estos sistemas los componentes publican eventos que slo son recibidos por aquellos componentes que estn suscritos a ellos. La principal ventaja de estos sistemas es el desacoplamiento de los componentes lgicos.

TIPOS DE ARQUITECTURAS DE LOS SISTEMAS DISTRIBUIDOS


Una clasificacin muy extendida de los sistemas distribuidos es aquella que los clasifica en funcin de la ubicacin, jerarqua o relacin entre los componen- tes lgicos. 1. Arquitecturas centralizadas: En las arquitecturas centralizadas la interrelacin entre componentes sigue un patrn muy caracterstico en el que hay una jerarqua definida de manera que ciertos componentes requieren informacin o servicios que ofrecen otros componentes lgicos.

TIPOS DE ARQUITECTURAS DE LOS SISTEMAS DISTRIBUIDOS


Cliente-servidor: Esta arquitectura es la que estamos ms acostumbrados a utilizar en entornos distribuidos. Histricamente ha sido la ms usada, y todava lo es hoy en da. La web es un ejemplo de arquitectura cliente-servidor. Un servidor tambin puede ser cliente de otros servidores Por ejemplo, una aplicacin de correo va web acta como servidor para el navegador y como cliente del servidor de correo que gestiona los men- sajes del usuario en cuestin. Un buscador es al mismo tiempo servidor y cliente: responde a peticiones provenientes de los navegadores clientes y ejecuta pro- gramas que, actuando como clientes

TIPOS DE ARQUITECTURAS DE LOS SISTEMAS DISTRIBUIDOS


Arquitectura multiestrato: la funcionalidad est distribuida entre distintas plataformas u ordenadores. La interfaz reside en el ordenador del usuario, los servicios funcionales pueden estar en uno o ms ordenadores, y los datos o los sistemas propietarios estn en plataformas adicionales. Las arquitecturas multiestrato ms habituales son la de dos estratos y la de tres estratos.

TIPOS DE ARQUITECTURAS DE LOS SISTEMAS DISTRIBUIDOS


Aplicaciones basadas en la web: Un caso particular de aplicaciones cliente-servidor son las aplicaciones que se ejecutan aprovechando la arquitectura de la web. Estas aplicaciones se basan en el hecho de tener toda la capacidad de procesamiento en un servidor web (o conjunto de servidores) a los cuales se accede desde un navegador web.
Ventajas de las aplicaciones basadas en la Web:
son accesibles desde cualquier ordenador que disponga de un navegador tambin facilita el diseo de las aplicaciones, ya que no hay que implementar la comunicacin entre el cliente y el servidor La facilidad y universalidad en el acceso a las aplicaciones que proporciona esta arquitectura es la base de los servicios ofrecidos en Internet.

TIPOS DE ARQUITECTURAS DE LOS SISTEMAS DISTRIBUIDOS


Servidores intermediarios* y memorias cach
Una memoria cach es un almacn intermedio de objetos usados reciente- mente entre un cliente y un servidor. Cuando un ordenador recibe un objeto, lo almacena en la memoria cach. Cuando el cliente pide un objeto, el ordenador comprueba primero si est en la memoria cach. Si esta copia est actualizada (normalmente el protocolo entre cliente y servidor incluye un comando para validar si la copia en la memoria cach est actualizada o no), el cliente obtiene la copia. Si no lo est, la va a buscar. La introduccin de memorias cach elimina parcialmente o completamente algunas interacciones, y mejora as la eficiencia y la percepcin del usuario sobre sta.

TIPOS DE ARQUITECTURAS DE LOS SISTEMAS DISTRIBUIDOS


2. Arquitecturas descentralizadas
sistemas de igual a igual: la mayor parte de la inte- raccin entre los componentes es simtrica, es decir, los componentes actan como clientes y servidores al mismo tiempo. No estructuradas: El rendimiento de un sistema distribuido no estructurado est condicionado, entre otros, por el coste de localizar un objeto en el sistema

Estructuradas: La topologa de la red superpuesta sobre la que se construyen estos sistemas est fuertemente controlada y el contenido no va a cualquier lugar, sino a uno determinado que hace que las consultas sean ms eficaces. Estos sis- temas utilizan tablas de hash distribuidas (distributed hash tables o DHT en ingls) como sustratos, en los que la ubicacin de los objetos (o valores) se hace de manera determinista.

Você também pode gostar