Está en la página 1de 6

Interfaz de programación de

aplicaciones (API)

Una interfaz de programación de aplicaciones (API) es un código que


permite que dos programas de software se comuniquen entre sí.

La API define la forma correcta para que un desarrollador escriba un


programa que solicite servicios de un sistema operativo (SO) u otra
aplicación. Las API se implementan mediante llamadas a funciones
compuestas de verbos y sustantivos. La sintaxis requerida se describe
en la documentación de la aplicación a la que se llama.

Las API

Las API se componen de dos elementos relacionados. La primera es


una especificación que describe cómo se intercambia la información
entre programas, hecha en forma de una solicitud de procesamiento y
una devolución de los datos necesarios. El segundo es una interfaz de
software escrita según esa especificación y publicada de alguna
manera para su uso.

Se dice que el software que quiere acceder a las características y


capacidades de la API la llama, y se dice que el software que crea la
API la publica.

Por qué las API son importantes para los negocios

La web, el software diseñado para intercambiar información a través de


internet y la computación en la nube se han combinado para aumentar
el interés en las API en general y en los servicios en particular.

El software que una vez se desarrolló a medida para un propósito


específico ahora se escribe a menudo refiriendo API que proporcionan
características amplias de utilidad general, reduciendo el tiempo y costo
de desarrollo y mitigando el riesgo de errores.

Las API han mejorado constantemente la calidad del software durante


la última década, y el número creciente de servicios web expuestos a
través de API por parte de los proveedores de la nube también está
fomentando la creación de aplicaciones específicas para la nube,
esfuerzos de internet de las cosas (IoT) y aplicaciones para dispositivos
y usuarios móviles.

Tres tipos básicos de APIs

Las API toman tres formas básicas: local, similar a la web y similar a un
programa.

Las API locales son la forma original, de donde proviene el nombre.


Ofrecen servicios de SO o middleware a los programas de aplicación.
Las API de .NET de Microsoft, la TAPI (API de telefonía) para
aplicaciones de voz y las API de acceso a las bases de datos son
ejemplos de la forma de API local.

Las API web están diseñadas para representar recursos ampliamente


utilizados, como páginas HTML, y se accede a ellas mediante un
protocolo HTTP simple. Cualquier URL web activa una API web. Las
API web a menudo se denominan REST (transferencia representativa
del estado) o RESTful porque el editor de las interfaces REST no guarda
ningún dato internamente entre las solicitudes. Como tal, las solicitudes
de muchos usuarios se pueden mezclar como lo harían en internet.

Las API del programa se basan en la tecnología de llamada a


procedimiento remoto (RPC) que hace que un componente del
programa remoto parezca ser local al resto del software. Las API de
arquitectura orientada a servicios (SOA), como las API de la serie WS
de Microsoft, son API de programa.
https://cdn.ttgtmedia.com/rms/onlineImages/microservices-
api_types_desktop.jpg

Pie: Las API toman tres formas básicas: local, similar a la web y similar
a un programa. Aquí hay un vistazo a cada tipo.

¿Por qué importa el diseño de las API?

Tradicionalmente, las aplicaciones que publican las API tienen que


estar escritas en un lenguaje de programación, pero como las API están
cada vez más generalizadas, la validación adicional de la estructura de
una API es importante.

El buen diseño de la API es fundamental para el uso exitoso de la API,


y los arquitectos de software pasan un tiempo considerable revisando
todas las aplicaciones posibles de una API y la forma más lógica de
usarla.

Las estructuras de datos y los valores de los parámetros son de


particular importancia porque deben coincidir entre el llamador de una
API y su editor.

REST y la web

Aunque las aplicaciones que llaman las API tradicionalmente han sido
escritas en lenguajes de programación, internet y la nube están
cambiando eso. Las API web se pueden llamar a través de cualquier
lenguaje de programación, pero también se puede acceder a ellas
desde páginas web creadas en HTML o herramientas de generación de
aplicaciones.

El mayor papel que desempeña la web en nuestras vidas y actividades


comerciales ha dado lugar a una explosión en el modelo REST y al uso
de herramientas de programación simples, o incluso de ninguna
programación, para el acceso a la API.
Ejemplos de API en la comunidad de desarrolladores

Los sistemas operativos y las herramientas de middleware exponen sus


características a través de colecciones de API generalmente llamadas
"kits de herramientas", y dos conjuntos diferentes de herramientas que
admiten las mismas especificaciones de API son intercambiables para
los programadores, lo cual es la base para las afirmaciones de
compatibilidad e interoperabilidad. Las especificaciones de la API de
.NET de Microsoft son la base de un paquete de middleware equivalente
de Linux de código abierto que ahora es compatible con Microsoft, por
ejemplo.

Actualmente, internet es el principal controlador para las API, y


compañías como Facebook, Google y Yahoo publican API para alentar
a los desarrolladores a desarrollar sus capacidades. Estas API nos han
dado todo, desde nuevas funciones de internet que navegan por los
sitios de otros servicios, hasta aplicaciones para dispositivos móviles
que ofrecen un fácil acceso a los recursos web.

Las nuevas características, como la entrega de contenido, la realidad


aumentada y las aplicaciones novedosas de la tecnología vestible, se
crean en gran parte a través de estas API.

Tendencias de API en la nube

La computación en la nube introduce nuevas capacidades para dividir


el software en componentes reutilizables, conectar los componentes a
las solicitudes y escalar la cantidad de copias del software a medida
que cambia la demanda.

Estas capacidades de nube ya han comenzado a cambiar el enfoque


de las API de simples modelos centrados en programadores RPC a
modelos centrados en web RESTful, e incluso a lo que se denomina
"programación funcional" o "modelos lambda" de servicios que pueden
escalarse instantáneamente según se necesite en la nube.
APIs como servicios

La tendencia a pensar que las API representan recursos generales ha


cambiado la terminología. Si bien se espera que las API sean utilizadas
como una herramienta general por muchas aplicaciones y usuarios, se
dice que son servicios, y normalmente requerirán un desarrollo y una
implementación más controlados.

SOA y microservicios son ejemplos de API de servicio. Los servicios


son la tendencia más actual en las API, hasta el punto en que es posible
que todas las API en el futuro se vean como servicios de
representación.

Pruebas de API

Como todo software, las APIs deben ser probadas. El propósito de las
pruebas es la validación de las API publicadas en comparación con las
especificaciones, que los usuarios de esas API utilizarán para dar
formato a sus solicitudes.

Estas pruebas generalmente se realizan como parte de la


administración del ciclo de vida de la aplicación (ALM), tanto para el
software que publica las API como para todo el software que las usa.
Las API también deben probarse en su forma publicada para garantizar
que se pueda acceder a ellas correctamente.

Gestión de API

La administración de API es un paso más allá de lo que normalmente


se asocia con el desarrollo de software. Es el conjunto de actividades
asociadas con la publicación de la API para su uso, que permite a los
usuarios encontrarla y sus especificaciones, y regular el acceso a la API
según los permisos o políticas definidos por el propietario.
La seguridad y el gobierno de la API caen en el ámbito de la
administración de la API. Las herramientas utilizadas para la
administración de API incluyen catálogos o directorios de API.

También podría gustarte