Você está na página 1de 9

Arquitecura Cliente/Servidor

Arquitectura cliente servidor.


Una arquitectura es un conjunto de reglas, definiciones, trminos y modelos que se emplean para producir un producto.

La arquitectura Cliente/Servidor agrupa conjuntos de elementos que efectan procesos distribuidos y computo cooperativo .

La arquitectura cliente/servidor es un modelo para el desarrollo de sistemas de informacin, en el que las transacciones se dividen en procesos independientes que cooperan entre s para intercambiar informacin, servicios o recursos. Se denomina cliente al proceso que inicia el dilogo o solicita los recursos y servidor, al proceso que responde a las solicitudes. Es el modelo de interaccin ms comn entre aplicaciones en una red.

Beneficios:
Mejor aprovechamiento de la potencia de cmputo (Reparte el trabajo). Reduce el trfico en la Red. (Viajan requerimientos). Opera bajo sistemas abiertos. Permite el uso de interfaces grficas variadas y verstiles.

Qu es el Cliente?
Conjunto de Software y Hardware que invoca los servicios de uno o varios servidores. Los Clientes interactan con el usuario, usualmente en forma grfica. Frecuentemente se comunican con procesos auxiliares que se encargan de establecer conexin con el servidor, enviar el pedido, recibir la respuesta, manejar las fallas y realizar actividades de sincronizacin y de seguridad.

Caractersticas:
El Dedicado Cliente a la oculta cesin al del Servidor usuario ( y la Red. ).

Detecta e intercepta peticiones de otras aplicaciones y puede redireccionarlas. Inicia...Termina El mtodo ms comn por el que se solicitan los servicios es a travs de RPC (Remote Procedure Calls).

Funciones Comunes del Cliente:


Mantener Manejo Mens e y procesar todo de interpretacin de el dialogo con el usuario. pantallas. comandos.

Entrada Procesamiento Recuperacin

de

datos de de

validacin. ayudas. errores.

Generacin de consultas e informes sobre las bases de datos.

Qu es el Servidor?
Conjunto de Hardware y Software que responde a los requerimientos de un cliente. Los Servidores proporcionan un servicio al cliente y devuelven los resultados. En algunos casos existen procesos auxiliares que se encargan de recibir las solicitudes del cliente, verificar la proteccin, activar un proceso servidor para satisfacer el pedido, recibir su respuesta y enviarla al cliente. Adems, deben manejar los interbloqueos, la recuperacin ante fallas, y otros aspectos afines. Por las razones anteriores, la plataforma computacional asociada con los servidores es ms poderosa que la de los clientes. Por esta razn se utilizan PCs poderosas, estaciones de trabajo, minicomputadores o sistemas grandes. Adems deben manejar servicios como administracin de la red, mensajes, control y administracin de la entrada al sistema ("login"), auditora y recuperacin y contabilidad.

Tipos Comunes de Servidores:


Servidor Servidor Servidor Servidor Servidor de de Bases de Archivos Datos de de de (SQL, CBASE, (FTP, ORACLE, Novell). INFORMIX). Impresin. Terminal. Comunicaciones

Servidor de Aplicaciones (Windows NT, Novell).

Funciones Comunes del Servidor:


Acceso, Actualizacin Administracin Ejecucin de en toda disco, la almacenamiento de de lgica de para y organizacin datos recursos procesar una de de datos. almacenados. compartidos. transaccin. memoria y

Procesamiento comn de elementos del servidor (Datos, capacidad de CPU, almacenamiento comunicacin). capacidad impresin, manejo

Gestin Control de accesos

de concurrentes

perifricos a bases de datos

compartidos. compartidas.

