Integrations — Technology's cohabitation therapist
Integrations are a broad term, but essentially we're talking about getting two systems to communicate,” says Stian Hanger, developer at Increo.
What exactly are integrations?
The word integrations may seem woolly. Something many people know about and few know everything about. The internet, both what happens in front of and behind the screen is a patchwork of good, less good, brilliant and bone-out bad ideas.
“There are almost an infinite number of ways you can write an integration, and what can be an integration. If you are sitting on your mobile with a wireless headset, then there is an integration that ensures that the signal goes back and forth with the right music,” continues Stian.
So, what kind of integrations can Increo help you with and why can they be called the systems cohabitation therapist?
The Systems Cohabitation Therapist
An integration is used to automate actions, and automate the flow of data. This prevents human errors and streamlines work. You as a business can save many hours freeing up manual processes.
To understand the complete chaos that surrounds integrations, we must begin with the very elementary. Systems — what is it? A system can be defined as one or more smaller parts, which together solve a task. All the bits that help solve the task are part of the system. We can look at the systems as two partners who have forgotten how to talk together. In order to have a good dialogue between the systems, an integration is needed, or a cohabitation therapist if you will. All couples and therapists work differently. But if the dialogue is good, the information flows well, yes even seamlessly.
“An everyday life without integration would be far more difficult. Integrations are a way to automate data exchange. You pick up or send information to a place it's needed,” Stian explains.
Working hours saved
So an integration conveys information between two systems. But what does it mean to you, and why does it save businesses thousands of man-hours every year?
In 2022, we developed a webshop for Moestue Grape Selections which distributes wine and an online shop for accessories. They have their products in one system and when they make changes to the products in this system, the changes are automatically communicated (using integrations) to the website, so the updated information is displayed almost immediately. And when someone buys something from the online store, the order (using integrations) is transferred directly to Moestue's accounting system for billing.
“Of course, all this could also be done manually for each order, and for each product to be updated, but with the integrations the systems communicate with each other completely automatically. Which saves them a whole lot of work hours every month.
Voila, the integration automates and you get rid of double work. Another type of example of an integration can be in internal systems. We have created a “my page” solution for the customers of Retura TRV where they can log in and view an environmental report based on waste collected from their locations. When they log in, an environmental report is created that is generated on-the-fly from a central database at Retura. There, the integration has extracted various data from the customer's and Retura's systems, which are stitched together into a report with graphs and the like,” says Stian.
— We also have Developed their own app for them, where customers can order the unloading, emptying, and retrieval of waste containers of varying types. When customers place new orders in the app (expiring, emptying, retrieving), we upload this as an instruction file that is automatically read by Retura's systems, which update locally stored info accordingly. Here, part of the data is stored in Increo's systems for optimization, while others are displayed in real time from the app, so that customers have the most up-to-date information possible, explains Stian.
The technical components of an integration typically consist of
Which integrations should be made depends specifically on the wishes and needs of the customer. An integration must in all cases be specially designed to communicate with the two, or more, systems around it. However, there are some elements that are often left in the integration process.
“An integration is not a finished thing but a program that can be written in different programming languages and in different ways. I want to do it one way, while another developer wants to do it another way, with a different code language,” Stian continues.
The systems are often made by larger companies with established software that doesn't change that much on. To integrate something with their systems you need to bring up integrations that fit both of the systems involved.
“The integration sends a query or request to a server that extracts specific information from the database (e.g. an ERP system), and when the query takes place via a web address, it is called an API,” Stian says.
Can always communicate with the systems
Everyone gets an easier working day with well-implemented integrations that get correspondingly good systems. At Increo, we work to understand customer needs, and transfer this to the tools that work to make the job easier and more efficient. There are often customers come with wishes for what should be on a website. Then it's our job and ask and dig in depth to find the underlying need for those desires. Then, together with customers, we can figure out how to meet their needs with the opportunities available, and develop and integrate the best tools for them.
Integrations, in principle, can do everything. There are always things we haven't done before that can require both time and extensive testing. But as a rule, we always find some way to communicate with the data, admits Stian.
Failing gracefully is essential to success
But that's what you build up around the integration, which is with determining whether this one succeeds or not. Because as anyone who has an ex-partner knows, good dialogue can be achieved and then fail again.
We talk a lot about facilitating graceful error. Many integrations are written just to make everything work. But anyone who has lived in reality knows that mistakes can always happen. The net line can smoke. The server may be shut down. It may run out of working memory. All failures can come from things that go on outside the walls of the office. Therefore, we always create a separate status system with a record of the last 20 or 100 communications back and forth. It is crucial to deal with the failures of integration properly,” says Stian.
“How to ensure an integration to fail gracefully depends very much on how time-critical the integration and its data are. Sometimes the code tries to run multiple times to do its job, but if it doesn't get it done in x number of tries (say 5) then it starts to let you know. And how it should be told can also be done in different ways. For example, we can embed a so-called escalation. That is, the integration first says ifra to x people, and if no one responds within y time, then the error message is sent to z people.
It's one thing to throw together an integration that works, but to build an integration that rarely fails, and which - when it does anyway - effectively allows itself to be debugged and solved is quite another.
If or when something wrong happens, it is crucial to find out what Which is wrong and where that is wrong, and what a solution could be. Part of being successful is knowing how to set up solutions for when something goes wrong, and how to monitor that everything is as it should be,” Stian concludes.