Está en la página 1de 8

Introducción

Los últimos 20 años han sido testigos de avances masivos en las áreas de computación, el
hardware se ha ido abaratando cada vez más y a su vez se ha ido haciendo más potente a
tal punto que las computadoras de escritorio de hoy, tienen la potencia que tenían
mainframes de años anteriores. Además del hardware la segunda área de avances masivos
es la de las comunicaciones, avances tales como los sistemas de comunicación vía satélite
y sistemas de telefonía digital entre otros que hacen posible conectar económicamente y
eficientemente con otros sistemas informáticos separados físicamente, esto ha llevado al
concepto de modelo cliente/servidor donde el funcionamiento consiste en un número de
computadoras que están conectadas y que llevan a cabo diferentes funciones. El término
Cliente/Servidor fue usado por primera vez en 1980 para referirse a PC’s en red, desde ese
entonces hasta nuestros días la definición se ha extendido. El modelo cliente/servidor una
forma de equilibrar el proceso de una red hasta que se comparta la potencia de
procesamiento entre computadoras que llevan a cabo servicios, y aquellos que llevan a
cabo tareas tales como la visualización Interfaces Gráficas de Usuario que es más
adecuado para el punto final dentro de la red. Por ejemplo, permite que las computadoras
se ajusten a tareas especializadas tales como el procesamiento de bases de datos en
donde se utilizan hardware y software de propósito especial para proporcionar un
procesamiento rápido de la base de datos comparado con el hardware que se encuentra en
las mainframes que tienen que enfrentarse con una gran gama de aplicaciones. En el
presente trabajo escrito se expone acerca del modelo masivamente utilizado en la
actualidad como es el modelo cliente servidor, desde los conceptos básicos de: cliente,
servidor, protocolos entre otros. Hasta sus utilidades actuales en las diferentes ciencias.
Reseña histórica
El término se usó inicialmente para los llamados terminales tontos, dispositivos que no eran
capaces de ejecutar programas por sí mismos, pero podían conectarse e interactuar con
computadores remotos por medio de una red y dejar que éste realizase todas las
operaciones requeridas, mostrando luego los resultados al usuario. Se utilizaban sobre todo
porque su costo en esos momentos era muchomenor que el de un computador. Estos
terminales tontos eran clientes de un computador mainframe por medio del tiempo
compartido.
Evolución de la arquitectura cliente servidor
– La era de la computadora central
Desde sus inicios el modelo de administración de datos a través de computadoras se
basaba en el uso de terminales remotas, que se conectaban de manera directa a una
computadora central. Dicha computadora central se encargaba de prestar servicios
caracterizados por que cada servicio se prestaba solo a un grupo exclusivo de usuarios.
– La era de las computadoras dedicadas
Esta es la era en la que cada servicio empleaba su propia computadora que permitía que
los usuarios de ese servicio se conectaran directamente. Esto es consecuencia de la
aparición de computadoras pequeñas, de fácil uso, más baratas y más poderosas de las
convencionales.
– La era de la conexión libre
Hace más de 10 años que la computadoras escritorio aparecieron de manera masiva. Esto
permitió que parte apreciable de la carga de trabajo de cómputo tanto en el ámbito de
cálculo como en el ámbito de la presentación se lleven a cabo desde el escritorio del
usuario. En muchos de los casos el usuario obtiene la información que necesita de alguna
computadora de servicio. Estas computadoras de escritorio se conectan a las computadoras
de servicio empleando software que permite la emulación de algún tipo de terminal. En
otros de los casos se les transfiere la información haciendo uso de recursos magnéticos o
por trascripción.
– La era del cómputo a través de redes
Esta es la era que está basada en el concepto de redes de computadoras, en la que
la información reside en una o varias computadoras, los usuarios de esta información
hacen uso de computadoras para laborar y todas ellas se encuentran conectadas entre sí.
Esto brinda la posibilidad de que todos los usuarios puedan acceder a la información de
todas las computadoras y a la vez que los diversos sistemas intercambien información.
– La era de la arquitectura cliente servidor
En esta arquitectura la computadora de cada uno de los usuarios, llamada cliente, produce
una demanda de información a cualquiera de las computadoras que proporcionan
información, conocidas como “servidores”estos últimos responden a la demanda del cliente
que la produjo. Los clientes y los servidores pueden estar conectados a una red local o una
red amplia, como la que se puede implementar en una empresa o a una red mundial como
lo es la Internet. Bajo este modelo cada usuario tiene la libertad de obtener la información
que requiera en un momento dado proveniente de una o varias fuentes locales o distantes
y de procesarla como según le convenga. Los distintos servidores también pueden
intercambiar información dentro de esta arquitectura.
Conceptos:
Cliente
El cliente es una aplicación informática o uncomputador que consume un servicioremoto en
otro computador, conocido comoservidor, normalmente a través de unaredde
telecomunicaciones. Actualmente se suele utilizar para referirse aprogramas que requieren
específicamenteuna conexión a otro programa, al que sedenominaservidory que suele estar
en otramáquina. Ya no se utilizan por criterios decosto como en un principio, sino para
obtener datos externos (por ejemplo páginas web, información bursátil o bases de datos),
interactuarcon otros usuarios a través de un gestor central compartirinformación con otros
usuarios (servidores de archivos y otras aplicaciones Groupware) o utilizar recursos de los
queno se dispone en la máquina local (por ejemplo impresión)Uno de los clientes más
utilizados, sobre todo por su versatilidad, es el navegador web. Muchos servidores
soncapaces de ofrecer sus servicios a través de un navegador web en lugar de requerir la
instalación de un programaespecífico.
Se puede resumir que un cliente es una computadora que solicita los servicios
que proporciona uno o más servidores y que también lleva a cabo algún tipo de
procesamiento por sí mismo.
Servidor
En informática, un servidor forma parte de una red, provee servicios a otros nodos
denominados clientes. También se suele denominar con la palabra servidor a:
 Una aplicación informática o programa que realiza algunas tareas en beneficio de otras
