liveBook · Manning

Interoperability

As explained in The Design of Web APIs, Second Edition

Interoperability is the capability of different software systems to exchange data and work together through compatible interfaces and behaviors.

Interoperability enables different systems and applications to exchange data and work together efficiently without complex processing or coding. In API design, it depends on consistent, standard data, operations, and flows that consumers can understand and reuse. section 8.1 section 8.2.5

Design for interoperability by making each API surface predictable and reusable:

  • Use clear, consistent names and representations across resource paths, models, parameters, request bodies, responses, and errors. section 8.2 section 8.3.1
  • Prefer well-known domain-specific or generic standards over locally invented formats, while recognizing that standards can sometimes reduce user-friendliness. section 8.2.5 section 8.4.5
  • Apply interoperability in a deliberate second pass after establishing versatile data and operations, revisiting the design as questions arise. section 8.3.2 section 9.2.1
  • Keep identifiers, inputs, outputs, errors, and operation behavior consistent so data from one operation can serve another. section 8.2.5 section 9.2.2

Standardizing a location

A local location object might use latitude, longitude, and address consistently. A more broadly interoperable representation uses GeoJSON: {"type":"Point","coordinates":[12,34]}. The standard simplifies sharing and interpretation, even though the coordinate array may be less intuitive for users. section 8.2.5

Making an operation predictable

A messaging API becomes easier to integrate when it uses POST /messages and returns 400 Bad Request with {"error":"Missing phone number"}. Consistent HTTP methods and actionable errors let clients handle failures without special processing. section 8.1.3 section 9.1.3

Figure 3.4 Some web APIs don’t respect HTTP semantics. Their creator may wrongly call them “REST” simply because they use HTTP.
figure

Compare an HTTP-compliant DELETE /products/123 with a noncompliant GET /deleteProduct/123 to see how standard method and status semantics support interoperability. section 3.1.3

How The Design of Web APIs, Second Edition covers it

How deep it goes
Explains interoperability across data, operations, flows, standards, HTTP semantics, and a secondary design pass, without descending into implementation internals.
Examples
Uses GeoJSON locations, ISO 4217 currency codes, consistent car-rental identifiers, SMS errors, and HTTP-compliant product deletion.
What it assumes
Assumes familiarity with APIs and HTTP while teaching interoperability from its relationship to user-friendly data, operations, and standards.
What you can do after
Apply it by designing consistent API data and operations that consumers can reuse, interpret, integrate, and troubleshoot predictably.
How it connects
Connects interoperability with API design, user experience, data modeling, standardization, HTTP semantics, error handling, and modular systems.

Also explained in

Compare how 5 books explain interoperability →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of The Design of Web APIs, Second Edition. The section links point to the parts of the book it draws on.