Вы находитесь на странице: 1из 9

API REST: qu es y cules son sus ventajas en el desarrollo de proyectos

El lanzamiento del nuevo sistema REST como protocolo de intercambio y manipulacin de datos
en los servicios de internet cambi por completo el desarrollo de software a partir de 2000. Ya casi
toda empresa o aplicacin dispone de una API REST para creacin de negocio.

REST (Representational State Tranfer) es una arquitectura para el desarrollo


web que se apoya totalmente en el estndar HTTP.

El sistema REST como protocolo de modificacin de datos en los servicios


de internet tuvo un roll fundamntal en el desarrollo de software. Para la
creacin de negocios toda empresa dispone de una api rest

APIs Desarrolladores

Facebook

Twitter

Linkedin

Google +

Mail

REST cambi por completo la ingeniera de software a partir del 2000. Este nuevo enfoque de
desarrollo de proyectos y servicios web fue definido por Roy Fielding, el padre de la especificacin
HTTP y uno los referentes internacionales en todo lo relacionado con la Arquitectura de Redes, en
su disertacin Architectural Styles and the Design of Network-based Software Architectures. En el
campo de las APIs, REST (Representational State Transfer- Transferencia de Estado
Representacional) es, a da de hoy, el alfa y omega del desarrollo de servicios de aplicaciones.

REST es definido por Roy Fielding en el ao 2000, mismo gestor del


protocolo HTTP. Considerar REST como un framework para el desarrollo
de aplicaciones web. Este tipo de arquitectura es ms estandarizado para la
creacin de APIs

En la actualidad no existe proyecto o aplicacin que no disponga de una API REST para la creacin
de servicios profesionales a partir de ese software. Twitter, YouTube, los sistemas de identificacin
con Facebook hay cientos de empresas que generan negocio gracias a REST y las APIs REST. Sin
ellas, todo el crecimiento en horizontal sera prcticamente imposible. Esto es as porque REST es
el estndar ms lgico, eficiente y habitual en la creacin de APIs para servicios de Internet.

Actualmente todas las aplicaciones o proyectos cuentan con una API REST para el desarrollo de
servicios profesionales muchas empresas generan negocios gracias a APIS REST

Buscando una definicin sencilla, REST es cualquier interfaz entre sistemas que use HTTP para
obtener datos o generar operaciones sobre esos datos en todos los formatos posibles, como XML
y JSON. Es una alternativa en auge a otros protocolos estndar de intercambio de datos como
SOAP (Simple Object Access Protocol), que disponen de una gran capacidad pero tambin mucha
complejidad. A veces es preferible una solucin ms sencilla de manipulacin de datos como REST.

Caractersticas de REST

Protocolo cliente/servidor sin estado: cada peticin HTTP contiene toda la informacin
necesaria para ejecutarla, lo que permite que ni cliente ni servidor necesiten recordar ningn
estado previo para satisfacerla. Aunque esto es as, algunas aplicaciones HTTP incorporan
memoria cach. Se configura lo que se conoce como protocolo cliente-cach-servidor sin estado:
existe la posibilidad de definir algunas respuestas a peticiones HTTP concretas como cacheables,
con el objetivo de que el cliente pueda ejecutar en un futuro la misma respuesta para peticiones
idnticas. De todas formas, que exista la posibilidad no significa que sea lo ms recomendable.

Las operaciones ms importantes relacionadas con los datos en cualquier sistema REST y la
especificacin HTTP son cuatro: POST (crear), GET (leer y consultar), PUT (editar) y DELETE
(eliminar).

Los objetos en REST siempre se manipulan a partir de la URI. Es la URI y ningn otro elemento
el identificador nico de cada recurso de ese sistema REST. La URI nos facilita acceder a la
informacin para su modificacin o borrado, o, por ejemplo, para compartir su ubicacin exacta
con terceros.

