Contrary to point-to-point integrations where one application is directly connected to a data-source, APIs remove the direct dependencies between the consuming application from the data-source, also known as decoupling. For businesses that have a growing number of systems and applications that share data across, API-led integration makes sense because it allows for greater flexibility, governance, speed and reusability. In this blog we are focusing on API reusability.
What is reusability
In simple terms, it is the ability to reuse a functionality of an API for different applications as opposed to building a new one every time a new application needs to be integrated or there is a new functionality introduced. Depending on the business, API reusability has two main beneficiaries:
Internally within the organisation, the information shared by a specific API can have multiple consuming applications – for example a product API created for a company’s warehouse management system may be used by the eCommerce application, mobile application, and ERP system.
Externally, if the company wants to expose information to 3rd parties, for example trade partners of a holiday booking site, the same API will be used by all partners to connect and share specified information through their site. If there is any customisation required for a specific partner, then an experience API will be created as a wrapper on top of the existing API, hence reusing the existing functionality and filtering according to the requirements for the specific partner.
How is it achieved
A key determinant of reusability, is how thoughtfully we have designed the API. Very often, we’ll see that the requirements come in isolation preventing developers from designing an API for the future. Key considerations should cover:
- Purpose of the API
- How many applications or systems will be consuming data from the API?
- What are the requirements for each consuming application?
- What are the prospects of expanding the use of the API in the future?
- Security of the API
- Who will be accessing the API?
- What kind of data will they be consuming?
- What type of access rights and security policies need to be implemented?
Understanding the overall business direction and the requirement’s overarching purpose will help the architect to design an API to address not only the current need but also future needs, thereby increasing its reusability.
Benefits of reusability
- APIs and documentation are programmatically generated.
- There is no need to keep building server-side software for each new application.
- Client-side application design is decoupled from security and administration.
- Interface negotiation is simplified.
- Development costs and time to market are reduced.
- Applications can easily be moved between servers and from development to test to production.
MuleSoft mentions that by building reusable assets:
- You liberate resources
- Projects are delivered 3x-5x faster
- Team productivity is increased by 300%, compared to legacy or homegrown integration solutions
By building your APIs with reusability in mind, you save your company time, effort and money, creating an infrastructure which is designed for change. Not only you are able to move fast on your first project, but then actually accelerate further from your second project onwards, due to reusable assets and a built-up organisational capability.
If you would like to find out more about API reusability and how API-led connectivity can help you create a fully integrated environment, do give us a call at +44 (0)203 475 7980 or email us at email@example.com.
Other useful links: