Overview
This course covers the learning outcomes and goals of designing APIs for ever-evolving systems. It teaches the skills of understanding the architectural context APIs live in, designing and specifying APIs, utilizing Domain-Driven Design, and implementing versioning strategies. The teaching method involves discussing internal vs. external APIs, the impact of Domain-Driven Design, and the importance of hypermedia links. The intended audience for this course includes software developers, API designers, and architects interested in enhancing their API design skills for complex systems.
Syllabus
Intro
System of Systems
REST API
Server vs Client
Replication
Local optimization
How coupling is created
Kinesins
Parameters
Versioning
Hypermedia
Static links
Hypermedia links
REST Box
State Machines
API Documentation
Inspect payload
Break the client
Change the documentation
JSON Dialect
Simplifying Decisions
Domain Knowledge vs Protocol Knowledge
Sample Application
Taught by
GOTO Conferences