👋Get Started

Ase (ah-she) is Formata's data-interchange format & runtime. We use Ase to define endpoints in Formata, and for communication between systems connected by Formata. Get started with it here!

Unless defining endpoints in Formata, it is not necessary to know that Ase exists. Incoming data in the form of JSON, TOML, YAML, XML, etc... will all be "upgraded" to Ase while in the hands of Formata and then can be passed back as any one of these formats and more.

At this point, you're probably questioning whether we need another interchange format in the world. The answer is yes - we need to take the next step in our relationship with data. Systems are more complex and a shared format helps, but what we really need is an interchange runtime (embedded and system-independent) for the heavy lifting between formats, schemas, and systems.

Ase is a lightweight data-interchange format & runtime and a superset of JSON. However, Ase is purpose-built to solve the challenges of working with data at scale between systems, enabling users to combine and manipulate system-independent data over the wire. It's also simpler for humans and machines to read and write, improving upon JSON in many ways.

Unlike other interchange formats, Ase does not attempt to be a "standard", but rather a "glue" format that is also a lightweight and sandboxed runtime for manipulating itself. This means that the heavy lifting for working with and understanding the data is not put on the user/system, but rather on the data itself.

Motivation

  • Simplicity, flexibility, efficiency, scalability, and security

    • To make working with data an all-around better experience

  • Unifying and standardizing distributed data/systems

    • A "glue" format that knows how to work with all other types of data, so it can all be standardized, combined, and manipulated at once

  • Improvements to existing declarative formats (JSON, YAML, TOML, etc...)

    • Imperative operations

    • Security

    • Versatility

    • Performance

  • Bringing business logic to the data

    • The instructions for working with data are often much less expensive to pass between systems than the actual data itself; Ase makes this possible

Requirements

  • Valid JSON is always valid Ase - Ase is a drop-in replacement for JSON

  • It is not required to know Ase or about Ase to work with Ase

    • Data gets "upgraded" to Ase and "downgraded" from Ase into other formats as needed

    • Formata only requires data to be Ase data while inside the Formata lattice of connected systems - making it possible for all systems to efficiently and securely understand one another, no matter the data formats they individually work with

  • Ase is sandboxed within systems that work with Ase for security and performance

  • Formata does not require you to use ANY additional tooling when working with Ase

    • No compilers, additional code repositories, or anything that would become technical debt or a headache to manage

  • For systems that are Ase-aware, the tooling is minimal and easy to use

    • Playful, easy, and fun - no complex translations or compilations

    • Can be used everywhere! Any language on any system

Last updated