Senior Track Roadmap

Architecture: SOA strategy

This course applies service-oriented architecture to a Ruby application with ten bounded contexts enforced by convention. It measures the code references between contexts and the foreign keys in the schema, and shows that Catalog and Identity form a shared kernel. It covers the seven costs of a network boundary, five criteria for choosing what to extract, and three stages of extraction. It closes with Conway's law, team count as the threshold, and an ADR that records the decision to extract nothing.

What you'll learn

  • ✓Measuring coupling between bounded contexts in code and in the database schema
  • ✓Why foreign keys that cross a context boundary decide what can be extracted
  • ✓The seven costs of turning a method call into a network call
  • ✓Five criteria for choosing a context to extract
  • ✓Extracting in three stages: entry point, network, then data
  • ✓Using Conway's law and team count to make the decision
Free preview · Lesson 1 5 min read

You already have the boundaries

Service-oriented architecture is usually presented as a destination. It's more useful as a question about the boundaries you already have, so the first step is to measure the ones in this application.

Read the full lesson free →

Curriculum

7 lessons
Type to start searching...