Orchestration Module in Mobile App


I am developing a mobile application that has two end user modules. Both modules make use of same login and home screen . I cannot keep these two screens in either module because this would result in side reference in end user layer violating 4layer architecture.

To handle this, I plan to keep the login and home screens in a common module Please let me know if this is the right approach and would there be any implementation challenges?

Thanks 

Junaid


Hi Junaid,

Your reasoning seems sound. I think you could accomplish this by converting your common screens into webblocks, and then using these webblocks in the Login and Home screens of your end user modules. You avoid the side references in the upper layers that you identified, and make your common UI and logic reusable.

Hi Junaid,

Currently, mobile applications can only have one end-user module per application (or more specifically, only one module with Mobile Screens on it).

This means that, at least with the current version of the platform, all your mobile screens need to be in the same module, you cannot separate them like you described (this limitation, does have the side effect of avoiding the entire concern you are having).

On Web Applications, and on OutSystems 11, Web Screen references are now weak references, so they do not violate the sideways dependencies rule anymore, you will have a sound architecture even if two End-User modules are referencing each other's web screens.

Hope this helps!

Jorge Martins wrote:

Hi Junaid,

Currently, mobile applications can only have one end-user module per application (or more specifically, only one module with Mobile Screens on it).

This means that, at least with the current version of the platform, all your mobile screens need to be in the same module, you cannot separate them like you described (this limitation, does have the side effect of avoiding the entire concern you are having).

On Web Applications, and on OutSystems 11, Web Screen references are now weak references, so they do not violate the sideways dependencies rule anymore, you will have a sound architecture even if two End-User modules are referencing each other's web screens.

Hope this helps!

Jorge, within an application, I am able to create screens in separate modules but they cannot be shared/referenced among the modules. I think you were trying to make the same point. This limitation is major and totally against the modular concept OutSystems brags about. I have 4-5 modules that are to be implemented with same login and home screen as start point. With all the mobile screens for these modules dumped into one e-space, it is going to end up being a monster.

Below is the pictorial view of what I was trying to achieve. Each rectangle and oval represents an OutSystems application and e-space respectively. Please share if there are better suggestions to achieve this.


Hi,

Although the above architecture for web applications is valid for mobile is not as Jorge Martins already mentioned.

You cannot have mobile apps integrate like that, think about how that should work in a mobile device?

As already mentioned by Jorge, the way to go is to put all readable UI in webblocks. Your screens will just have the webblock included. Your UI module can have multiple screens with same webblock.

All this is documented in OutSystems documentation and covered by training material, no bragging involved.

Regards,

Daniel