Enlaces de comunicaciones con otras redes de rea local o extensa Para que los clientes y los servidores puedan comunicarse se requiere una infraestructura de comunicaciones, la cual proporciona los mecanismos bsicos de direccionamiento y transporte. La mayora de los sistemas Cliente/Servidor actuales, se basan en redes locales y por lo tanto utilizan protocolos no orientados a conexin, lo cual implica que las aplicaciones deben hacer las verificaciones. Red de comunicacin.- Es todo aquel conjunto de elementos basados en hardware y software que permite establecer un enlace entre los clientes y los servidores, se clasifican por su tamao LAN, MAN y WAN. La red debe tener caractersticas adecuadas de desempeo, confiabilidad, transparencia y administracin. Entre las principales caractersticas de la arquitectura cliente / servidor, se pueden destacar las siguientes: El servidor presenta a todos sus clientes una interface nica y bien definida. El cliente no necesita conocer la lgica del servidor, slo su interface externa. El cliente no depende de la ubicacin fsica del servidor, ni del tipo de equipo fsico en el que se encuentra, ni de su sistema operativo. Los cambios en el servidor implican pocos o ningn cambio en el cliente.

1.6.1 Componentes de aplicaciones.


Una infraestructura Cliente/Servidor consta de tres componentes esenciales, todos ellos de igual importancia y estrechamente ligados: Plataforma Entorno Gestin Funciones de componentes. de Desarrollo de de Operativa Aplicaciones. Sistemas.

Plataforma Operativa.- La plataforma deber soportar todos los modelos de distribucin Cliente/Servidor, todos los servicios de comunicacin, y deber utilizar, preferentemente, componentes estndar de la industria para los servicios de distribucin. Los desarrollos propios deben coexistir con las aplicaciones estndar y su

integracin deber ser imperceptible para el usuario. Igualmente, podrn acomodarse programas escritos utilizando diferentes tecnologas y herramientas. Entorno de Desarrollo de Aplicaciones. - Debe elegirse despus de la plataforma operativa. Un entorno de aplicacin incremental, debe posibilitar la coexistencia de procesos cliente y servidor desarrollados con distintos lenguajes de programacin y/o herramientas, as como utilizar distintas tecnologas (por ejemplo, lenguaje procedural, lenguaje orientado a objetos, multimedia), y que han sido puestas en explotacin en distintos momentos del tiempo. Gestin de Sistemas. - Estas funciones aumentan considerablemente el costo de una solucin, pero no se pueden evitar. Siempre deben adaptarse a las necesidades de la organizacin, y al decidir la plataforma operativa y el entorno de desarrollo, es decir, en las primeras fases de la definicin de la solucin, merece la pena considerar los aspectos siguientes: Qu Dnde Cuntos estarn situados tipos necesitamos los procesadores distintos y estaciones se de gestionar? trabajo? soportarn?

Qu tipo de soporte es necesario y quin lo proporciona? Una Metodologa de Infraestructura para Sistemas Distribuidos que permita definir una infraestructura para el sistema Cliente/Servidor y evale la puesta en marcha del proyecto sobre una base racional. El enfoque estructurado de dicha Metodologa comprende los pasos siguientes: Captacin de las del necesidades. negocio la Definir, con relacin analizar las y y evaluar, aunando los

requerimientos del sistema, de

aportaciones comunicacin

tecnolgicas. entre de ambos. procesos,

Diseo conceptual en el que se sitan los principales bloques funcionales y de datos mostrando los principales Detalle componentes funcionales, seleccin

determinando los principios que deben aplicarse a la seleccin de software o diseo de los mdulos. Al final de los tres pasos anteriores, se definen los conceptos del sistema y la infraestructura tecnolgica, sin concretar, todava, en productos o plataformas especficos. Por ltimo, se llega a la seleccin de plataformas y principales productos y componentes para la implantacin. El resultado es la descripcin de una solucin que incluye infraestructura tecnolgica, plataformas y productos.

Caractersticas Funcionales de la arquitectura cliente servidor


