APIs, el Nacimiento del Software Interconectado

Actualmente vivimos la revolucion mas importante de los ultimos 30 años en la industria de la Tecnologia de Informacion, originada a partir de la maduracion del concepto de Cloud Computing o Computo en la Nube (ver el post sobre Cloud Computing Parte 1 y Parte 2).

Dentro del Cloud Computing existe un componente tecnologico que tiene un impacto especialmente profundo en la arquitectura moderna de sistemas e incluso de manera mas relevante aun, en el incremento sustancial del potencial de dicho software de nueva generacion en el mundo de los negocios.

Este nuevo componente es la API, que se refiere al concepto de Application Programming Interface o Interfaz de Programacion de Aplicaciones en español, la cual esta definida como un conjunto de funciones y procedimientos (o metodos, en la programacion orientada a objetos) que ofrece cierta biblioteca para ser utilizada por otro software como una capa de abstraccion.

Explicado en terminos sencillos, las APIs son conectores que un desarrollador construye para una aplicacion informatica, de manera que esta pueda interactuar con otras aplicaciones de terceros, bajo las reglas que el desarrollador de la API definio como permisibles.

Las APIs son un cambio de paradigma del modelo de programacion ya que lograron hacer practico lo que otros intentos anteriores y mas complejos como SOA (Service Oriented Architecture), nunca lograron popularizar: que a traves de web services diferentes aplicaciones se “hablaran” entre ellas bajo un esquema de comunicacion predefinido, incluso tratandose de aplicaciones de desarrolladores diferentes.

Si sumamos el fenomeno emergente de Big Data , donde se estan creando bases de datos interconectadas de una magnitud nunca antes vista, podemos preveer una nueva generacion de aplicaciones donde el valor ya no resida en la funcionalidad tradicional sino en su capacidad de interconectarse en una especie de “federacion” con otras aplicaciones de terceros y bases de datos publicas y privadas (a traves de estandares abiertos, basandose en niveles de servicio mutuamente acordados y con claras reglas de interoperabilidad que garanticen la seguridad), para entregar al usuario un beneficio mucho mayor que lo originalmente contemplado en aplicaciones tradicionales, aisladas y dedicadas a un solo cliente.

Un ejemplo de estas aplicaciones informaticas federadas (tambien llamadas “mashups”) que potenciaran su valor a traves de interconexiones mediante APIs, podria ser una desarrollada para controlar los gastos de viaje y representacion del personal de una empresa. Mas alla de la funcionalidad basica de registro y control de transacciones de los empleados, esta aplicacion podria:

  • Mediante el API de Facebook (FB), hacer un registro y firma sencillo del empleado en la aplicacion, aprovechando la informacion de preferencias del empleado a traves de la “social chart” personalizada que proporciona Facebook;
  • A traves del API de Google Maps ubicar anticipadamente en un mapa los diferentes destinos y rutas del empleado en el viaje de negocios;
  • Mandarle a su celular un SMS cada vez que salga de un destino a otro, las rutas y recomendaciones que Google Maps genero, mediante una API como la de BlueVia de la empresa Telefonica Movistar;
  • Agregar la informacion anonima de gastos de viaje por rubro dentro de una base de datos publica accesada a traves de una API diseñada para este efecto, y darle tanto al usuario como a la direccion de la firma una comparativo contra otras empresas, por tipo de gasto, por tipo de empleado, etc.
  • Facilitar la agregacion automatica de demanda de la compañia para lograr descuentos por volumen en viajes, hospedaje, comidas, taxis, etc. a traves de una conexion tipo API con una empresa de comercio electronico que ofrezca un “marketplace” entre oferentes y compradores de este tipo de servicios.

Este tipo de interaccion y nivel de informacion jamas se podria alcanzar con una aplicacion cerrada y dedicada solo a una empresa.

Por esto consideramos que es inevitable que en un futuro la mayoria de las aplicaciones (incluyendo las empresariales) sean preferentemente “consumidas” en ambientes de nubes publicas, donde aumentaran drasticamente su valor (ver la  Ley de Metcalfe que explica que el valor de una red es exponencialmente mayor conforme aumenta el numero de sus interconexiones) y solo algunas permaneceran encerradas en nubes privadas, por cuestiones de seguridad o de ser procesos aislados y especificos para una empresa.

Para darse cuenta de la aceleracion en la creacion de nuevas APIs (y de las aplicaciones subyacentes que muchas veces son solo creadas con el proposito de volverse modulos constructivos de aplicaciones superiores), el sitio Programmable Web se ha dedicado a registrar todas las APIs conocidas publicamente. A la fecha tiene casi 5,500 APIs en sus registros y diariamente registra decenas de nuevas APIs.

Algunos ejemplos de estas son:

Coface ICON API: Coface’s ICON API provides business-to-business services for purchasing and selling business credit reports. These credit reports are important, because they permit companies to assess the financial positions of their partners and their ability to fulfill commitments. Coface draws on its network of credit information subsidiaries and branches as well as its CreditAlliance partners to provide up-to-date information on millions of companies worldwide.

Twilio API: Twilio provides a simple hosted API and markup language for businesses to quickly build scalable, reliable and advanced voice and SMS communications applications. Twilio provides a telephony infrastructure web service “in the cloud”, enabling web programmers to integrate real-time phone calls into their applications.

Dark Sky API: Dark Sky is an app that predicts the weather using location to figure out when it’s going to precipitate in the immediate future. It is meant to forecast the weather for a given location up to an hour in advance.

eLobbyist LegiScan API: The service provides nonpartisan monitoring for information about pending legislation. It tracks the progress of every bill introduced in the U.S. Congress and all 50 state legislatures through a single, uniform interface. It provides full-text search for legislative initiatives nationwide.   

Onuma WFS API: The Onuma Web Feature Service (WFS) provides access to Onuma’s geospatial data resources. This includes the locations and features of buildings, along with other Building Information Modeling (BIM) data. Users can query a specific geographic area determined either by input coordinates or by a drawn area that forms a bounding box. 

La arquitectura de computo basado en APIs hara surgir modelos disruptivos de negocio y oportunidades muy signficativas de inversion, al poner en entredicho los paradigmas que han prevalecido por decadas. Algunos de estos posibles nuevos modelos de negocio son:

  • Desarrollo de aplicaciones como servicio (AaaS) creadas para ser expuestas mediante APIs a desarrolladores externos, de manera que estos las usen como bloques constructivos de las suyas.
  • Data as a Service (DaaS) donde grandes bases de datos publicas especializadas son consumidas a traves de APIs en un esquema de suscripcion o transaccion (API call).
  • Uso de la API de una aplicacion de una empresa, como eje de un ecosistema o federacion de sus clientes o proveedores. Por ejemplo, una gran cadena de supermercados exponiendo su plataforma de Supply Chain para que sus proveedores de frutas y legumbres puedan ver sus necesidades en tiempo real, asi como puedan ofertar con base en su produccion diaria.
  • Desarrollo de “App Campaigns” que utilizando aplicaciones para telefonos moviles, ejecutan promociones especificas de marketing, recombinando diferentes APIs de terceros que atraigan y retengan a consumidores, generando valiosa informacion de mercado en el proceso.

One Response to APIs, el Nacimiento del Software Interconectado

  1. Pingback: ¿Deben los Ingenieros ser Responsables del Marketing?: Parte 2 | Capital Disruptivo

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>