This article describes the concept of an embedded integration and why providing embedded integrations is a critical capability for the software product teams building business applications.
The Importance of Integrations
Traditionally, integrations between software applications were provided on an as-needed basis. This has typically been done with a combination of custom software development and commercially available integration products like Enterprise Application Integration (EAI) platforms, Enterprise Service Bus (ESB) products, and Integration Platforms as a Service (iPaaS).
With the rapid adoption of the Software-as-a-Service (SaaS) model, integration has become a "must have" requirement when end customers evaluate virtually any piece of business software. End customers simply use too many different pieces of software and cannot effectively operate business processes across them when data is not integrated.
To meet those customer demands, many modern software products don't just provide an Application Programming Interface (API) and rely on third parties to bridge their product with others. They include native integrations that provide that connectivity out of the box as a standard feature.
However this desire to provide native integrations exposes the product engineering team to a new set of challenges.
Why Product Teams Struggle With Integration
Building integrations is a challenging task. An integration's requirements tend to be complex, and they are bounded by constraints imposed by an external systems. Often those are external systems with which the product team has little to no experience. The business value description for an integration is often reduced to "make X talk to Y" when in reality, the specification for making that happen is much more nuanced.
In addition to this "business level" complexity, the engineers who build integrations must also contend with technical challenges:
- Handling many different authentication approaches, loosely informed by standards
- Moving large amounts of complex business data with a near 0% failure rate
- Transforming and manipulating incompatible data across integrated systems
- Making updates and performing maintenance on integrations in production witout disrupting stakeholders
Put simply, building integrations is just plain hard to do. This difficulty is the driving force behind the invention of tools like iPaaS and, influenced by the modern requirement to provide native integrations in software products, embedded integration platforms like Doohickey.
Embedded Integration Platform
Doohickey is an embedded integration platform. When combined with an integration engine, like Open Integration Hub, it intends to give product teams the ability to build integrations natively into their products, but while still leveraging the benefits provided by ESB and iPaaS products (which weren't built to be embedded).
An embedded integration platform makes integration easier for the product engineering team by:
- Providing a standard set of building blocks which are used to build all integrations in the portfolio
- Normalizing the process for how new integrations are launched and existing ones are updated
- Allowing product engineers to build integrations using familiar tools and paradigms, but without requiring raw, custom software development
- Providing the infrastructure capabilities to scale as more end customers adopt more integrations that move more data
Embedded integrations, built on a platform like Doohickey, are faster to market, more reliable, and more consistent. They offer the strategic advantages of custom-built, native integrations, but with the composable, reusable building blocks available in products like iPaaS.