External Entities included in AO count?

External Entities included in AO count?

  

Hi,


If I'm using an external database, let say a database hosted in AWS, Google cloud platform, or Azure, will that be included in Application Object count?



Thanks,

Ruby

Mental Image wrote:

yes,

read this:

https://success.outsystems.com/Support/Enterprise_Customers/Licensing/Overview/Application_Object_count

regards,

MI

Would there be away that those External database won't be counted as a Application Object, let's say those external entities won't be imported in the app, but will be using a transact (TSQL) query to retrieve or do a data manipulation.



Thanks,

Ruby


Probably possible but still will count as an exposed REST API right? (which will be counted as AO)

Or maybe you could do 1 REST API which dynamic enough to pass and receive a whole SQL string so you can use the same API over and over again...

Eric Halim wrote:

Probably possible but still will count as an exposed REST API right? (which will be counted as AO)

Or maybe you could do 1 REST API which dynamic enough to pass and receive a whole SQL string so you can use the same API over and over again...

Yeah, that's my thought on REST API, that will be counted as AO. I'm just a bit hesitant passing a dynamic query.. won't it cause some security risk for that approach?


Solution

Hello Ruby,

It is possible to create an integration (using the Integration Studio IDE) with Actions that do all the querying and translate the result set into a list of Structures also defined in the integration. That way you are not using the platform for the integration with the external database (you are using .NET/Java code that you will have to maintain yourself), and as such it will not count for the AO limits:

Open Integration Studio:

  • Create Structure(s) that represents the data you want to return from the external database.
  • Create a new Action that returns a List of that Structure
  • Implement the newly created Action in .NET and/or Java that performs the query (internal implementation done outside the scope of the OutSystems Platform, and hence doesn't take advantage of any of it)
  • Reference and call the Action defined in the extension from your application modules without spending any AOs. 
Solution

Jorge Martins wrote:

Hello Ruby,

It is possible to create an integration (using the Integration Studio IDE) with Actions that do all the querying and translate the result set into a list of Structures also defined in the integration. That way you are not using the platform for the integration with the external database (you are using .NET/Java code that you will have to maintain yourself), and as such it will not count for the AO limits:

Open Integration Studio:

  • Create Structure(s) that represents the data you want to return from the external database.
  • Create a new Action that returns a List of that Structure
  • Implement the newly created Action in .NET and/or Java that performs the query (internal implementation done outside the scope of the OutSystems Platform, and hence doesn't take advantage of any of it)
  • Reference and call the Action defined in the extension from your application modules without spending any AOs. 

I think I will explore this approach. Thanks Jorge.


I suspect that if you use something like the AdvanceQuery extension to run dynamic TSQL against an external database to return a generic list and don't have specific entities declared in extensions then that may not count each table as an object. Not tested it but from what I can tell if you don't define an entity or REST point then it shouldn't count as an object

Hi John,

Let me clarify what counts for your AO limits (check this article for further details and examples):

  • Web Screens, Email Screens, SMS Screens, Mobile Screens;
  • Database Entities, Static Entities, External Entities (defined via an extension) and Local Storage Entities (on your mobile device) and;
  • Web Service (REST/SOAP) methods.