The OutSystems platform has environments, tools, and components that cover the full application lifecycle management process.
The OutSystems development and deployment environments are:
Visual development environment: This is the environment for creating all the parts of the application stack - the data model, application logic, UI, business process flows, integrations, and security policies.
Integration environment: This is the environment for creating components to extend the OutSystems platform and to integrate with third-party systems and microservices.
OutSystems Now: This native iOS and Android app allows developers to test their mobile apps without having to create developer accounts and certificates, provisioning profiles, and generating a mobile app package to install on the devices. It provides instant access to apps, debug logs, app sharing, and access to device capabilities.
Platform Server: This server component is the core of the OutSystems platform. It generates, optimizes, compiles, and deploys applications to a standard web application server. It also manages scheduled batch jobs and application logs.
Mobile Apps Build Service: This OutSystems cloud service generates the native app package. It bundles all the static resources, plugins, and generated app code into a native package and signs it with the provided certificates and provisioning profiles for the target platform.
The OutSystems management consoles are:
Operational management console: This console manages the operational aspects of an environment, such as connection strings, web service end-points, and application properties.
Deployment and environment management console: This console enables centralized management of all development, QA, and production environments—from staging apps between environments and monitoring their performance to managing IT team permissions.
Other tools and services:
Forge: This repository houses open-source modules, connectors, and components that you can use for OutSystems projects.
Development and deployment environments
OutSystems development environments are designed to make it as easy as possible to create beautiful applications, integrate them, and more.
Visual development environment
In this environment, designers drag and drop visual elements to create UIs, business processes, business logic, and data models for their applications. Applications also consume and expose SOAP and REST web services in this environment.
All application layers have hook points so that developers can extend layers with their own code if they need to work outside the development environment.
This environment has a full reference-checking and self-healing engine that works behind the scenes to ensure applications are error-free and that changes won't impact existing applications. It is designed to be lightweight, and most of the post-design work goes to Platform Server, the server component of the OutSystems platform.
In this environment, components can be created to integrate with existing third-party systems, microservices, and databases. Or, developers can use it to extend OutSystems with their own code.
These components are deployed once and can be reused by all applications built with OutSystems. Developers use Visual Studio to code integration components and can take advantage of existing .NET libraries.
When publishing a component, the development environment compiles it with a standard .NET compiler. The generated DLLs are sent to the Platform Server.
This native iOS and Android app allows developers to test their apps. Apps running inside OutSystems Now can use the device native functionalities like contacts, calendar, camera, and GPS, offering users a native-like experience.
When changes are made to the app, they are instantly available in OutSystems Now. There is no need to go through the process of developer account creation, app package building, and certification to run the app on the device.
OutSystems Now is also great for debugging and doing quality assurance because it has integrated debug logs that access to all the information written in the console.
Finally, OutSystems Now makes it really easy to share the app with others so they can test it and provide feedback through the app feedback functionality, even if they don’t have OutSystems Now.
Learn more here.
This server component is the core of the OutSystems platform. It takes care of all the steps required to generate, build, package, and deploy applications.
Platform Server has a set of specialized services:
Code generator: This takes the application modeled in the IDE and generates native .NET code. Applications are optimized for performance, are secure, and run on top of standard technology.
Deployment services: These services deploy the generated .NET application to a standard web application server. It ensures that an application is consistently installed on each front-end of the server farm.
Application services: These services manage the execution of scheduled batch jobs and provide asynchronous logging services to store events like errors, audits, and performance metrics.
So when deploying an application, the environment validates the application model that was created and sends the application model to Platform Server. Once in the server, the application model:
Is versioned using the built-in version control system
Compiled into native .NET and optimized for performance and security
Deployed to all front-end servers in your server farm
During the deployment process, Platform Server also does a dependency analysis and notifies the team if any other application was affected by the changes.
Mobile Apps Build Service
Mobile Apps Build Service (MABS) is a cloud service developed by OutSystems that allows the generation of mobile app packages for iOS and Android. No need to worry about:
SDK and API versions
Build tool versions
Building different pipelines for iOS and Android
Having a Mac to generate the iOS package
MABS abstracts all this complexity and is fully integrated into the OutSystems deployment and 1-Click publish process. Simply provide the certificates and provisioning profiles. If the changes to the app require generating a new package, the platform submits it to MABS. MABS then:
Bundles all the static resources and the generated client-side code
Fetches and integrates the mobile plugins
Builds and signs the package
Makes it available for you to download on the internal app store
Not only is this a fully scalable service capable of handling all the mobile build requests from all OutSystems customers, but we also continuously improve and update the service so that the apps comply with vendor directives and guidelines. This includes updates to vendor SDK versions and build tool versions.
These OutSystems consoles enable centralized management of environments and easier reuse of application modules.
Operations management console
This web console allows the management of the operational aspects of an environment.
Environment-wide configurations, such as database connections, are managed, along with application-specific configurations, including:
Taking applications offline and online
Reverting to a previous version of the application
Configuring application properties, web service end-point and batch jobs scheduling
These are just a few examples.
Deployment and environment management console
This web console automates DevOps processes, so individuals and teams can stage applications from development to production. It can manage all environments, no matter if they're on the cloud, on-premises, or in a hybrid configuration.
This management console supports:
Staging applications across environments. When staging an application, LifeTime does a dependency analysis across environments to be sure the staging will not impact the applications running on the destination environment. After the deployment, all applications impacted by the changes are automatically updated to use the latest code, versions and more.
Monitoring the performance of applications. All applications built with OutSystems are automatically instrumented to collect runtime monitoring information. With LifeTime, it is possible to monitor the performance of apps and take action even before users notice an application is slow.
Managing IT team permissions. An organization's preferred authentication is set up and the permission levels each IT user has on each environment and application are managed.
This repository of UI components, libraries, and connectors speeds delivery by providing existing modules that can be reused in applications. Our visual development environment is integrated with Forge, so developers and others can get and adapt these components in no time.
Most of the components in the Forge are actually built and shared by OutSystems Community members. Trusted components go through a curation process by OutSystems Community experts to ensure they deliver the promised functionality and follow best practices for security, documentation, and code quality. There are also Supported components. These are the only ones for which OutSystems provides maintenance and support under the terms of a customer’s subscription.
To learn how software is licensed in the Forge, read the How is software in the Forge licensed article.