Low-code technologies are gaining more and more traction in the IT world and, consequently, skills in this area are also becoming more important. One of the most popular low-code platforms is OutSystems. Why is this technology worth knowing? How to obtain the basic Associate Reactive Developer certificate? Yohann Figueira-Putresza, a developer from Pretius Low-Code, talks about his experiences.
In response to the increased demand for development services – it grows faster than the number of IT specialists – technologies from the Low-Code Development Platform category are quickly gaining popularity. Their producers provide a range of solutions for designing web or mobile applications, in which complex code is hidden in the form of easy-to-use, graphical, “semi-finished” elements. Low-code platforms allow developers to design advanced, functional applications without knowledge of a programming language. This is a great option for growing companies that are looking for upgrade paths. There are many low-code platforms on the market, such as Oracle Application Express (APEX), Mendix or, the subject of this article, OutSystems.
What is the OutSystems platform?
OutSystems was created in 2001 and over the past 20 years, the platform has become one of the leaders of the low-code segment. It’s a technology used by companies all over the world, including giants from various industries: Mercedes-Benz, Volkswagen, Honda, ING, AXA, Intel, and Hewlett-Packard. According to its creators, OutSystems owes its popularity to the speed with which you can implement new solutions that are not inferior to the traditionally designed applications – in fact, their level of sophistication is pretty much the same.
OutSystems – how much does it cost?
OutSystems’ producer offers various forms of access to the platform. Depending on the intended use of the application and the assumed number of users, four license levels are available. You can choose between Free, Basic, Standard, and Enterprise versions. Each of them is addressed to a different group of enterprises and provides a different set of tools. Of course, the subsequent versions are also more and more expensive.
- Free – a version of the OutSystems platform you can use free of charge. It’s an interesting solution for small enterprises that only want to create simple applications for internal use. It requires the use of shared memory in the public OutSystems cloud and limits the available memory to 2 GB, but that should be sufficient for small application requirements. It’s also a great option for developers who are just getting to know this technology, learning how it works.
- Basic – prices of the basic version start at 4 thousand dollars per month (in case of annual subscription). What do you get for this price? For starters, the number of internal end users is increased to a thousand (in the Free version, there can be up to 100 of them). You can also set up your own infrastructure based on OutSystems cloud, get access to two additional environments, pipeline, and CI/CD (Continuous Integration & Deployment) function to help with the implementation of applications.
- Standard – the Standard version costs a minimum of $10k per month. It completely removes the limit of internal end users and offers a number of additional benefits. These include the ability to use the technology locally (“on-premise”) or in a private cloud and access to a more secure and constantly monitored variant of the OutSystems cloud (so-called “high compliance”). For an additional fee, we can also increase the number of available environments.
- Enterprise – the cost of the Enterprise version is determined individually for each customer. The main differences from the cheaper variants are the number of environments that we receive for use (base is 5 but with an option to increase) and pipelines (2 – in this case we can also pay extra to get more).
It’s worth noting that with all paid versions of the OutSystems platform we can also take advantage of customer support. Its exact scope depends on the subscription – for example, with the Enterprise variant we have the option to contact the producer at any time (support functions in the 24/7 model). If we buy any subscription, we also receive an uptime guarantee – the OutSystems cloud will be available to us almost always (99.5% of the time).
The OutSystems platform – biggest advantages
Low-code ease of use
The undeniable benefit of using low-code platforms is the things you save – money and, most importantly, time. It’s because of the simplified design method. The presentation of complex code in the form of ready-to-connect graphical elements means that in order to build the database and the application logic, you just need to create a proper block diagram. We don’t need any programming language knowledge to build a simple system.
The producers of OutSystems have taken the idea described above deeply to heart. The programming environment assists the developer at every step, reducing his task to issuing commands, which the technology translates into the appropriate programming language. This way, creating the tables that the database is built from, and then entering data into them, requires only a few mouse clicks and filling in the fields. It’s no more complicated than filling in a sheet in Excel. Building complex logic, on the other hand, comes down to creating a flowchart. We do it by combining several logical elements – we can choose conditional If statements, and For and While loops, among other things.
An AI algorithm’s assistance
In OutSystems, Artificial intelligence assists us in designing applications. Its influence can be seen, for example, when we create columns of a new table in the database, or set parameters in the application, that require the definition of data type. Based on the name of the column or parameter, the software automatically sets the most appropriate type of data. It’s worth noting that among the available options, in addition to the standard types (e.g. Text, Integer, Long Integer, etc.), there are also such possibilities as Email, Phone Number, or Currency.
How does it work in practice? For example, if we name a column in the Price table, the data type will automatically be set to Currency – due to the fact that the name we gave most likely refers to a monetary value. Naming the Phone_Number table will set its data type to Phone Number and the Employee_Email table will be assigned the Email data type. For more advanced developers, the platform producers have also provided an option to enter custom code.
A huge and active community
Regardless of your level of knowledge and sophistication in using the platform, some difficulties and errors are basically inevitable. Fortunately, when working in OutSystems, a progress block is unlikely to last long. Why? This is due to several different factors.
First, we have at our disposal the platform’s extensive website, an important part of which is a collection of knowledge and tips about using the design environment and its elements, along with specific instructions. The documentation is detailed and described in an accessible, well-thought-out manner.
Secondly, we can also look for solutions to various problems on a large forum, where developers share their experiences and ideas for overcoming various difficulties and obstacles. Due to the number of existing entries, there is a good chance that our problem – or at least an issue similar to it – has already been described and solved by someone in the past.
Finally, in case of more advanced technical problems, e.g. with the operation of the development environment, you can ask Support for help, using this website. However, when using the Support service, one should take into account that the owners of more expensive versions of OutSystems have priority (as previously described).
OutSystems – Service Studio interface
Application development in OutSystems takes place in an Integrated Development Environment (IDE) called Service Studio. It’s a desktop environment. The producers have adopted a standard interface layout, which makes the platform very intuitive for developers previously working with other tools, but also makes the first steps with OutSystems easier for less experienced people.
The screen has been divided into 3 panels:
- main panel, where we design our application,
- left panel, where we can find a set of interface elements to be used in the application,
- the right panel which is used to configure the interface elements you use, and to navigate through the IDE.
Above the right panel, there are four more tabs – Processes, Interface, Logic, and Data. They lead to different levels of the designed application. Above the main panel, there is also a “1-Click Publish Button”. It has 3 roles: it warns you about an error when it detects one within the application under construction, allows you to publish the module with updates, and opens the application in the browser when it is already updated.
First steps with the OutSystems platform – my road to the Associate Reactive Developer certificate
The creators of OutSystems encourage people to learn their environment by building a development path based on a system of certificates. Files available for download contain information about possible exams – their course, necessary issues to master, etc. They also contain a sample exam, which is a good reference point for assessing the current state of knowledge.
The latter can be acquired in two ways – through boot camps or online courses. The cost of a boot camp (unfortunately the producer does not give it on his website) includes the fee you need to pay for the exam. Online courses, on the other hand, are free and consist of a series of recordings and presentations discussing the successive stages of getting familiar with OutSystems. There are also tasks to be completed on your own in the development environment. In this case, after completing the course, you have to register for the exam yourself and pay a fee of $150.
However, before you take the money out of your wallet (or rather transfer it from your account), you can familiarize yourself with the basic features of OutSystems – based on the short tutorial I have prepared for you below. All the presented information is based on my own experience, gained during 10 weeks of learning OutSystems – which ended with earning the Associate Reactive Developer certificate.
OutSystems platform – registration and installation
I started working with OutSystems by gaining access to the free version of the environment – to do this, just click on the “Start Free” button on the platform’s website. In the registration sheet, I entered my personal data. I was also asked about the purpose for creating the account – I indicated that I want to build an application for my own use.
After confirming my email address, my environment was created in the OutSystems cloud, and I was given the opportunity to download the Service Studio integrated development environment. Since it’s a desktop application, it’s tied to the device on which it will be installed – in this respect OutSystems is inferior to other low-code platforms (such as Oracle APEX) that offer browser-based access to the IDE. Downloading and installing the Service Studio program takes a few minutes. The final step is to go through the prepared “Build an app in 5 minutes” tutorial, which presents several steps we need to follow to create our first mobile app using the platform. After completing the tutorial, the environment is ready to go.
Service Studio basics and learning for the certificate
With the IDE already installed, the only thing left was learning how to navigate it. This is where the online courses provided by the platform’s creators came in handy. Guided Paths is a series of free tutorials that make the transition from novice to low-code developer relatively easy and fast.
Of all the courses available, I chose Becoming a Reactive Web Developer. The tutorial consists of informative videos that are concluded with a few questions, which are designed to test your understanding of a particular topic. We are also given an assignment to solve on our own, with accompanying instructions. The content is conveyed in a clear manner – understanding the issues did not cause me any trouble at all. Doing the test tasks on your own allows you to build up your confidence and gives you satisfaction – you know how much progress you have made. However, reaching a level of knowledge that would allow me to pass the exam required additional, independent work on my part, beyond the tasks mentioned above.
Possible problems with learning OutSystems – naming
My knowledge of the SQL language turned out to be the source of my first, rather unusual problem. It turned out that OutSystems has applied its own naming scheme to the elements of which the database consists.
What I used to call Table is now called Entity, and the columns that make up a Table are called Attributes. The place to enter a new item in the table is named Record (instead of Row, which we know from SQL), and to build relations between tables instead of Primary Key and Foreign Key we use Identifier and Reference Attribute. Recalling data from the database is similarly problematic. This action is not performed using Query – instead, we have to create so-called Aggregates.
These seemingly trivial changes in the naming scheme somehow couldn’t take root in my memory for a surprisingly long time. And obviously, mastering the vocabulary is necessary to make progress in the course.
However, in my case, that was where the real obstacles to learning OutSystems ended. The Becoming a Reactive Web Developer course is laid out in such a way, that ambiguities are kept to a minimum. And when they did appear, I was able to find the explanations very quickly using the documentation that is available on the Internet.
The exam is harder – this is how to approach it
From the very beginning, my goal was to obtain the Associate Reactive Developer certification, and I finally succeeded – but getting to that point turned out to be a bit more challenging than it seemed at first. Admittedly, before taking the exam I did review the sample test that is available in the support files included with the certification information, but the actual exam turned out to be much more difficult and detailed than the one that is supposed to serve as an example.
Still, going through the sample test and trying to solve it is a good way to check your level of knowledge (although there’s no point in doing it repeatedly – the questions are always the same and you’ll quickly memorize them). It allows you to draw some conclusions about the context of the questions you might expect on the actual exam and also gives you an idea of its structure. It’s a choice test with answers A, B, C, and D, but the questions are usually presented in the form of scenarios. Our job is to identify the answers that fit the given situation best.
Overall, I believe that people seeking the Associate Reactive Developer certification should familiarize themselves with both the course and the test exam. At the same time, however, the information and experience acquired through them are, by themselves, not enough to handle the actual challenge. Therefore, I decided to expand my knowledge and, above all, test it in practice, by focusing on working on a sample application. I assumed that thanks to this, I will be able to discover the capabilities of OutSystems on my own.
I modeled it on an application that I once built as a test (for internal use) in Oracle Application Express technology. It was based on requirements received from a potential Pretius client. It was a CRM system for a publishing house that works with various bookstores. The client wanted software that would help them manage promotional campaigns, related to new book launches, for example. I decided to recreate this program in the OutSystems environment – I put myself in the role of the owner of such a company and tried to come up with a tool that would make my work easier.
This approach worked perfectly. By creating my sample application, I learned the specifics of OutSystems much better. I also got used to the problematic (for me) naming, and I consolidated the knowledge gained during the course. It seems to me that if your aim is rapid learning, there is no better way to progress. In the future, I’ll continue this article, and show you the precise steps I took when building the app.
The OutSystems platform – software development for everyone
Practically anyone can become an OutSystems developer, if they go through the course meticulously, put in some additional work, and, above all, have the right mindset. Passing the exam and obtaining a certificate may turn out to be a bit more problematic than the course itself, but it’s not a challenge that can’t be overcome. In my case, the whole process took about 10 weeks, with about 6-8 hours of daily study (excluding weekends). For those who have worked in software development before, the knowledge – like naming schemes – learned from working with other technologies can create some additional problems. At the end of the day, however, OutSystems is a powerful and relatively easy to learn low-code tool that will allow you to quickly start building your own applications. And, as we know, the demand for programmers, including low-code ones, is constantly growing. If you’re in need of more information on OutSystems, check out the other parts of my article series:
- OutSystems application development: First steps
- Learn OutSystems: Using variables and building application logic
Do you need low-code experts?
Pretius has extensive experience with various low-code platforms, such as OutSystems, Oracle Application Express (APEX), and Mendix. We know how to achieve truly spectacular results with these solutions. If you want to use our knowledge to your benefit, write us at firstname.lastname@example.org. We’ll get back to you in 48 hours.