EL MODELO CLIENTE –
SERVIDOR
TCP es un protocolo orientado a conexión. No hay relaciones
maestro/esclavo. Las aplicaciones, sin embargo, utilizan un modelo
cliente/servidor en las comunicaciones.
Un servidor es una aplicación que ofrece un servicio a usuarios de
Internet; un cliente es el que pide ese servicio. Una aplicación consta de una
parte de servidor y una de cliente, que se pueden ejecutar en el mismo o en
diferentes sistemas.
Los usuarios invocan la parte cliente de la aplicación, que
construye una solicitud para ese servicio y se la envía al servidor de la
aplicación que usa TCP/IP como transporte.
El servidor es un programa que recibe una solicitud, realiza el
servicio requerido y devuelve los resultados en forma de una respuesta.
Generalmente un servidor puede tratar múltiples peticiones (múltiples clientes)
al mismo tiempo.

Algunos servidores esperan las solicitudes en puertos bien
conocidos de modo que sus clientes saben a que zócalo IP deben dirigir sus
peticiones. El cliente emplea un puerto arbitrario para comunicarse. Los
clientes que se quieren comunicar con un servidor que no usa un puerto bien
conocido tienen otro mecanismo para saber a qué puerto dirigirse. Este
mecanismo podría usar un servicio de registro como Portmap, que utiliza un puerto
bien conocido.
CARACTERÍSTICAS
En
la arquitectura C/S el remitente
de una solicitud es conocido como cliente. Sus características son:
·
Es
quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la
comunicación (dispositivo maestro o amo).
·
Espera y
recibe las respuestas del servidor.
·
Por lo
general, puede conectarse a varios servidores a la vez.
·
Normalmente
interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.
Al receptor de la solicitud enviada
por el cliente se conoce como servidor.
Sus características son:
·
Al iniciarse
esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un
papel pasivo en la comunicación (dispositivo esclavo).
·
Tras
la recepción de una solicitud, la procesan y luego envían la respuesta al
cliente.
·
Por
lo general, acepta las conexiones de un gran número de clientes (en ciertos
casos el número máximo de peticiones puede estar limitado).
En
la arquitectura C/S sus características generales son:
·
El
Cliente y el Servidor pueden actuar como una sola entidad y también pueden
actuar como entidades separadas, realizando actividades o tareas
independientes.
·
Las
funciones de Cliente y Servidor pueden estar en plataformas separadas, o en la
misma plataforma.
·
Cada
plataforma puede ser escalable independientemente. Los cambios realizados en
las plataformas de los Clientes o de los Servidores, ya sean por actualización
o por reemplazo tecnológico, se realizan de una manera transparente para el
usuario final.
·
La
interrelación entre el hardware y el software están 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.
·
Su
representación típica 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 información de la organización.
Los
servidores pueden ser apátridas o stateful. Un servidor apátrida no guarda
ninguna información entre las peticiones. Un servidor stateful puede recordar
la información entre las peticiones. El alcance de esta información puede ser
global o sesión-específico. Un servidor del HTTP para las páginas
estáticas del HTML es un ejemplo de un servidor apátrida mientras que Apache Tomcat es
un ejemplo de un servidor stateful.
La
interacción entre el cliente y el servidor se describe a menudo usando
diagramas de secuencia. Los diagramas de secuencia se estandarizan en el UML. Es importante que los
clientes no interactúen entre sí ni que lo hagan clientes de capas bajas hacia
otros de capas más altas, por eso todo tiene que pasar por el servidor.
Otro tipo de
arquitectura de red se conoce como arquitectura del par-a-par porque cada nodo
o caso del programa es un “cliente” y un “servidor”
y cada uno tiene responsabilidades equivalentes. Ambas arquitecturas están en
uso amplio.
ARQUITECTURA CLIENTE-SERVIDOR
La Arquitectura Cliente-Servidor es un modelo para el desarrollo de sistemas de información en el que las transacciones se dividen en procesos independientes que cooperan entre sí para intercambiar información, servicios o recursos. Se denomina cliente al proceso que inicia el diálogo o solicita los recursos y servidor al proceso que responde a las solicitudes. En este modelo las aplicaciones se dividen de forma que el servidor contiene la parte que debe ser compartida por varios usuarios, y en el cliente permanece sólo lo particular de cada usuario.
- · TELEPROCESO
Este
aparece con la finalidad de compartir información y
recursos con usuarios, la estructura de
este es que su conexión es en paralelo para todos los usuarios, además tiene
terminales tontos. Cuenta con un solo servidor en
el cual está la memoria y
solo el gestiona la información y las aplicaciones.
Ventajas:
- - Seguros
- - Rápidos
- - Proceso local
- - Conectividad eficiente
Desventajas:
- - Infraestructura limitada
- - Dependencia del servidor
- - Costos elevados tanto como dinero y trabajo
-
- · SERVIDOR DE ARCHIVOS
El
servidor de archivo,
aparecen con estaciones de trabajo esto
quiere decir que los usuario ya puede manipularla información, claro está que
deben tener privilegios. Cuentan con aplicaciones destinadas para cada usuario
de acuerdo al trabajo que desempeñen, los documentos pueden
ser compartidos y pueden manipularlos varias personas.
Ventajas:
- - Menor costo de servidores
- - Servicio local
- - Mejor Rapidez
- - Aplicaciones Robustas
Desventajas:
- - Mayor Inversión de infraestructura
- - Actualización de aplicaciones
- - Problema en la red
-
- · CLIENTE SERVIDOR
Sistema
donde el cliente es una máquina que solicita un determinado servicio y
se denomina servidor a la máquina que lo proporciona. Los servicios pueden
ser: Ejecución de un determinado programa,
Acceso a un determinado banco de
información, Acceso a un dispositivo de hardware.
El
servidor presenta a todos sus clientes una
interfaz única y bien definida, existen varios servidores:
- - Servidores de Software de Grupo.- El software de grupo es aquel, que permite organizar el trabajo de un grupo. El servidor gestiona los datos que dan soporte a estas tareas. Por ejemplo: almacenar las listas de correo electrónico. El Cliente puede indicarle, que se ha terminado una tarea y el servidor se lo envía al resto del grupo.
- - Servidores WEB.- Son los que guardan y proporcionan Páginas HTML. El cliente desde un browser o link hace un llamado de la página y el servidor recibe el mensaje y envía la página correspondiente.
- - Servidores de correo.- Gestiona el envío y recepción de correo de un grupo de usuarios (el servidor no necesita ser muy potente). El servidor solo debe utilizar un protocolo de correo.
- - Servidor de objetos.- Permite almacenar objetos que pueden ser activados a distancia. Los clientes pueden ser capaces de activar los objetos que se encuentran en el servidor.
- - Servidores de aplicación.- Se dedica a una única aplicación. Es básicamente una aplicación a la que pueden acceder los clientes.
-
El Cliente
es Conjunto de Software y Hardware que invoca los servicios de uno o varios
servidores.
Características:
- - El Cliente oculta al Servidor y la Red.
- - Detecta e intercepta peticiones de otras aplicaciones y puede redireccionarlas.
- - Dedicado a la cesión del usuario (Inicia...Termina).
- - El método más común por el que se solicitan los servicios es a través de RPC (Remote Procedure Calls).
-
Funciones
Comunes del Cliente:
- - Mantener y procesar todo el dialogo con el usuario.
- - Manejo de pantallas.
- - Menús e interpretación de comandos.
- - Entrada de datos y validación.
-
Procesamiento
de ayudas.
-
Recuperación
de errores.
A
continuación mostramos las arquitecturas cliente-servidor más
populares:
- · Arquitectura Cliente-Servidor de Dos Capas.- Consiste en una capa de presentación y lógica de la aplicación; y la otra de la base de datos. La primera capa encapsula la presentación y la lógica, la segunda gestiona el almacenamiento y puede almacenar parte de la lógica (procedimientos almacenados, triggers). Normalmente esta arquitectura se utiliza en las siguientes situaciones:
- - Cuando se requiera poco procesamiento de datos en la organización.
- - Cuando se tiene una base de datos centralizada en un solo servidor.
- - Cuando la base de datos es relativamente estática.
- - Cuando se requiere un mantenimiento mínimo.
- · Arquitectura Cliente-Servidor de Tres Capas- Consiste en una capa de la Presentación, otra capa de la lógica de la aplicación y otra capa de la base de datos. Agrega una capa intermedia (middle tier) que permite priorizacion y gestión de peticiones de balances. Normalmente esta arquitectura se utiliza en las siguientes situaciones:
- - Cuando se requiera mucho procesamiento de datos en la aplicación.
- - En aplicaciones donde la funcionalidad este en constante cambio.
- - Cuando los procesos no están relativamente muy relacionados con los datos.
- - Cuando se requiera aislar la tecnología de la base de datos para que sea fácil de cambiar.
- - Cuando se requiera separar el código del cliente para que se facilite el mantenimiento.
- - Está muy adecuada para utilizarla con la tecnología orientada a objetos.
No hay comentarios:
Publicar un comentario