Cliente servidor

40
Luis Alberto Hernandez Montaño Cliente Servidor

Transcript of Cliente servidor

Luis Alberto Hernandez

Montaño

Cliente Servidor

Entorno Cliente servidor

Diversas aplicaciones se ejecutan en un entorno cliente/servidor. Esto significa que los equipos clientes (equipos que forman parte de una red) contactan a un servidor, un equipo generalmente muy potente en materia de capacidad de entrada/salida, que proporciona servicios a los equipos clientes. Estos servicios son programas que proporcionan datos como la hora, archivos, una conexión, etc.

Los servicios son utilizados por programas denominados programas clientes que se ejecutan en equipos clientes. Por eso se utiliza el término "cliente" (cliente FTP, cliente de correo electrónico, etc.) cuando un programa que se ha diseñado para ejecutarse en un equipo cliente, capaz de procesar los datos recibidos de un servidor (en el caso del cliente FTP se trata de archivos, mientras que para el cliente de correo electrónico se trata de correo electrónico).

Arquitectura cliente servidor

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 contratar un servicio de redes, se debe tener en cuenta la velocidad de conexión que le otorga al cliente y el tipo de cable que utiliza , por ejemplo : cable de cobre ronda entre 1 ms y 50 ms.

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, aceptan conexiones desde un gran número de clientes (en ciertos casos

el número máximo de peticiones puede estar limitado).

No es frecuente que interactúen directamente con los usuarios finales.

Ventajas de la Arquitectura Cliente

Servidor

recursos centralizados: debido a que el servidor es el centro de la red, puede administrar

los recursos que son comunes a todos los usuarios, por ejemplo: una base de datos

centralizada se utilizaría para evitar problemas provocados por datos contradictorios y

redundantes.

seguridad mejorada: ya que la cantidad de puntos de entrada que permite el acceso a

los datos no es importante.

administración al nivel del servidor: ya que los clientes no juegan un papel importante en

este modelo, requieren menos administración.

red escalable: gracias a esta arquitectura, es posible quitar o agregar clientes sin afectar

el funcionamiento de la red y sin la necesidad de realizar mayores modificaciones.

Desventajas de la Arquitectura Cliente

Servidor

costo elevado: debido a la complejidad técnica del servidor.

un eslabón débil: el servidor es el único eslabón débil en la red de cliente/servidor,

debido a que toda la red está construida en torno a él. Afortunadamente, el servidor es

altamente tolerante a los fallos (principalmente gracias al sistema RAID).

Funcionamiento del sistema

cliente/servidor

¿Qué es un servidor?

Un servidor es un equipo que se encarga de dar algún tipo de servicio a otros PCs que se

denominan clientes. Se trata de máquinas por tanto que deben funcionar 24 horas al día

y los 365 días del año.

Los servidores son máquinas o computadoras que actúan como "almacenes" de

información, los cuales como su nombre lo indica esta al servicio de otras máquinas que

se llaman clientes . La información es solicitada por los ordenadores-cliente, y el servidor

responde a tales peticiones devolviendo los datos solicitados.

Generalmente son mas potentes que una

computadora personal.

La conexión de servidores e internet

Particularmente cruciales son los cables transoceánicos que comunican continentes y

que permiten que un post en Europa pueda ser visto en México o Japón.

Estamos hablando de cables capaces de transmitir volúmenes tremendos de información

a centenares de metros de profundidad. No exagero al decir que son de los grandes

logros anónimos de ingeniería de estos tiempos.

En la Actualidad existen Varios tipos de

Servidores

Proxy DNS WEB DHCP FTP

Servidores de imágenes

Servidor de Base de Datos

DedicaciónServidores

Clúster

Servidor de Correo (POP,

SMTP )

Proxy

Proxy en inglés significa intermediario o se refiere a algo que tiene la autoridad de

representar a algo más

Los servidores proxy ayudan a mejorar el rendimiento en Internet ya que almacenan una

copia de las páginas web más utilizadas.

Cuando un explorador solicita una página web almacenada en la colección (su caché)

del servidor proxy, el servidor proxy la proporciona, lo que resulta más rápido que

consultar la Web. Los servidores proxy también ayudan a mejorar la seguridad, ya que

filtran algunos contenidos web y software malintencionado. Mejoran el rendimiento

Proxy

DNS

Los servidores DNS son parte de la cadena que queda formada cuando hacemos una

petición mediante nuestro navegador de cualquier página web.

Estos servidores no son más que computadoras que en sus discos duros almacenan

enormes bases de datos.

Tienen registrada la relación que existe entre cada nombre de dominio y su dirección IP

correspondiente.

Los seres humanos identificamos los sitios de internet mediante nombres, como son

Google.com, Yahoo.es, Apple.com, etc. lo que los hace más fácil de recordar y de

escribir, estos nombres es lo que conocemos como nombres de dominio.

DNS

WEB

El servidor Web almacena los archivos de un sitio y los emite por Internet para poder ser visitado por los usuarios.

