Terminology

Aggregate - The entity, or target of a process. In Bookings, a booking. In Customer Payments, a payment.

Process - The way services interact with each other. After this occurs in service A, we make a request to Service B. Often drawn as a sequence diagrams with the services. Easy to draw on a whiteboard.

Business Logic - The meat of the domain. The implementation of how a customer is charged; How loyalty points are awarded; If an email or an SMS is sent to a user for a notification.

Command - An outgoing request for a service to do something. Service A requests Service B to perform some operation using its business logic. For example, Bookings requests Customer Payments to charge a customer money.

Event - A fact that something happened. Booking was created, order was received, a step was unsuccessful.

Event Handler - A reaction to an event that has occurred. An order was received, reduce the inventory count by 1.

Applicator - Over time, the current state of an aggregate changes. A booking can go from booked to cancelled. An applicator, takes each event, extracts the interesting information out and applies it to a model.

Projection - The result of iterating through all of the applicators is the projection of the model.

Saga/Coordinator/Orchestrator - Is responsible for the flow of the process. Can take wait for multiple events to occur, then continue on with the process. The implementation of what is usually drawn in a sequence diagram. For example, The process will not take charge a customer until all the items in the shopping cart are reserved(a parallel process).

Repository - Where events for an aggregate are retrieved from.

results matching ""

    No results matching ""