Hero shape 1Hero shape 2

iPaaS Insights

Integration tutorials, tips and best practices

Gain Control Over Your iPaaS with Open Source Technologies

June 23, 2022

In the world of software development, control over your builds is everything. Traditional development tools based on proprietary licenses aren't enough anymore. Building a modern solution requires that your development team isn't stuck with ultimately ill-fitting software. Engineers need powerful yet flexible tools that give them the freedom they need to see their projects through to the end without getting tangled in intricate software.

Software integration is no different. Full control over your integrations isn't just an enhancement; it's a necessity. The challenge with running an iPaaS solution is ensuring not just that it's strong enough to handle your integration needs, but also that you're not anchoring your integrations to systems that limit a developer's control over the project.

How do you solve this challenge? The answer: open source.

Below, we explore how you can gain back control over your iPaaS deployment using open source technologies like Apache Camel.

Your iPaaS Isn't Working: Addressing Common Problems

The underlying operability behind an iPaaS solution can often be the deciding factor on whether or not it will work for your business. Powerful features and capabilities don't mean much if developers aren't able to work efficiently. Software providers must provide a clean, understandable tool that helps integrators see the benefits and key features immediately.

Completing your integration project can take a long time: days, weeks, perhaps even months depending on the complexity and number of integrations. Spending that amount of time building integrations using unintuitive, difficult-to-use software is a developer's nightmare.

Common iPaaS Frustrations

Thankfully, it's a nightmare that can be avoided — provided you have the right integration system. Unfortunately, proprietary iPaaS solutions often aren't cutting it. Too often, integration projects won't reach peak efficiency because of either limitations with the software or a lack of proper support from vendors.

Many iPaaS tools don't provide developers with the full flexibility needed to fit their integration or coding needs. This "our way or the highway" approach ultimately limits the chances that your integrations will run as they're intended to. And while companies can provide assistance in the form of documentation or live-chatting with staff, that can sometimes muddy the problem even further if the answers you get aren't clear enough.

Building a Better iPaaS with Open Source

You need to have control over your integrations, and that's what you gain with an open source iPaaS solution. These tools offer more customization and freedom to tinker around when building an integration. Not just in the platform's underlying source code, but also in the connections that you create with them.

The chief problem with proprietary iPaaS solutions is that the integrations you build in them are often tied too closely to these tools. The problems with vendor lock-in begin at the foundation of the project; everything you create becomes dependent on proprietary software and technology. So what happens when you have to move those integrations to a different system?

That's where an open source solution comes in to save the day. Open source iPaaS tools offer reliable integration frameworks that feature the same functions and power as proprietary tools. They curate communities that continuously battle-test the software to ensure it's working well and free of problems.

Open-Source iPaaS

And the kicker: they avoid vendor lock-in by making their iPaaS solution open and customizable.

Without vendor lock-in, you're free to deploy your iPaaS anywhere. Want to run it in the cloud environment of your choice? Need to run it on-premise to accommodate for legacy systems? Have a hybrid environment? Whatever your situation is, an open source iPaaS can be deployed anywhere. You don't need to look for an iPaaS that suits your specific business use cases; instead, you'll gain a iPaaS that can be configured to fit any system you need it to.

Open source iPaaS solutions are, by their nature, cloud-native. As a result, developers and integrators have the tools they need to create and manage integrations without the hassle of on-premise installations. Building, testing, and deploying integrations is all done through the same software. Open source iPaaS solutions often come equipped with tons of native integrations with third-party software, giving you more authority over how your data integrations are created.

In short, choosing an open source iPaaS means giving your integration and development teams more control over your integration projects with powerful features and freedom to operate as they see fit.

Creating Integrations with iPaaS and Open Source

If you're in the market for an open source integration framework, you're in luck: there's a number of options out there. Popular open source frameworks offer integration platforms that work with established integration patterns. However, despite being open source, these platforms may still offer some headaches: some may not offer support for many common DSLs or operate under a more restrictive license.

For most businesses looking for open source integration platforms, Apache Camel is the framework of choice. Offered under the Apache License, this is a dynamic, full-fledged integration solution that can handle whatever integration requests you can throw at it.

Let's see it in action below:

Camel K Timer Tutorial Figure 1

Figure 1

In this example, four Camel K components (from, header, body, and log) are used to test a simple integration. Here's some brief notes on each component:

  • From: The from component define the endpoint which is starts the integration. It could be a file, URL endpoint, timer scheduler, etc. In this example, we've set the from component to a timer named test. This is where you can also set query parameters for your from component based on your needs; for this integration, we've added repeatCount = 5 to repeat the process five times.
  • Header: You can assign values to your header to use in your integration. Define values using proper methods, like constant(), simple(), jsonPath(), etc. For our example, we set the header of Time to correspond to date:now:hh.mm.ss.
  • Body: The body can also be assigned with values using the same method as the header. We've set the body to return a statement: The time for now is ${header.Time}.
  • Log: To view a specific output of your routes or sections, you can specify the output using the log component. Above, we've set the log to generate the body content.

Now it's time to generate the output:

Camel K Timer Tutorial Figure 2

Figure 2

To run this integration, simply open a command line and run kamel run <file-name>. Or run kamel run <file-name> --dev to run it in developer mode. (See above in Figure 2.)

NOTE: Make sure you've also included the proper Maven dependencies in your project as well.

Want to learn more about Apache Camel? Get a briefing on the basics of Camel and what you can do with it here. (LINK TO WHAT IS APACHE CAMEL)