Esta arquitectura se puede clasificar en cinco niveles, segn las funciones que asumen el cliente y el servidor, tal y como se puede ver en el siguiente diagrama: En el primer nivel el cliente asume parte de las funciones de presentacin de la aplicacin, ya que siguen existiendo programas en el servidor, dedicados a esta tarea. Dicha distribucin se realiza mediante el uso de productos para el "maquillaje" de las pantallas del mainframe. Esta tcnica no exige el cambio en las aplicaciones orientadas a terminales, pero dificulta su mantenimiento. Adems, el servidor ejecuta todos los procesos y almacena la totalidad de los datos. En este caso se dice que hay una presentacin distribuida o embellecimiento. En el segundo nivel, la aplicacin est soportada directamente por el servidor, excepto la presentacin que es totalmente remota y reside en el cliente. Los terminales del cliente soportan la captura de datos, incluyendo una validacin parcial de los mismos y una presentacin de las consultas. En este caso se dice que hay una presentacin remota. En el tercer nivel, la lgica de los procesos se divide entre los distintos componentes del cliente y del servidor. El diseador de la aplicacin debe definir los servicios y las interfaces del sistema de informacin, de forma que los papeles de cliente y servidor sean intercambiables, excepto en el control de los datos, que es responsabilidad exclusiva del servidor. En este tipo de situaciones se dice que hay un proceso distribuido o cooperativo.

En el cuarto nivel el cliente realiza tanto las funciones de presentacin como los procesos. Por su parte, el servidor almacena y gestiona los datos que permanecen en una base de datos centralizada. En esta situacin se dice que hay una gestin de datos remota. En el quinto y ltimo nivel, el reparto de tareas es como en el anterior y adems el gestor de base de datos divide sus componentes entre el cliente y el servidor. Las interfaces entre ambos, estn dentro de las funciones del gestor de datos y, por lo tanto, no tienen impacto en el desarrollo de las aplicaciones. En este nivel se da lo que se conoce como bases de datos distribuidas.

Caractersticas fsicas de la arquitectura cliente servidor


El diagrama del punto anterior da una idea de la estructura fsica de conexin entre las distintas partes que componen una arquitectura cliente / servidor. La idea principal consiste en aprovechar la potencia de los ordenadores personales para realizar, sobre todo, los servicios de presentacin y, segn el nivel, algunos procesos o incluso algn acceso a datos locales. De esta forma se descarga al servidor de ciertas tareas para que pueda realizar otras ms rpidamente. Tambin existe una plataforma de servidores que sustituye al ordenador central tradicional y que da servicio a los clientes autorizados. Incluso a veces el antiguo ordenador central se integra en dicha plataforma como un servidor ms. Estos servidores suelen estar especializados por funciones (seguridad, clculo, bases de datos, comunicaciones, etc.), aunque, dependiendo de las dimensiones de la instalacin se pueden reunir en un servidor una o varias de estas funciones.

Las unidades de almacenamiento masivo en esta arquitectura, se caracterizan por incorporar elementos de proteccin que evitan la prdida de datos y permiten multitud de accesos simultneos (alta velocidad, niveles RAID, etc.). Para la comunicacin de todos estos elementos se emplea un sistema de red que se encarga de transmitir la informacin entre clientes y servidores. Fsicamente consiste en un cableado (coaxial, par trenzado, fibra ptica, etc.) o en conexiones mediante seales de radio o infrarrojas, dependiendo de que la red sea local (LAN o RAL), metropolitana (MAN) o de rea extensa (WAN). Para la comunicacin de los procesos con la red se emplea un tipo de equipo lgico denominado middleware que controla las conversaciones. Su funcin es independizar ambos procesos (cliente y servidor). La interface que presenta es la estndar de los servicios de red, hace que los procesos "piensen" en todo momento que se estn comunicando con una red.

Caractersticas Lgicas de la arquitectura cliente servidor


Una de las principales aportaciones de esta arquitectura a los sistemas de informacin, es la interfaz grfica de usuario. Gracias a ella se dispone de un manejo ms fcil e intuitivo de las aplicaciones mediante el uso de un dispositivo tipo ratn. En esta arquitectura los datos se presentan, editan y validan en la parte de la aplicacin cliente.

En cuanto a los datos, cabe sealar que en la arquitectura cliente / servidor se evitan las duplicidades (copias y comparaciones de datos), teniendo siempre una imagen nica y correcta de los mismos, disponible en lnea para su uso inmediato. Todo esto tiene como fin que el usuario de un sistema de informacin soportado por una arquitectura cliente / servidor, trabaje desde su estacin de trabajo con distintos datos y aplicaciones, sin importarle dnde estn o dnde se ejecuta cada uno de ellos.