What are self integrating applications?
Tags: api, startup, ai, architecture
Published: 2022-05-13 14:24:55

I don't know a business owner who hasn't encountered API integration and got burned by the cost and delivery time. The cost of integrations today is very high. Have you justified to yourself why pay €1000 for a weather forecast integration when the service itself costs €20 per month? How can we entrepreneurs justify that distribution is more expensive than the product itself?

The average number of integrations in [SaaS is 15 (in 2020)](https://chiefmartec.com/2020/05/proof-platform-saas-apps-median-15-integrations/). These companies would probably integrate much more than 15 if they could afford to. I know an early stage company with 66+ integrations in their roadmap. Companies are thus integrating only critical capabilities, which is severely hampering business in digital B2B.

Enterprises whose business model is dependent on the number of integrations must hire specialized integration teams or vendor-lock themselves with several Integration Platforms as a Service (iPaaS) and probably do both.

The main problem is the API interface, which is designed to be integrated by developers only. Simply put, there is no USB software in the digital world that allows for direct plug-and-play integrations.

## API means programming

API (short for application programming interface) normalizes how two different pieces of software effectively talk to each other. The letter P in API represents programming. Developers manually wire up software to enrich their applications. Remember the days when all mobile phones had a different charging cable? Now imagine that for every phone on the planet, an engineer has to prepare a custom cable to get the phone to start charging. That is the state of integrations in 2022.

We know how much hot topic is Research & Development in the Profit & Loss reports. Integrations burn easily ⅓ of an R&D budget in emerging companies based on Superface calculations.

## API always means labor

The job of an integration developer is to read non-standardized third-party API documentation, understand how that provider connects their digital capabilities to the API and what their product does (and doesn’t do) in the first place. After many attempts and a lot of preparation, after many days and weeks of tests, finally the developer implements the integration to the application.

Therefore, integrating is not scalable without hiring more developers (and their managers).

## Self-integrating applications

Is there any magic to let software integrate with other software on its own? We need a universal integration interface which does the same job as what USB did for all devices on the planet.

Gartner recognized a new category in the [Hype Cycle of Emerging Technologies](https://www.gartner.com/en/documents/3980361) of 2021: Self-Integrating Applications.

> Complex and growing applications and software portfolios mean that integration is becoming an intractable challenge for conventional delivery teams. Applications and software engineering leaders can look forward to a near future in which applications integrate themselves relatively seamlessly.
>
> — [Gartner: The Applications of the Future Will Be Founded on Democratized, Self-Service Integration](https://www.gartner.com/en/documents/3980361)

<figure>


![Gartner Hype Cycle for Emerging Technologies 2021, showing self-integrating applications in the Innovation Trigger quadrant, with Plateau of productivity to be reached in 5 to 10 years.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x97ja1ebqq1xkpq64tie.png)

<figcaption>

Gartner Hype Cycle for Emerging Technologies 2021 (<a href="https://www.gartner.com/en/newsroom/press-releases/2021-08-23-gartner-identifies-key-emerging-technologies-spurring-innovation-through-trust-growth-and-change">source</a>)

</figcaption>

</figure>

## How to design self-integrating applications?

Consumer knows exactly what 3rd party capabilities are on the product roadmap for integration. Each capability has its use cases (for example, the messaging vendor capability is “send SMS”, the use case is “send premium SMS”).

To get rid of the dependency on developers labor, **we require the software to understand the specification of a use case**. The application must understand itself the business requirements that the product owner wants to integrate.

Thus, we write the **use case descriptions** primarily for understanding by the software. (Tech enthusiasts can see how we do this in Superface [on our website](https://superface.ai). Here I will just mention that we built a special integration language for this – called Comlink. Geeks can [check its documentation](https://superface.ai/docs/comlink)). Now the application understands the business task and is ready to get it from some provider.

In order for software to understand how to connect itself to a provider's capabilities, similar descriptions are needed on the provider side. This provider’s description matches the use case inputs and results and can be easily defined from API specification.

By having **use cases** and **provider descriptions**, we can then ask **the integration-library** to magically connect the service provider. The job of this library is to understand the use-case and understand how it is performed at the provider side.

<figure>


![Diagram: Superface client is a part of your application, and manages application use case, integration code, and metadata for provider, then directly communicates with provider's API.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pjbhhfcfpz0kps367vg7.png)

<figcaption>

Superface Client connecting directly (self-integrating) to the provider’s API

</figcaption>

</figure>

## Benefits of self-integrating applications

The business benefits of self-integrating applications (in case use-case and provider descriptions are ready) are enormous.

- Time to integrate the provider goes from a week to just hours, if not minutes.
- Cost of the integration goes from €1000+ to €10+.
- Integration is dynamic and reflects provider changes during upgrades or outages.
- Multiple providers can be integrated at the same time (or easily replaced), avoiding a vendor lock-in with a single, expensive provider.
- Service providers can be switched automatically based on business logic, such as service price or quality of the output.

As Gartner predicts in its report, it will take many years for companies to move from providing developer-specific integrations to providing universal integrations for self-integrating software.

In this article, I deliberately do not mention that an important part of integration is the business relationship, which consists of purchasing the required service from the provider, obtaining the necessary API keys, etc.

You can read how we look at the vision of B2B digital commerce where integration is a fundamental pillar on our website [superface.ai](https://superface.ai/).