lunes, 6 de febrero de 2017

EL MODELO CLIENTE – SERVIDOR


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