Services are the fundamental building blocks of integrations. In fact, integrations are nothing but multiple service calls chained together to achieve a computable goal. They are the primary means by which developers define behaviors of integrations.
Every service is written to perform a particular task. They are reusable, interoperable, self-contained units of code. They can be used in a variety of contexts, including but not limited to: Integrate packages1, Integrate endpoints, APIs, and even other services.
There are a number of service types you can choose from, each with unique perks of their own. In the following sections, we will take a look at all of these types, and how they can be used to implement elegant integration solutions.
Low code integration development
Gloop and Flux were added in v3.0, paving the way for low-code integration development in TORO Integrate. Together with one-liners, build integrations that do more even with less code.
Inputs and outputs
Similar to a function, all services consist of inputs and outputs. Inputs are data taken in for processing, or data used to affect the process. Outputs, on the other hand, are values returned by a service.
Gloop and Flux services can return as many needed output properties. Meanwhile for Java and Groovy-based services, only one value may be returned. This can easily be by-passed by returning objects made up of multiple properties, which may or may not be nested themselves.
For readability purposes, TORO recommends keeping input or output properties to a maximum of seven per service.