aplicaciones llamadas clientes.
 Algunos servicios habituales son los servicios de archivos, que permiten a los usuarios
almacenar y acceder a los archivos de una computadora y los servicios de aplicaciones, que
realizan tareas en beneficio directo del usuario final. Este es el significado original del
término. Es posible que un ordenador cumpla simultáneamente las funciones de cliente y
de servidor.
 Una computadora en la que se ejecuta un programa que realiza alguna tarea en beneficio
de otras aplicaciones llamadas clientes, tanto si se trata de un ordenador central
(mainframe), un miniordenador, una computadora personal, una PDA o un sistema
embebido; sin embargo, hay computadoras destinadas únicamente a proveer los servicios
de estos programas: estos son los servidores por antonomasia.
 Un servidor no es necesariamente una máquina de última generación de grandes
proporciones, no es necesariamente un superordenador; un servidor puede ser desde una
computadora vieja, hasta una máquina sumamente potente (ej.: servidores web, bases de
datos grandes, etc. Procesadores especiales y hasta varios terabytes de memoria). Todo
esto depende del uso que se le dé al servidor. Si usted lo desea, puede convertir al equipo
desde el cual usted está leyendo esto en un servidor instalando un programa que trabaje
por la red y a la que los usuarios de su red ingresen a través de un programa de servidor
web como Apache.
El modelo Cliente-servidor no necesariamente implica tener dos ordenadores, ya que un
proceso cliente puede solicitar algo como una impresión a un proceso servidor en un
mismo ordenador. Por lo tanto podemos concluir que un servidor es una computadora que
lleva a cabo un servicio que normalmente requiere mucha potencia de procesamiento.
Sistemas Distribuidos
Un sistema distribuido es aquel en el que dos o más máquinas colaboran para la obtención
de un resultado. En todo sistema distribuido se establecen una o varias comunicaciones
siguiendo un protocolo prefijado mediante un esquema cliente-servidor. Un sistema
distribuido se define como una colección de computadoras separadas físicamente y
conectadas entre sí por una red de comunicaciones distribuida; cada máquina posee sus
componentes de hardware y software que el usuario percibe como un solo sistema. El
usuario accede a los recursos remotos de la misma manera en que accede a recursos
locales, o un grupo de computadoras que usan un software para conseguir un objetivo en
común.
La arquitectura cliente/servidor
Es un patrón arquitectónico para el desarrollo de sistemas distribuidos. ƒ Los clientes o
programas que representan entidades que necesitan servicios y los servidores o programas
que proporcionan servicios son objetos separados desde un punto de vista lógico y que se
comunican a través de una red de comunicaciones para realizar una o varias tareas de
forma conjunta. ƒ Un cliente hace una petición de un servicio y recibe la respuesta a dicha
petición; un servidor recibe y procesa la petición, y devuelve la respuesta solicitada. Los
servicios pueden ser:
Ejecución de un determinado programa.
Acceso a un determinado banco de información(base de datos). Acceso a un dispositivo de
hardware.
Características de la arquitectura cliente/servidor
ƒ Protocolos asimétricos: hay una relación muchos a uno entre los clientes y un servidor.
Los Clientes siempre inician un diálogo mediante la solicitud de un servicio. Los Servidores
esperan pasivamente por las solicitudes de los clientes.
ƒEncapsulación de servicios: El servidor es un especialista, cuando se le entrega un
mensaje solicitando un servicio, él determina cómo conseguir hacer el trabajo. Los
servidores se pueden actualizar sin afectar a los clientes en tanto que la interfaz pública de
mensajes que se utilice por ambos lados, permanezca sin cambiar.
ƒIntegridad: el código y los datos de un servidor se mantienen centralizados, lo que origina
que el mantenimiento sea más barato y la protección de la integridad de datos
compartidos. Al mismo tiempo, los clientes mantienen su independencia y “personalidad”.
Transparencia de localización: el servidor es un proceso que puede residir en la misma
máquina que el cliente o enotra máquina diferente de la red. El software cliente/servidor
(middleware) habitualmente oculta la localización de un servidor a los clientes mediante la
redirección de servicios. Un programa puede actuar tanto como cliente, como servidor o
como cliente y servidor simultáneamente
ƒIntercambios basados en mensajes: Los clientes y servidores son procesos débilmente
acoplados que pueden intercambiar solicitudes de servicios y respuestas utilizando
mensajes ƒModularidad, diseño extensible: el diseño modular de una aplicación
cliente/servidor permite que la aplicación sea tolerante a fallos.
• En sistemas tolerantes a fallos, los fallos pueden ocurrir sin causar la caída de la
aplicación completa
• En una aplicación cliente/servidor tolerante a fallos, uno o más servidores pueden fallar
sin parar el sistema total mientras que los servicios proporcionados por los servidores
caídos estén disponibles en otros servidores activos
• Otra ventaja de la modularidad es que una aplicación cliente/servidor puede responder
automáticamente al incremento o decremento de la carga del sistema mediante la
incorporación o eliminación de uno o más servicios o servidores Independencia de la
plataforma: el software cliente/servidor “ideal” es independiente del hardware o sistemas
operativos, permitiendo al programador mezclar plataformas de clientes y servidores • El
entorno de explotación de clientes y servidores puede ser sobre diferentes plataformas,
con el fin de optimizar el tipo de trabajo que cada uno desempeña Código reutilizable: La
implementación de un servicio puede utilizarse en varios servidores Escalabilidad: Los
sistemas cliente/servidor pueden ser escalados horizontal o verticalmente
• El escalado horizontal significa añadir o eliminar estaciones clientes con un ligero impacto
en el rendimiento
• El escalado vertical significa la migración a una máquina servidora más grande y rápida o
la incorporación de nuevas máquinas servidoras
ƒSeparación de la funcionalidad del cliente/servidor: El modelo cliente/servidor es una
relación entre procesos que se ejecutan en la misma o en máquinas separadas. Un proceso
servidor es un proveedor de servicios. Un cliente es un consumidor de servicios. El modelo
cliente servidor proporciona una clara separación de funciones.
ƒRecursos compartidos: un servidor puede proporcionar servicios a muchos clientes al
mismo tiempo, y regular el acceso de éstos a un conjunto de recursos compartidos.
Tipos de Servidores
Servidores de archivos: Proporciona archivos para clientes. Si los archivos no fueran tan
grandes y los usuarios que comparten esos archivos no fueran muchos, esto sería una gran
opción de almacenamiento y procesamiento de archivos. El cliente solicita los archivos y el
servidor los ubica y se los envía.
Servidores de Base de Datos: Son los que almacenan gran cantidad de datos
estructurados, se diferencian de los de archivos pues la información que se envía está ya
resumida en la base de datos. Ejemplo: El Cliente hace una consulta, el servidor recibe esa
consulta (SQL) y extrae solo la información pertinente y envía esa respuesta al cliente.
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 impresión Gestionan las solicitudes de impresión de los clientes. El cliente
envía la solicitud de impresión, el servidor recibe la solicitud y la ubica en la cola de
impresión, ordena a la impresora que lleve a cabo las operaciones y luego avisa a la
computadora cliente que ya acabo su respectiva impresión. Servidores de aplicación Se
dedica a una única aplicación. Es básicamente una aplicación a la que pueden acceder los
clientes.

