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 el cambio de todos los sistemas (o usuarios humanos) en el otro extremo de la interfaz. Confusamente, 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 caja blanca o sistema abierto ). El término transparente se usa ampliamente en el 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 (generalmente asociado con no ocultar nada). La gran mayoría de las veces, el término transparente se usa de manera engañosa para referirse a la invisibilidad real de un proceso informático, que también se describe con el término opaco , especialmente con respecto a las estructuras de datos. [ cita requerida ] Debido a esta definición engañosa y contraria a la intuición, la literatura informática moderna tiende a preferir el uso de "agnóstico" en lugar de "transparente".
El término se utiliza con especial frecuencia en relación con una capa de abstracción que es invisible tanto para su capa vecina superior como para la inferior.
También utilizado temporalmente más tarde, alrededor de 1969, en los manuales de programación de IBM y Honeywell, [ cita requerida ] el término se refería a una determinada técnica de programación informática . Un código de aplicación era transparente cuando no tenía detalles de bajo nivel (como la gestión específica de dispositivos) y contenía solo la lógica que resolvía un problema principal. Se lograba mediante encapsulación , es decir, colocando el código en módulos que ocultaban detalles internos, haciéndolos invisibles para la aplicación principal.
Por ejemplo, el sistema de archivos de red es transparente, ya que introduce el acceso a los archivos almacenados de forma remota en la red de una manera uniforme con el acceso local anterior a un sistema de archivos , por lo que el usuario podría incluso no notarlo mientras utiliza la jerarquía de carpetas. El protocolo de transferencia de archivos (FTP) inicial es considerablemente menos transparente, ya que requiere que cada usuario aprenda a 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 necesidad de conocimientos especiales; algunos sistemas de archivos cifran los archivos de forma transparente. Este enfoque no requiere ejecutar una utilidad de compresión o cifrado de forma manual.
En ingeniería de software , también se considera una buena práctica desarrollar o utilizar capas de abstracción para el acceso a bases de datos , de modo que la 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 (ver 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 .
Transparencia significa que cualquier forma de sistema distribuido debe ocultar su naturaleza distribuida a sus usuarios, apareciendo y funcionando como un sistema centralizado normal.
Existen 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 se pueden o se deben lograr estas propiedades 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 distantes del usuario. Si se espera una interacción en tiempo real con el sistema distribuido, esto puede ser muy notorio.
https://lightcast.io/open-skills/skills/KS441HX6SDYW15ZBFJNJ/transparency-human-computer-interaction