This is the third article from City Integration (in association with Limina) where we try to provide some clarity around some of the key areas of complexity involved in a systems implementation.

In this article, we tackle the more technical topic of inter-platform connectivity and explore the ‘Pros’ and ‘Cons’ of building feeds against APIs versus developing directly against the platform

Each organisation – and each platform within each organisation – will have it’s own set of unique requirements, but in this article we look to share some thoughts and considerations that we hope will help provide some useful insight during the early decision-making and design phases.

Introduction – APIs vs Direct

In the world of software development, two approaches dominate the landscape: developing against APIs (Application Programming Interfaces) and establishing direct connectivity. Each approach offers unique advantages and disadvantages, all of which need to be taken into consideration.

Developing Against APIs:

When we talk about ‘developing against APIs’, this primarily involves utilising pre-built interfaces that allow software applications to interact with external services, systems, or platforms.

When developers develop against APIs, they utilise the functionalities and capabilities within the API to integrate their applications with external services. This integration allows their applications to leverage the services and data provided by the API, such as retrieving information, making requests, performing actions, or interacting with third-party systems.

Developing against APIs offers a standardized and streamlined approach to connect applications with external services. APIs provide a consistent, clearly defined interface, making it easier for developers to access and utilize the functionalities offered by the API provider. Instead of building everything from scratch, developers can rely on the API’s prebuilt functions, methods, and endpoints to achieve desired functionalities.

We explore some of the key Pros and Cons of this approach below:

Pros:

  1. Simplified Integration: APIs provide a standardised way to integrate applications, making it easier to connect and communicate with external services. Developers can leverage the functionality provided by APIs without needing to understand all of the underlying complexities of the systems they connect to.
  2. Time and Cost Efficiency: APIs offer ready-made solutions, saving developers valuable time and effort by eliminating the need to build everything from scratch. This can significantly reduce development costs and accelerate time-to-market
  3. Scalability and Flexibility: APIs allow developers to scale their applications by seamlessly incorporating additional features or integrating new services. With APIs, developers can also offer flexibility to users, enabling them to customise their experiences by connecting with third-party tools or services.

Cons:

  1. Dependency on Third Parties: When relying on APIs, developers are at the mercy of the API providers. If an API is deprecated, undergoes significant changes, or becomes unavailable, it can disrupt the functioning of the entire application, requiring costly remedial action to resolve. Developers need to closely monitor API updates and ensure their application remains compatible.
  2. Limited Customisation: APIs have predefined functionalities and may not cater to specific application requirements. Organisations may face limitations when trying to achieve unique functionalities or fine-grained control over the integration process.
  3. Performance Concerns: APIs introduce additional layers of communication and data processing, which can impact performance. Network latency, downtime, and API response times can affect the overall user experience. Developers need to account for these factors and design their applications accordingly.

Developing using Direct Connectivity:

Direct connectivity involves establishing direct connections between systems or services without relying on standardised APIs. Given the usually very bespoke requirements of financial services organisations this is often the favoured approach (particularly for the reasons outlined in the Control and Dependency items 1 & 3 below), but there are still a number of pros and cons to consider, which we outline here:

Pros:

  1. Enhanced Control and Customization: Direct connectivity allows developers to have complete control over the integration process. They can tailor the communication protocols, data formats, and security measures to match their application’s specific requirements.
  2. Performance Optimization: By eliminating the intermediary layers introduced by APIs, direct connectivity can often offer improved performance. Direct connections can reduce network latency, minimize data transfer overhead, and provide real-time communication between systems.
  3. Reduced Dependency: With direct connectivity, developers are not reliant on external API providers, reducing the risk of compatibility issues, service disruptions, or changes in functionality.

Cons:

  1. Increased Development Effort: Direct connectivity requires developers to invest more time and effort into designing, implementing, and maintaining the integration. They need to handle the intricacies of establishing and managing direct connections, which can be complex and resource-intensive.
  2. Compatibility Challenges: Different systems may use proprietary protocols or data formats, making it challenging when dealing with multiple feeds across multiple platforms (known as ‘interoperability’). Developers need to ensure compatibility between disparate systems and maintain compatibility as systems evolve.
  3. Limited Reusability: Unlike APIs, which are designed for broad usage, direct connectivity solutions are often specific to the systems being connected. Reusing direct connectivity solutions across different projects or with other external services may require significant modifications.

Conclusion:

As is so often the case, there is rarely any one-size-fits-all all solution. Each piece of work will have its own set of unique requirements and dependencies which need to be taken into account during the design and planning phases. Organisations need to carefully consider their project requirements, development timelines, scalability needs, and desired level of control when choosing between these approaches.

Ultimately, as always, any decision should align with the project’s goals and long-term vision for the application.

We hope that this article is helpful in at least signposting some of the questions that need to be asked. City Integration have extensive experience of delivering multiple programmes of work over the past 25+ years and have helped blue-chip organisations across the globe find the right answers, so if you are embarking, or are embarked upon a platform change and need some assistance please don’t hesitate to get in touch