204
Views
1
Comments
Solved
Reducing Application Objects count
Question
Application Type
Reactive

Hi Community,

Recently, I started learning about this concept of AOs as my company will be moving into this subscription model soon. As such, had also started researching on ways to reduce the AO count. Had already went thru these 2 links,

Felt that the above 2 links are so far, the best resources i can find. But i do still have the following questions

  1. When it's mentioned that 1 entity counted as 1 AO, does it mean it doesn't take into consideration how many times this entity is being called or accessed?
    • For example, I might have 1 entity in a screen, but maybe this screen will only access by the admin twice a year. But it will counts as 1 AO?
    • I might have 3 aggregates, instead of fetching the aggregates 3 times via 'Fetch Data from Database', if I have 1 data actions to retrieve the 3 aggregates, does it makes a difference in the AOs?
  2. All along, i was wondering why some apps have a core widget module. Is it because this module, will contain all (or most of) the web-blocks that the end-user module will depend on? If this is the case, there will be quite a fair bit of event handling right?
  3. I have also downloaded the 'OutSystems UI Style Guide Preview' to take a look at how the application is being structured (It's supported by OutSystems)
    • I noticed they have quite a fair bit of If/Else in the widget tree to display the required web blocks
    • Is this one of the ways to reduce the AOs as in reactive app, web blocks and pop-ups doesn't count as one


Having said that, if I really do the following, there is nothing to stop me, and I can reduce the AOs right? Anyway, the following scenario is an extreme one, just to illustrate my point.

  1. I can create only 1 screen, but i have 100 web blocks.
  2. And whenever user click on the list or menu, i just use the if/else model to display the correct web block?
  3. For entity, i might only have 2 or 3, as having so such attributes in an entity do affect performance as well
  4. So this will mean, 1 screen (1 AO), 3 entities (3 AOs), which will make it of total of 4 AOs only?
  5. If i have forge components which has AO of their own, it will add to my AO right?

Edited, adding more questions

6. So if my entity maybe have 10 attributes, and if for some strange reasons, i choose to create 5 different end-user applications, and each application will only perform CRUD on 2 of the attributes, the AO will still count as 1? Of course, 5 different end-user applications with 5 screens, will add 5 AO


Am still infant in this concept, and trying to find out more.


Thank you!

UserImage.jpg
Afaque Shaikh
Solution

Hi, 

I'll do my best to answer your questions about Application Objects (AOs) and reducing AO count: 

1. Entity counting: Yes, if an entity is used once or multiple times, it still counts as one AO. The frequency of access doesn't affect the AO count.

2.Core widget module: Yes, using a core widget module can lead to more event handling, but it's a trade-off for reducing AOs. The core widget module typically contains reusable web blocks and logic to reduce duplication and minimize AOs. This approach promotes modularity and reusability.

 

3. 

    -    OutSystems UI Style Guide: The guide demonstrates best practices, including using If/Else conditions to display web blocks. This approach can help reduce AOs by minimizing the number of screens and web blocks.

 

    -    Extreme scenario: While technically possible, creating one screen with 100 web blocks and using If/Else conditions to display them is not a recommended approach. It may lead to performance issues, maintenance challenges, and a complex user experience.

 

    -    Forge components: Yes, forge components with their own AOs will add to your total AO count.


Thanks,

Afaque

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