The Arcadia Editions Series
The Fictional Company I Built to Explore Event-Driven Architecture
A fictional board game retailer built to explore event-driven architecture end-to-end. Domain discovery, flow modeling, API generation, and running Spring Boot services - all in the open.
-
#11 The Master YAML: A Manifest of Your Entire Architecture
As Arcadia Editions grows, nobody sees the whole system in one place. A single YAML file, zenwave-architecture.yml, points at every domain, service and contract and how they connect, without copying any of them. The pipeline keeps it current. Humans, tools and agents can all navigate from there.
-
#12 Arcadia Architecture Manifest meets Event Catalog
The architecture manifest is an index of every domain, service and contract, but most people will never open that YAML file. EventCatalog is the website that shows the same index. A generator collects the pages from the APIs that the teams already publish, and a release pipeline keeps the website current.
-
#13 Provisioning Infrastructure with Terraform from AsyncAPI
When your AsyncAPI says one thing and your Kafka platform does another, people stop trusting the API. In Arcadia the AsyncAPI file stays the source of truth for the platform too: we generate the Terraform for topics, schemas and ACLs from it, merging to develop provisions the development cluster, and each release packs that Terraform so the same files are promoted to pre and prod.
-
#14 Async API Governance Built to Last
Using automation can keep the API and the Platform in sync without much policy or enforcement. When the AsyncAPI and Avro files are the source of truth, the Kafka topics, schemas and permissions are provisioned from them with an open source toolkit, and the application code is generated from the same files: The more the teams use it, the more the API, the platform and the source code describe the same thing, and that is a governance process built to last.
Latest Articles
View all
DDD In Practice: From Ubiquitous Language DSL to Complete Spring-Boot Kotlin Project
How to use ZenWave SDK to implement DDD principles in practice, from Event Storming discoveries to a complete Spring Boot Kotlin project using ZDL as Ubiquitous Language.
→ Read articleA 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 the understanding of the system explicit, generate what is already decided, then use the result from the customer's perspective and feed what you learn back into the model.
→ Read articleAsyncAPI: 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 infrastructure provisioning, the URL behind the $ref is an important decision to answer. A pinned version, a environment alias, or the tip of main: each offer different trade-offs.
→ Read articleHands-On Architecture
View all-
AsyncAPI Shopping Cart: From Event Contract to Running EDA
How to define an AsyncAPI + Avro contract and derive Kafka producers/consumers for a multi-module event-driven application.
→ Read tutorial -
Order Fulfillment (Kotlin): From Ubiquitous Language to Running Service
How to use a DSL to catpure the Ubiquitous Language and derive a full backend service from it.
→ Read tutorial -
Clinical Tool Modulith (JPA): From Multiple Bounded Contexts to One Modular Monolith
How to derive a modular monolith from multiple bounded contexts, each modeled in DSL, and generate aligned APIs and implementation.
→ Read tutorial
Recent Talks
View all-
Arquitecturas EDA con Spring Modulith y AsyncAPI - Codemotion 25
Cómo diseñar e implementar arquitecturas orientadas a eventos usando Spring Modulith y AsyncAPI, presentado en Codemotion 2025.
→ Watch talk -
Event-Driven Architectures with Spring Modulith and AsyncAPI (Spring I/O 2025)
How to build event-driven architectures using Spring Modulith and AsyncAPI, combining modular monolith patterns with async contract-first design.
→ Watch talk -
Stop API Drift: Provision Kafka from AsyncAPI
In an event driven system, part of the API lives in the broker. This talk shows how to keep topics, schemas and ACLs aligned with the AsyncAPI contract, and how terraform plan becomes the drift detector for the platform.
→ Watch talk
Artículos en Español
Ver todos-
DDD en la Práctica: De Lenguaje Ubícuo en DSL a Proyecto Completo de Spring Boot con Kotlin
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.
→ Leer artículo -
Spring Boot con Kotlin frente a Java: Comparativa práctica y guía de integración empresarial
Análisis práctico del desarrollo con Spring Boot usando Kotlin frente a Java, comparando sintaxis, productividad e integración con herramientas como OpenAPI, AsyncAPI y Avro en un entorno empresarial.
→ Leer artículo -
Evitando el API Drift en APIs asincronas con AsyncAPI y ZenWave SDK
Evita errores y pérdida de alineación en tus APIs asíncronas. Descubre cómo AsyncAPI y ZenWave SDK pueden ayudarte a prevenir el API Drift mediante generación de código automatizada y buenas prácticas DevOps.
→ Leer artículo