As we have explained through the previous recipes, services in Lagom have two modules: the API module responsible for defining the contract of the service and the implementation module where we develop the logic behind the API calls. Lagom is asynchronous by default. This means that multiple incoming requests will be served concurrently. Lagom leverages Akka and Play to provide a powerful and resilient engine to run your services. Every service implementation contains at least three components: the service loader, the service application, and the service implementation.
In this recipe, we will review these three components by creating a token service implementation and explain the responsibilities and duties for each of them.