A Full Stack Microservices Framework with Business Modelling

Microservices architecture is widely adopted in modern systems when scalability and code maintainability is a concern. It is more flexible than monolithic architecture and ensures a smooth transition into cloud-native environments. This paper presents a novel approach to model both business processes and domain knowledge in a unified specification that could produce boilerplate code compliant with microservices architecture. It also introduces MSstack, our full-stack framework for creating business process pipelines using microservices architecture, with built-in logging, monitoring, load balancing, and scaling capabilities. Together, they enable developers to create a domain model, convert it to domain-specific boilerplate code, and implement business logic on it, while abstracting the complexities of microservices and accelerating development. To evaluate this approach, a sample business process was implemented using MSstack, Spring Boot 2.0 and MSF4J 2.4.0 respectively and tested up to a concurrency of 300 users. Results show that their peak request throughputs are 81044 $s^{-1}$, 60283 $s^{-1}$ and 23781 $s^{-1}$ respectively. The maximum latency observed in MSstack is 1ms lower than MSF4J, and 6.0 ms lower than Spring Boot. Heap memory usage of MSstack is lower than the rest. Its CPU usage is on par with MSF4J, but lower than of Spring Boot.