Tipos de Clientes
Cliente liviano Un cliente liviano no tiene capacidad de procesamiento y su única función es
recoger los datos del usuario, dárselos al servidor, y mostrar su respuesta. Los primeros
navegadores web eran clientes livianos, simplemente mostraban las páginas web que
solicitaba el usuario. Actualmente, el uso de lenguajes de script, programas Java y otras
funciones de DHTML dan una capacidad de procesamiento a los navegadores, por lo que
se consideran clientes Híbridos. Cliente pesado Un cliente pesado suele tener una mayor
capacidad de procesamiento y es posible que tenga una interfaz gráfica sofisticada. Sin
embargo, esto conlleva un desarrollo adicional y suele ser una mezcla de la lógica de
presentación (interfaz gráfica) con la lógica de la aplicación (potencia de procesamiento).
Cliente híbrido
Un cliente híbrido no tiene almacenados los datos con los que trabaja, pero sí es capaz de
procesar datos que le envía el servidor. Muchos programas de colaboración almacenan
remotamente los datos para que todos los usuarios trabajen con la misma información, y
utilizan clientes híbridos para acceder a esa información.
Arquitecturas Cliente / Servidor
– 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. 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. 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.
Clasificación de la arquitectura cliente-servidor
Representación distribuida. La interacción con el usuario se realiza básicamente en el
servidor. El cliente hace de pasarela, de sistema de acceso a los elementos hardware
pantalla y teclado. Representación remota. Los datos se envían sin formatear, y es el
cliente el responsable de formatear los datos y realizar las acciones de interacción con el
usuario. En este caso, la aplicación y la base de datos se encuentran en el servidor. Lógica
distribuida. En el cliente se llevan a cabo la interacción con el usuario y la parte más trivial
de la lógica de la aplicación. En este caso, se llevan a cabo controles básicos de rango de
campos, campos obligatorios, etc., mientras que el grueso de la lógica permanece en el
servidor. Gestión remota de datos. Tanto la interacción con el usuario como la aplicación
residen en el cliente, siendo el servidor el depositario de los datos. B.D. Distribuidas. El
cliente debe conocer la topología de la red, así como la disposición y ubicación de los
datos. En este caso, se delega parte de la gestión de base de datos a los clientes.
Ventajas del esquema Cliente/Servidor
Entre las principales ventajas del esquema Cliente/Servidor están:
• Uno de los aspectos que más ha promovido el uso de sistemas Cliente/Servidor, es la
existencia de plataformas de hardware cada vez más baratas. Esta constituye a su vez una
de las más palpables ventajas de este esquema, la posibilidad de utilizar máquinas
considerablemente más baratas que las requeridas por una solución centralizada, basada
en sistemas grandes. Además, se pueden utilizar componentes, tanto de hardware como
de software, de varios fabricantes, lo cual contribuye considerablemente a la reducción de
costos y favorece la flexibilidad en la implantación y actualización de soluciones.
• El esquema Cliente/Servidor facilita la integración entre sistemas diferentes y comparte
información permitiendo, por ejemplo que las máquinas ya existentes puedan ser utilizadas
pero utilizando interfaces más amigables al usuario. De esta manera, podemos integrar PCs
con sistemas medianos y grandes, sin necesidad de que todos tengan que utilizar el mismo
sistema operacional.
• Al favorecer el uso de interfaces gráficas interactivas, los sistemas construidos bajo este
esquema tienen mayor interacción y es más intuitiva para con el usuario. En el uso de
interfaces gráficas para el usuario, el esquema Cliente/Servidor presenta la ventaja, con
respecto a uno centralizado, de que no es siempre necesario transmitir información gráfica
por la red pues esta puede residir en el cliente, lo cual permite aprovechar mejor el ancho
de banda de la red. • Una ventaja adicional del uso del esquema Cliente/Servidor es que es
más rápido el mantenimiento y el desarrollo de aplicaciones, pues se pueden emplear las 7
herramientas existentes (por ejemplo los servidores de SQL o las herramientas de más bajo
nivel como los sockets o el RPC ). • La estructura inherentemente modular facilita además
la integración de nuevas tecnologías y el crecimiento de la infraestructura computacional,
favoreciendo así la escalabilidad de las soluciones.
• El esquema Cliente/Servidor contribuye además, a proporcionar, a los diferentes
departamentos de una organización, soluciones locales, pero permitiendo la integración de
la información relevante a nivel global.
Desventajas del esquema Cliente/Servidor
Entre las principales desventajas del esquema Cliente/Servidor están:
• El mantenimiento de los sistemas es más difícil pues implica la interacción de diferentes
partes de hardware y de software, distribuidas por distintos proveedores, lo cual dificulta el
diagnóstico de fallas.
• Se cuenta con muy escasas herramientaspara la administración y ajuste del desempeño
de los sistemas.
• Es importante que los clientes y los servidores utilicen el mismo mecanismo (por ejemplo
sockets o RPC), lo cual implica que se deben tener mecanismos generales que existan en
diferentes plataformas. • Además, hay que tener estrategias para el manejo de errores y
para mantener la consistencia de los datos. • La seguridad de un esquema Cliente/Servidor
es otra preocupación importante. Por ejemplo, se deben hacer verificacionesen el cliente y
en el servidor.
• El desempeño es otro de los aspectos que se deben tener en cuenta en el esquema
Cliente/Servidor. Problemas de este estilo pueden presentarse por congestión en la red,
dificultad de tráfico de datos, etc.
Protocolo: Es un conjunto bien conocido de reglas y formatos que se utilizan para la
comunicación entre procesos que realizan una determinada tarea.
Se requieren dos partes:
 Especificación de la secuencia de mensajes que se han de intercambiar.
 Especificación del formato de los datos en los mensajes. Un protocolo permite que
