The Internet of Strings: Getting Smarter about Web Integration
summary
Argues that implicit HTTP string contracts need to be explicit and machine-readable, using Clojure tools to verify and simulate integrations. Shows generative testing and consumer‑driven contracts applied to a weather API, where verification flags a missing city name and a content-type change, and a simulator exposes unrealistic temperature ranges until constraints (name length 5–20, temp between -145 and 45) are added. Demonstrates janus simulator generating stubs, running tests, and catching real integration failures.
AI-written summary · about
chapters (21)
- 0:00Intro
- 0:26What the world was like when Jennifer started developing web apps
- 4:10HTTP
- 6:28HTTP Content Types
- 8:12HTTPs Common Language
- 8:50Garbage in Garbage Out
- 10:12Change is Hard
- 12:16Implicit Contracts
- 17:11Smart Contracts
- 21:20Testing Verification
- 22:19Genesis
- 22:51Roman God
- 23:23Demo
- 26:20Troubleshooting
- 33:28ConsumerDriven Contracts
- 34:37Work in Progress
- 35:43Puzzles
- 35:57Do we need rarefied contracting
- 36:52Do we need standard contract definition language
- 37:30Do you want to just apply structure
- 37:43Not my goal
related talks
24mBuilding Intelligible Systems
23mIntegrating Web Apps
44mGenerative Integration Tests
30mThe internet of things challange:building APIs that last for decades
31mTesting Made Simple
21mA Clojure Carol: Three Clojure Web Development A-Ha Moments
24mSpeculative Development
48mContracts & Clojure: The Best-Yet Compromise of Types and Tests