Interfaz uniforme: para la transferencia de datos en un sistema REST, este aplica acciones
concretas (POST, GET, PUT y DELETE) sobre los recursos, siempre y cuando estn identificados con
una URI. Esto facilita la existencia de una interfaz uniforme que sistematiza el proceso con la
informacin.
Sistema de capas: arquitectura jerrquica entre los componentes. Cada una de estas capas
lleva a cabo una funcionalidad dentro del sistema REST.

Uso de hipermedios: hipermedia es un trmino acuado por Ted Nelson en 1965 y que es una
extensin del concepto de hipertexto. Ese concepto llevado al desarrollo de pginas web es lo que
permite que el usuario puede navegar por el conjunto de objetos a travs de enlaces HTML. En el
caso de una API REST, el concepto de hipermedia explica la capacidad de una interfaz de desarrollo
de aplicaciones de proporcionar al cliente y al usuario los enlaces adecuados para ejecutar
acciones concretas sobre los datos.

Para cualquier API REST es obligatorio disponer del principio HATEOAS (Hypermedia As The Engine
Of Application State - Hipermedia Como Motor del Estado de la Aplicacin) para ser una verdadera
API REST. Este principio es el que define que cada vez que se hace una peticin al servidor y ste
devuelve una respuesta, parte de la informacin que contendr sern los hipervnculos de
navegacin asociada a otros recursos del cliente.

Devolucin de una peticin a una API REST segn el principio HATEOAS (enlaza a un tutorial
explicativo del concepto de hipermedia en API REST con un ejemplo prctico de una peticin a una
base de datos de automviles):

"id": 78,

"nombre": "Juan",

"apellido": "Garca",

