October 19, 2020
Maybe you have a business centered around an application (operational-wise or business-wise), or you’re one of the app’s creators. Regardless of how you’re connected with the app, there always comes a time when you have to integrate it with another app or service. No one can avoid it.
Why? The bottom line: it’s cost-effective.
And if you find a reliable application integration service partner, you can cut the integration costs even more.
It would be nice to have an app that does it all, but the reality is different. There are so many apps to choose from. Even if your company is small, it’s likely that you’ve spent some amount of time on picking the best bookkeeping software. And then you had to have a communication tool, project management tool, collaboration… If these tools do not communicate with each other, people need to transfer information manually which decreases productivity.
On the other hand, if you’re creating a bookkeeping system, then you’re compelled to provide a streamlined working experience to your users. They should be able to at least automatically send an invoice from the system, without the necessity of exporting it and enclosing it into an email. What’s good for your users is good for you, not to mention that the competing bookkeeping systems show off the number of applications they integrate with. So you need to consider integrating with (at least) the most popular apps and services that are used in the bookkeeping process.
Another reason behind increasing popularity of integrations is the sheer amount of available apps to integrate with. Let’s say your application integrates with a payment provider like Stripe (which in itself is mainly an integration tool). You expand to a new market where Stripe is not present. You need to integrate with new payment methods so that your clients can make purchases without a sweat.
Stripe — payments integration platform.
In both cases, everyone wants to have their working process as streamlined as possible. They want to finish a task in one tool and not worry about manually exporting, disseminating, and adjusting the results so that they’re visible in different tools.
Application integration makes our lives as users easier. But it makes life easier for creators too.
We can think of software as having three layers: data source, business logic, and User Interface. All of these layers need to communicate with another system or app. Users need to authenticate and authorize their identity when accessing information stored elsewhere, exporting the results of their work, or simply switching tools to complete a task.
Instead of writing a bridge yourself or adding another functionality, it’s more cost-effective to use another app’s API. Especially in the era of application integration, where there are services like Auth0, Stripe, Google, and Facebook that live to integrate as much as they can.
Integrating with third-party APIs has almost become a necessity at this point. But it’s a good thing, and here’s why:
In a nutshell, partnering with someone to do app integration for you saves you time (and often money).
Since Monterail specializes in building apps, and since today virtually every app has to integrate with another service, we have a couple of lessons learned in this area. Some of the things to consider are described below.
If you have an application that doesn’t process a lot of data, you can integrate it directly via APIs. But as the app grows and starts to deal with more data, and the number of integrations increase, you might need to use middleware.
Point-to-point application integration vs middleware integration. Source.
Middleware ties applications together by placing a message-queueing software between them. This decreases the load on them. But when used incorrectly, the integration itself may become more expensive than the app it’s connecting. Also, when using middleware, you have to adjust the apps connected to be message-oriented. This forces you to be bound to this type of integration for all future applications. It’s good when you have just a few, but when the number of integrations grow, the costs of middleware can increase.
So picking the right type of integration is a balancing act.
Then you have to know what layer of the application you want to integrate. Data source layer, business logic, or UI? Each of those integrations requires a slightly different approach.
For example, when integrating UI elements across apps, you need to have a common model for the integrated elements. You can opt to create a high-level API based on business objects, or a low-level one based on UI elements such as buttons. Often you’ll have to also figure out the best way of integrating two distinct technologies and data models.
When integrating with a third-party service, you’ll also need to consider their documentation and technology. No one wants to bridge two apps blindfolded, so APIs with poor documentation are virtually unusable. There are third-party libraries that make some integrations easier, but these are also subject to detailed analysis because if they’ll stop working in the future, some of the functionalities in your app will stop too.
Application integration allows you to build apps faster, and streamline your users’ workflow. These two things by themselves are what everyone’s looking for, but there are some pitfalls to be avoided during integration.
Often your best bet is hiring someone who’s experienced in integration services.
Looking to integrate your app?
You can trust us. We’re doing integrations in almost every project, and we’ve done over 300 of those.