In this blog series we will talk about:
- Why is Integration an essential part of your organisation and what are the difficulties you will face if it is not done correctly?
- How does MuleSoft (iPaaS) help to grow your organisation 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 organisation 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.
- File Transfer
Over the years it has been observed that organisations 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.
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 enables 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 the real-time synchronisation for a better customer experience.
- API Integration
- An Integration platform is a set of middleware tools that enables users to:
- 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:
- Devoteamer’s experience
- https://docs.mulesoft.com
- https://www.enterpriseintegrationpatterns.com/