Humor Tees - Shopping, HUMOR - Job Humor, Humor Joke | ||
Stoneworkiworld.comStonework | ||
Arc welding, welding equipment, flux cored, welding expo, plasma cutting | ||
|
|
|
The factual accuracy of this article is disputed. |
For other uses of "Transparency", see Transparency (disambiguation).
Any change in a computing system, such as new feature or new component, is transparent if the system after change adheres to previous external interface as much as possible while changing its internal behaviour. The purpose is to shield from change all systems (or human users) on the other end of the interface. Confusingly, the term refers to overall invisibility of the component, it does not refer to visibility of component\'s internals (as in white box or open system).
The term is used particularly often with regard to an abstraction layer that is invisible either from its upper or lower neighbouring layer.
Also temporarily used later around 1969 in IBM and Honeywell programming mannuals[citation needed] the term referred to a certain programming technique. An application code was transparent when it was clear of the low-level detail (such as device-specific management) and contained only the logic solving a main problem. It was achieved through encapsulation - putting the code into modules that hid internal details, making them invisible for the main application.
For example, the Network File System is transparent, because it introduces the access to files stored remotely on the network in a way uniform with previous local access to a file system, so user might even not notice it while using the folder hierarchy. Earlier File Transfer Protocol (FTP) is considerably less transparent, because it requires each user to learn how to access files through ftp client.
Similarly, some file systems allow transparent compression and decompression of data, enabling users to store more files on a medium without any special knowledge; some file systems encrypt files transparently. This approach does not require running compression or encryption utility manually.
In software engineering, it is also considered good practice to develop or use abstraction layers for database access, so that the same application will work with different databases; here, the abstraction layer allows other parts of the program to access the database transparently.
In object-oriented programming, transparency is facilitated through the use of interfaces that hide actual implementations done with different underlying classes.
Transparency means that any form of distributed system should hide its distributed nature from its users, appearing and functioning as a normal centralized system.
There are many types of transparency:
Formal definitions of most of these concepts can be found in RM-ODP, the Open Distributed Processing Reference Model (ISO 10746).
The degree to which these properties can or should be achieved may vary widely. Not every system can or should hide everything from its users. For instance, due to the existence of a fixed and finite speed of light there will always be more latency on accessing resources distant from the user. If one expects real-time interaction with the distributed system, this may be very noticeable.
This article is licensed under the GNU Free Documentation License. It uses material from Wikipedia