-
Learning
1.1. Architecture https://docs.microsoft.com/en-us/azure/architecture/patterns/ https://docs.microsoft.com/en-us/azure/architecture/guide/architecture-styles/microservices https://docs.microsoft.com/en-us/azure/architecture/best-practices/index-best-practices https://ksqldb.io/ 1.1.1. Four Distributed Systems Architectural Patterns by Tim Berglund https://www.youtube.com/watch?v=BO761Fj6HH8 1.1.2. Confusion in the Land of the Serverless • Sam Newman • GOTO 2018 https://www.youtube.com/watch?v=Y6B3Eqlj9Fw 1.1.3. Event-Driven…
-
-
-
Storage service
1.1. Storage service This service stores files on FTP, local, etc. This service stores stored files information in a DB table (documents table). The folders should be named as the entity types for…
-
Document service and document templates
There are two document templating and rendering engines: an Angular application that runs separately from the main ERP UI application, that is called by the main frontend application in order to get nice…
-
Microservices
1.1. Event sourcing https://www.confluent.io/blog/apache-kafka-for-service-architectures/ Events should have: a unique ID, message version, schema version, the name of the service that raised the event, data. The most common approach for handling breaking changes like…
-
Business logic
The business logic is implemented in an ERP module. The business logic will be stored in similarly named and structured folders as the entities or modules that it serves. Business logic can be…
-
Events
Microservice Events All database access will raise events, especially the writes. This has to be implemented (or override) in the base implementation of the ORM. The cache system will listen for these events…
-
Entity lock
When a user is editing an entity, an entry is added to a lock table and other users can’t edit that entity until the first users releases it. The lock table has to…
-
Logs
1.1.1. Log table All transactions should generate events, and the events stored in an event store. The transactions (API calls, ORM calls etc.) can be stored in a NOSQL database and analyzed in…