Skip to main content

Everything you need to know about APIs – part 1

By December 10, 2021February 10th, 2022FME

API – application programming interfaces allow to integrate systems with third party services and systems. This way companies don’t have to build a solution from scratch, using their own resources, every time they want to create a new service.
APIs quickly went from being a niche solution provided by several big market players to a commonly used tool, which revolutionizes the service market. Thus, it is worth getting to know them a bit better.

What are APIs and why are they so popular?

API (Application Programming Interface) is a type of software that connects different, independent systems and software. API is a meeting point between them and a basic point of interaction. APIs facilitate sharing data and services for different purposes in a stable and secure way.

Without an API, companies wouldn’t be able to integrate services with their business systems or with third party services and so they would be impossible to take advantage of. APIs create a great environment for data exchange and solution integration and thus ever new opportunities for their application and development.

Only recently, APIs were a niche technology created by a handful of tech companies – pioneers in this domain – like Google, AWS, or Salesforce. Nevertheless, given the possibilities they create and the fact that modern technologies are used in every industry and area of life, APIs quickly left the niche. Today, they operate seamlessly in the background in most applications. The common use of APIs has changed entirely the way that services are provided and taken advantage of.

There is a number of reasons for this:

The ease and safety of connecting via an API gives room for endless innovations and accelerates the development of modern services. The ubiquitous mobile phones and other mobile devices perfectly fit the APIs’ service-based structure and further the development of application programing interfaces even more, as well as the services that can be provided through them.

More and more companies rely on cloud computing and cloud infrastructure. APIs greatly facilitate the entire process of moving data to the cloud. They are necessary in the initial phase of data migration – as well as well as later on – for continuous data integration.

From the end user’s point of view, APIs enable a fast and secure access to a service, from the clients’ and business partners’ perspective APIs provide a safe and stable way to gain access and use the resource of other companies.

APIs can bring great benefits also in smaller scale. When a fully scalable and functional API can be created in less than a day, it is sometimes worth using one to modernize and connect various older systems under one interface – even if it is for the purpose of just one project.

The modern-day market is so competitive that using APIs is no longer a question of providing services in a more comfortable and convenient way. The existence of many organizations can depend on how useful and intuitive the API they provide is. Companies that have adopted the API-first approach, like Salesforce, e-bay or Amazon have disrupted the service market.

The elements of an API

An API is usually defined as a set of procedures, protocols, and tools necessary to build an application. From the business standpoint, an API can be also treated as a product built from three separate, functional components:

  • The component for managing the security of an API,
  • The interface (resources, methods, etc.),
  • The business logics related to the use of each of the resources.

There are also other important elements, such as monitoring, analytics and risk protection. Nevertheless, in case of small APIs, these are not necessary for creating this type of interfaces.

Where to look for and test APIs?

On the web, you will find entire hubs, where you can find and download ready to use APIs suiting your purpose. To mention just two of them:

  • Rapidapi.com – is one of the biggest API hubs – you can choose from more than 30 000 APIs. More than 3 million developers use Radpidapi.com to search for, test and connect to APIs.
  • Postman API Platform – is a platform for building, using, and testing APIs. It facilitates collaboration and this way APIs can be created even faster.

When choosing a ready-to-use API we can search by industry or user. In the earlier mentioned services, you will also find tools for testing APIs and check, in several simple steps, if the connection that we have created is a viable one.

How to migrate data using APIs

Migrating data between systems can be one of the most difficult stages of system integration and an overly complex process too. The biggest challenge and on that impacts the outcome of this process is a good understanding of data models. It is indispensable to create an accurate data mapping model.

Luckily, the next step – the migration itself – is relatively easy and the process created is repetitive and can be applied in future migrations.

We can define several basic steps, that are present in every data migration process:

1

Connecting to an API and its authentication

To connect to services, you need to establish an authentication mechanism – whether it be a token, OAuth 2.0, or HTTP Basic.

Different services interpret different authentication standards slightly differently. The complexity of authentication is one of the biggest obstacles when working with web services, but there are tools on the market that are ready to deal with this problem.

2

Migrating key information

When migrating data, it is important to know what key or core data sets we want to migrate.

For example, the largest or the most important data categories can be considered key information, such as:

→ Contacts stored in a CRM system
→ Employee data gathered in an HR system
→ Images and video files
→ Blog articles
→ Work tickets, etc.

Although this step means migrating big data sets with similar attributes, it also requires taking many small and detailed decisions regarding this data, for example their hierarchy, metadata, etc. This is necessary to avoid correcting and redefining these elements later – on data that has already been migrated to a new system.

3

Creating a repetitive data migration process

The main difference between loading data via API calls and a direct read-write method is that with API, the loading process can easily become a process where several phases go on simultaneously. One piece of data can be loaded, and the result (immediately available through the API), can be used in the next migration phase.

Nevertheless, this way requires a shift in the approach to work. In this case creating a repetitive migration process means defining a set of steps rather than accurately representing the target dataset.

4

Leaving space for special tasks and improvements.

When migrating data, it is worth leaving some space for introducing changes in the company’s existing business processes already at the stage of migrating data.

Of course, it would be better to have these improvements and changes already figured out in the planning stage of the migration, yet in real life, sometimes certain needs become clear only along the way. For example, when migrating data from system a to B, we realize that the process that works with this data would work much better if we introduced an additional step – C.

This is not an ideal situation but is good to have this in the back of the head and set aside time and resources for such changes.

5

API error handling

In spite of numerous advantages, also in the case of APIs, we can’t avoid errors – they just happen and there is nothing we can do about it. Anything from abnormal data, badly formulated queries to server errors. There is no denying – errors will occur, the important thing is to know how to deal with them. The minimum is to create an error log. Ideally, you should identify what causes the problem and reload the request, only with the problematic content.

Data migration tools and solutions

We have quite a variety of solutions supporting data migration, they fall into two main groups of API data integration tools:

1. Point-to-Point solutions

Point-to-point solutions solve one specific problem in one specific element of the integration process. Although point-to-point solutions currently the most popular and available on the market, this type of integration comes with many restrictions. Although it may appear as the best possible solution – given its simplicity, quick results, and ease of teaching the users how it works – with time it becomes less and less beneficial. Point-to-point solutions have their limitations:

  • Limited data processing capabilities – the data processing element is often permanently integrated with the connector so if we want to process data in a less standard way, we need to make changes in the code.
  • Initially, a point-to-point solution (for its simplicity) looks tempting because of its modest maintenance costs, but as you add more and more of such one-off, point-to-point integrations they begin to accumulate, the system becomes extremely complex and chaotic, and therefore difficult to monitor and maintain.
  • This type of solutions is one-off also because of their logic – introduced in one place, they cannot be applied during other integrations, so the fact that, for example, users have learned the way one process works, will not help them in subsequent integrations.

2. Flexible data integration solution

A good example here is the FME Platform, which allows the integration of many different tools without the need to constantly acquire new knowledge about them or build new components. This type of solution, at first, may seem more complicated than a point-to-point one, but the effort put into implementing and learning how to use it, quickly begins to pay off. Flexible tools are also better suited for the nature of data, which is inherently volatile. If you are thinking about information integration architecture in the long term, a flexible tool is the best choice.

In this part of the article, we explained what an API is, its role in providing modern services and the source of the popularity of APIs. We also discussed how to migrate and integrate data using APIs and the tools for creating and testing APIs. In the next part of the article we will discuss, among other things:

  • Why should you consider creating APIs?
  • Who is codeless API for?
  • API and FME – transformers and authentication options.

Coming up soon…

Contact us