---
type: "newsletter"
title: "Event-Driven Architecture Notes by Iván García"
handle: "ivangsa"
owner: "Ivan García Sainz Aja (@ivangsa)"
canonical_url: "https://usecommune.com/n/ivangsa"
markdown_url: "https://usecommune.com/n/ivangsa.md"
archive_url: "https://usecommune.com/n/ivangsa/archive"
chat_url: "https://usecommune.com/n/ivangsa/chat"
articles_total: 38
articles_listed: 20
---

# Event-Driven Architecture Notes by Iván García

Event-Driven Architecture, AsyncAPI, and Kafka articles.

## Recent articles

The 20 most recent of 38 published articles. Full index: https://usecommune.com/n/ivangsa/archive.md

- 2026-08-15 - [A Software Engineering Hypothesis for the Age of Agents](https://usecommune.com/n/ivangsa/a/a-software-engineering-hypothesis-for-the-age-of-agents) - A Software Engineering Hypothesis for the Age of Agents Agentic development makes software cheaper to produce. That does not reduce the need for software engineering. This is a public hypothesis: keep
- 2026-07-26 - [The Master YAML: A Manifest of Your Entire Architecture](https://usecommune.com/n/ivangsa/a/the-master-yaml-a-manifest-of-your-entire-architecture) - The Master YAML: A Manifest of Your Entire Architecture As Arcadia Editions grows, no single person knows the whole system anymore. The big picture scatters across dozens of repositories. ZenWave arch
- 2026-07-24 - [Treat Your Domain Models and APIs as Products](https://usecommune.com/n/ivangsa/a/treat-your-domain-models-and-apis-as-products) - Treat Your Domain Models and APIs as Products A domain model and the APIs it generates are not implementation details of a service. They are the contracts every consumer depends on. Treating them as p
- 2026-07-02 - [DSL Modeling for APIs: Generate OpenAPI and AsyncAPI from ZDL](https://usecommune.com/n/ivangsa/a/dsl-modeling-for-apis-generate-openapi-and-asyncapi-from-zdl) - DSL Modeling for APIs: Generate OpenAPI and AsyncAPI from ZDL Writing YAML by hand is no fun, but you can generate your OpenAPI and AsyncAPI definition files from a Domain Specific Language instead. W
- 2026-06-29 - [AsyncAPI: Which Reference Strategy to Use and Why](https://usecommune.com/n/ivangsa/a/asyncapi-which-reference-strategy-to-use-and-why) - AsyncAPI: Which Reference Strategy to Use and Why AsyncAPI's $ref lets a client spec point to a provider spec without duplicating it. When that spec drives both application contracts and infrastructur
- 2026-06-26 - [AsyncAPI: Your Application Has Two API Surfaces](https://usecommune.com/n/ivangsa/a/asyncapi-your-application-has-two-api-surfaces) - AsyncAPI: Your Application Has Two API Surfaces The AsyncAPI spec says an application SHOULD describe its operations, but not necessarily all of them in the same spec file. Not all operations are equa
- 2026-06-25 - [Domain Modeling with ZDL: Aggregates, Commands, Events, and State Machines](https://usecommune.com/n/ivangsa/a/domain-modeling-with-zdl-aggregates-commands-events-and-stat) - Domain Modeling with ZDL: Aggregates, Commands, Events, and State Machines ZDL is a compressed blueprint of the business: aggregates, commands, events, and lifecycles captured in one readable model. T
- 2026-06-10 - [From ZFL to ZDL: AI-Assisted Domain Model Scaffolding](https://usecommune.com/n/ivangsa/a/from-zfl-to-zdl-ai-assisted-domain-model-scaffolding) - From ZFL to ZDL: AI-Assisted Domain Model Scaffolding ZFL describes a business flow with commands, events, services, and sometimes aggregate names. An AI agent can turn that into scaffolding for your 
- 2026-06-01 - [Completing the ZFL: From Bounded Contexts to Systems](https://usecommune.com/n/ivangsa/a/completing-the-zfl-from-bounded-contexts-to-systems) - Completing the ZFL: From Bounded Contexts to Systems Event Storming has two phases. First you discover the flow. Then you find the centers of gravity. The service field in ZFL is where that second pha
- 2026-05-22 - [From Events to Bounded Contexts: Finding Arcadia Editions' Architecture](https://usecommune.com/n/ivangsa/a/from-events-to-bounded-contexts-finding-arcadia-editions-arc) - From Events to Bounded Contexts: Finding Arcadia Editions' Architecture Large systems become unmanageable when everyone shares the same model. This post walks through the heuristic we used to find tho
- 2026-05-14 - [From Event Storming to ZFL: Translating Business Flows into Code](https://usecommune.com/n/ivangsa/a/from-event-storming-to-zfl-translating-business-flows-into-c) - Event Storming gives you sticky notes. ZFL gives them a structured home. Here is how the concepts map. Originally published at ivangsa.com: https://ivangsa.com/articles/arcadia/004-from-event-storming
- 2026-05-10 - [API First 360: AsyncAPI as the Source of Truth for Code and Infrastructure](https://usecommune.com/n/ivangsa/a/api-first-360-asyncapi-as-the-source-of-truth-for-code-and-i) - API First should not stop at generated code. In event-driven systems, the same AsyncAPI contract should help producers, consumers, and platform teams understand and provision the infrastructure that m
- 2026-05-04 - [Event Storming Arcadia Editions: Discovering the Order Flow](https://usecommune.com/n/ivangsa/a/event-storming-arcadia-editions-discovering-the-order-flow) - We know what Arcadia Editions wants to deliver. Now we need to discover how. Event Storming is how you turn that conversation into a shared understanding of the business. This is what that looks like 
- 2026-05-01 - [DDD Problem Space vs Solution Space](https://usecommune.com/n/ivangsa/a/ddd-problem-space-vs-solution-space) - The solution space is your business. But only if it needs to be discovered. If it is already known, you are not building a business, you are building a commodity. Originally published at ivangsa.com: 
- 2026-04-30 - [Meet Arcadia Editions: The Fictional Company I Built to Explore Event-Driven Architecture](https://usecommune.com/n/ivangsa/a/meet-arcadia-editions-the-fictional-company-i-built-to-explo) - Domain discovery, event modeling, API specs, and running code. All of it built in the open, through a domain complex enough to make the decisions interesting. Originally published at ivangsa.com: http
- 2026-04-26 - [Apicurio Registry Maven Plugin: CLI Mode and Autoconfiguration](https://usecommune.com/n/ivangsa/a/apicurio-registry-maven-plugin-cli-mode-and-autoconfiguratio) - Three upstream fixes that make the Apicurio Registry Maven Plugin work from the CLI with minimal configuration Originally published at ivangsa.com: https://ivangsa.com/articles/apicurio-registry-maven
- 2026-04-12 - [AsyncAPI Studio: From Single File to Real World Usage](https://usecommune.com/n/ivangsa/a/asyncapi-studio-from-single-file-to-real-world-usage) - AsyncAPI Studio was previously a single in-memory file editor. This prevented using relative $refs to external .avsc Avro files. This new contribution now tracks the document source, resolves relative
- 2026-03-28 - [ZenWave Domain Language (ZDL) now speaks State Machines](https://usecommune.com/n/ivangsa/a/zenwave-domain-language-zdl-now-speaks-state-machines) - Every application has state machine-like transitions: an order that gets placed, paid, shipped, cancelled. Now you can model your state transitions and ZenWave SDK will implement and enforce them for 
- 2026-03-01 - [Preventing API Drift with AsyncAPI - A Java/Spring Perspective](https://usecommune.com/n/ivangsa/a/preventing-api-drift-with-asyncapi-a-java-spring-perspective) - How strongly-typed code generation, build-time regeneration, and versioned specifications eliminate API drift in Java/Spring projects using OpenAPI and AsyncAPI. Originally published at ivangsa.com: h
- 2025-09-30 - [DDD en la Práctica: De Lenguaje Ubícuo en DSL a Proyecto Completo de Spring Boot con Kotlin](https://usecommune.com/n/ivangsa/a/ddd-en-la-practica-de-lenguaje-ubicuo-en-dsl-a-proyecto-comp) - En este artículo exploraremos cómo utilizar ZenWave360 para generar un proyecto completo de Spring Boot con Kotlin a partir de un modelo DSL de Lenguaje Ubicuo. Originally published at ivangsa.com: ht
