Transparency (human–computer interaction)

Under transparency is understood in the context of computer and network technology, that a certain part of a system in place and operating, but otherwise " invisible" and therefore is not perceived by the user as a present.

Thus one speaks for example of a transparent proxy server if it does not have to be explicitly specified by the user, but without his intervention and thus to be without apparent performance of his duties. For example, is the transport of telephone calls by the global data and telephone networks for end users largely transparent because he can not find a rule and it is not important to him, whether his conversation via satellite, submarine cable, microwave or conventional telephone cable is routed.

The opposite of transparency in middleware is the awareness.

We distinguish:

  • Location transparency ( location transparency ): The place where there is a service or resource, the user is not known. Access is via a specific name, but does not contain location information.
  • Access Transparency: Access to the resource is always in the same way, regardless of whether this is local or removed from the network.
  • Persistenztransparenz: The user does not need to distinguish between persistent and transient data. Explicit thus saving or opening files deleted.
  • Nebenläufigkeitstransparenz: It is possible multiple users to simultaneously access the services and resources. The system ensures that exclusive access is not possible, and data may be synchronized or replicated.
  • Scaling transparency: The system should be flexible in the expansion or replacement of components. System maintenance or expansion should be possible without failure.
  • Migration Transparency: The process of moving objects in the distributed system is to happen unnoticed for the user and the applications.
  • Process transparency: programs can be moved between the nodes of the distributed system. Ideally, the system makes provision for the shift from processes to less congested nodes. The name and execution state of a program must not change it.
  • Performance Transparency: The users have the full power of the entire system is available. The system itself ensures that the tasks are optimally distributed on the different nodes.
  • Replication transparency: For performance reasons, there may be multiple copies of the same resource. The system provides for the transparent replication of changes to it.
  • Fragmentation transparency: The partial components of a resource can be stored in different places.
  • Error and failure transparency: In case of failure of a system or a network connection, the user should be able to continue to work, albeit with diminished capacity.
  • Language transparency: The communication between the components is independent of the programming language being used.