2. DEFINICIÓN:
La transparencia se define como:
La ocultación al usuario y al programador de aplicaciones de la separación de
los componentes de un sistema distribuido, de manera que el sistema se percibe
como un todo, en vez de una colección de componentes independientes.
La transparencia ejerce una gran influencia en el diseño del software de
sistema.
El manual de referencia RM-ODP [ISO 1996a] identifica nueve formas de
transparencia. Estas proveen un resumen útil de la motivación y metas de los
sistemas distribuidos.
3. Un sistema distribuido es aquel que ofrece servicios implementados sobre
una red de computadoras como si se tratara de un único sistema. Esto se
logra a través de transparencias de distribución y son:
1. Transparencia de localización.
2. Transparencia de escalabilidad.
3. Transparencia de replicación.
4. Transparencia de concurrencia.
5. Transparencia de paralelismo.
6. Transparencia de acceso.
7. Transparencia de fallas.
8. Transparencia de migración.
9. Transparencia de persistencia.
10. Transparencia de reubicación
11. Transparencia de prestaciones
12. Transparencia de escalado
4. TRANSPARENCIA DE LOCALIZACIÓN:
Permite que los recursos puedan ser accesados sin el conocimiento
de su localización física o de la red (por ejemplo: dirección IP,
http://Isub.org/cursos).
TRANSPARENCIA DE ESCALABILIDAD:
Permite que el sistema y las aplicaciones crezcan, sin cambio en la
estructura del sistema o los algoritmos de la aplicación.
5. TRANSPARENCIA DE REPLICACIÓN:
Habilita varias instancias de recursos que se utilizaran para
aumentar la fiabilidad y rendimiento sin el conocimiento de las
replicas de los usuarios o programadores de aplicación. Por
ejemplo: El usuario no se da cuenta que cada vez que actualiza
una tabla de una B.D. se actualiza N replicas.
TRANSPARENCIA DE CONCURRENCIA:
Permite que varios procesos puedan operar al mismo tiempo
utilizando recursos compartidos sin interferencia entre ellos. Por
ejemplo: El usuario no tiene que reintentar una operación si la base
de datos esta siendo usada por otro componente en ese mismo
instante.
6. TRANSPARENCIA DE PARALELISMO
Permite que 2 o mas servidores trabajen en forma cooperativa
para un servicio sin que el usuario lo pueda observar.
Ejemplo
Las últimas versiones de NFS
7. TRANSPARENCIA DE ACCESO
Permite el acceso a los objetos de información remotos
de la misma forma que a los objetos de información
locales.
Ejemplos:
Establecer un orden canónico para los bytes (Big Endian
/ Litte Endian).
Acceder una interfaz homogénea para los datos, sin
depender de que estos procedan de sistemas de
ficheros, BB.DD., sensores, etc.
8. TRANSPARENCIA DE FALLAS
Permite a los usuarios y programas de aplicación completar
sus tareas a pesar de la ocurrencia de fallos en el hardware o
en el software.
Aislamiento de fallos, de forma que las aplicaciones puedan
completar sus tareas.
Ejemplo:
Reemplazar automáticamente un servidor de ficheros que ha
fallado por una réplica sin que la operación sobre el fichero
falle
arreglos de discos RAID, Google File System.
9. TRANSPARENCIA DE MIGRACIÓN
Permite el movimiento de objetos de información dentro
de un sistema sin afectar a los usuarios o a los
programas de aplicación.
Ejemplo:
El componente que sirve un sistema de ficheros cambia
mientras que tenemos montado el volumen.
10. TRANSPARENCIA DE PERSISTENCIA
Esconde si un recurso de software está en disco o en
memoria
Ejemplo:
Servidores cache, proxy; conexiones persistentes a bases
de datos.
11. TRANSPARENCIA DE REUBICACIÓN
Un caso aún más fuerte de migración. Los recursos son
movidos de una ubicación a otra mientras están en uso
y sin que el usuario note nada.
Ejemplo:
Cambiar la máquina que autentica a los usuarios en el
laboratorio.
12. TRANSPARENCIA DE PRESTACIONES
Permite que el sistema sea reconfigurado para mejorar
las prestaciones mientras la carga varia. (HW)
TRANSPARENCIA DE ESCALADO
Permite la expansión del sistema y de las aplicaciones
sin cambiar la estructura del sistema o los algoritmos de
la aplicación. (SW)