Skip to content

Blog Series, Part I: Why is Integration an essential part of your organisation?

In this blog series we will talk about:

Why is Integration an essential part of your organization and what are the difficulties you will face if it is not done correctly?

How does MuleSoft (iPaaS) help to grow your organization better than any other Integration Platform – Reliability & Speed of Delivery & Return on Investment – in providing the Integration as well as the software solutions in a fast manner?

Why is Integration an essential part of your organization and what are the difficulties you will face if it is not done correctly?

If we look back and observe the methods organisations followed to deliver the integrations, we would most commonly see the approaches below:

  • File Transfer
    Involves having the systems to work with the files and integration service/application to take the responsibility for any transformations and connectivity.
  • Shared Database
    Makes use of shared databases to Integrate systems.
  • Remote Procedure Invocation
    Provides a service/application for each system by encapsulating the data and providing their interface to others for interactions.
  • Messaging
    Messaging using the Queue management products/solutions is the fundamental way to approach distributed system problems. This is also known as Asynchronous messaging.

    Asynchronous messaging does not rely on both systems being up and running at the same time.

Over the years it has been observed that organizations make  Point-to-Point integrations unknowingly which quickly become unmanageable. 

  • Point-to-Point
    • An integration is called Point-to-Point when one sender has to send the message to one receiver. 
    • This will quickly lead to chaotic situations when the requirements grow exponentially. 
    • The main problem with this model is usually referred to as the n-square problem. 
      Meaning if we need to integrate n systems, Then we need to have n(n-1) connections between them. 

      As an example, if we want to integrate 4 different systems, then we end up providing 12 services (bi-directional) between them to communicate with each other. This also means whenever you change one service endpoint/host/port etc, then we are required to change multiple services rather than the one which is being impacted.
Figure 1 – The n(n-1) rule for point-to-point integration
(An example of n = 4 and no. of connection = 12)

We have seen the following evolutions over the years to get rid of the Integration problems. 

ESB with Messaging

The Enterprise Service Bus architectural pattern alongside messaging has addressed most of the issues in Point-to-Point. 

Enables separate systems to talk to each other in a decoupled fashion by leveraging Messaging patterns. For more on the patterns please check https://www.enterpriseintegrationpatterns.com/ or tune in to our website; We will be releasing it soon. 

Service-Oriented Architecture(SOA)

This is an architectural pattern in software design in which system components provide services to other components via a communication protocol, typically over a network.

Design principles are: 

  • Standard service contract
  • Loose coupling
  • Service abstraction
  • Service reusability 
  • Service autonomy 
  • Service discoverability 
  • Service interoperability

MicroServices

This is an Architectural pattern developed alongside the SOA architecture to create a software system composed of multiple isolated, autonomous, reusable services that can interact with each other to deliver business capabilities.  

Why make services small? 

  • Change is constant
  • We can’t see the future 
  • Small services can take less time and are easier to build etc. 

Characteristics

  • Lightweight, self-contained services 
  • Services to represent business capabilities
  • Communicating over lightweight protocols such as HTTP (most often) 
  • Independently deployable(automated) 

Integration Platform

An Integration platform is a set of middleware tools that enable users to: 

  • Develop, secure and govern the Integration applications that connect almost any system within your organisation. 
  • Enhance the rapid API development process and lifecycle management as API Integration is the most common and modern style of Integration. 

Today’s organisations need a mix of products that support them to make their life easier with Integration enabling Speed of Delivery and Return On Investment. (We will talk about these two key phrases in the sample project delivery discussed in part 2 of our blog along with how they help you/your organisation). 

  • API Integration 
    • Using the REST API is the modern style of integrating your systems. Having the products that support you to create/develop/secure/manage the APIs gives you quick solutions.
  • Application Integration
    • Distributed systems and their data are the most common problem regarding integration. The ability to have the right tools for synchronising (in near real-time) the data between systems like these including data formats and standards, is pivotal.
  • Messaging and Event-driven architecture
    • For Messaging and Event-driven architecture, it is crucial to have the reliability of the messages and real-time synchronisation for a better customer experience.

To conclude this part of our blog, “In Order you to deliver the best software systems in a much more reliable manner and at greater speed,  it is always the Integration platform that plays a vital role within your organization – It is therefore essential to select an integration platform which can offer the best combined ESB and MicroServices solutions together to allow you to build effective future proof solutions.”

If you want to read more expert articles, follow this link.

References: