SWOT love got to do (got to do with it)

This is a side-rant I previously had in the swagger-combine post but thought I’d split it out here because it was a bit tangential from my over-engineered solution to a poorly devised interface definition language to a flawed but popular protocol.

The post title is a reference to a Tina Turner song, which I suspect no-one under the age of 30 will have heard of. It uses the word ‘SWOT’ in an amusing (to some) pun-like sentence structure.

JSON API rant

There are two competing teams of thought on APIs, one being that you should use a binary RPC protocol to efficiently transfer information between a client and server (but takes forever for a developer to create an API client), or to use a text protocol that mere mortals can comprehend, but takes a few more milliseconds to perform each request.

There’s tradeoffs between the two approaches, so to help you understand why everyone decided to go down the swagger/OpenAPI path to publish their JSON REST APIs, I offer you the following SWOT analysis. SWOT stands for strengths, weaknesses, opportunities and threats. Remember those ? You used to create those when you worked for the government and needed to justify some technical decision that had already been made by someone on a higher PO level than you.

By decree of the Gartner powerpoint utilisation committee, I shall be formatting this in the regulation nigh-unreadable high-saturation background colours.

JSON API

Strengths

Weaknesses

  • when you say it out loud, it sounds a bit like the name of someone called Jason.

  • you can use curl to test the thing

  • more easily inspect requests / responses

  • you can generate client / server stubs for about 50 different languages and frameworks

  • incomplete

  • verbose

  • inefficient

Opportunities

Threats

  • it’s javascript, so it’s a bit easier to use in a webpage.

  • type safety shmype shmafety

RPC API

Strengths

Weaknesses

  • three letters in a row

  • sounds a bit IBM-y (put this under ‘Strengths’ if you work for a massive government department)

  • so handwavingly vague that it can cover CORBA, DCOM, SOAP, protobuf, IIOP, Sun RPC, ASN1,
    and pretty much anything else that involves a request and a response, including JSON APIs.

Opportunities

Threats

  • will be able to surf the wave of retro computing interfaces once people have stopped mucking about with their raspberry PIs


    to differentiate 8-bit bytes from machines with 12 rows in their punched-card readers
    which probably helped when working out how many groats to the guinea
    I think punched cards more or less had the same number of hole co-ordinates in them regardless of the word size, so this might be all a bit far-fetched. I like the idea of it though, and never let facts get in the way of a good story, I say.


Add a Comment

Your email address will not be published. Required fields are marked *