Extraction of Data

I would like to extract the data out of the OutSystems platform to load into a enterprise warehouse for Analytical purposes.  Is there a best practice for this type of extraction?  I understand that schemas and tables may constantly change throughout it's life cycle.  Please inform and thanks.

You need to extract data into a pdf/excel/word file or something like this ? Or you need to send data by WebService? It is possible in all ways. The type of extraction will depend on the data quantity you want to extract and the data types.

Hi Tim,

Luckily, "schemas and tables" don't change at all, unless you explicitly modify them. Of course, tables can have columns added (though not typically removed - when removing an Attribute from an Entity, the underlying column stays in the table), but that can be dealt with.

I'm not sure whether there are best practices to export the data - it'll depend on the size and type of data you want to export, whether you already want it derelationalized etc.

As for a real-life example, we're using Qlik Sense for reporting, and we use direct database access + SQL queries to retrieve the data. The only semi-tricky thing is knowing the physical table names, but those can be retrieved from the System Entities (most notably the Entity Entity).

Tim Korba wrote:

I would like to extract the data out of the OutSystems platform to load into a enterprise warehouse for Analytical purposes.  Is there a best practice for this type of extraction?  I understand that schemas and tables may constantly change throughout it's life cycle.  Please inform and thanks.

I hope the best practice is to download the Data as an Excell format. To do it you have to create Excell Export button for it and initialize the DataTable name. You will get the database Table by doing it.

@Sudip: that's not feasible in case of data warehouses, as the amount of data is way too much.

If the integration is by excel files or some other kind of files, just create a timer to create those files and a page to download them. 

if is through web services: create an integration module to create wrappers for the webservice calls and them create a timer to do sincronization of the data


br