Low Code Integration and Reusability

Jakob Rahr Bork Jensen
3 min readOct 28, 2020

Fitting low code applications efficiently into your systems landscape.

As a means to improve efficiency throughout the end-to-end software delivery lifecycle, modern development practices emphasize reusability. Monolithic applications are broken up into a number of services, sometimes all the way down into microservices. Similarly, applications are built up of a number of components, that can ideally be reused by other applications.

When turning attention towards low code, a natural question would be, whether such principles can be utilized within low code applications. With OutSystems, the answer is yes!

OutSystems allow you to build up your applications as 1-n components. Each component can be reused throughout any number of applications. This is similar to referencing other modules in traditional programming. For your organization, this means efficiencies can be gained by applying sound architecture analysis into which functionalities can be carved out into their own components. That way, they can be reused and time-to-market can be even further improved!

Another important question to answer is of course, whether OutSystems applications can work together with your existing systems landscape. Again, the answer is yes! OutSystems is a very extroverted platform, intended to enable you to create both small and big applications, that coexist with external systems and plays their part in a bigger picture. Just how far this goes, we will look deeper into now.

Visualization of components in an OutSystems application and the external services it connects to

Interacting with external systems

OutSystems applications are open to both consume and expose APIs, through which it will interact with other systems in your systems landscape. Both SOAP and REST APIs are supported for consumption, while only REST APIs can be exposed.

Through these channels, your OutSystems applications can easily integrate with external systems, such as databases and ERP-, CMS- and CRM systems. Also, custom APIs can be easily integrated to through these protocols.

Consuming an REST API has been made incredibly easy with OutSystems. Provide the URI of the API, specify query parameters and header. Voila! Upon testing the API call, OutSystems automatically creates a data structure for you, matches the syntax of the API response — meaning your function for consuming the API is up and running in literally minutes.

Likewise, for exposing APIs, you can define a data structure, query parameters and authentication in minutes. Deploy in a minute and test out your API. What’s that for rapid development?

Wrap integrations in dedicated components

Best practice when working with integrations in OutSystems, is to build all related handling and logic into a dedicated component — a so-called wrapper component. This way the integration can be utilized across various applications just by referencing the component.

Typical logic within wrapper components is both the actual interaction with external APIs and the manipulation of the received data. For instance, inputs from several external APIs can be combined into a newly defined data structure to be utilized by consumers of the wrapper component.

The same principles apply for exposing APIs through dedicated components.

Continue using the third-party services you prefer— more likely than not, an OutSystems connector has already been created​

Make use of third-party connectors to speed up your development

Connectors to a long list of third-party tools and applications are already available to you, either developed and maintained by OutSystems or by the open source community around OutSystems.

A Connector is basically just a wrapper component, similar to the ones mentioned above, that makes it easy for you to interact with an external API. As such, a Connector can be imported into your OutSystems Environment as a component, that can then be referenced by applications.

Currently, available Connectors include areas such as databases, collaboration tools, social media, public cloud services, CRM tools, monitoring tools and many others, as it can be seen above.

--

--

Jakob Rahr Bork Jensen

Jakob is working as a Management Consultant within IT at Deloitte Consulting. Primarily works with IT-development & -architecture, Cloud, DevOps and Low Code.