If you’re an OutSystems user, you know that one of our key differentiators is our promise that developers and organizations will never hit a wall.

We’re focused on delivering extreme levels of developer productivity by automating the development and delivery processes as much as possible while ensuring dev teams don’t lose control over their code.


Table of contents:

How do we do this?

Well, OutSystems is open by design to allow all layers of applications to be extended with your own code. This means that developers can extend the backend as well as frontend with custom JavaScript logic and the database by creating database queries with custom SQL statements.

You can read more about it in our article about Low-Code Integrations.

When do you need to extend OutSystems?

Our customers typically extend OutSystems when faced with three scenarios:

  1. Existing code: You already have in-house systems and don't want to migrate everything to low-code. It's existing logic that’s been tested and is used in production. Or, you may simply want to integrate with existing SDKs or libraries and take advantage of what already exists to quickly increase the expressiveness of your applications.
  2. Wraparound online code: You may be facing a challenge in your application and stumble upon a piece of code in an online forum that solves your problem. In this case, you simply need to take that code and bring it to your application and start using it directly.
  3. Custom code: You need to create your own code and extend the platform as you wish with your own algorithms to solve your specific use cases.

But what about custom code in your cloud-native applications built with the OutSystems platform?

Custom code in the OutSystems Developer Cloud

The OutSystems Developer Cloud (ODC) is a new way to deploy applications built with the OutSystems low-code platform with cloud-native capabilities. ODC supports Kubernetes, Linux containers, and microservices, all based on Amazon Web Services (AWS) native cloud services.

This way, organizations can build software solutions with the scalability, availability, and efficiency demanded by the ever-changing modern business landscape.

And we’ve just made the ability to extend ODC with custom code available!

This means that OutSystems users can now extend their applications with custom code (.NET) while leveraging all cloud-native properties, from security to autoscaling, and truly build applications with no limits.

What challenges is custom code in ODC solving

There are many ways to integrate with custom code. One way could be to create your solution, host a REST API to expose the code, handle all authentication and authorization, and then integrate everything via API. But you’d still need to take care of your applications’ security, performance and scalability. And, if we’re dealing with cloud native applications, everything gets more nuanced.

But, at OutSystems, we’re all about automation and abstraction, so we’ve abstracted all the complexity out of building cloud-native apps. All you need to do is focus on what matters — the application development itself.

We’re addressing the custom code problem in two ways:

  • We increased our Math, Date, and URL integration support and created a new security integration exposing security and cryptographic functionalities to address more than 80% of custom code scenarios.
  • For the long tail, we’re resorting to a cloud native approach, leveraging Function-as-a-Service.

What is Function-as-a-Service (FaaS) and what benefit does it bring you?

In cloud-native scenarios, function-as-a-service allows developers to build, compute, run, and manage application packages as functions without having to maintain the infrastructure, and in which the underlying technologies assure both security and scalability.

With this approach, you can create a truly microservice-type of architecture where you can modify small pieces of code without having to redeploy the entire system. This is the approach we’ve taken with ODC — moving from a monolithic application to a microservice-oriented architecture.

How FaaS works in OutSystems.

This way, when building custom code in ODC:

  • Developers are not responsible for server management, applications are easy to scale, and everything is managed by the underlying platform.
  • Code is secure as it is executed isolated from the application. This means that malicious code cannot run in your application, nor does it have access to your application internals.

The code runs independently from your application in a dedicated environment that’s able to scale automatically, thus promoting security, performance and scalability.

How does custom code in ODC work?

The best part about ODC is that developers don’t need to worry about any underlying technology to create custom code. We take care of all the complexity for you.

ODC allows developers to build their custom code as they are used to, using their favorite tools, code repositories and processes. This way, besides abstracting all of the underlying technology, you can keep creating your custom code solutions as usual.

And you can still take advantage of all the low-code benefits that you're accustomed to, such as:

  • Governance, to manage who can use and create these custom code elements.
  • Impact analysis to understand the impact changes have on your applications.
  • Versioning, allowing you to keep releasing new versions of your custom code actions effortlessly.

How to integrate custom code in OutSystems

Here’s a sneak preview of how to integrate custom code in ODC:

3 Steps to integrate custom code in OutSystems. 
  • Step 1: You can use your favorite IDE and follow your in-house software development life cycle, from development to deployment.
  • Step 2: Once the code is built and tested, it just needs to be packaged and uploaded to the Portal, where the code will be mapped into low-code constructs.

With this approach, you can

  • Write your own C# code
  • Reuse all of the .NET frameworks
  • Reuse existing libraries.

A Library exposing server actions becomes available and can be reused across applications.

To learn more, check out our official documentation.

Explore cloud-native with no limits

With OutSystems, there are no limits to what you can create, be it web, mobile, or cloud-native applications that scale to millions of users.

Learn more about ODC by exploring our dedicated platform page.