componentes heterogéneos de sistemas distribuidos puedan desarrollarse
independientemente, y por medio de módulos de software que componen el protocolo,
haya una comunicación transparente entre ambos componentes. Es conveniente mencionar
que estos componentes del protocolo deben estar tanto en el receptor como en el emisor.
Ejemplos de protocolos usados en los sistemas distribuidos:
 IP: Protocolo de Internet.- Protocolo de la capa de Red, que permite definir la unidad
básica de transferencia de datos y se encarga del direccionamiento de la información, para
que llegue a su destino en la red.
 TCP: Protocolo de Control de Transmisión.- Protocolo de la capa de Transporte, que
permite dividir y ordenar la información a transportar en paquetes de menor tamaño para
su transporte y recepción.
 HTTP: Protocolo de Transferencia de Hipertexto.- Protocolo de la capa de aplicación, que
permite el servicio de transferencia de páginas de hipertexto entre el cliente WEB y los
servidores
 SMTP: Protocolo de Transferencia de Correo Simple.- Protocolo de la capa de aplicación,
que permite el envío de correo electrónico por la red.
 POP3: Protocolo de Oficina de Correo.- Protocolo de la capa de aplicación, que permite la
gestión de correos en Internet, es decir, le permite a una estación de trabajo recuperar los
correos que están almacenados en el servidor.
MIDDLEWARE(Software Intermedio)
Definición: Capa de software intermedio entre el cliente y el servidor. Es la capa de
software que nos permiten gestionar los mecanismos de comunicaciones. Ejemplo si se
hace la petición de una página web desde un browser en el cliente, el middleware
determina la ubicación y envía una petición para dicha página. El servidor Web, interpreta
la petición y envía la página al software intermedio, quien la dirige al navegador de la
máquina cliente que la solicitó.
Existen dos tipos:
 Software intermedio general. Servicios generales que requieren todos los clientes y
