Professional Documents
Culture Documents
DISTRIBUIDOS
1. Introduccin:
1.1. Fundamentos:
Qu es un Sistema Distribuido?
A pesar del tiempo transcurrido, esta definicin sigue siendo, en esencia, vlida.
As, para Coulouris un sistema distribuido es aqul que est compuesto por varias
computadoras autnomas conectadas mediante una red de comunicaciones y
equipadas con programas que les permitan coordinar sus actividades y compartir
recursos. Bal ofrece una definicin muy similar: ``Un sistema de computacin
distribuida est compuesto por varios procesadores autnomos que no
comparten memoria principal, pero cooperan mediante el paso de mensajes sobre
una red de comunicaciones''. Y segn Schroeder, todo sistema distribuido tiene
tres caractersticas bsicas:
o Existencia de varias computadoras. En general, cada una con su propio
procesador, memoria local, subsistema de entrada/salida y quizs incluso
memoria persistente.
o Interconexin. Existen vas que permiten la comunicacin entre las
computadoras, a travs de las cuales pueden transmitir informacin.
o Estado compartido. Las computadoras cooperan para mantener algn tipo
de estado compartido. El funcionamiento correcto del sistema se describirse
como el mantenimiento de una serie de invariantes globales que requiere la
coordinacin de varias computadoras.
Una caracterstica muy importante es que las diferencias entre las computadoras y
las maneras en que estas se comunican no son transparentes para el usuario final,
esto mismo aplica para la organizacin interna del sistema distribuido. Otra
caracterstica importante es que los usuarios y las aplicaciones pueden interactuar
con un Sistema Distribuido de manera consistente y uniforme, sin importar donde
y cuando se lleve a cabo la interaccin.
Todo Sistema Distribuido bebe tambin ser relativamente fcil poder expandir, lo
cual se logra al tener computadoras independientes, pero al mismo tiempo
esconder las funciones de dichas computadoras en el sistema. Normalmente un
sistema distribuido debe de estar siempre disponible a pesar de que ciertas partes
que lo conforman puedan no estar funcionando. Los usuarios y las aplicaciones
no deben de notar en ningn momento que estas partes estn siendo
reemplazadas o reparadas, o que se han agregado nuevas partes al sistema para
poder dar servicio a ms usuarios o aplicaciones.
a) Heterogeneidad:
Un ejemplo de esto lo podemos ver muy claro en Internet, ya que es una red
que esta conformada por muchos tipos de redes (Figura 1) cuyas diferencias
se encuentran enmascaradas, puesto que todas las computadoras que se
conectan a este utilizan los protocolos de Internet para comunicarse una con
otra, as una computadora conectada a una red Ethernet puede comunicarse
con otra computadora conectada a una red TokenRing, basta con que se haga
una implementacin de los protocolos de Internet para cada una de esas
redes.
b) Extensibilidad y Apertura:
El alto valor de que tiene la informacin es la razn principal por la que esta se
puede ver amenazada de muchas formas, entre las principales podemos
encontrar:
Si bien no podemos asegurar que un sistema distribuido sea cien por ciento
seguro, es importante contar con un esquema de seguridad lo ms robusto
posible, que a pesar de no ser inmune a todo tipo de ataques, si ser capaz de
frenar la gran mayora de dichos ataques. Algunas recomendaciones muy
tiles para los desarrolladores, administradores e implementadotes de un
sistema distribuido se presentan a continuacin:
o Efectuar un anlisis de riesgos
d) Escalabilidad:
Tcnicas de Escalabilidad
e) Tratamiento de Fallos:
Recuperacin Frente a Fallos: Una vez que fue detectado un fallo y que se ha
decidido arreglarlo, hay que encontrar la mejor manera de hacerlo, y adems,
de recuperar el estado del sistema antes de que ocurriera el fallo; esto requiere
del software adecuado para poder reconstruir o bien retractar los cambios que
no fueron completados al momento en que fue interrumpido el sistema, un
ejemplo de esto lo podemos ver en los sistemas manejadores de bases de
datos, que se sirven de una bitcora de las transacciones que se realizan y de
acuerdo a esta bitcora se decide reconstruir o retractar las transacciones
hechas sobre la base de datos antes de que se interrumpiera el
funcionamiento de la misma.
f) Concurrencia:
g) Transparencia:
Tipos de Transparencia:
Con todo esto en mente es posible disear un sistema que cuente con las
caractersticas necesarias para lograr la transparencia en tantos aspectos como
sea posible. Los dos ms importantes son la transparencia de acceso y la
transparencia de ubicacin, la primera se relaciona con la forma en que
representamos los datos en un sistema distribuido, es importante presentar al
usuario o a los programadores el acceso indistinto a recursos locales o
remotos, sin que este se de cuenta de la ubicacin de los mismos, lo que al
mismo tiempo nos conduce a tener transparencia de ubicacin dentro del
sistema.
Como no se sabe donde estn localizados los recursos, tampoco se debe de
saber si estos se mueven a una nueva ubicacin, se este o no utilizando el
sistema, esto es lo que se conoce como transparencia de Migracin y
Recolocacin respectivamente.
Grado de Transparencia:
En general, los sistemas distribuidos exhiben algunas ventajas sobre los sistemas
centralizados que se describen enseguida.
a) Factores Estratgicos:
b) Costos de Equipo:
d) Costos de Desarrollo:
e) Interfaces de Usuarios:
h) Nuevas aplicaciones:
i) Crecimiento:
Por otro lado, los sistemas distribuidos tambin exhiben algunas ventajas
sobre sistemas aislados. Estas ventajas son:
d) Seguridad e Integridad:
e) Opciones:
Definiciones Bsicas
b) En trminos de arquitectura:
Con estos elementos podemos ya darnos una idea de lo que es el modelo cliente
servidor, sin embargo, es necesario analizar ms a fondo las caractersticas de la
arquitectura si queremos llegar a entender por completo el funcionamiento de la
misma.
Debemos sealar que para seleccionar el modelo de una arquitectura, hay que
partir del contexto tecnolgico y organizativo del momento y, que la arquitectura
Cliente/Servidor requiere una determinada especializacin de cada uno de los
diferentes componentes que la integran.
o Presentacin/Captacin de Informacin
o Procesos
o Almacenamiento de la Informacin
o Puestos de Trabajo
o Comunicaciones
o Servidores
Los Servidores o Back-End. Una mquina que suministra una serie de servicios
como Bases de Datos, Archivos, Comunicaciones,...). Los Servidores, segn la
especializacin y los requerimientos de los servicios que debe suministrar pueden
ser:
o Mainframes
o Minicomputadoras
o Especializados (dispositivos de red, imagen, etc.)
o A otro nivel, una de las decisiones que deben tomar las organizaciones es
la de si comprar o desarrollar los diferentes componentes.
Capas y niveles
o Una solucin de tres capas (presentacin, lgica del negocio, datos) que
residen en un solo ordenador (Presentacin+lgica+datos). Se dice que la
arquitectura de la solucin es de tres capas y un nivel.
o Una solucin de tres capas (presentacin, lgica del negocio, datos) que
residen en dos ordenadores (presentacin+lgica, lgica+datos). Se dice
que la arquitectura de la solucin es de tres capas y dos niveles.