End-User application providing services
Question

Hi All

i have two application one is Ui module and another one core module and in the core module i have created all the roles which are required in the End user module.for that reason i have added dependency of role from core module to UI.

but in the architecture dashboard it is showing "End-User application providing services " what should i do to resove that issue.

i think the better solution is we can create one server action to check the role for user and that server action we can use in end user module rather than directly use the role through dependency.correct me if i am wrong.please find the below screenshot

Hi Arkyadeep,

We consume roles in a similar way in many projects, and don't get that warning in Architecture Dashboard. 

I think the warning you get is actually related to another module in the application. It is rather about an applicational dependency than a modular dependency. So I suggest you check if another module in that app is exposing actions / webblocks that are being consumed by another app.

Regards 

Hi Arkyadeep Bharadwaj 

can you share details from the dashboard

Dear Arkyadeep Bharadwaj,

You should create separate modules for Roles and consume in End user modules.

As per above screen shot End user modules access in others module which will not allowed as per architecture .

Regards,

Shahaji 



we have created separate core modules.end user module is separate module.accesing role from End User application with help of dependency

I think to solve the applicational dependency issue, its not enough to have the roles in an isolated module. That module still belongs to an application, which also has end-user (UI) modules, meaning modules with screens. So, when you consume that module in another app, it gives the applicational dependency warning, because you are creating a (strong) reference between two UI applications.

It's important to mention that an application's "layer" is determined by its upper-most module. So apparently you have other modules with screens (UI) in that app. This makes the app effectively a UI-layer app on the 3-Layer-Canvas. 

A solution could be to put the module with roles in a totally separate service application, which doesn't have UI modules. Namely, you can make the module with roles a Service Module, which doesn't even allow creation of screens.

This way, the module with roles will not be a part of a bigger End-user Application that provides services.

Hi.  I have end user module where we have all screens and we have one core service module where we have all service action action and server action and roles.

Now what I have to do?because end user module has dependency with core module not with any other UI MODULE






Hi,

The warning you get is on applicational level, not on modular level. So you don't have to change anything code-wise, as long as you have the roles isolated in a separate module (which you do). You just need to group service modules together, and end user modules together.

Your end user module and core service module are grouped together in the same application (G10X_DEV_ORDERSATZ). This makes G10X_DEV_ORDERSATZ an end user application. 

End user applications normally do not provide services, but yours is providing services like roles to other apps, which is not best practice.

I think you just need to put the module with the roles in another application, that doesn't have end user modules. So, you can move it to an already-existing service app, or create a new app that doesn't have UI.

This way, Architecture Dashboard will not think anymore that your end user application is providing services to other applications.

my enduser module is different application and Cs module is different application.

Right, but is your module with roles in the same application as another module that has screens?

CS module is a service module we dont have any screen and it is a seperate application in this module i have tole.

end user module is separate application .

I see. You don't have any other modules, which might have screens, in G10X_DEV_ORDERSATZ app, right? Because I see this message in your screenshot, implying that app G10X_DEV_ORDERSATZ has screens in it:

If that is not the case, I suggest you wait for the next sync of the Architecture Dashboard. There might be recent changes that are not yet visible in Arch Dashboard. If the issue persists, I suggest you get in touch with OutSystems via the Support Portal.

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.