servidores, por ejemplo: software para las comunicaciones usando el TCP/IP, software
parte del sistema operativo que, por ejemplo, almacena los archivos distribuidos, software
de autenticación, el software intermedio de mensajes de clientes a servidores y viceversa. 
Software intermedio de servicios. Software asociado a un servicio en particular, por
ejemplo: software que permite a dos BD conectarse a una red cliente/servidor (ODBC:
Conectividad abierta de BD), software de objetos distribuidos, por ejemplo la tecnología
CORBA permite que objetos distribuidos creados en distintos lenguajes coexistan en una
misma red (intercambien mensajes), software intermedio para software de grupo, software
intermedio asociado a productos de seguridad específicas (Conexiones Seguras: Sockets),
etc.
Características:
 Independiza el servicio de su implantación, del sistema operativo y de los protocolos de
comunicaciones.
 Permite la convivencia de distintos servicios en un mismo sistema.
 Permite la transparencia en el sistema.
 Modelo tradicional: Monitor de teleproceso o CICS, Tuxedo, Encina.
 Modelo OO: CORBA.
Conclusión
Con la exposición de este trabajo se concluye que el modelo cliente servidor es un modelo
actualmente utilizado en sistemas informáticos especialmente en los sistemas basados en
la web y en sistemas funcionales en redes locales. Esto se surgió debido a la existencia de
plataformas de hardware cada vez más baratas y eficientes, como también los avances en
rendimiento de las telecomunicaciones. Hoy se sigue utilizando porque facilita la
integración entre sistemas diferentes y permite compartir y centralizar información entre
máquinas existentes, lo que se denomina como escalabilidad. La escalabilidad permite
aumentar la cantidad o capacidad de clientes y también la cantidad o capacidad de los
servidores por separado por lo tanto se puede decir que un sistema informático
funcionando con el modelo / servidor puede crecer horizontal o verticalmente sin grandes
dificultades. Las tecnologías actuales, se encuentran suficientemente desarrolladas y
diseñadas para seguir el modelo cliente / servidor y aseguran la seguridad en las
transacciones, la amigabilidad de interfaces y por sobre todo la facilidad de empleo de ésta
modelo. La red más grande existente en tecnología y aún en continuo crecimiento es
internet y la mayoría de los servicios de Internet son del tipo de cliente-servidor. La acción
de visitar un sitio web requiere una arquitectura C/S y las acciones realizadas en una
página web requieren de un modelo C/S. Lo que demuestra que el correcto uso
aprovechando sus ventajas y llevando en cuenta sus desventajas puede conseguir óptimos
resultados con posibilidad de crecimiento en el caso de que se necesite.
BIBLIOGRAFIA
Libros:
 Roger S. Presman. Ingeniería de Software. Quinta Edición. McGraw-Hill Interamericana.
Madrid. 2002.
 George Coulouris. Sistemas Distribuidos. Tercera Edición. Addison Wesley. Madrid. 2001.

También podría gustarte