Please log in to watch this conference skillscast.
NRK TV is a TV streaming service for the Norwegian public, serving hundreds of thousands of users every day. This is the story of how we turned an increasingly complex and stagnating monolithic API into a more rapidly evolving modular API.
Two key elements in the transformation are hypermedia and domain-driven design. We use links to tie together bounded domain contexts that we keep separate to contain complexity. Clients can seamlessly navigate between e.g. editorial content, catalog, playback and personalized recommendations, without noticing or caring that different contexts could be supported by separate backends with varying degrees of criticality and separate failure modes. Since links enable us to support multiple paths through the API and more than one way to reach a goal, they also help us evolve our applications without having to coordinate updates for all our clients at the same time. Rather, clients can opt-in to new or improved functionality when it suits them.
YOU MAY ALSO LIKE:
Real-world API Modularization with DDD and Hypermedia
Einar W. Høst is not a software craftsman; he is a genuine, PhD-certified ivory tower zealot. His heretic views include thinking away from the keyboard and making drawings to understand things better. He does domain modelling, API design and computer programming at NRK.