Updated READMEs

This commit is contained in:
Chris Richardson
2017-01-10 17:59:54 -08:00
parent 6c841000bb
commit edcfd9e22f
2 changed files with 11 additions and 46 deletions

View File

@@ -35,27 +35,16 @@ The following diagram shows the architecture:
![Money transfer architecture](https://github.com/cer/event-sourcing-examples/wiki/i/applicationarchitecture.png)
There are the following logical services:
There are the following services:
* Customers (command-side) - REST API for creating customers
* Accounts (command-side) - REST API for creating accounts
* Money transfers (command-side) - REST API for transferring money
* Customers (query-side) - subscribes to events and updates a MongoDB View, and provides an API for retrieving customers
* Accounts (query-side) - subscribes to events and updates a MongoDB View, and provides an API for retrieving accounts
* Customers Service - REST API for creating customers
* Accounts Service - REST API for creating accounts
* Transactions Service - REST API for transferring money
* Customers View Service - subscribes to events and updates a MongoDB View, and provides an API for retrieving customers
* Accounts View Service - subscribes to events and updates a MongoDB View, and provides an API for retrieving accounts
There is also an [API gateway](http://microservices.io/patterns/apigateway.html) service that acts as a Facade in front of the services.
One of the neat things about the modular architecture is that there are two ways to deploy these four services:
* monolithic-service - all services are packaged as a single Spring Boot executable JAR
* Microservices - three separate Spring Boot executable JARs
* customer-command-side-service - command-side customers
* accounts-command-side-service - command-side accounts
* transactions-command-side-service - command-side money transfers
* customers-query-side-service - query-side customers
* accounts-query-side-service - query-side accounts
* api-gateway-service - API gateway service
# About the examples
There are currently the following versions of the example application:

View File

@@ -2,34 +2,10 @@ This is the Java/Spring version of the Event Sourcing/CQRS money transfer exampl
# About the application
This application consists of three microservices:
This application consists of the following microservices:
* Account Service - the command side business logic for Accounts
* Money Transfer Service - the command side business logic for Money Transfers
* Query service - query side implementation of a MongoDB-based, denormalized view of Accounts and MoneyTransfers
The Account Service consists of the following modules:
* accounts-command-side-backend - the Account aggregate
* accounts-command-side-web - a REST API for creating and retrieving Accounts
* accounts-command-side-service - a standalone microservice
The Money Transfer Service consists of the following modules:
* transactions-command-side-backend - the MoneyTransfer aggregate
* transactions-command-side-web - a REST API for creating and retrieving Money Transfers
* transactions-command-side-service - a standalone microservice
The Query Service consists the following modules:
* accounts-query-side-backend - MongoDB-based, denormalized view of Accounts and MoneyTransfers
* accounts-query-side-web - a REST API for querying the denormalized view
* accounts-query-side-service - a standalone microservice
# Deploying the application
These services can be deployed either as either separate standalone services using the Event Store server, or they can be deployed as a monolithic application for simplified integration testing.
The three services can also be packaged as a single monolithic web application in order to be used with the embedded Event Store:
* monolithic-service - all-in-one, monolithic packaging of the application
* Account View Service - query side implementation of a MongoDB-based, denormalized view of Accounts
* Customer Service - the command side business logic for Customers
* Customer View Service - query side implementation of a MongoDB-based, denormalized view of Customers
* Transaction Service - the command side business logic for Money Transfers