This is the parent project that contains modules of a microservice deployment for the Order domain context. The two modules contained in this project are separated into separate deployment artifacts, one for synchronous HTTP-based interactions and one for asynchronous AMQP-based messaging.
The order-web
module is a web application that produces a REST API that can be used by consumers to interact with and manage domain objects in the Order
context. Domain Events can be triggered directly over HTTP, and will also be produced in the response to actions that alter the state of the Order
object. This web service also provides built-in hypermedia support for looking up the event logs on an aggregate domain object.
The order-worker
module is a event stream processing application that listens for Order
domain events as AMQP messages. The domain events that are generated by the order-web
application are processed in this module. The worker is responsible for durable transaction processing for workflows that are required to coordinate asynchronously with applications residing in other domain contexts.
This microservice is unfinished. If you're looking for a more polished and complete reference, please take a look at the Account module in the parent project.