1. Database, service, and custom app connections
In the realm of app development platforms, integrating enterprise data, third-party services, and custom apps has become vital, thanks to cloud services and consumer SaaS products. Seamless, out-of-the-box integration is now a must-have, and this is where OutSystems capabilities shine.
Table of contents
- Supported systems and data sources
- Pre-built connectors and adapters
- APIs for extending capabilities
- Integration with databases and web services
- Legacy system integration and custom code
- Extensibility by default
Supported systems and data sources
OutSystems has pre-built connectors that enable rapid integration with enterprise services and databases such as SQL Server, Salesforce, SAP, Oracle, and more. In addition, developers can create, modify, and extend their own custom integrations as needed, using the visual capabilities of OutSystems.
Pre-built connectors and adapters
In the OutSystems Forge, there are many connectors to the most popular cloud services, like OpenAI, Facebook, Twitter, Zendesk, and Twilio. Some of these connectors come with a sample app so developers can try it out. Because the OutSystems visual editor is integrated with OutSystems Forge, it's easy to download and start customizing connectors.
Most of these components are built with OutSystems, using the SOAP web services and REST APIs provided by popular cloud services. Some of the components also use extension code (for example, Cordova plugins, or backend code with the underlying framework libraries/SDKs). These components will get your developers started quickly.
It is also possible for a team of developers to create and share their own components; in fact, this is quite common. The following list is just a small sample of what is available. More components and connectors are added every week to the Forge.
Cloud Storage
APIs for extending capabilities
OutSystems offers APIs that empower you to enhance your application's functionality. These APIs enable seamless integration with external systems and provide programmatic access to OutSystems' extensive feature set. The available OutSystems APIs cover a wide range of use cases and business requirements, from which the following categories stand out:
- Business processes
- End user management
- Infrastructure and IT user management
- Monitoring and traceability
- Scripting
Learn more about the extensive array of OutSystems APIs available
Integration with databases and web services
This section takes a deeper dive into database and web services integration with OutSystems.
OutSystems integrates with major database systems. This includes relational databases, such as SQL Server, Microsoft Azure SOL, Oracle, MySQL, IBM Db2, PostgreSQL,Amazon Aurora PostgreSQL, and Azure for PostgreSQL. It also integrates with MongoDB (a non-relational database). Developers can combine local and external data sources without spending much time on complex integration projects.
The OutSystems visual editor allows development teams to query and aggregate data visually so developers with any skill set can work with the data needed for any application, no matter how complex. Developers can also create custom datasets–with proper governance–that are reusable across their application portfolio, using data from different sources. However, OutSystems doesn't limit developers to manipulating data visually. They can write queries and stored procedures using standard SQL, and OutSystems will track all the dependencies to the underlying database. If something changes, your SQL code is automatically refactored, or you're warned if it is no longer compatible with the changes.
This accelerates the change process; meanwhile, the application itself is much more resilient to change.
If an external database is supported by OutSystems, a developer can create a connector to integrate with it. Connectors enable teams to manipulate data visually in the visual editor. When a database is not supported, it's still possible to access it using standard code, with ODBC/JDBC drivers, or with native APIs. For big data repositories, like CouchDB, MongoDB, or Hadoop, developers access them using their REST APIs.
With OutSystems, teams can seamlessly consume and expose SOAP web services and REST APIs without having to write code. Debugging, monitoring and troubleshooting are built-in. The visual editor generates artifacts such as methods and data structures, which developers can add to applications visually.
Consuming web services and REST APIs
To consume a SOAP web service, developers simply provide the location of the WSDL (Web Services Description Language) file. The OutSystems IDE inspects the WSDL and generates everything needed to invoke the web service methods.
To consume a REST API, a developer needs to provide the service end-point URL, and an example of the service request and response in JSON. Most services include a JSON sample request and response in their documentation and it can be pasted into the OutSystems editor. Once OutSystems has generated the service methods and data structures, invoking the REST service is seamless.
Exposing application logic and REST APIs
With OutSystems, developers can expose any part of the application logic as a web service in the visual editor. Methods, data structures, service logic, and more are defined visually. When a team deploys an application, all web services end-points are automatically created, and the service is ready to be used. There's no need for extra configurations or deployments.
When exposing REST APIs, OutSystems automatically generates documentation and makes it available under the service end-point. This documentation can be completely customized.
Legacy system integration and custom code
The following scenarios can be challenging for developers:
- Integration with a legacy system
- Outdated communication protocols
- Lack of API support
- Different data formats
- Managing a system with an old code base
Custom code integration is the solution. OutSystems excels at delivering high developer productivity while ensuring control over code. The platform empowers developers to extend their applications using custom code across various layers.
This translates into virtually limitless development possibilities. Traditional code is invaluable in addressing various challenges, from handling outdated communication protocols and bridging API support gaps to orchestrating data transformations and navigating legacy code bases. With OutSystems, developers can seamlessly augment their applications with traditional code in cases where REST APIs, SOAP web services, or built-in integrations fall short. Extending OutSystems with traditional code includes using:
- Existing code: Seamlessly integrate with your current systems, leverage SDKs, or incorporate libraries to maximize your application's functionality.
- Wraparound online code: Quickly adapt solutions found in online sources to tackle specific challenges within your application.
- Custom code: Craft your algorithms to address unique use cases, tailoring your application precisely to your needs.
Extensibility by default
OutSystems is open by design to extend to all layers of app development so developers stay in control: front-end, back-end, database and integration. Also, OutSystems APIs ensure platform features are accessible by external systems.
The front-end is extensible using JavaScript, CSS and HTML, so the UI can be adapted down to the last pixel. The backend can be extended through existing libraries and algorithms using .NET/C# code. Also, external SQL and no SQL databases can be integrated with - and custom queries can be written using SQL language.
For mobile, the many plugins available in the Forge enable developers to integrate native sensors and device features into their applications. Developers can also create custom plugins. The OutSystems platform offers a set of APIs to extend itself and adapt it to your processes: APIs to access internal user data, performance data, and even the meta-model.