An open API service indexing awesome lists of open source software.

https://github.com/zenwave360/zdl-jvm

ZDL Modeling Language for Event-Driven microservices
https://github.com/zenwave360/zdl-jvm

api-first ddd dsl event-driven-architecture event-storming

Last synced: 2 days ago
JSON representation

ZDL Modeling Language for Event-Driven microservices

Awesome Lists containing this project

README

          

ZenWave Domain Model Language
=====================================

[![Maven Central](https://img.shields.io/maven-central/v/io.zenwave360.sdk/zdl-jvm.svg?label=Maven%20Central&logo=apachemaven)](https://search.maven.org/artifact/io.zenwave360.sdk/zdl-jvm)
[![build](https://github.com/ZenWave360/zdl-jvm/workflows/Build%20and%20Publish%20Maven%20Snapshots/badge.svg)](https://github.com/ZenWave360/zdl-jvm/actions/workflows/publish-maven-snapshots.yml)
[![coverage](https://raw.githubusercontent.com/ZenWave360/zdl-jvm/badges/jacoco.svg)](https://github.com/ZenWave360/zdl-jvm/actions/workflows/build.yml)
[![branches coverage](https://raw.githubusercontent.com/ZenWave360/zdl-jvm/badges/branches.svg)](https://github.com/ZenWave360/zdl-jvm/actions/workflows/main.yml)
[![GitHub](https://img.shields.io/github/license/ZenWave360/zdl-jvm)](https://github.com/ZenWave360/zdl-jvm/blob/main/LICENSE)

> **NOTE:** Version 1.4.0 is the final release of this project. It has been superseded by [dsl-kotlin](https://github.com/ZenWave360/dsl-kotlin), a multiplatform evolution supporting both ZDL and ZFL grammars for JVM and JS.

ZDL is a Domain Specific Language (DSL) for Event-Driven Architectures. With Domain Driven Design principles built-in, it can be used to map the discoveries of an [EventStorming](https://www.eventstorming.com/) session.

- Designed to be developer friendly, with a simple and compact syntax.
- It retains the language of the business process discoveries found in Event-Storming sessions.
- And because it's machine-friendly it can be parsed and converted into multiple software artifacts like:
- documentation, drawings, API definitions like OpenAPI and AsyncAPI v2/v3 and multiple backend implementations and its tests.

Further reading:
- [ZDL Domain Language Reference](https://zenwave360.github.io/docs/event-driven-design/zenwave-domain-language)
- [ZenWave SDK](https://zenwave360.github.io/zenwave-sdk/)
- [ZenWave Editor for IntelliJ](https://zenwave360.github.io/plugin/)

![EventStorming ZDL](docs/EvenStorming-ZDL.png)