"coches": [

{
"coche": "http://miservidor/concesionario/api/v1/clientes/78/coches/1033"

},

"coche": "http://miservidor/concesionario/api/v1/clientes/78/coches/3889"

Ventajas que ofrece REST para el desarrollo

1. Separacin entre el cliente y el servidor: el protocolo REST separa totalmente la interfaz de


usuario del servidor y el almacenamiento de datos. Eso tiene algunas ventajas cuando se hacen
desarrollos. Por ejemplo, mejora la portabilidad de la interfaz a otro tipo de plataformas, aumenta
la escalabilidad de los proyectos y permite que los distintos componentes de los desarrollos se
puedan evolucionar de forma independiente.

2. Visibilidad, fiabilidad y escalabilidad. La separacin entre cliente y servidor tiene una ventaja
evidente y es que cualquier equipo de desarrollo puede escalar el producto sin excesivos
problemas. Se puede migrar a otros servidores o realizar todo tipo de cambios en la base de datos,
siempre y cuando los datos de cada una de las peticiones se enven de forma correcta. Esta
separacin facilita tener en servidores distintos el front y el back y eso convierte a las aplicaciones
en productos ms flexibles a la hora de trabajar.

3. La API REST siempre es independiente del tipo de plataformas o lenguajes: la API REST
siempre se adapta al tipo de sintaxis o plataformas con las que se estn trabajando, lo que ofrece
una gran libertad a la hora de cambiar o probar nuevos entornos dentro del desarrollo. Con una
API REST se pueden tener servidores PHP, Java, Python o Node.js. Lo nico que es indispensable es
que las respuestas a las peticiones se hagan siempre en el lenguaje de intercambio de informacin
usado, normalmente XML o JSON.

Si te interesa el mundo de las APIs, puedes descubrir ms sobre las APIs de BBVA aqu.

Sguenos en @BBVAAPIMarket

Te puede interesar

Ventajas de usar APIs de datos agregados en tu negocio

BBVA API_MARKET

Las APIs brillan en el South Summit

Los proyectos ms innovadores y brillantes necesitan de herramientas informticas que


multipliquen sus posibilidades como negocio. Por eso las APIs tuvieron un lugar muy destacado en
el South Summit, la cumbre anual de los emprendedores y startaperos.

BBVA API_MARKET

La tecnologa de las APIs, una ayuda perfecta para gestionar mejor tu dinero

BBVA API_MARKET

BBVA API Market participa en #SouthSummit17

DESARROLLO DE APPS

Cinco herramientas para desarrollar apps mviles


Ests pensando en crear una app mvil? Desgranamos de forma breve las ventajas, desventajas y
requerimientos de las cinco herramientas ms usadas para desarrollar apps mviles: Appcelerator
Titanium, PhoneGap, jQuery Mobile, appery.io y iBuild App.

Open4u-APIs para el Internet de las Cosas: ThingSpeak, Pachube y Fitbit

APIS

APIs para el Internet de las Cosas: ThingSpeak, Pachube y Fitbit

Las APIs se han convertido en la sangre del software. En el gran negocio del Internet de las Cosas,
la interfaces de programacin de aplicaciones cumplen un papel esencial en la recogida, anlisis,
visualizacin y manipulacin de los datos. Aqu tres buenos ejemplos.

APIs Internet de las Cosas

Facebook

Twitter

Linkedin

Google +

Mail

BBVAOPEN4U | 21 MAR. 2016

Cuando Marc Andreessen, uno de los grandes gurs de las inversiones de capital riesgo en
startups, escribi Why Software is Eating The World en The Wall Street Journal all por agosto de
2011, seguramente ya tena en mente lo que supondran las APIs (interfaces de programacin de
aplicaciones) para el desarrollo del software y los nuevos modelos de negocio. Se puede decir que
las APIs se estn comiendo el mundo y un ejemplo es su influencia en el Internet de las Cosas (IoT
en sus siglas en ingls).

Son estas APIs las que permiten a los desarrolladores conectarnos al mundo de los objetos y
relacionar entre s los dispositivos que nos rodean: enchufar nuestro cuerpo a medidores de
constantes vitales, domotizar nuestra casa, convertir nuestro vehculo casi en un ser vivo Las
APIs se han convertido en la sangre del software y el llamado Internet de las Cosas no existira sin
ellas. Las APIs incorporan y trabajan con los datos que facilitan la conexin entre objetos.

Hoy en da la mayora de soluciones del Internet de las Cosas se mueve alrededor de cuatro pilares
bsicos que son movilidad, economa social, anlisis de grandes volmenes de datos y la nube.
Segn un estudio de Cisco, el mercado global estimado en torno al IoT se elevar hasta los 14,4
trillones de dlares en 2022, una cifra que no ha dejado de crecer en los ltimos aos. Por tanto,
hay negocio para los desarrolladores y las APIs son una de las grandes claves.
Aqu vamos a tratar de analizar tres APIs del Internet de las Cosas entre todo un listado enorme de
interfaces que ya operan en este mercado en expansin:

1. ThingSpeak API

La API de ThingSpeak siempre trabaja con datos, esa es su gran especialidad. Es una API abierta
para el Internet de las Cosas que permite recopilar, almacenar, analizar, visualizar y actuar sobre la
informacin recogida en sensores y dispositivos como aplicaciones web y mviles, redes sociales
como Twitter, soluciones de mensajera, VoIP y nube como Twilio, hardware de cdigo abierto
como Arduino, Raspberry Pi o BeagleBone (los reyes del Internet de las Cosas y la robtica) o con
lenguajes de clculo computacional como MATLAB... ThingSpeak es una API conocida entre los
desarrolladores y dispone ya de una gran comunidad.

ThingSpeak API funciona siempre con canales, los cuales contienen los campos de datos, ubicacin
y estado. Para empezar a trabajar con esta interfaz es necesario crear un canal, donde se
recopilar la informacin de dispositivos y aplicaciones, datos que posteriormente se pueden
analizar y visualizar en grficos (este es un tutorial bastante completo de cmo crear grficos con
ThingSpeak) y el paso final es operar sobre esa documentacin. El proceso con la API siempre es el
mismo.

Al final, la ruta del proyecto con la API ser parecida a lo siguiente, sustituyendo los campos
CHANNEL_ID y FIELD_ID por los datos del canal recin abierto.

http://api.thingspeak.com/channels/CHANNEL_ID/charts/FIELD_ID

Un ejemplo del tipo de grficos que se pueden crear fruto de la recogida, anlisis y visualizacin
con ThingSpeak son estas mediciones de temperatura:
2.Pachube API (Xively)

La API de Pachube permite almacenar, compartir y analizar en tiempo real los datos de energa o
medioambientales recogidos por sensores en edificios y otros dispositivos. Toda la funcionalidad
del sistema de Pachube viene dada por la API, que es la que facilita que la informacin generada
por edificios, contadores de energa o dispositivos mviles con sensores sea recogida y analizada y
que todos esos objetos estn conectados entre s. Es el verdadero Internet de las Cosas.

La API de Pachube funciona en el entorno EEML (Extended Markup Language Environments), un


protocolo para el intercambio de datos de sensores en ambientes a distancia, ya sean fsicos o
tambin virtuales (un ejemplo tpico es la conexin con objetos de Second Life). Que exista un
protocolo universal es lo que posibilita que las personas puedan compartir con la comunidad
millones de datos en tiempo real de objetos, dispositivos o espacios de todo el mundo.

Los pasos a seguir para comenzar a trabajar con Pachube son bastante sencillos:

Agregar un dispositivo: el desarrollador da un nombre, una descripcin y permisos de


privacidad al dispositivo que quiere agregar y automticamente se le asigna un ID y la clave de la
API necesaria para conectar ese terminal.

Conectar el dispositivo: es necesario copiar el ID y la clave de la API en el cdigo del objeto


para establecer una relacin bidireccional entre ambos. Se pueden conectar dispositivos, pero
tambin apps o servicios. Para realizar esa conexin, aqu hay todo tipo de libreras para
dispositivos Android, objetos programados en Java, C, Objective-C, Python, PHP, Ruby y JavaScript,
y tutoriales para hardware abierto como Arduino o Raspberry Pi.

Prueba de funcionamiento: una vez agregado y conectado, el desarrollador puede empezar a


ver valores de datos actualizados en tiempo real en su canal y depurar las alteraciones irregulares
que vea en esa informacin.

3.Fitbit API
La API de Fitbit facilita a los desarrolladores el trabajo de interaccin con los datos que son
recogidos por cualquiera de los productos de Fitbit, ya sea una aplicacin, un dispositivo o un
servicio. Hoy en da, la API de Fitbit soporta la mayora de lenguajes de lectura y escritura de
informacin, pero ellos ofrecen una comunidad para desarrolladores donde es posible hacer
sugerencias y evolucionar la API.

La API de Fitbit lo que permite en ltima instancia es que cualquier persona pueda desarrollar una
aplicacin para acceder y manipular datos recogidos por un dispositivo Fitbit, siempre y cuando
cumpla dos requisitos obvios: deben ser datos relacionados con un usuario que sea l y no otra
persona y cumplir con las condiciones de uso que establece la documentacin de la propia API.

Cmo se puede empezar a probar y trabajar con la API de Fitbit?

Registro de la aplicacin: el registro de la app permite obtener credenciales de cliente de la


API. Para hacerlo es necesario disponer primero de una cuenta en el servicio de Fitbit (su apertura
es totalmente gratuita).

El acceso a los datos de usuario se hace a travs de autenticacin OAuth. Las solicitudes a la
API de Fitbit para leer y escribir datos de usuarios se hacen a travs de este explorador de la API.
Es posible tambin suscribirse a la API para tener la actualizacin de los datos en tiempo real (se
hace as).

El desarrollador debe escoger alguna librera OAuth 2.0 que opere con el lenguaje de
programacin y marco de desarrollo utilizado para el flujo de datos. Sin esa librera no se puede
crear el protocolo de autorizacin.

Las peticiones a la API necesitan de credenciales de usuario autorizado.

Si te interesa el mundo de las APIs, puedes descubrir ms sobre las APIs de BBVA aqu.

Вам также может понравиться