Básicamente un servidor WEB consta de un interprete HTTP el cual se mantiene a la espera de peticiones de clientes y le responde con el contenido según sea solicitado. El cliente, una vez recibido el código, lo interpreta y lo exhibe en pantalla.

Además los servidores pueden disponer de un intérprete de otros lenguajes de programación que ejecutan código embebido dentro del código HTML de las páginas que contiene el sitio antes de enviar el resultado al cliente. Esto se conoce como programación de lado del servidor y utiliza lenguajes como ASP, PHP, Perl y Ajax. Las ventajas de utilizar estos lenguajes radica en la potencia de los mismos ejecutando tareas mas complejas como, por ejemplo acceder a bases de datos abstrayendo al cliente de toda la operación.

DHCP

Dynamic Host Configuration Protocol o Protocolo de

Configuración Dinámica de Servidores.

Es una manera para que una computadora se configure automáticamente para

poder conectarse a una red, esto es estableciendo por medio de este protocolo su IP, su

mascara, su puerta de enlace, sus DNS entre otros.

FTP

FTP Significa File Transfer protocol o Protocolo de transferencia de archivos

Un servidor FTP es un programa especial que se ejecuta en un servidor conectado

normalmente en Internet (aunque puede estar conectado en otros tipos de redes, LAN,

MAN, etc.). La función del mismo es permitir el desplazamiento de datos entre diferentes

servidores / ordenadores.

Servidor FTP

Servidor de Correo

Es una aplicación que nos permite enviar y recibir correos de un usuario a otro.

En el se encuentran definidos varios protocolos para lograr el funcionamiento.

Clusters

El término clúster (del inglés cluster, "grupo" o "racimo") se aplica a los conjuntos o conglomerados de computadoras construidos mediante la utilización de hardwares comunes y que se comportan como si fuesen una única computadora.

La tecnología de clústeres ha evolucionado en apoyo de actividades que van desde aplicaciones de supercómputo y software de misiones críticas, servidores web y comercio electrónico, hasta bases de datos de alto rendimiento, entre otros usos.

El cómputo con clústeres surge como resultado de la convergencia de varias tendencias actuales que incluyen la disponibilidad de microprocesadores económicos de alto rendimiento y redes de alta velocidad, el desarrollo de herramientas de software para cómputo distribuido de alto rendimiento, así como la creciente necesidad de potencia computacional para aplicaciones que la requieran.

Procesos Distribuidos

Es un modelo de aplicaciones o bien de sistemas el cual se caracteriza porque las funciones

y los datos pueden estar distribuidos a través de múltiples recursos de cómputo conectados

por medio de una red.

En un proceso en el cual se distribuyen los procesos entre varias computadoras, permitiendo

un mejor desempeño de procesamiento

OBJETIVO DE LOS PROCESOS DISTRIBUÍDOS

Resolver problemas que tienden a ser demasiado grandes incluso

para una supercomputadora o mainframe, manteniendo la

flexibilidad de trabajar con múltiples problemas más pequeños

El proceso distribuido

Para cada uno de los usuarios debe ser similar al trabajo en el Sistema Centralizado.

Seguridad interna en el sistema distribuido.

Se ejecuta en múltiples computadoras.

Tiene varias copias del mismo Sistema Operativo o de diferentes Sistemas Operativos que

proveen los mismos servicios.

Implementación Distribuida

Modelo cliente/servidor : un programa cliente (quién necesita el servicio) se comunica

con un programa servidor (quién ofrece el recurso) para intercambiar información.

modelo

basado en objetos: consiste en un conjunto de objetos que encapsulan en una interfaz

los métodos solicitados por el cliente. Cuando el cliente solicita un servicio genera un

proceso de búsqueda hasta localizar el objeto que concuerde con las características

especificadas por el cliente.

Sistemas Distribuídos

Son computadoras que pueden estar separadas físicamente pero conectadas por medio

de una red, pero todo se percibe como un solo sistema y de hecho el saber que esta en

que máquina no es relevante. El programador puede acceder al software (objetos)

remotos de la misma forma en la que lo haría si estuvieran localmente en un grupo de

computadoras que usan un middleware entre los que destacan (RPC) y SOAP para

conseguir un objetivo.

SOAP (Simple Object Acces Protocol)

Fue creado por Microsoft, IBM y otros

Es uno de los protocolos utilizados en los servicios Web.

Es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden

comunicarse por medio de intercambio de datos XML.

Aplicaciones Distribuidas

Este tipo de aplicaciones se han extendido en diferentes áreas computacionales,

influyendo la

forma de acceder a los recursos vía WEB ya se hardware, software o datos.

Aplicaciones comerciales:

Se incluyen programas de reserva de aerolíneas, programas bancarios y

administración de grandes almacenes.

Aplicación de redes de área extensa.:

Intercambio de información a través de la red

Aplicaciones Distribuidas

Aplicaciones Multimedia

juegos multiusuarios, tele vigilancia, videoconferencias y enseñanzas asistidas por computadora

Áreas de la informática

bases de datos distribuidos, servidores de ficheros y lenguajes de programación distribuida. Enlazar

varias estaciones de trabajo para intercambiar software y datos útiles