Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Note
titleDraft: Work in Progress

This document is subject to change without notice.

Introduction

Apache Fineract (simply “Fineract”) is built around a multitenant, service oriented, and tiered architecture, and can be deployed in a SaaS (Software as a Service) model or on-premises.

...

The main design principle of the Engine is CQRS ( Command Query Responsibility Segregation ), a pattern that separates commands and queries into different models and services. This approach has multiple benefits: 1) State changes (commands) are persisted, providing an audit of all changes, 2) fine grained control and extension of state changes, and 3) scalability based on consumer behavior and real system load.

...

  • Database caching stores records on the database level and is useful for reporting, batch jobs, and low level SQL queries.
  • 2nd Level caching stores data objects on the application level and keeps database turnarounds on a very low level allowing fast in-memory access of frequent data.

Architecture (in 2020)

The Engine’s architecture was designed with a focus on modern, scalable and extensible technologies ready to run in the cloud. All components where were selected based on their maturity, proven reliability and cost efficiency.

...

The basic Fineract architecture is as follows:

ResourceComponentComment
Operating SystemLinux, Windows, Mac OSAmazon AWS image and Debian package available
RuntimeJava
7.x 
>=11
Application ServerTomcat
7
v9.xEmbedded Tomcat for development environments
DatabaseMySQL 5.
x
7Embedded MariaDB for development environments
Application FrameworkSpring Framework
4
5.x
 

Persistence FrameworkOpenJPA
2
3.x
 

Test FrameworkJUnit
4
5.x 
Mockito
1
3.x
REST-assured
2
4.x