Chapter 1: Exploring the OutSystems Platform
After all, what is OutSystems?
We will provide a quick overview of what their components and tools are and how they work, as well as all the capabilities and potential of the OutSystems platform.
The OutSystems platform enhances and accelerates the development and delivery of enterprise-level web and mobile applications, always with the guarantee of following the best standards of security and performance available on the market.
All of this is possible because it is made available through low-code development environments, while code is generated that will be made available for an enterprise-level, full stack system.
The platform integrates with other systems in a very practical and simple way, namely, existing databases and legacy applications used by the companies themselves or even with existing code.
Out-of-the-box management and analysis tools regarding the applications developed and existing users are made available so that everything can work as expected.
In this chapter, we will have the opportunity to visualize the different features and capabilities of the OutSystems platform at a high level, as well as existing tools and built-in elements such as Service Center, LifeTime, Service Studio, and Integration Studio.
As expected, topics such as connection and integration with existing systems will be addressed using Service Studio, a modern development interface based on the Visual Code paradigm used to create applications in record time, or with Integration Studio, a great interface development that allows us to create our connections to external databases and create our native C#/.NET code to use services from legacy systems. After being created in this powerful tool, applications are then compiled based on standard and optimized code, such as HTML, CSS, JavaScript, and .NET.
These applications are made available on the different OutSystems environments in a continuous approach, following the best CI/CD practices. Code is constantly inspected and analyzed for impacts, and there is zero downtime when promoting applications to the next environment.
In addition to all this, the OutSystems platform can be deployed both in the cloud and on-premises, enabling the availability of applications in any type of infrastructure.
Are you curious? Do you want to take up the challenge? So, let's get started!
We will cover topics from the platform server to development tools, more specifically, the Service Studio and Integration Studio. The administration and operation tools of the framework will also be addressed, namely, Service Center and LifeTime.
As a bonus, we will provide an overview of OutSystems Forge and Community, helping to understand how these resources can be useful in application development.
So let's get started!
The following topics will be covered in this chapter:
- Platform overview
- OutSystems factory options
- External tools, components, and support
Now let's dive deeper into the OutSystems platform and understand the capabilities and features provided by it.
Platform overview
First, we should realize that there are two possible contexts for working in OutSystems:
- Personal Environment: OutSystems offers a small software factory free of charge (in the cloud) so that we can do our exercises, tests, and small applications without a productive context.
- Enterprise: Licensed software factories for companies. It can exist in the cloud (AWS), private cloud, or on the company's own physical servers (on-premises). Enterprise versions can exist in different types of licensing and are paid.
We will be able to see this issue in more detail in Chapter 3, Starting Work with OutSystems.
All these tools exist both in personal environments and in enterprise factories. In personal environments, there is a set of restrictions and limitations of services and features, from the number of environments available and the space available in the database to the number of IT users allowed.
Whenever we think of an enterprise environment, we are aware that there must be non-productive and productive environments, the most common model being that of three environments:
- Development
- Quality Assurance
- Production
All existing tools can connect to the environments that make up the OutSystems infrastructure, allowing you to perform any type of necessary task, without, in most cases, the use of external tools.
Platform server
The Platform server is composed of a set of servers (which can be installed both in the cloud and on-premises) that perform all the necessary operations so that the developed applications are available to users. These operations are as follows:
- Compile
- Deploy
- Manage
- Run
- Monitor
To develop our applications, we can connect to the platform server using Service Studio and Integration Studio. After development, we can publish our applications, and the platform server handles the operations necessary to make the applications available to users.
When we publish an application, the platform saves the version of it in its database, thus creating a repository of versions and backups. During publication, the platform will compile, optimize the code, and make it available on the servers for use.
Application servers use traditional databases and conventional external systems to run applications, thereby ensuring uniformity and standardization.
The following screenshot shows the OutSystems environment ecosystem:
Figure 1.1 – OutSystems ecosystem
As we can see, the ecosystem has all the characteristics of a st...