Definition — how data is described

Contracts

6 open standards for Contracts in a modern data architecture, each with an opinionated judgement: Adopt, Situational, Assess, or Caution.

Start with ODCS, OpenAPI, AsyncAPI and GraphQL.

Adopt 4 standards

The standard to reach for in new work. Proven, multi-vendor, clearly the default for its slot.

  • ODCS — Open Data Contract Standard

    Winning data-contract spec; YAML, multi-vendor.

    BITOL / Linux Foundation

  • OpenAPI — OpenAPI Specification

    De-facto REST description with tooling for almost every language.

    OpenAPI Initiative, Linux Foundation

  • AsyncAPI — AsyncAPI Specification

    The OpenAPI-equivalent for event APIs once you commit to documenting them.

    AsyncAPI Initiative, Linux Foundation

  • GraphQL

    Default for client-driven aggregation; mature spec, multi-language tooling, well-established at scale.

    GraphQL Foundation, Linux Foundation

Situational 2 standards

The right answer in some contexts but not others. Pick deliberately based on the constraint.

  • gRPC — gRPC Remote Procedure Call

    Right for service-to-service binary RPC; wrong for browser clients.

    CNCF (Incubating), Linux Foundation

  • OData — Open Data Protocol (v4)

    Pick when you live in the Microsoft BI/Dynamics world.

    OASIS (originally Microsoft)

More in Definition

Definition covers how data is described.

See Contracts in context

These standards are one panel of the interactive Data Landscape, which maps every open standard a modern data architecture is built on. The underlying data is a single JSON file; disagree with a judgement? Open an issue.