Breaking the monolith: Introducing the Business Central System Application – Dynamics 365 Blog

Microsoft Cloud Blog | Aug 9, 2019 at 8:00 AM

The landscape in which ERP solutions operate is undergoing major changes. Those changes are also being referred to as the digital transformation or the industrial evolution 4.0. For Dynamics NAV to stay relevant, the product had to join that transformation and become a cloud solution, operating in the heart of the intelligent cloud. It had to become Business Central.

This fundamental change of the technology ecosystem requires fundamental changes to Business Central, which now must deal with the increased complexity of the ecosystem in which it operates. With the business application being a monolith, made for a code customization model, there are several challenges which arise, as the application is:

In order to restore simplicity and move forward efficiently, one of our initiatives is to componentize the monolithic application into smaller modules.

By componentizing the business logic in Business Central from the bottom-up, we get to “start over” and build the foundation, upon which a more extensible business logic can evolve. We are building a new foundation upon which the business applications of the future will be built.

Initially, we are factoring out all functionality that isn’t business logic as such. This code is a gang of low level helpers that support functionality and frameworks – we call it the System Application, the interface to the Business Central platform and cloud ecosystem:

For the first release of the System Application, the collection of modules looks as follows:

As the foundation is work in progress, you should expect new modules to be appearing regularly. If you would like to look into the latest state, you can always go to the GitHub repository where we will publish the latest improvements: https://github.com/Microsoft/alappextensions

In a series of blog posts, you will learn more about the architecture of the System Application, and you will get more details about the individual modules.