Conocer las ventajas de las API
Objetivos de aprendizaje
Después de completar esta unidad, podrá:
- Definir la abstracción.
- Nombrar las ventajas del uso de una API.
- Explicar verbos HTTP y su uso
Mientras instala su equipo de fitness, la propietaria del club de fitness comienza a imaginar cómo sería este proceso sin tener especificaciones estándar para la energía eléctrica. El equipo no sería lo único por lo que preocuparse. Cosas como el cableado en las paredes, los aparatos adicionales con los que se comparte el cableado, cómo se genera la electricidad (parque eólico, central nuclear, generador de carbón o placas solares), incluso dónde está localizada la fuente de energía. Afortunadamente, no tiene que preocuparse por los pequeños detalles, simplemente enchufa en cualquier toma de corriente y listo.
Las API aportan un nivel similar de predictibilidad y fiabilidad. Ofrecen conectividad específica que a menudo está en contexto. La integración con ellas es fácilmente repetible y ampliable. Y, en muchos casos, llevan aparejado un intercambio de valor recíproco. La propietaria del club de fitness consigue un suministro de electricidad fiable para sus cintas de correr y el proveedor de servicios puede de medir y facturar ese consumo.
Beneficios del uso de las API
Las API ayudan a abrir una multitud de oportunidades. Estas son formas en que el software, los integradores ciudadanos, los clientes, los desarrolladores y sus equipos pueden beneficiarse del uso de las API.
Externalización
A fin de poder aprovechar el mismo principio, todos los aparatos compatibles (en este caso el equipo de gimnasia) pueden externalizar fácilmente sus requisitos eléctricos a un servicio, y dichos aparatos pueden esperar obtener siempre los mismos resultados. Del mismo modo, las API le permiten externalizar funciones y datos clave a través de una interfaz estándar predecible. Céntrese en crear fantásticos servicios, aplicaciones y experiencias de cliente, no en averiguar cómo obtener información ordinaria al tiempo que matizada.
Considere cómo Lyft se basa en la interfaz estándar en Google Maps para importar mapas y geolocalización en su aplicación móvil. Los mapas nunca formaron parte de la experiencia de los clientes en lo referente a conseguir un taxi o una limusina. Pero los servicios de uso compartido de carros como Lyft vieron una oportunidad para mejorar la experiencia de los clientes con los mapas.
Debido a la API para Google Maps, Lyft no tuvo que preocuparse sobre cómo conectar los mapas en su aplicación. Puede centrarse en los procesos comerciales que conforman una excelente experiencia para compartir vehículo.
Los instintos para utilizar las API de esta manera, para construir una excelente experiencia de los clientes, deben llegar de manera natural a quienes aspiran a ser Trailblazers de la Integración. Dependerá de usted enseñar a otros en su organización a pensar de esta forma.
Movilidad aumentada
Los dispositivos que consumen energía se desplazan fácilmente de una toma a otra. Por ejemplo, sin enchufe, especificaciones o toma coincidentes, la propietaria del gimnasio podría tener que integrar el equipamiento en los muros del edificio. Esto podría implicar la recopilación de las herramientas requeridas, exponiendo todos los cables y uniéndolos. Por supuesto, también necesitaría saber algo acerca de los cables que salen del muro.
Gracias a una interfaz estándar, desplazar el equipamiento es sencillo. (Algunos ejemplos: actualizar el software, migrar a un nuevo servicio o ampliar la presencia de su centro de datos.) Aunque cambie el patrón de la interfaz; como al viajar de Norteamérica a Reino Unido; los aparatos eléctricos pueden adaptarse fácilmente, ya que los estándares están bien definidos y documentados.
Abstracción
Al echar un vistazo al club de fitness, la toma de electricidad es una capa de abstracción en el servicio subyacente o electricidad. Se preguntará ¿en qué consiste la abstracción? Es una forma de ocultar los detalles del funcionamiento de otro sistema.
Mientras que el servicio suministre 120 voltios de corriente alterna a la toma de corriente conforme al estándar, el proveedor del servicio tiene la libertad de cambiar todo lo que quiera desde detrás de la toma hasta la fuente de alimentación. Los cambios son opacos para los aparatos que consumen energía.
Las API sirven como una capa de abstracción entre los datos o función proporcionada y la lógica requerida para completar y ejecutar una tarea en el origen. En otras palabras, su software solo necesita saber cómo conectar con el otro sistema, no cómo funciona el otro sistema.
Productividad del desarrollador aumentada
Cuando los programadores redactan códigos, raramente comienzan desde cero. Las API están diseñadas para tomar una base de código y utilizarla en cualquier sitio y lugar en vez de intentar volver a crear esas funciones. Aunque la reutilización del código limita la diferenciación entre aplicaciones, una referencia a la API (también conocida como "llamar" a una API) puede proporcionar al programa los datos o las funciones que se esperan. Teniendo el cuenta el modo en que las API pueden gestionar tareas comunes y cómo pueden incluso gestionar tareas no tan comunes, las API permiten reducir el tiempo de desarrollo de una aplicación de meses o incluso años a solo unas cuantas semanas.
Cuando los desarrolladores tienen este tipo de productividad, el negocio obtiene una agilidad sin precedentes. Como descubrirá en Integración dirigida por API para la reinvención de negocio, gracias a las API, se pueden alcanzar nuevos productos y mejores métodos en una fracción del tiempo que hacía falta hasta ahora.
Uso de protocolos HTTP para acceder a datos
Aunque no existen reglas ni leyes que definan exactamente cómo deben los desarrolladores conectar sus aplicaciones a una API, surgieron varios estándares. Por ejemplo, cuando las aplicaciones se conectan a las API desde Internet, la mayoría de los proveedores de API dejan estas conexiones disponibles a través de HTTP, o protocolo de transferencia de hipertexto, conocido también como red informática mundial (World Wide Web).
Cuando una aplicación de su teléfono llama a una API, cuando busca su conteo actual de calorías a través de un navegador web o cuando guarda la información del ejercicio físico que hizo en el software del equipamiento de fitness, está siempre utilizando un conjunto especial de comandos HTTP llamados verbos.
Verbos HTTP
|
Descripciones
|
---|---|
POST |
Enviar datos solicitados a un servidor para su procesamiento |
GET |
Recuperar datos solicitados de un servidor |
PUT |
Actualizar y sustituir datos existentes con nuevos datos enviados en la solicitud |
DELETE |
Eliminar los datos solicitados del servidor |
En la mayoría de los casos, el proveedor de servicios proporciona una dirección web especial conocida como un extremo de API para el software con el fin de conectarse utilizando un verbo HTTP. Este es un ejemplo de FitBit.
GET https://api.fitbit.com/1/user/[user-id]/activities/date/[date].json
Observe que en vez del "www" con el que está familiarizado, FitBit utiliza "api". Aquí, los desarrolladores puede utilizar el comando GET para devolver los datos necesarios para mostrar en sus aplicaciones. En el caso de este extremo, la respuesta esperada incluirá la actividad más reciente (running), así como cualquier reto de fitness que el usuario completó previamente.
Si una cinta conectada utilizara esta API, podría mostrar mucha información útil al corredor. Tome este ejemplo de la respuesta recibida tras realizar una solicitud GET en la API de Fitbit.
API
No hay que dudar que la respuesta anterior no es muy intuitiva y nunca se presentará al usuario de cinta. Tiene formato según otro estándar denominado JSON (Notación de objetos JavaScript) que a menudo se utiliza con HTTP. Aunque parece muy técnico, hay una nueva clase de herramientas de integración de ciudadano, como MuleSoft Composer, que facilita a los no programadores trabajar con estos resultados. Esto permite a los integradores ciudadanos imaginar nuevas formas de utilizar las API y aplicar la imaginación mientras construyen esas integraciones. Del mismo modo que los programadores podrían desarrollar código para leer y procesar la respuesta anterior, los integradores ciudadanos como un gerente de negocio o un diseñador de cinta utilizarían clics.
Interfaz de la cinta
Una vez que la cinta recibe una respuesta, el usuario puede ver el total de calorías quemadas, su seguimiento con el reto de fitness más reciente y mucho más.
Ahora póngase en la piel del diseñador de la interfaz de usuario de la cinta. ¿Tiene alguna idea para una interfaz de usuario diferente? ¿Quizá alguna que aproveche otros datos de la respuesta? Podría ser así. Esta clase de flexibilidad para realizar cambios en la interfaz de usuario es un ejemplo de alguno de los beneficios que obtiene del tipo de abstracción que ofrecen las API.
Y algo muy importante: ¡Las aplicaciones no están limitadas a utilizar una sola API al mismo tiempo! Una aplicación puede realizar llamadas a múltiples API y proveedores de API. Estas aplicaciones compuestas se llaman a veces mashups y, como una receta que puede incluir cualquier ingrediente, la única limitación en lo que se puede realizar con una mashup es su imaginación.
Gracias a las miles de API que los desarrolladores de software y los no programadores que disponen de herramientas de integración de ciudadano (integradores ciudadanos) pueden alcanzar a través de Internet (más de 23.000 según el último conteo de acuerdo con ProgrammableWeb.com), Internet se convirtió en una plataforma programable que es igual, si no más, potente que las plataformas programables incluyendo Windows, Mac y Linux. Es como un armario de especias gigante que está disponible para usted en cualquier momento. Cuanto antes empiece a rediseñar los procesos de negocio de su organización y las experiencias de cliente y a concebirlos como mashups construidas a partir de ingredientes de ese armario, antes iniciará la senda de utilizar las API para transformar su negocio.
Recursos