Extensible Markup Language (XML)

Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The W3C‘s XML 1.0 Specification[2] and several other related specifications[3]—all of them free open standards—define XML.”[4] Fair Use Source: https://en.wikipedia.org/wiki/XML

XML was used to produce a human readable text-based encoding. Such an encoding can be useful for persistent objects that may be read and understood by humans, or communicated to other systems regardless of programming language. It has the disadvantage of losing the more compact, byte-stream-based encoding, but by this point larger storage and transmission capacities made file size less of a concern than in the early days of computing. Binary XML had been proposed as a compromise which was not readable by plain-text editors, but was more compact than regular XML. In the 2000s, XML was often used for asynchronous transfer of structured data between client and server in Ajax web applications.” Fair Use Source: https://en.wikipedia.org/wiki/Serialization

See also JavaScript, Markup Language, YAML, XML, Automation, Infrastructure as Code (IaC)

Data serialization

“In computer science, in the context of data storage, serialization (or serialisation) is the process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer) or transmitted (for example, across a network connection link) and reconstructed later (possibly in a different computer environment).[1] When the resulting series of bits is reread according to the serialization format, it can be used to create a semantically identical clone of the original object. For many complex objects, such as those that make extensive use of references, this process is not straightforward. Serialization of object-oriented objects does not include any of their associated methods with which they were previously linked.”

“This process of serializing an object is also called marshalling an object.[2] The opposite operation, extracting a data structure from a series of bytes, is deserialization (also called unmarshalling).” Fair Use Source: https://en.wikipedia.org/wiki/Serialization

In the late 1990s, a push to provide an alternative to the standard serialization protocols started:

  • XML was used to produce a human readable text-based encoding. Such an encoding can be useful for persistent objects that may be read and understood by humans, or communicated to other systems regardless of programming language. It has the disadvantage of losing the more compact, byte-stream-based encoding, but by this point larger storage and transmission capacities made file size less of a concern than in the early days of computing. Binary XML had been proposed as a compromise which was not readable by plain-text editors, but was more compact than regular XML. In the 2000s, XML was often used for asynchronous transfer of structured data between client and server in Ajax web applications.” Fair Use Source: https://en.wikipedia.org/wiki/Serialization
  • JSON is a lighter plain-text alternative to XML which is also commonly used for client-server communication in web applications. JSON is based on JavaScript syntax, but is supported in other programming languages as well.” Fair Use Source: https://en.wikipedia.org/wiki/Serialization
  • YAML, is similar to JSON and includes features that make it more powerful for serialization, more “human friendly,” and potentially more compact. These features include a notion of tagging data types, support for non-hierarchical data structures, the option to structure data with indentation, and multiple forms of scalar data quoting.” Fair Use Source: https://en.wikipedia.org/wiki/Serialization

See also Markup Language, JSON, Automation, Infrastructure as Code (IaC), Azure Automation.

JSON – JavaScript Object Notation

See also JavaScript, Markup Language, Data Serialization, YAML, XML, Automation, Infrastructure as Code (IaC)

YAML – YAML Ain’t Markup Language

YAML (“YAML Ain’t Markup Language”) is a human-readable data-serialization language. It is commonly used for configuration files, but could be used in many applications where data is being stored (e.g. debugging output) or transmitted (e.g. document headers). YAML targets many of the same communications applications as XML but has a minimal syntax which intentionally breaks compatibility with SGML .[1] It uses both Python-style indentation to indicate nesting, and a more compact format that uses [] for lists and {} for maps[1] making YAML 1.2 a superset of JSON.[2]

See also Markup Language, JSON, Automation, Infrastructure as Code (IaC), Azure Automation.