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.
Hi @Cory Kourcklas Seems like Integration Builder would be right up your alley, no?https://integrationbuilder.outsystems.comCheers,
Ryan
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
This is actually something I suggested, as well. Although I understand the concepts of SOA, I wouldn't consider myself an expert. Can you speak to how a hybrid approach would fit SOA, and if integrating views into an IS module is commonly accepted practice?
Hi Cory,
Might I suggest the following reads that should help you understand better the hybrid approach:
Additional reads:
Kind regards,