40
Views
4
Comments
Concerns with SQL Server Integration - Security and Tightly Coupled Apps to DB?

I am an Outsystems Applications Developer for a privately owned company with six years experience. From what I understand, our database and Outsystems are both hosted on-premise.

Currently, we are utilizing APIs to communicate with our SQL Server database to work with data. It has been a difficult adjustment for me, as it seems like we are losing out on many advantages the platform offers regarding scaffolding and performance.

Therefore, I'm pitching the idea of removing the API layer as an in-between, and instead building views for our data in SQL Server and integrating them into our Outsystems apps directly. This is something I did all the time in my previous position and to my knowledge, it worked fine for everyone involved.

This idea has been met with some resistance by some within the company with things like "security" and "tightly-coupled" as common concerns. Right now, our APIs query direct DB tables (not views), so in my mind, our current practice doesn't seem very secure, anyways. Also, performance in our Outsystems apps when utilizing these APIs is very slow.

What is the best practice for integrating external databases to Outsystems apps from an architecture standpoint, and what are some arguments I can offer to alleviate concerns such as security and the apps being tightly coupled to the DB?

Thanks in advance.

UserImage.jpg
Ryan Saunderson

Hi @Cory Kourcklas

Seems like Integration Builder would be right up your alley, no?

https://integrationbuilder.outsystems.com

Cheers,

Ryan

2024-07-05 14-16-55
Daniël Kuhlmann
 
MVP

HI Corey,

I would suggest a hybrid approach. Create APis for any update, insert and delete actions. Use read only aggregates for read. This way you can keep having benefits from the scafolding and entity mesh up features of OutSystems.

This in combination with views should give still enough room for decoupling and data hiding.

Regards,

Daniel


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