Akwatype's goal is to enable API design by placing data modeling at the heart of the design

To enable this approach Akwatype relies on three pillars 



Types and Facades :

  • The types make it possible to describe the exchange model in all its richness, with its entities and its fields with the associated metadata and the links between the entities..
  • The facades allow the model to be adapted to its context of use (API & Messages).
    Each facade corresponds to a "view" on a type


Services  :

The services

Akwatype services are components that expose and consume APIs and receive and send messages. The data exchanges modeled in Akwatype are structured around these services.



The association of the facades with APIs and Messages

Once defined, the facades will be able to be associated with routes and messages to describe the transported data. This approach keeps a simple description of the model at the level of each Route or message while keeping a strong link with the type model to ensure the overall consistency of the descriptions.


The two families of data exchange

Akwatype allows to describe two main data exchange families (API & Asynchronous Messages) in a consistent way in the same repository



The big picture