Document Centric Design?

This is from an old blogpost I made in 2007. The concept I was playing with was that if ReST is modeled on HTTP and WebDAV is a way to do document collaboration on top of HTTP. Could you create a distributed system built on the concepts of WebDAV (document management) that was for other purposes.

The YAML centric API of Kubernetes I think validates some of these underlying impressions but clearly the idea was half-baked. What Kubernetes does is take this document centric API design idea I was promoting at VMware in 2013 and evolves it into something far better. The desired state paradigm broken down by Kelsey Hightower as a natural realization of contractual interfaces like the postage stamp on an addressed letter. The intention and implementation are separated allowing a freedom in architecture that is very human in its realization.

The Idea is that documents represent a single common data format for all processes. All processes produce or consume documents. A process that consumes no documents is called an originating process. A process that only consumes documents is called a terminating process.

Key Concepts:

Business Processes shall produce documents

Business Processes consume documents

Originating Processes begin a new workflow

Business Processes are versioned and concurrent

Interviews are Processes concerned with asking questions

In addition consider that all updates should themselves be a new process and document.

Originally published at

Cloud Software and Security R&D

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store