viernes, 10 de julio de 2009

MENSAJERIA INSTANTANEA


La mensajería instantánea (conocida también en inglés como IM) es una forma de comunicación en tiempo real entre dos o más personas basada en texto. El texto es enviado a través de dispositivos conectados a una red como Internet.

Una primera forma de mensajería instantánea fue la implementación en el sistema PLATO usado al principio de la década de 1970. Más tarde, el sistema talk implementado en UNIX/LINUX comenzó a ser ampliamente usado por ingenieros y académicos en las décadas de 1980 y 1990 para comunicarse a través de internet. ICQ fue el primer sistema de mensajería instantánea para ordenadores con sistema operativo distinto de UNIX/LINUX en noviembre de 1996. A partir de su aparición, un gran número de variaciones de mensajería instantánea han surgido y han sido desarrollados en paralelo en otras partes, cada aplicación teniendo su propio protocolo. Esto ha llevado a los usuarios a tener que usar un cliente para cada servicio simultáneamente para estar conectado a cada red de mensajería. Alternativamente, han surgido programas multicliente que soportan varios protocolos como Pidgin o Trillian.

Recientemente, algunos servicios de mensajería han comenzado a ofrecer telefonía IP (VoIP), videoconferencia, que permiten integrar capacidades de transmitir audio y vídeo junto con las palabras.

La mensajería instantánea se utiliza, generalmente de persona a persona, pero se puede utilizar, mediante robot de software para que se pueden utilizar de persona a equipo, en este caso, se trata de Servicios sobre mensajería instantánea un tipo de aplicación que cada vez es más utilizado, por sus rapidez de respuesta y versatilidad de servicios.


Arquitectura 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).

Ventajas de la arquitectura cliente/servidor

El modelo cliente/servidor se recomienda, en particular, para redes que requieran un alto grado de fiabilidad. Las principales ventajas son:

  • 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 del modelo cliente/servidor

La arquitectura cliente/servidor también tiene las siguientes desventajas:

  • 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

Un sistema cliente/servidor funciona tal como se detalla en el siguiente diagrama:

cliente/servidor

  • El cliente envía una solicitud al servidor mediante su dirección IP y el puerto, que está reservado para un servicio en particular que se ejecuta en el servidor.
  • El servidor recibe la solicitud y responde con la dirección IP del equipo cliente y su puerto.

Introducción a la arquitectura en 2 niveles

La arquitectura en 2 niveles se utiliza para describir los sistemas cliente/servidor en donde el cliente solicita recursos y el servidor responde directamente a la solicitud, con sus propios recursos. Esto significa que el servidor no requiere otra aplicación para proporcionar parte del servicio.


Introducción a la arquitectura en 3 niveles

En la arquitectura en 3 niveles, existe un nivel intermediario. Esto significa que la arquitectura generalmente está compartida por:

  1. Un cliente, es decir, el equipo que solicita los recursos, equipado con una interfaz de usuario (generalmente un navegador Web) para la presentación
  2. El servidor de aplicaciones (también denominado software intermedio), cuya tarea es proporcionar los recursos solicitados, pero que requiere de otro servidor para hacerlo
  3. El servidor de datos, que proporciona al servidor de aplicaciones los datos que requiere

Arquitectura en 2 niveles

Comparación entre ambos tipos de arquitecturas

La arquitectura en 2 niveles es, por lo tanto, una arquitectura cliente/servidor en la que el servidor es polivalente, es decir, puede responder directamente a todas las solicitudes de recursos del cliente.

Sin embargo, en la arquitectura en 3 niveles, las aplicaciones al nivel del servidor son descentralizadas de uno a otro, es decir, cada servidor se especializa en una determinada tarea, (por ejemplo: servidor web/servidor de bases de datos). La arquitectura en 3 niveles permite:

  • Un mayor grado de flexibilidad
  • Mayor seguridad, ya que la seguridad se puede definir independientemente para cada servicio y en cada nivel
  • Mejor rendimiento, ya que las tareas se comparten entre servidores

Arquitectura de niveles múltiples

En la arquitectura en 3 niveles, cada servidor (nivel 2 y 3) realiza una tarea especializada (un servicio). Por lo tanto, un servidor puede utilizar los servicios de otros servidores para proporcionar su propio servicio. Por consiguiente, la arquitectura en 3 niveles es potencialmente una arquitectura en N-niveles

Arquitectura de niveles múltiples