$darkmode
Following sections present moka's architecture principles.
moka architecture is built around a Message Broker to enable distributed implementations. It is a technical component with no functional role. It connects a set of services that need to be registered so a service request can be forwarded to a service function. Each service is specialized and architected following the same pattern. It uses an Hardware Abstraction Layer so it stays independent from the device’s API when accessing to peripherals such as card reader, cryptographic API, display, …
All these services use a set of moka Librairies. These librairies gather different APIs to facilitate the development of EMV logics.