Tranquil APIs
2014-06-16
architecture
/
www
/
html5
/
django
Tranquil is a protocol framework which is designed to be very simple and
very extensible.
I’m reaching the end of a project based on REST and Django REST
Framework. There have been good parts
and bad, but out of it has come some thinking about
architecure and the inspiration
to do things a bit differently.
I’ve put together an alternative to REST which I’m calling Tranquil.
Summary
Tranquil is a protocol framework which helps define the communication
between web client and server. It is designed to be very simple and very
extensible.
Tranquil is similar in intention to
REST,
however:
- Tranquil is transport agnostic, so transport could be by
WebSockets, AMQP or
avian carrier.
- Tranquil allows multiple queries per request to reduce round-trips
and so multiple queries can be made within the one
database transaction.
- Tranquil actions are extensible, allowing the usual Create, Read,
Update and
Delete
but also more complex operations such as Map,
Reduce and
Atomic
increments, appends and so on.
- Tranquil actions are composable, allowing front-end developers to
adjust for their own data requirements.
By contrast with JSON-RPC and
SOAPjr, Tranquil places more emphasis on
entities and less on methods, with the intention of reducing the
proliferation of custom methods.
Further Reading