I am currently researching how best to split a very large Mendix application in to a more maintanable set of smaller applications. I am interested to hear if anyone else has idears/best practices how best to do this.
My startingpoint is to make a grand overview of the data model. From this I am able to identify logical area's for splitting the application up. For example the messaging logic has almost no connections with other data entities. Additionally I am going to seperate my user management logic so it can be shared among the smaller applications.
The big challenge that I need to overcome is that in the main front-end application I want to snippets from other applications. On the dashboard I want an overview of the messages from the message app.To solve this I see three options:
- I could use webservices to retrieve all the relevant data, however if I do this for all seperated parts it will still lead to a very large monolithic front-end.
- I use webservices to retrieve a summary, and when clicking a details tab I redirect to the other app. This app wil have the same navigation structure similiar to how mendix has its sprintr and deployment app working side by side.
- Iframe the message app and get frustrated with resizing and resposive layouts.
Any alternatives or suggestions are wecome!