Mendix Cloud to support nested URL paths - Mendix Forum

Mendix Cloud to support nested URL paths

3

Studio Pro 10.3 has introduced the support of nested URL paths.

But this only works on-premise because Mendix cloud doesn't support this capability.

 

This capability facilitates the integration (iframe, cookies, authentication) of mendix inside other plateform like Siemens Industrial Edge, Siemens Teamcenter and others.

 

While integrating Mendix to these platforms, hosting Mendix in Mendix cloud remains the fastest way to value.

 

With such a capability, we could host Mendix in Mendix Cloud, TeamcenterX in its own cloud, but integrate Mendix as an iframe and provide a seamless experience to the end user.

asked
7 answers

I'm not sure the documentation is right. The way it is written is a bit vague.

 

Behind the environment details in Mendix Public Cloud, you can set ApplicationRootUrl as custom runtime setting.

 

Did you try that?

 

Created

I confirm it works on-premise, the purpose of this idea is to get it supported in Mendix Cloud.

Another section of the documentation explains the limitation

 

https://docs.mendix.com/developerportal/deploy/deployment-location/#2-paths

see highlighted lines in the screenshot below

 

 

 

image.png

 

Created

Sounds like an interesting use case. I think some external "gateway" is needed to serve as an umbrella to house multiple apps behind 1 hostname. This gateway then can serve (mendix) microservices behind different paths. That could already work in Mendix (public) cloud by overwriting your ApplicationRootURL :

 

https://docs.mendix.com/refguide/custom-settings/#applicationrooturl-section 

 

This assumes your cookies and other headers are not causing conflicts in these different apps/microservices.

 

My take and understanding of microservices is that they work best when they are API backends. The challenge is that Mendix apps are considered to be "fat microservices" due to its own database and more importantly in most situations its own UI.

 

Created

Interesting comment, it's because i try to generalize the need. In my view, the hosting application in not necessarly mendix.

In my particular context, the hosting application is Siemens Teamcenter which is taking care of the routing OOTB without external infra component. With this setup,  the mendix app can be considered as a micro-service among others, and can reuse the authorization cookie.

Created

Sure but i doubt what you are suggesting will ever land in Mendix Public cloud. They do not own all your other types of apps. So yes, technically what you are suggesting works but it requires some external infra component that brings it all together under one domain.

 

I think a better and more scalable solution is ability to do proper Oauth2 across different applications. So that user sessions are kinda "floating around". Of course this has other challenges like ability to change all related apps if needed.

 

Take the Mendix Platform itself, it is made up of many mendix apps. Their user session sharing is still not seamless everywhere. And the UI sometimes jumps around because not all mendix apps are in sync. It would be great to see when Mendix enables composition of apps. So one can have a super app where UI/frontend pieces of it can be loaded/integrated from other apps.

 

Created

Thanks for your comment, this approach allows to do more than iframing.

 

With this technic combined with a proxy configuration, the mendix app and the hosting app can have the same URL, they make one.

So the web browser accept to do iframe, and the mendix app can access the cookies of the hosting application, including the reuse of authorization cookie. And you can keep the samesite cookie option to "Strict".

 

One important difference to understand, you need to own both the mendix app and the hosting application to configure a common URL.

 

 

 

 

Created

I'm not familiar with the setup you are describing. But if iframe is your only requirement, you should be able to enable it on Mendix public cloud. See my comment here: https://community.mendix.com/link/space/deployment/questions/139338 

Created