Book Image

Rapid Application Development with OutSystems

By : Ricardo Pereira
Book Image

Rapid Application Development with OutSystems

By: Ricardo Pereira

Overview of this book

OutSystems is a software development platform that speeds up the build phase by abstracting code and making almost everything visual. This means replacing textual language with visual artifacts that avoid lexical errors and speed up code composition using accelerators and predefined templates. The book begins by walking you through the fundamentals of the technology, along with a general overview of end-to-end web and mobile software development. You'll learn how to configure your personal area in the cloud and use the OutSystems IDE to connect with it. The book then shows you how to build a web application based on the best architectural and developmental practices in the market, and takes the same approach for the mobile paradigm. As you advance, you'll find out how to develop the same application, and the great potential of reusing code from one paradigm in another and the symbiosis between them is showcased.The only application that'll differ from the application in the exercise is the one used in business process technology (BPT), with a focus on a common market use case. By the end of this OutSystems book, you'll be able to develop enterprise-level applications on the web and mobile, integrating them with third parties and other systems on the market. You'll also understand the concepts of performance, security, and software construction and be able to apply them effectively.
Table of Contents (21 chapters)
1
Section 1: OutSystems 101
5
Section 2: The Magical Path of the Backend
10
Section 3: Create Value and Innovate with the Frontend
16
Section 4: Extensibility and Complexity of the OutSystems Platform

OutSystems factory options

The OutSystems platform is quite adaptable to the needs of customers and can be configured and installed according to different standards and on different types of installations.

Derived from its construction on native technologies, the way in which all parts complement each other is robust, performant, and safe.

OutSystems platform deployment options

As an example, we will use a typical installation in an isolated environment.

The typical installation has two servers:

  • A frontend server, where our applications will live and which browsers will access to receive their pages and content.
  • A database server, where our application, system, and log databases will be housed. The OutSystems platform is natively prepared to work with SQL Server, Azure SQL Database, Oracle, and MySQL databases.

The frontend server communicates with the database server to obtain and create/edit/delete the data it needs.

The following screenshot shows the typical OutSystems environment setup:

Figure 1.15 – Typical OutSystems environment setup

Figure 1.15 – Typical OutSystems environment setup

The OutSystems platform supports horizontal scalability, that is, it allows having multiple frontend servers running simultaneously, and for this scenario, it is necessary to have a load balancer between the browsers and the frontend servers to distribute the charge by them. This same load is distributed based on algorithms such as round-robin or based on some type of metric or measurement.

For this purpose, a tool is used in the Windows environment of the server in question called Configuration Tool, where the ports and IP necessary for the correct functioning of the platform are configured.

Following the correct configuration of the frontend servers to the platform, they become visible in the configuration and parameterization console of the respective environment, as well as its services – the service center.

When a user browses our applications, they generate or modify session data. This data is stored on the database server centrally and in a catalog dedicated to that purpose. And this is because? Since requests made by the browser at different times can be processed by different frontend servers, the session data must be in a place that's accessible to all.

In this way, the configuration of the farm type platform (the name given to a platform with multiple frontend servers) becomes much simpler and more robust.

The following screenshot shows the OutSystems farm example:

Figure 1.16 – OutSystems setup farm example

Figure 1.16 – OutSystems setup farm example

The platform is designed to allow different installation and setup configurations in order to adapt to the infrastructure and response needs of the different scenarios imposed by customers. Also, the manner in which we can make these installations and setups is very intuitive, allowing us to have a platform ready for development very quickly.

To get the most out of everything we've seen, OutSystems provides a repository with various pre-designed tools and components, both by OutSystems itself and by members of the community. In addition, OutSystems provides support forums so that we can clear up our doubts and seek help among the members of the OutSystems universe. Let's see how.