Application Integration: The Ever-Growing Need to Integrate With Everything
Application integration is the process that enables an effective digital experience, which means providing friction-free experiences that engage customers.
Join the DZone community and get the full member experience.Join For Free
We don't really think about this much, but the fact is applications are just empty shells without integration. That's because we live in a highly competitive world where, in order to become a leader, organizations need a differentiator that sets them apart. That could mean presenting new services, better user experience, different approaches for different audiences, finding new channels to convey their message, keeping their audience engaged in a consistent manner, and more.
An effective "digital presence" is one of the most important pillars of any differentiation strategy. This means providing delightful, friction-free experiences that engage customers and establish a long-term relationship. And application integration is the process that enables exactly that.Note: this blog post is based on a recent Tech Talk about the same topic, so for a more detailed discussion, watch the free webinar How to Integrate Everything and Connect to Anything.
What Is Application Integration?
In the modern enterprise landscape, companies maintain a large set of digital platforms. Usually, each one addresses a particular use case, with most companies having at least five main platforms:
- Financial information — SAP, Netsuite, Dynamics, etc.
- Customer information — Salesforce, Dynamics, etc.
- HR information — PeopleSoft, Workday, etc.
- Service Desk — ServiceNow, Zendesk, Jira, etc.
- Industry — specific systems of records, such as in insurance, healthcare, banking, etc.
- Analytics — usually non-relational databases like Snowflake, MongoDB, etc.
Each of these platforms functions as the master source of truth for their respective area. Application integration is the process of connecting them so that they function well together, a must for every modern company that wants a competitive edge.
The general consensus, however, is that integrating different applications is still a big challenge.
In fact, in Cleo's 2020 survey, 75% of IT decision-makers across industries stated that they are overwhelmed and feeling greater urgency to adopt newer, simpler integration alternatives. And global research from Gartner has estimated that 50% of the work involved in building a digital platform is related to integration.
Importance of Application Integration in 2021
During 2020, the urgency to connect different systems within a company has increased dramatically as a result of the COVID-19 pandemic. Organizations have been challenged to reinvent themselves, seeking different channels to get to their customers, and developing online stores because the way they operated didn't comply with the new social-distancing and lockdown reality. This, in turn, has required extensive integration to be put in place.
An online store, for example, needs data from the product database (product details, stocks, etc.), online payment gateways, and connectivity to order management systems. But what if some of these are in-house systems, built long ago, that didn't previously need to integrate with other applications? Being able to respond quickly to changing business conditions can become difficult.
Integrations also play an important role in optimizing costs and increasing efficiency. Data silos are all too common in the enterprise, leading to decisions being made based on incomplete data, or causing delays as data is tracked down in other systems.
Having a Data & Integration Strategy in place to manage multiple systems of record allows businesses to break down the silos and look at the big picture, instead of looking at each system individually. Having a consolidated view of all company data, figures, and processes means better decisions can be made, at the speed the business requires.
Integration Challenges: The Developer Point of View
Enterprise systems of record (ERPs, CRMs, IT, HR, etc.) got the integration memo many years ago, with most now providing APIs, usually web services, that allow communication with the "outside" world. However, actually using APIs from different systems spread across an organization is no easy task.
According to the 2020 OutSystems survey " The Speed of Change: How Fast Are You? ", in which 2,200 respondents (not OutSystems customers) ranked their top four reasons for application delays, "integration with legacy systems/lack of APIs" was ranked highest by the respondents experiencing the greatest delays.
It's difficult because vendor APIs vary significantly, which means there are many considerations for the developers tasked with using them:
- What is the API protocol? REST, SOAP, GraphQL, or something older and proprietary?
- What is the authorization mechanism? End-User OAuth, Server-to-Server (JWT), APIKey, or simple basic authentication?
- What configurations are needed? Many systems have to be configured to accept requests from "outside". For example, in Salesforce, in order to get data using REST APIs, the connected app must be created with the right permissions.
- Are there encoding considerations? Does communication require special encoding? For example, SAP OData services require that each parameter is preceded by a "$" (dollar sign).
- Is the API performance acceptable? Can the legacy system API cope with B2C-scale mobile application requirements? Most likely not, so developers must consider other options like having a local replica.
- Is the API externally available? Is there any particular infrastructure/network configuration that needs to be considered, a whitelist URL or IP address in the firewall?
Published at DZone with permission of Fernando Moitinho. See the original article here.
Opinions expressed by DZone contributors are their own.