Unter Transparenz (deutsch: Durchsichtigkeit, lateinisch: transparens durchscheinend) versteht man im Zusammenhang mit Informatik und Kommunikationssystemen einerseits, dass ein bestimmter Teil eines Systems zwar vorhanden und in Betrieb, aber ansonsten durchscheinend ist und daher vom Benutzer nicht als vorhanden wahrgenommen wird,[1] ähnlich dem Glas eines Fensters, welches meist als nicht vorhanden, „unsichtbar“, erscheint.[2]
Andererseits wird im Kontext von IT-Sicherheit und Datenschutz der Begriff Transparenz gegenteilig verwendet.[2] Ein transparentes System ist demnach eines im Sinne von Durchsichtigkeit, bei dem der Nutzer genau erfahren kann, welche Operation wie, von wem und wo (z. B. im Ausland) ausgeführt wird, ähnlich dem Inhalt eines transparenten Aquariums, das meist von allen Seiten und im Detail beobachtet werden kann.
Informatik und Kommunikationssysteme
In der Informatik spricht man z. B. von einem transparenten Proxyserver, wenn dieser nicht explizit vom Benutzer angegeben werden muss, sondern ohne sein Zutun und somit ohne erkennbar zu sein, seinen Diensten für den Benutzer nachkommt.
Bei Kommunikationssystemen liegt Transparenz beim Transport von Telefongesprächen durch die weltweiten Daten- und Telefonnetze vor. Für den Endkunden sind diese Kommunikationsnetzdienste weitgehend „durchscheinend“, da er im Regelfall nicht feststellen kann und es für ihn nicht wichtig ist, ob sein Gespräch über Satelliten, Unterseekabel, Richtfunk oder herkömmliche Telefonkabel geroutet wird.
Das Gegenteil von Transparenz bei Middleware ist die Context Awareness.
Man unterscheidet:
- Ortstransparenz (Positionstransparenz)
- Der Ort, an dem sich ein Dienst oder eine Ressource befindet ist dem Benutzer nicht bekannt. Der Zugriff erfolgt über einen bestimmten Namen, der allerdings keine Ortsinformationen enthält.
- Zugriffstransparenz
- Der Zugriff auf die Ressource erfolgt immer auf die gleiche Art und Weise, egal ob diese sich lokal oder entfernt im Netz befindet.
- Persistenztransparenz
- Der Benutzer braucht nicht zwischen persistenten und transienten Daten zu unterscheiden. Explizites Abspeichern bzw. Öffnen von Dateien entfällt somit.
- Nebenläufigkeitstransparenz
- Es ist mehreren Benutzern möglich, gleichzeitig auf die Dienste und Ressourcen zuzugreifen. Das System sorgt dafür, dass exklusive Zugriffe möglich sind, und Daten ggf. synchronisiert bzw. repliziert werden.
- Skalierungstransparenz
- Das System soll flexibel bei der Erweiterung oder dem Austausch von Komponenten sein. Systempflege oder Erweiterung soll ohne Ausfall möglich sein.
- Migrationstransparenz
- Das Verschieben von Objekten im Verteilten System soll für den Benutzer und die Anwendungen unbemerkt geschehen.
- Prozesstransparenz
- Programme können beliebig zwischen den Knoten des Verteilten Systems verschoben werden. Idealerweise sorgt das System selbst für die Verschiebung von Prozessen auf weniger ausgelastete Knoten. Der Name und Ausführungsstatus eines Programmes darf sich dabei nicht ändern.
- Leistungstransparenz
- Den Benutzern steht die volle Leistung des Gesamtsystems zur Verfügung. Das System sorgt selbst dafür, dass die Aufgaben auf die verschiedenen Knoten optimal verteilt werden.
- Replikationstransparenz
- Aus Performancegründen kann es mehrere Kopien derselben Ressource geben. Das System sorgt für die transparente Replikation der darin vorgenommenen Änderungen.
- Fragmentierungstransparenz
- Die Teilbestandteile einer Ressource können an verschiedenen Orten gespeichert sein.
- Fehler- und Ausfalltransparenz
- Beim Ausfall eines Systems oder einer Netzwerkverbindung sollte der Anwender weiterarbeiten können, wenn auch mit verminderter Leistung.
- Sprachtransparenz
- Die Kommunikation zwischen den Komponenten ist unabhängig von der jeweils verwendeten Programmiersprache.
- Parallelitätstransparenz
- Aktivitäten können parallel ablaufen, ohne sich zu stören.
IT-Sicherheit und Datenschutz
In der IT-Sicherheit- und im Zusammenhang mit Datenschutz, ist „transparent, was nachvollziehbar geschieht.“[2] Zum Beispiel bei Computer-Programmen zur Manipulation der Windows-Registry, den Tuning- und Tweaking-Tools, werden optionale Systemeingriffe durch den Benutzer mittels Begleit- und Erläuterungstexten transparent. Abläufe im Hintergrund des Windows-Betriebssystems werden erklärt und durch den Benutzer kontrollierbar, womit eine Erhöhung von Sicherheit und Datenschutz erreicht werden soll („Windows-10-Spionage“).[2]