FREE OutSystems Workshops - Build an OutSystems App in 1 hour | ENROLL NOW

Tech Bites - Why you shouldn't be using CRUD actions everywhere

< Back to Blog

One common architecture issue when people start learning OutSystems is using entities' CRUD actions in multiple places.

Using our Order Management application as an example, we have a form to create, update and check the status of customers ' orders.

In this case, the Approve and Submit buttons in the save action do not invoke the CRUD action, as you can see.

We use a "server action" as a wrapper between the client-side and the database.

That action, implemented on a core module, makes all the validations needed before committing changes to the database.

Every one of those validations aborts the create or update action if the data is invalid.

For example: trying to approve or submit an amount lower than zero.

This way, when handling orders, we have a server action, which only accepts valid input data!

There are many things to grasp about software development architecture and, in particular, OutSystems architecture layers. Join us in one of our programs to learn more about it and other advanced topics.

Turn Up Academy

Apply to our Turn Up Boot Camp


Latest Articles

‍What’s new in OutSystems Developer Cloud

‍What’s new in OutSystems Developer Cloud

Have you heard about the OutSystems Developer Cloud and want to know more about what's new and what the big benefits are? Then this article is for you!

Tech Bites - Should we validate form data on server-side?

Should we validate form data on server-side

When including forms in applications, developers often wonder if they need to re-validate data on the server side after having checked it on the client. Why go to the trouble of checking the data twice?

Tech Bites
The Top 5 Mistakes Handling Asynchronous Data In Outsystems Reactive Apps And How To Avoid Them

The Top 5 Mistakes Handling Asynchronous Data In Outsystems Reactive Apps

When developing an OutSystems reactive web app, you would expect to display data quickly, but it doesn't always happen. Do you know why? We'll explore the reasons and how to tackle them.