Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
76 lines (60 sloc) 5.22 KB
title permalink
Generators Overview

The Context Mapper generators provide transformations to derive MDSL (micro-)service contracts, PlantUML diagrams and ServiceCutter input files from your CML context map.

MDSL (Micro-)Service Contracts

With our MDSL generator you can generate (micro-)service contracts out of your Context Maps. The resulting contracts illustrate how you can derive (micro-)services from strategic DDD context maps and aim for providing assistance regarding how your system can be implemented in an (micro-)service-oriented architecture.

This is an example MDSL service contract for our insurance example:

// Generated from DDD Context Map 'Insurance-Example_Context-Map.cml' at 21.10.2019 17:48:52 CEST.
API description CustomerManagementContextAPI

data type Address { "street":V<string>, "postalCode":V<int>, "city":V<string> } data type AddressId P data type changeCustomerParameter { "firstname":V<string>, "lastname":V<string> }

endpoint type CustomersAggregate serves as INFORMATION_HOLDER_RESOURCE exposes operation createAddress with responsibility "Creates new address for customer" expecting payload Address delivering payload AddressId operation changeCustomer with responsibility "Changes existing customer address" expecting payload changeCustomerParameter delivering payload V<bool>

// Generated from DDD upstream Bounded Context 'CustomerManagementContext' implementing OPEN_HOST_SERVICE (OHS) and PUBLISHED_LANGUAGE (PL). API provider CustomerManagementContextProvider // The customer management context is responsible for managing all the data of the insurance companies customers. offers CustomersAggregate at endpoint location "http://localhost:8001" via protocol "RESTfulHTTP"

// Generated from DDD upstream Bounded Context 'CustomerManagementContext' implementing OPEN_HOST_SERVICE (OHS) and PUBLISHED_LANGUAGE (PL). API client PolicyManagementContextClient // This bounded context manages the contracts and policies of the customers. consumes CustomersAggregate API client CustomerSelfServiceContextClient // This context represents a web application which allows the customer to login and change basic data records like the address. consumes CustomersAggregate


Learn more about the MDSL generator here.

PlantUML Diagrams

You can generate plantUML component diagrams out of CML context maps. Additionally, the transformation generates class diagrams for all bounded contexts. If the implemented subdomains contain entities, the generator produces class diagrams for these subdomains as well. Here you can find out how to generate them.

Example component diagram (DDD sample): DDD Sample Component Diagram

Example class diagram (Cargo booking context): Cargo Booking Context

Service Cutter Input Files

Find out how to produce Service Cutter input to calculate possible service cuts or new bounded contexts here:

Service Cutter DDD Sample

You can’t perform that action at this time.