By encoding structured data into a text string, Charian can be used for implementing –
- Persistent data storage – for conveniently storing structured data (as strings) in files or databases;
- Distributed computing – for passing programming object or data structure as a “string parameter” in RPC calls;
- Data communication – for sending complex structured data in a serial form over the network;
- ETL solutions – for transferring and transforming data of various data models through simple programming.
Charian uses the schema-less RDA format1 in its encoding, which means it can be used for serializing any data object of any data structure without predefining (and maintaining) a schema. Compared to the other data serialization systems and methods, Charian’s simple, one-size-fits-all approach has many advantages, for being –
- Generic and universal: It is ideal for data exchange between programs with evolving and dynamic data models;
- Minimalism: The API is implemented with a minimal code base (of ~800 lines), with no 3rd-party dependency;
- Easy to use: Charian is “one size fits all” and has no settings or configuration for different situations;
- Language and system independent: Charian-serialized objects can be exchanged cross-language and cross-platform.
Charian is designed for cross-program data exchange using only common data transport methods and protocols, as opposed to the conventional approach of using dedicated middleware or custom-built pipelines.
Charian is available on GitHub under the GPL license.
This article is Under construction.