From edcfd9e22f43c233d461138ebcb1166f74cf4c4d Mon Sep 17 00:00:00 2001 From: Chris Richardson <chris@chrisrichardson.net> Date: Tue, 10 Jan 2017 17:59:54 -0800 Subject: [PATCH] Updated READMEs --- README.md | 23 ++++++----------------- java-spring/README.md | 34 +++++----------------------------- 2 files changed, 11 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index 59a4fc6..dedd799 100644 --- a/README.md +++ b/README.md @@ -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: diff --git a/java-spring/README.md b/java-spring/README.md index 7909f32..574adda 100644 --- a/java-spring/README.md +++ b/java-spring/README.md @@ -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