Documente Academic
Documente Profesional
Documente Cultură
CLIENTE/SERVIDOR
Actualizado con fecha 17 de Octubre de 2016.
En esta entrada haremos una introduccin a la arquitectura cliente
servidor, con el objetivo de preparar los exmenes de test y de
desarrollo de las oposiciones de informtica y
telecomunicaciones.
Han pasado ms de 4 aos desde la publicacin de la entrada original,
por lo que hemos decidido actualizar su contenido como parte del
proceso general de actualizacin de los contenidos del blog Oposiciones
TIC, orientados a la preparacin de las oposiciones de informtica y
telecomunicaciones de diversas administraciones espaolas.
ESQUEMA DE FUNCIONAMIENTO
DE UN SISTEMA SEGN LA
ARQUITECTURA CLIENTE SERVIDOR.
El Esquema de funcionamiento de un Sistema Cliente/Servidor sera:
1.
2.
3.
4.
5.
El
El
El
El
El
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.
Para entender en forma ms ordenada y clara los conceptos y
elementos involucrados en esta tecnologa se puede aplicar una
descomposicin o arquitectura de niveles. Esta descomposicin
principalmente consiste en separar los elementos estructurales de esta
tecnologa en funcin de aspectos ms funcionales de la misma:
ELEMENTOS PRINCIPALES
CLIENTE
Un cliente es todo proceso que reclama servicios de otro. Una
definicin un poco ms elaborada podra ser la siguiente: 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:
Formatear resultados.
La funcionalidad del proceso cliente marca la operativa de la aplicacin
(flujo de informacin o lgica de negocio). De este modo el cliente se
puede clasificar en:
Protocolo de transporte.
El NOS:
Intercepta la llamada.
Devuelve la contestacin.
El NOS debe proporcionar transparencia a los procesos
Cliente/Servidor con respecto a:
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
Arranque de la transaccin.
Registro de Gestores de Recursos que participan.
Gestin Commit/Rollback.
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. La parte central de la comunicacin en
los servidores de objetos es el ORB:
MODELOS CLIENTE/SERVIDOR
Una de las clasificaciones mejor conocidas de las arquitecturas
Cliente/Servidor se basa en la idea de planos (tier), la cual es una
variacin sobre la divisin o clasificacin por tamao de componentes.
Esto se debe a que se trata de definir el modo en que las prestaciones
funcionales de la aplicacin sern asignadas, y en qu proporcin,
tanto al cliente como al servidor. Dichas prestaciones se deben agrupar
entre los tres componentes clsicos para Cliente/Servidor: interfaz de
usuario, lgica de negocios y los datos compartidos, cada uno de los
cuales corresponde a un plano. Ni que decir tiene que la mala eleccin
de uno u otro modelo puede llegar a tener consecuencias fatales.
Dentro de esta categora tenemos las aplicaciones en dos planos (twotier), tres planos (three-tier) y multi-planos (multi-tier). Dado que este
trmino ha sido sobrecargado de significados por cuanto se lo utiliza
indistintamente para referirse tanto a aspectos lgicos (Software) como
fsicos (Hardware), aqu se esquematizan ambas acepciones.
A NIVEL DE SOFTWARE
Este enfoque o clasificacin es el ms generalizado y el que ms se
ajusta a los enfoques modernos, dado que se fundamenta en los
componentes lgicos de la estructura Cliente/Servidor y en la madurez
y popularidad de la computacin distribuida. Por ejemplo, esto permite
hablar de servidores de aplicacin distribuidos a lo largo de una red, y
no tiene mucho sentido identificar a un equipo de hardware como
servidor, si no ms bien entenderlo como una plataforma fsica sobre la
cual pueden operar uno o ms servidores de aplicaciones.
Inconvenientes:
A NIVEL DE HARDWARE
Esta clasificacin del modelo Cliente/Servidor se basa igualmente en la
distribucin de los procesos y elementos entre sus componentes, pero
centrndose en la parte fsica del mismo, en el que la administracin de
la interfaz grfica se asocia a los clientes PC y la seguridad e integridad
de los datos quedan asociados a ambientes mainframe o por lo menos a
servidores locales y/o centrales.
Separacin de funciones.
Las distintas arquitecturas cliente/servidor presentan variaciones
acerca de cmo son distribuidas las diferentes funciones de las
aplicaciones de sistemas entre el cliente y el servidor, sobre la base de
los conceptos de los tres componentes generales de cualquier SI:
Presentacin Distribuida.
Presentacin remota.
Presentacin distribuda.
Presentacin remota.
Toda la lgica de negocio y acceso a datos se ejecuta en el servidor, que
en esta ocasin no realiza ninguna funcin relacionada con la
presentacin. Todas las funciones de presentacin son ejecutadas en el
cliente. Un ejemplo de este tipo de aplicaciones son las aplicaciones
web, las de los terminales de cajeros automticos, etc.
La principal ventaja es que la interfaz de usuario se adapta bien a las
capacidades del entorno cliente (en la presentacin distribuda el
servidor tena que ejecutar funciones dentro de un entorno que podra
no ser el ms apropiado para el cliente). La principal desventaja es que
toda la informacin necesaria para la presentacin tiene que circular
por la red desde el servidor al cliente.