How to Integrate Outsystem App with Third-Party Sql Server DB


I have a complete back-end existing system developed in with SQL Server & Hosted on Third-party server.

I want to develop an application with Offline Sync pattern with the existing Sql Server.

Have developed a sample app for the offline sync pattern but with OutSystem Cloud.

But here My DB is on third-party, How can I Connect to it to maintain the offline Sync or Should I Use the only the REST Api between My App & Sql Server n then maintain a schema in Database that relies on Outsystem cloud.

Thanks in Advance.

Hi Assif,

As Eduardo pointed out, you can develop an Outsystems extension to expose the existing DB to your Outsytems app. However, that assumes that the existing DB is "visible" to external applications. If that is not the case, one alternative solution might be to develop webservices that would be hosted on your third-party server, and that would expose the DB to external apps.

Thanks @Eduardo & @Aurelio,

Went through both the solutions.

# REST API : What if I go with REST API  then how am gonna Implement the Offline Mechanism ? The Same way that we do normally ?

#Extension : If I go with extension for external DB & let say I connect & use the Optimized entities from the big Schema i.e the actual one, So again the same how am gonna Implement the Offline Mechanism ? The Same way that we do normally ? Also whether in this case system will update the DB on Cloud / External that we connected through Extension.



Yup it's a Mobile app & already went through the specified articles.

But still, I am confused with how I can Integrate the External one in a Offline Pattern.

Just let me know how /whether I can Integrate the external one with the Application for the offline.

Once I integrate with extension than whether the app will be pointing to the External or Cloud directly for the Sync?

Hello Assif,

After you used the Integration studio to create an extension to your external DB, the tables you "imported" will be available as Entities to your application. Just use them like a notmal entity.

External entities are "transparent" to an OutSystems application, you deal with them in the same way you deal with OutSystems entities. No difference.

You can fetch data, you can save data, etc.

So, when you do the sync, in the sesrver side, you just update or create data in the external entities, or fetch using aggregates. No differences.


Thanks Eduardo,

Sure will try the specified one.