What is difference between Java Stack and dot net stack of Outsystems?


I would like to know the difference between Java Stack and Dot net stack.

Can someone please advice?

Thanks and Regards,

Suraj Borade

Hello Suraj,

The basic difference is the underlying stack where both the OutSystems platform and the developed applications run: in Java stack it runs on top of Java application servers (JBoss, WildFly, WebLogic) while for .NET stack is runs on top of .NET Application server (IIS). To support these differences, the Java stack is supported only on Linux operating systems (CentOS, RedHat, Oracle Linux), while the .NET stack is supported on Windows operating systems. Please refer to the system requirements document for the supported stacks and flavors.

Because of this, the differences are many and at several levels of the full stack and features, however, most of the application development using OutSystems is the same, because the platform abstracts the underlying technologies as much as possible.

With this in mind, do you have any specific aspect that you want to address with your question?


Hi Miguel,

Thanks a lot.

Customer asked me what they should choose between Java stack and dot net stack?

What are the differences at code level means while implementing any app, what different controls are there in Java and dot net stack?

Which one is more secure?

How much Java and dot net license will cost and how much they can save?

Can you please answer these questions?

Thanks and Regards,

Suraj Borade

Hello Suraj,

Choose between a stack should take into consideration several aspects of the solution (and the customer).

For an assessment of the best approach for that particular customer, I would suggest you reach out to our sales team to evaluate the best fit, as there are licensing and infrastructures costs considerations of the underlying technology that varies between stacks.

From a development point of view, the development of the web and mobile applications is practically the same, with the sole and large difference regarding the development of extension modules, which in Java are coded in java language, while in .NET are coded in C# language.

From the platform point of view, there are some core features that are only available for :NET stack, and there's a larger community developing OutSystems components for .NET stack only, so the universe of capabilities is smaller in the Java stack then in the .NET stack.

There's already a few discussion on the topic here in the forums (links below).

Overall, I strongly recommend to engage the sales team to identify the best fit for the customer.

Hope this information helps.




Thanks a lot Miguel. This is helpful.

A few points:

* There are many more Forge components on .NET than Java

* The Java stack seems to be missing a few features (SEO, query/action caching); this may not be true in version 10, though.

* Sometimes I will see a built-in action's documentation say "not available on the Java platform".

* I have been disappointed by JBoss and stability compared to IIS/.NET. I don't know if the problems are because of Java, the Java implementation of OutSystems, Oracle, or JBoss itself, but running JBoss + Oracle + OutSystems, at least in versions 8, 9, and 9.1, have been less stable for me in development environments than the IIS/.NET stack was. Production seems fine. The issues all seem to be around the deployment process... memory leaks, DB connection pool leaks, thread pool leaks.


Thanks Justin sir!!

Hi Suraj,

One point that nobody mentioned sofar is that there is also the difference that the Java Stack is only supported up to version 10. As of version 11 and upwards only .NET stack.