jueves, 11 de febrero de 2016

Internet y Modelo Cliente-Servidor.

¿Qué es Internet?

Internet es una gran red internacional de ordenadores.(Es, mejor dicho, una red de redes, como veremos más adelante). Permite, como todas las redes, compartir recursos. Es decir: mediante el ordenador, establecer una comunicación inmediata con cualquier parte del mundo para obtener información.

 Origen: ARPANET.

Su origen comenzó con una red interestatal en los años 60, con el fin de que la defensa del país dependiera de la misma red y compartiera los recursos de ésta. Así nació ARPANet (Advanced Projects Agency Net, llamada también DARPANet, por Defensa), con tres requisitos fundamentales:

1.-  La red debía estar protegida en caso de que un desastre natural o una guerra, especialmente un ataque nuclear, afectase al país, de modo no debilitase a la totalidad de la red, aunque una parte estuviera dañada.

2.-  La red, al igual que no debía ser afectada por la eliminación de una parte, debía permitir la incorporación de nuevos elementos con facilidad.

-3.- Debía usar un lenguaje (códigos informáticos), un protocolo, que pudiera ser entendido por cualquier ordenador, independientemente del sistema empleado.

* ARPANet emplea ya el sistema de envío de Internet: por "paquetes", es decir: cada archivo es dividido en partes, y se le da a cada una el equivalente a una dirección y un sello. Cuando llegan a su destino (puede llegar por diferentes "medios de transporte") se unen y forman el archivo original. El protocolo que ya se usa (y que es el utilizado por Internet desde entonces) es el TCP/IP (Transmission Control Protocol / Internet Protocol). Es el protocolo necesario para que se dé la comunicación entre todos los ordenadores conectados a la red, sea cual sea su sistema operativo o sus características.
* A ARPANet se le unen, todavía en Estados Unidos, otras instituciones, como Universidades, centros gubernamentales, organizaciones privadas, etc. A principios de los 80 se unen otros países.
* En 1983 nace Internet, con un gran número de usuarios y un crecimiento vertiginoso. Al unirse otros países y otras organizaciones, el DNS (que luego veremos) debe modificarse. A los nombres anteriormente existentes, se le añaden los identificadores del país en cuestión.

 Red de redes.

* Internet no es una sola red. Como antes hemos dicho, se han unido diversas redes internacionales a un núcleo central, la original Arpanet. Internet es una red de redes. Cada universidad, empresa o particular se une a una red local (por ejemplo, la Universidad Complutense de Madrid, UCM), y ésta red local conecta con Internet.

Identificación de los usuarios.

* DNS: Domain Name System. Sistema de Nombres por Dominios. Cada usuario tiene un nombre, una dirección única e irrepetible en la red. Al igual que cada teléfono tiene un número y no hay dos iguales, Internet asigna un nombre a cada ordenador. Este nombre no es aleatorio: corresponde a unas determinadas siglas mas o menos relacionadas con la institución o red a la que está conectado.

* Los dominios al principio (en los orígenes de Arpanet) usaban 7 tipos de terminaciones, cada una de las cuales indica qué tipo de organismo es el conectado:
arpa
red de Arpanet.
mil
organizaciones militares.
gov
organizaciones gubernamentales.
net
empresas muy extendidas en la red.
edu
instituciones educativas.
com
empresas u organizaciones comerciales.
org
cualquier tipo de organización no gubernamental o no incluida en las anteriores categorías.


Hipertexto y World Wide Web.

Hipertexto: HiperText Transfer Protocol: protocolo de información en web.

World Wide Web: (www) permite acceder a toda la información y las herramientas del Internet de modo sencillo.


Modelo Cliente-Servidor.

¿Qué es el modelo Cliente Servidor?

Arquitectura distribuida que permite a los usuarios finales obtener acceso a la información en forma transparente aún en entornos multiplataforma.

