Skip to content
Dynamics 365 Blog

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.

Intelligent Cloud

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:

Book Escavator Tree Tools
Hard to understand and to document Hard to extend and build upon Hard to evolve Hard to maintain

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

Componentization

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:Layers

By constructing the System Application out of small building blocks, the so-called modules, we achieve a variety of advantages, as modules have the following properties:

Separate Concerns Stable API Encapsulate Lock
They separate concerns and are functionally coherent​ They have stable, well documented APIs that are exposed through facades They encapsulate complexity and hide implementation details They have a small attack surface, which makes them easier to secure
Fast Compile Discussion Performance Versioning
They are faster to compile and publish, which supports a good developer experience Their size and clear purpose allow for a code contribution model and focused design discussions They are easier to performance test and monitor They allow for individual versioning and effective upgrading

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

a screenshot of a cell phone

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.

We're always looking for feedback and would like to hear from you. Please head to the Dynamics 365 Community to start a discussion, ask questions, and tell us what you think!

Join the conversation

Leave a Reply

Your email address will not be published. Required fields are marked *

I understand by submitting this form Microsoft is collecting my name, email and comment as a means to track comments on this website. This information will also be processed by an outside service for Spam protection. For more information, please review our Privacy Policy and Terms of Use.

Loading comments...