stringtranslate.com

Transparencia (interacción persona-computadora)

Cualquier cambio en un sistema informático , como una nueva característica o un nuevo componente, es transparente si el sistema después del cambio se adhiere a la interfaz externa anterior tanto como sea posible mientras cambia su comportamiento interno. El propósito es proteger del cambio a todos los sistemas (o usuarios humanos) en el otro extremo de la interfaz. De manera confusa, el término se refiere a la invisibilidad general del componente, no se refiere a la visibilidad de las partes internas del componente (como en la caja blanca o el sistema abierto ). El término transparente se usa ampliamente en marketing informático en sustitución del término invisible , ya que el término invisible tiene una mala connotación (generalmente visto como algo que el usuario no puede ver y sobre lo que no tiene control) mientras que el término transparente tiene una buena connotación. (normalmente asociado a no ocultar nada). La gran mayoría de las veces, el término transparente se utiliza de forma engañosa para referirse a la invisibilidad real de un proceso informático, que también se describe con el término opaco , especialmente en lo que respecta a las estructuras de datos. [ cita necesaria ] Debido a esta definición engañosa y contraintuitiva, la literatura informática moderna tiende a preferir el uso de "agnóstico" a "transparente".

El término se utiliza particularmente a menudo con respecto a una capa de abstracción que es invisible desde su capa vecina superior o inferior.

También se utilizó temporalmente más tarde, alrededor de 1969, en los manuales de programación de IBM y Honeywell [ cita necesaria ] el término se refería a una determinada técnica de programación informática . El código de una aplicación era transparente cuando no contenía detalles de bajo nivel (como la administración específica del dispositivo) y contenía solo la lógica que resuelve un problema principal. Se logró mediante la encapsulación : colocar el código en módulos que ocultaban detalles internos, haciéndolos invisibles para la aplicación principal.

Ejemplos

Por ejemplo, el Network File System es transparente, porque introduce el acceso a archivos almacenados remotamente en la red de manera uniforme con el acceso local previo a un sistema de archivos , por lo que el usuario podría incluso no notarlo mientras usa la jerarquía de carpetas. El antiguo Protocolo de transferencia de archivos (FTP) es considerablemente menos transparente porque requiere que cada usuario aprenda cómo acceder a los archivos a través de un cliente ftp .

De manera similar, algunos sistemas de archivos permiten la compresión y descompresión transparente de datos, lo que permite a los usuarios almacenar más archivos en un medio sin ningún conocimiento especial; Algunos sistemas de archivos cifran los archivos de forma transparente. Este enfoque no requiere ejecutar manualmente una utilidad de compresión o cifrado.

En ingeniería de software , también se considera una buena práctica desarrollar o utilizar capas de abstracción para el acceso a las bases de datos , de modo que una misma aplicación funcione con diferentes bases de datos; aquí, la capa de abstracción permite que otras partes del programa accedan a la base de datos de forma transparente (consulte Objeto de acceso a datos , por ejemplo).

En la programación orientada a objetos , la transparencia se facilita mediante el uso de interfaces que ocultan implementaciones reales realizadas con diferentes clases subyacentes .

Tipos de transparencia en el sistema distribuido.

Transparencia significa que cualquier forma de sistema distribuido debe ocultar su naturaleza distribuida a sus usuarios, apareciendo y funcionando como un sistema centralizado normal.

Hay muchos tipos de transparencia:

Las definiciones formales de la mayoría de estos conceptos se pueden encontrar en RM-ODP , el modelo de referencia de procesamiento distribuido abierto (ISO 10746).

El grado en que estas propiedades pueden o deben lograrse puede variar ampliamente. No todos los sistemas pueden o deben ocultar todo a sus usuarios. Por ejemplo, debido a la existencia de una velocidad de la luz fija y finita , siempre habrá más latencia al acceder a recursos alejados del usuario. Si se espera una interacción en tiempo real con el sistema distribuido, esto puede ser muy notable.

Referencias