En el modelo cliente servidor, el cliente envía un mensaje solicitando un determinado servicio a un servidor (hace una petición), y este envía uno o varios mensajes con la respuesta (provee el servicio). En un sistema distribuido cada máquina puede cumplir el rol de servidor para algunas tareas y el rol de cliente para otras. 

En otras palabras la arquitectura Cliente/Servidor es una extensión de programación modular en la que la base fundamental es separar una gran pieza de software en módulos con el fin de hacer más fácil el desarrollo y mejorar su mantenimiento.

Esta arquitectura permite distribuir físicamente los procesos y los datos en forma más eficiente lo que en computación distribuida afecta directamente el tráfico de la red, reduciéndolo grandemente. 

Cliente 

El cliente es el proceso que permite al usuario formular los requerimientos y pasarlos al servidor, se le conoce con el término front-end. 

El Cliente normalmente maneja todas las funciones relacionadas con la manipulación y despliegue de datos, por lo que están desarrollados sobre plataformas que permiten construir interfaces gráficas de usuario (GUI), además de acceder a los servicios distribuidos en cualquier parte de una red. Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes puntos:

• Administrar la interfaz de usuario.
• Interactuar con el usuario. 
• Procesar la lógica de la aplicación y hacer validaciones locales. 
• Generar requerimientos de bases de datos. 
• Recibir resultados del servidor. 
• Formatear resultados. 

Sevidor 

Es el proceso encargado de atender a múltiples clientes que hacen peticiones de algún recurso administrado por él. Al proceso servidor se le conoce con el término back-end.

El servidor normalmente maneja todas las funciones relacionadas con la mayoría de las reglas del negocio y los recursos de datos. Las funciones que lleva a cabo el proceso servidor se resumen en los siguientes puntos: 

• Aceptar los requerimientos de bases de datos que hacen los clientes.
• Procesar requerimientos de bases de datos. 
• Formatear datos para trasmitirlos a los clientes.
• Procesar la lógica de la aplicación y realizar validaciones a nivel de bases de datos. 

Características de la arquitectura Cliente/Servidor

Las características básicas de una arquitectura Cliente/Servidor son: 
• Combinación de un cliente que interactúa con el usuario, y un servidor que interactúa con los recursos compartidos. El proceso del cliente proporciona la interfaz entre el usuario y el resto del sistema. El proceso del servidor actúa como un motor de software que maneja recursos compartidos tales como bases de datos, impresoras, módems, etc. 
• Las tareas del cliente y del servidor tienen diferentes requerimientos en cuanto a recursos de cómputo como velocidad del procesador, memoria, velocidad y capacidades del disco y input-output devices. 5 
• Se establece una relación entre procesos distintos, los cuales pueden ser ejecutados en la misma máquina o en máquinas diferentes distribuidas a lo largo de la red. 
• Existe una clara distinción de funciones basada en el concepto de "servicio", que se establece entre clientes y servidores. 
• La relación establecida puede ser de muchos a uno, en la que un servidor puede dar servicio a muchos clientes, regulando su acceso a recursos compartidos.
• Los clientes corresponden a procesos activos en cuanto a que son éstos los que hacen peticiones de servicios a los servidores. Estos últimos tienen un carácter pasivo ya que esperan las peticiones de los clientes. 
• No existe otra relación entre clientes y servidores que no sea la que se establece a través del intercambio de mensajes entre ambos. El mensaje es el mecanismo para la petición y entrega de solicitudes de servicio. 
• El ambiente es heterogéneo. La plataforma de hardware y el sistema operativo del cliente y del servidor no son siempre la misma. Precisamente una de las principales ventajas de esta arquitectura es la posibilidad de conectar clientes y servidores independientemente de sus plataformas. 
• El concepto de escalabilidad tanto horizontal como vertical es aplicable a cualquier sistema Cliente/Servidor. La escalabilidad horizontal permite agregar más estaciones de trabajo activas sin afectar significativamente el rendimiento. La escalabilidad vertical permite mejorar las características del servidor o agregar múltiples servidores. 









No hay comentarios.:

Publicar un comentario