Abstract:
For years now we can say that web technologies are completely integrated into our lives.
Web applications have become one of the main tools through which we interact with the
world and perform our daily activities. It is hard to find an area in which these information
systems do not play a role or offer us a service.
This implies the storage, management and provision of a large amount of information
from diverse sources and nature. It is becoming more common that in order to offer a
complex service through a web application, information from multiple independent systems
must be obtained and processed. This requires the development team to interact with
different interfaces, documentation and design as well as security criteria.
This paper proposes a platform that serves as a publication manager for these HTTP
interfaces (APIs), being the only responsible for the interaction with the backend systems
that expose them. As a result, it is possible to offer a uniform interface and an abstraction
of the particularities of each system to the different client applications that need their
consumption.
To this end, this API gateway must enable its users to specify how the information in
a backend system should be consumed, how this information will be exposed to consumers,
and what role the gateway will have to play as an intermediary, to turn what the backend
system exposes into what it is intended to offer to consumers.
Throughout the study, it is designed and developed an architecture that allows this
task, taking into account scalability and the different situations and requirements that may
occur in the future in a system that aims to accommodate any possible HTTP API. The
following is a case study that justifies the need for this gateway for a fictional scenario, and
is resolved through its use.
Finally, it presents the conclusions drawn from this work and possible lines of work to
extend its functionality.