Project and Licensing

What is UMA (Universal Microservices Architecture)?

Universal Microservices Architecture (UMA) is an architectural methodology for building portable, contract-governed business capabilities. It defines how capabilities should be specified, versioned, discovered, and deployed across runtimes. Traverse is the reference implementation of UMA in Rust. The methodology is documented in the UMA book by Enrico Piovesan.

The core idea

Traditional microservices decompose systems by network boundary: each service owns its data, exposes an API, and communicates over HTTP or message queues. UMA adds a layer below the network: the business capability. A capability is a unit of logic with a formal contract that can run in any compatible runtime — not just a specific service's container.

The "universal" in UMA refers to this portability. The same capability binary runs in a browser, an edge worker, a cloud function, or a local process. The contract is the constant. The runtime is interchangeable.

UMA and Traverse

Traverse is what a UMA-compliant runtime looks like in practice. It implements:

  • The contract specification format (TOML with JSON Schema for inputs and outputs)
  • The governing spec concept (a document that the contract implements)
  • The capability registry (versioned storage and discovery)
  • The placement target model (local, browser, edge, cloud, AI pipeline)
  • The execution state machine (idle through completed/error)
  • The trace artifact (proof of execution for any past run)

The UMA book

The UMA book covers the full methodology: why existing microservice patterns fail for portable business logic, the formal definition of a universal capability, how contracts relate to governing specs, and how to structure a team around capability ownership. It is available on Amazon at amazon.com/dp/B0GTTTTQH4.

C-DAD

The Contract-Driven AI Development (C-DAD) whitepaper extends UMA into the AI agent space. It covers how contracts govern the interface between non-deterministic AI agents and deterministic business logic. See what is contract-driven AI development for more.