Jump to section

Understanding enterprise integration

Copy URL

Application and data integration is foundational to delivering new customer experiences and services. Commonly, one team manages a monolithic integration technology for an entire enterprise, but applications are becoming more complex—they are distributed, and must scale and change rapidly to keep pace in competitive markets. These new challenges require an iterative approach based on cloud-native integration technologies and agile teams.

Illustration

Red Hat Agile Integration Technical Overview

Every modern business must share data. If you are a large business trying to take advantage of big data, you know that big data is an integration challenge. To do this, the applications and devices at the core of your business strategy must be accessible to each other—and, very likely, across multiple cloud environments. Enterprise integration encompasses the technologies, processes, and team structures that connect data, applications, and devices from everywhere in your IT organization.

Enterprise integration models have evolved over the years from those with a relatively small number of point-to-point connections, to a centralized model connected through an enterprise service bus (ESB), to a distributed architecture with many reusable endpoints.

What, as in, "what are you integrating?"

First and foremost, enterprise integration is a data challenge. So much data exists within organizations now that the term "big data" is often used to indicate the size—and also the variety—of data sources. A large volume of data existing in a variety of nonstandard formats can be of significant business value, but first it must be integrated from multiple sources or applications. The Internet of Things (IoT) also represents a new opportunity to connect with customers and analyze useful data through everyday devices, but you must filter out the critical data that needs to go to your datacenter. Web applications further add to the complexity of enterprise integration, especially when legacy applications must be integrated with a service-based architecture, like microservices.

 

 

How, as in, "how are you integrating your apps, devices, and data?"

In the past, a centralized enterprise service bus (ESB) managed by a centralized team could connect every endpoint in your environment. However, a centralized approach to teams and technologies can bottleneck modern systems, which need fast, easy avenues to integrate between distributed components. Depending on your data and service needs, a combination of messaging, application connectors, data streams, enterprise integration patterns, and application programming interfaces (APIs) that can be deployed faster and iteratively are more suited to modern application development.

Messaging

Messaging is a way for different components in a distributed application architecture to communicate. Components can send and receive messages across different languages, compilers, and operating systems as long as each side of the communication understands the common messaging format and protocol.

A service mesh is used to route messages within a microservices architecture.

Application connectors

Application connectors are architectural elements that model the rules for how components interact. They are standard class connections customized for certain APIs, so they can be used to quickly integrate new endpoints.

Data streams

Data streams provide a constant flow of information that applications can add to or consume from, independent of the transmission of that data. For instance, Apache Kafka is a distributed data streaming platform that can publish, subscribe to, store, and process streams of records in real time

Enterprise integration patterns

EIPs are collections of technology-independent solutions to common integration problems. Patterns also provide a common language for developers and application architects to describe integrations.

Application programming interfaces

An API is a set of tools, definitions, and protocols for building application software. It lets your product or service communicate with other products and services without having to know how they’re implemented.

Red Hat believes that the traditional approach to integration, with centralized teams controlling monolithic technologies, can impede the development and long-term usefulness of distributed applications. Traditional integration technologies like the ESB have benefits like prioritizing security and data integrity, but they also rely on a single team to define integrations for the entire enterprise.

Today’s loosely coupled, cloud-native application architectures developed through agile and DevOps methods need an equally agile and scalable approach to integration. Red Hat’s view of agile integration is just that, an approach to connecting your resources that combines integration technologies, agile delivery techniques, and cloud-native platforms to improve the speed and security of software delivery. Specifically, agile integration involves deploying integration technologies like APIs into Linux containers and extending integration roles to cross-functional teams.

 

 

A cloud-native application is a collection of small, independent, and loosely coupled microservices, deployed in Linux containers, and connected through APIs or messaging. Each service implements a business capability, and is developed by small teams using DevOps workflows like continuous integration and continuous deployment (CI/CD). This allows services to be built quickly, deployed automatically, and updated regularly—no more waterfall development cycles.

DevOps

DevOps is an approach to culture, automation, and platform design intended to deliver increased business value and responsiveness.

Containers

Containers allow apps to be packaged and isolated with their entire runtime environment, making it easy to move them between environments while retaining full functionality.

Microservices

A microservices architecture breaks apps down into their smallest components, independent from each other.

APIs

An API is a set of tools, definitions, and protocols for building application software. They connect products and services without having to know how they're implemented.

Cloud-native applications are designed to deliver business value like the ability to rapidly incorporate user feedback for continuous improvement. In short, cloud-native app development is a way to speed up how you build new applications, optimize existing ones, and connect them all together.

Because cloud-native applications are distributed, they represent a unique integration challenge when compared to traditional, monolithic apps. Agile integration enables cloud-native development in part because it brings the application requirements and business needs of integration together.

Explore the Red Hat Application Services portfolio

Red Hat Integration is 1 of 3 groups of products in the Red Hat Application Services portfolio. Red Hat Integration enables developers to integrate applications with a range of diverse internal and external systems across hybrid architectures.

Keep reading

Article

What is integration?

Need to know what integration is? Learn what it is, how to incorporate it, and why it’s a lot better with open source.

Article

What is Apache Kafka?

Apache Kafka is a distributed data streaming platform that can publish, subscribe to, store, and process streams of records in real time.

Article

What is an API?

API stands for application programming interface—a set of definitions and protocols to build and integrate application software.

More about integration

Products

A comprehensive set of integration and runtimes technologies engineered to help build, deploy, and operate applications with security in mind and at scale across the hybrid cloud.

Hosted and managed platform, application, and data services that streamline the hybrid cloud experience, reducing the operational cost and complexity of delivering cloud-native applications.

A set of products, tools, and components for developing and maintaining cloud-native applications. Includes Red Hat AMQ, Red Hat Data Grid, Red Hat JBoss® Enterprise Application Platform, Red Hat JBoss Web Server, a Red Hat build of OpenJDK, a Red Hat build of Quarkus, a set of cloud-native runtimes, Migration Toolkit for Applications, single sign-on, and a launcher service.

A comprehensive set of integration and messaging technologies to connect applications and data across hybrid infrastructures. Includes Red Hat 3scale API Management, Red Hat AMQ, Red Hat Runtimes, change data capture, and a service registry.

Resources

E-book

Create an agile infrastructure—and enable an adaptive organization

Training

Free training course

Red Hat Agile Integration Technical Overview