SlideShare una empresa de Scribd logo
1 de 91
Descargar para leer sin conexión
Cloudave	
  
JORNADA TÉCNICA #turisTICa organizada por:
¿Por qué una API y cómo la
diseño?
Rita Díaz Adán
@rdiaada
20 de Octubre de 2014
Jeremy	
  Stanley	
  
Ventana al mundo de nuestro
negocio
Ventana de consulta
Federico	
  Morando	
  
Ventana bidireccional
Agus8n	
  Rafael	
  Reyes	
  
Misma finalidad, distinta
estructura
¿ Quién es el
responsable del diseño
de la API
¿ Quién es el
responsable del diseño
de la API
Funcionales + Técnicos
¿Cómo diseño la
ventana?
API?
Graham	
  
Chechi	
  Peinado	
  
Estructura base
http://base/nombre-api/version/recursos
http://base/nombre-api/version/recursos
http://apis.aytolalaguna.com/turismo/v1/monumentos
http://base/nombre-api/version/recursos
http://base/nombre-api/version/recursos?...
q=…
limit=…
offset=…
PARÁMETROS
http://base/nombre-api/version/recursos
RECURSOS
http://base/nombre-api/version/recursos
RECURSOS
Modelado simple e intuitivo
Colecciones y elementos
northbaywanderer	
  
1. ¿Qué necesitamos modelar?
COLECCIONES DE RECURSOS
https://.../municipios
ELEMENTOS
https://.../municipios/santa-cruz
https://.../municipios/la-laguna
https://.../municipios/puerto-de-la-cruz
Para cada recurso sólo necesitamos dos URL
2. ¿Qué información debe devolver
cada petición?
COLECCIONES DE RECURSOS: https://.../municipios
Un resumen de cada elemento que forma parte de la colección.
La información más frecuente es:
código, nombre, enlaces.
ELEMENTOS: https://.../municipios/la-laguna
Toda la información referente al elemento de la petición.
Métodos
1.  ¿Qué operaciones necesitamos
realizar?
CREAR	
  CONSULTAR	
   BORRAR	
  ACTUALIZAR	
  
1.  ¿Qué operaciones necesitamos
realizar?
CREAR	
  CONSULTAR	
   BORRAR	
  ACTUALIZAR	
  
municipios	
  
/municipios	
  
/municipios/{id-­‐municipio}	
  
1.  ¿Qué operaciones necesitamos
realizar?
CREAR	
  CONSULTAR	
   BORRAR	
  ACTUALIZAR	
  
municipios	
  
/municipios	
  
/municipios/{id-­‐municipio}	
  
municipios	
  
/listadoMunicipios	
  
/crearMunicipio	
  
/consultarMunicipio/{id-­‐municipio}	
  
/actualizarMunicipio/{id-­‐municipio}	
  
/borrarMunicipio/{id-­‐municipio}	
  
1.  ¿Qué operaciones necesitamos
realizar?
CREAR	
  CONSULTAR	
   BORRAR	
  ACTUALIZAR	
  
municipios	
  
/municipios	
  
/municipios/{id-­‐municipio}	
  
municipios	
  
/listadoMunicipios	
  
/crearMunicipio	
  
/consultarMunicipio/{id-­‐municipio}	
  
/actualizarMunicipio/{id-­‐municipio}	
  
/borrarMunicipio/{id-­‐municipio}	
  
1.  ¿Qué operaciones necesitamos
realizar?
CREAR	
  CONSULTAR	
   BORRAR	
  ACTUALIZAR	
  
POST	
  GET	
   DELETE	
  PUT	
  /	
  PATCH	
  
Usamos los métodos HTTP
1.  ¿Qué operaciones necesitamos
realizar?
RECURSO GET
consultar
POST
crear
PUT /
PATCH
actualizar
DELETE
borrar
/municipios Obtiene la
lista de
municipios
Crea un
nuevo
municipio
Actualiza
múltiples
municipios
Borra todos
los
municipios
/municipios/la-laguna Obtiene los
datos de La
Laguna
ERROR Si existe La
Laguna: la
actualiza.
Si no existe
La Laguna:
ERROR
Borra el
municipio La
Laguna
Simon	
  Cunningham	
  
2. ¿Cuál es el método por defecto?
/municipios
El método por defecto es “GET”
4 posibles opciones
3. Buscadores y el método GET
/municipios 4 posibles opciones
CREAR
/municipios?method=post
CONSULTAR
/municipios
ACTUALIZAR
/municipios?method=put&name=Laguna
ELIMINAR
/municipios?method=delete
3. Buscadores y el método GET
/municipios 4 posibles opciones
CREAR
/municipios?method=post
CONSULTAR
/municipios
ACTUALIZAR
/municipios?method=put&name=Laguna
ELIMINAR
/municipios?method=delete
¡¡Las arañas de los buscadores (ej.Googlebot) podrían
modificar nuestro contenido!!
Sustantivos vs Verbos
	
  Steve	
  Jurvetson	
  
1. Verbos no, sustantivos sí
Los nombres de los recursos deben ser sustantivos
Los verbos ya vienen dados por el método HTTP
1. Verbos no, sustantivos sí
Los nombres de los recursos deben ser sustantivos
Los verbos ya vienen dados por el método HTTP
¿Existe alguna excepción a esta
regla?
2. Verbos sólo cuando….
… la respuesta no es un recurso sino el resultado de una
acción
•  Suelen ser acciones del tipo: traducir, convertir o
calcular.
•  Se debe dejar bien documentado en la
documentación de la API
Plural!
Singular!
vs!
/municipios
/municipio
/hoteles
/hotel
/rutasTuristicas
/rutaTuristica
Se debe a que la respuesta de esa
petición devuelve una colección
de elementos
Relaciones entre recursos
rutasTuristicas
/rutasTuristicas
/rutasTuristicas/{id_ruta}
rutasTuristicas monumentos
recorren
/rutasTuristicas
/rutasTuristicas/{id_ruta}
rutasTuristicas monumentos
recorren
/rutasTuristicas
/rutasTuristicas/{id_ruta}
/monumentos
/monumentos/{id_monumento}
rutasTuristicas monumentos
recorren
/rutasTuristicas
/rutasTuristicas/{id_ruta}
/rutasTuristicas/{id_ruta}/monumentos
/monumentos
/monumentos/{id_monumento}
/monumentos/{id_monumento}/rutasTuristicas
rutasTuristicas monumentos
recorren
Ejemplos:
/rutasTuristicas/HISTORICA/monumentos	
  
/rutasTuristicas/RELIGIOSA/monumentos	
  
/rutasTuristicas/MIEDO/monumentos	
  
	
  
/monumentos/OBISPADO	
  
/monumentos/CASA_LINARES	
  
/monumentos/…	
  
/recurso/{id_elemento}/recurso	
  
/recurso/{id_elemento}/recurso	
  
	
  
/recurso/{id_elemento}/recurso/{id_recurso}	
  
Respuestas parciales
Webos	
  fritos	
  
• Nombre
• Apellidos
• Edad
• Dirección
• Cumpleaños
• Estado actual
• Formación
• Sexo
• Ciudad
• Intereses
• Deportes
• Grupos
• Amigos
• E-mail
• Citas
• …
Usuarios
• Nombre
• Apellidos
• Edad
• Dirección
• Cumpleaños
• Estado actual
• Formación
• Sexo
• Ciudad
• Intereses
• Deportes
• Grupos
• Amigos
• E-mail
• Citas
• …
Usuarios
• Nombre
• Apellidos
• Edad
• Dirección
• Cumpleaños
• Estado actual
• Formación
• Sexo
• Ciudad
• Intereses
• Deportes
• Grupos
• Amigos
• E-mail
• Citas
• …
Usuarios
/usuarios?fields=nombre,apellidos,intereses	
  
Uso del parámetro “fields”
Ejemplo API Facebook:
/me?fields=id,first_name,last_name,gender	
  
Ignacio	
  Conejo	
  
Búsquedas
1. ¿Qué búsquedas necesitamos?
1. BÚSQUEDAS EN COLECCIONES DE RECURSOS
/municipios?q=laguna	
  
/municipios?q=name	
  ilike	
  laguna	
  and	
  isla	
  eq	
  tenerife	
  
	
  
	
  
2. BÚSQUEDAS GLOBALES
/search?q=laguna	
  
DOCUMENTACIÓN
Obtenemos todos los recursos que existen en nuestra API que
cumplen la condición.
Ejemplo de rutas turísticas:
/rutasTuristicas/HISTORICA/monumentos	
  
/rutasTuristicas/RELIGIOSA/monumentos	
  
/rutasTuristicas/MIEDO/monumentos	
  
	
  
/monumentos/OBISPADO	
  
/monumentos/CASA_LINARES	
  
/monumentos/…	
  
Ejemplo de rutas turísticas:
/rutasTuristicas/HISTORICA/monumentos	
  
/rutasTuristicas/RELIGIOSA/monumentos	
  
/rutasTuristicas/MIEDO/monumentos	
  
	
  
/monumentos/OBISPADO	
  
/monumentos/CASA_LINARES	
  
/monumentos/…	
  
/rutasTuristicas?q=OBISPADO	
  in	
  monumentos	
  
Juan	
  Carlos	
  Mejía	
  
Paginación de resultados
1. ¿Qué hay que tener en cuenta?
•  Uso del parámetro limit
•  Uso del parámetro offset
•  Establecer valores por defecto para ambos parámetros	
  
Ejemplos:
	
  
/municipios?limit=2&offset=5	
  
	
  
	
  
	
  
	
  
/municipios?limit=10&offset=0	
  
	
  
	
  
	
  
Formato de las respuestas
Jnj	
  
1. ¿Cómo especificamos el formato?
OPCIÓN 1. EN LA CABECERA DE LA PETICIÓN
Accept:application/json
	
  
OPCIÓN 2. COMO SI SE TRATARA DE UNA EXTENSIÓN
/municipios.json
	
  
OPCIÓN 3. COMO PARÁMETRO
/municipios?type=json
/municipios?alt=json
/municipios?format=json
1. ¿Cómo especificamos el formato?
OPCIÓN 1. EN LA CABECERA DE LA PETICIÓN
Accept:application/json
	
  
OPCIÓN 2. COMO SI SE TRATARA DE UNA EXTENSIÓN
/municipios.json
	
  
OPCIÓN 3. COMO PARÁMETRO
/municipios?type=json
/municipios?alt=json
/municipios?format=json
1. ¿Cómo especificamos el formato?
•  El primer método es compatible con cualquiera de los otros dos
•  Si se permiten ambos métodos y se indicase información
contradictoria, el segundo prevalecería.
•  Debe existir un formato por defecto.
	
  
2. ¿Qué formato escojo?
El preferido de nuestros consumidoresEl preferido de nuestros consumidores
El que mejor se adapte a nuestro negocio
2. ¿Qué formato escojo?
El preferido de nuestros consumidores
El que mejor se adapte a nuestro negocio
¿Y si desconozco el formato preferido?
¿Y si cualquiera se adapta bien?
2. ¿Qué formato escojo?
hTp://www.programmableweb.com/news/1-­‐5-­‐apis-­‐say-­‐bye-­‐xml/2011/05/25	
  	
  
2. ¿Qué formato escojo?
hTp://www.google.com/trends/explore?q=xml+api#q=xml%20api%2C%20json%20api&cmpt=q	
  	
  
Documentación
Gerardo	
  Diego	
  On8veros	
  
1. ¿Es necesario documentar la API?
•  La documentación debe ser tan buena como la propia API.
•  La documentación debe ser fácil de localizar.
•  La documentación debe estar accesible públicamente.
•  La documentación debe incluir los cambios de cada versión.
•  La documentación debe incluir ejemplos.
	
  
Sí, debemos documentarla y además…
2. Portal del desarrollador
https://developers.google.com
https://developers.facebook.com
https://dev.twitter.com
Facebook Graph Api Explorer
Google
Drive API
Explorer
AyuntamientodeZaragoza
3. API auto-documentada
rutasTuristicas monumentos
recorren
/rutasTuristicas	
  
	
  /rutasTuristicas/HISTORICA	
  
	
   	
   	
  /rutasTuristicas/HISTORICA/monumentos	
  
	
  /rutasTuristicas/RELIGIOSA	
  
	
   	
   	
  /rutasTuristicas/RELIGIOSA/monumentos	
  
	
  /rutasTuristicas/MIEDO	
  
	
   	
   	
  /rutasTuristicas/MIEDO/monumentos	
  
rutasTuristicas monumentos
recorren
/rutasTuristicas	
  
	
  /rutasTuristicas/HISTORICA	
  
	
   	
   	
  /rutasTuristicas/HISTORICA/monumentos	
  
	
  /rutasTuristicas/RELIGIOSA	
  
	
   	
   	
  /rutasTuristicas/RELIGIOSA/monumentos	
  
	
  /rutasTuristicas/MIEDO	
  
	
   	
   	
  /rutasTuristicas/MIEDO/monumentos	
  
2. API auto-documentada
•  Cada respuesta debe contener los enlaces a:
•  La propia petición (self)
•  Padre (parent)
•  Hijos (childs)
Para más información consultar las referencias de HATEOAS.
Rendimiento
Cloudave	
  
JORNADA TÉCNICA #turisTICa organizada por:
¿Por qué una API y cómo la
diseño?
Rita Díaz Adán
@rdiaada
20 de Octubre de 2014
Thomas	
  Hawk	
  
Los atributos
• Nombre
• Apellidos
• Edad
• Dirección
• Cumpleaños
• Estado actual
• Formación
• Sexo
• Ciudad
• Intereses
• Deportes
• Grupos
• Amigos
• E-mail
• Citas
• …
Usuarios
OPCIÓN 1.
	
  estado_acual	
  
	
  
OPCIÓN 2.
	
  EstadoActual	
  
	
  
OPCIÓN 3.
	
  estadoActual	
  
En general seguiremos las convenciones del
nombrado de atributos en JavaScript
(Útil en el uso de JSON.parse)
Gestióndeerrores
1. ¿Qué código HTTP devolvemos?
OPCIÓN 1. SIEMPRE VA BIEN
HTTP Status code: 200
{“type”	
  :	
  “OauthException”,	
  	
  
“message”:”(#803)	
  Some	
  of	
  the	
  aliases	
  you	
  requested	
  do	
  not	
  exist:	
  foo.bar”}	
  
	
  
OPCIÓN 2. UN CÓDIGO HTTP PARA CADA ERROR
HTTP Status code: 401
{“code”	
  :	
  401,	
  	
  
“message”:”Authentication	
  required”}	
  
	
  
1. ¿Qué código HTTP devolvemos?
•  Cuando existe un error debemos devolver un código HTTP de error.
•  Deberíamos soportar al menos los siguientes códigos:
•  200: OK - Todo fue bien.
•  400: Bad request – La petición no es correcta.
•  500: Internal server error – Se ha producido un error dentro de la lógica de la
aplicación.
•  Otros códigos que podemos soportar:
•  201: Created
•  304: Not modified
•  404: Nor found
	
  
•  401: Unauthorized
•  403: Forbidden
2. Mensajes de error
•  Deben existir mensajes de error que complementen el código.
•  Deben ser lo más extensos posibles.
•  Deben estar escritos en lenguaje claro.
•  Se pueden añadir links para información adicional.
	
  
HTTP	
  Status	
  Code:	
  401.	
  
{“status”	
  :	
  401,	
  	
  
“message”:”Authentication	
  required”,	
  
“code”:	
  200003,	
  
“more	
  info”:	
  “http://www.twilio.com/docs/errors/200003”}	
  
	
  
Ejemplo de Twilio
Subdominios
APIS de Google
OPCIÓN 2. MÚLTIPLES APIS, UN SUBDOMINIO
https://www.googleapis.com/drive/v…
https://www.googleapis.com/books/v…
https://www.googleapis.com/prediction/v…
OPCIÓN 1. UNA API, UN SUBDOMINIO
https://drive.googleapis.com/v..
https://books.googleapis.com/v…
https://prediction.googleapis.com/v…
1. ¿Cómo las organizamos?
OPCIÓN 2. MÚLTIPLES APIS, UN SUBDOMINIO
https://www.googleapis.com/drive/v…
https://www.googleapis.com/books/v…
https://www.googleapis.com/prediction/v…
OPCIÓN 1. UNA API, UN SUBDOMINIO
https://drive.googleapis.com/v..
https://books.googleapis.com/v…
https://prediction.googleapis.com/v…
Limpio, sencillo, intuitivo
1. ¿Cómo las organizamos?
Versionado
http://base/nombre-api/version/recursos
https://www.googleapis.com/prediction/v1.2
https://www.googleapis.com/drive/v2
https://api.twilio.com/2010-04-01
https://api.twitter.com/1.1
https://graph.facebook.com/…?v=1.0
1. Formato de las versiones
http://base/nombre-api/version/recursos
https://www.googleapis.com/prediction/v1.2
https://www.googleapis.com/drive/v2
https://api.twilio.com/2010-04-01
https://api.twitter.com/1.1
https://graph.facebook.com/…?v=1.0
https://graph.facebook.com/v2.1
1. Formato de las versiones
2. Otras consideraciones
Siguiendo el siguiente formato vX
Siempre obligatoria
Siempre parte de la URL
Mantener al menos dos versiones
Uso de la palabra reservada “latest”
*	
  
v1	
  
http://apis.turistica.es/mi-­‐api/latest	
  
http://apis.turistica.es/mi-­‐api/v4	
  
Referencias
Referencias
•  Web API Design – Crafting interfaces that Developers Love (Brian
Mulloy - Apigee).
•  1 in 5 APIs say “Bye XML” (Adam DuVander – ProgrammableWeb).
•  HATEOAS 101: Introduction to a Rest Api Style (Helen Whelan).
•  API Design: Honing in on HATEOAS (Brian Mulloy)
•  Haters gonna HATEOAS (Steve Klabnik)
•  Link Relations (Matt Nottingham, Julian Reschke, Jan Algermissen)
•  Best practices for designing a pragmatic RESTful API (Vinay Sahni)
Cloudave	
  
JORNADA TÉCNICA #turisTICa organizada por:
¿Por qué una API y cómo la
diseño?
Rita Díaz Adán
@rdiaada
20 de Octubre de 2014

Más contenido relacionado

Destacado

Ejemplo usando la APIs de google
Ejemplo usando la APIs de googleEjemplo usando la APIs de google
Ejemplo usando la APIs de googleLilia Valles
 
Tutorial de Google Sites en PDF
Tutorial de Google Sites en PDFTutorial de Google Sites en PDF
Tutorial de Google Sites en PDFAbrirllave
 
Tutorial+google+sites castellano-completo
Tutorial+google+sites castellano-completoTutorial+google+sites castellano-completo
Tutorial+google+sites castellano-completocetei.fj23
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great InfographicsSlideShare
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShareKapost
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareEmpowered Presentations
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation OptimizationOneupweb
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingContent Marketing Institute
 
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...SlideShare
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 

Destacado (12)

Ejemplo usando la APIs de google
Ejemplo usando la APIs de googleEjemplo usando la APIs de google
Ejemplo usando la APIs de google
 
Ejemplos de Google sites
Ejemplos de Google sitesEjemplos de Google sites
Ejemplos de Google sites
 
Tutorial de Google Sites en PDF
Tutorial de Google Sites en PDFTutorial de Google Sites en PDF
Tutorial de Google Sites en PDF
 
Tutorial+google+sites castellano-completo
Tutorial+google+sites castellano-completoTutorial+google+sites castellano-completo
Tutorial+google+sites castellano-completo
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great Infographics
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShare
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
 
You Suck At PowerPoint!
You Suck At PowerPoint!You Suck At PowerPoint!
You Suck At PowerPoint!
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
 
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 

Similar a ¿Por qué una API y cómo la diseño?

Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas
Desarrollo práctico de aplicaciones Linked Data: metodología y herramientasDesarrollo práctico de aplicaciones Linked Data: metodología y herramientas
Desarrollo práctico de aplicaciones Linked Data: metodología y herramientasGuillermo Álvaro Rey
 
Social Media Tools
Social Media ToolsSocial Media Tools
Social Media ToolsJavier Reyes
 
Web Semantica - Tana BarCamp
Web Semantica - Tana BarCampWeb Semantica - Tana BarCamp
Web Semantica - Tana BarCampGiannella Ligato
 
Api - visión general - MeliDevConf BsAs.
Api - visión general - MeliDevConf BsAs.Api - visión general - MeliDevConf BsAs.
Api - visión general - MeliDevConf BsAs.melidevelopers
 
Diseño de APIs con OpenAPI
Diseño de APIs con OpenAPIDiseño de APIs con OpenAPI
Diseño de APIs con OpenAPIPedro J. Molina
 
Web 2.0 Aportes para unidades de información
Web 2.0 Aportes para unidades de informaciónWeb 2.0 Aportes para unidades de información
Web 2.0 Aportes para unidades de informaciónPaul Fervoy
 
Webapps, caso de estudio y publicación de aplicaciones en Firefox OS
Webapps, caso de estudio y publicación de aplicaciones en Firefox OSWebapps, caso de estudio y publicación de aplicaciones en Firefox OS
Webapps, caso de estudio y publicación de aplicaciones en Firefox OSJorge Ferreiro
 
Biblioapps, o cómo crear aplicaciones móviles para bibliotecas
Biblioapps, o cómo crear aplicaciones móviles para bibliotecasBiblioapps, o cómo crear aplicaciones móviles para bibliotecas
Biblioapps, o cómo crear aplicaciones móviles para bibliotecasSocialBiblio
 
Open Data y Drupal
Open Data y DrupalOpen Data y Drupal
Open Data y DrupalOpenKratio
 
Fundamentos para el diseño de una RESTful API pragmática
Fundamentos para el diseño de una RESTful API pragmáticaFundamentos para el diseño de una RESTful API pragmática
Fundamentos para el diseño de una RESTful API pragmáticaLeoWong91
 
Microformatos Y La Web Semantica
Microformatos Y La Web SemanticaMicroformatos Y La Web Semantica
Microformatos Y La Web SemanticaAngela Garcia
 
Daniel rabinovich php conference
Daniel rabinovich   php conferenceDaniel rabinovich   php conference
Daniel rabinovich php conferenceDaniel Rabinovich
 
08-Metadatos_Ontologias_y_Web_Semantica.pdf
08-Metadatos_Ontologias_y_Web_Semantica.pdf08-Metadatos_Ontologias_y_Web_Semantica.pdf
08-Metadatos_Ontologias_y_Web_Semantica.pdfDAVIDMOISESOREMEJIA
 
Reiniciando el Períodismo
Reiniciando el PeríodismoReiniciando el Períodismo
Reiniciando el PeríodismoManuel14
 
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Iniciativa Barcelona Open Data
 
Herramientas para la optimización, un enfoque práctico
Herramientas para la optimización, un enfoque prácticoHerramientas para la optimización, un enfoque práctico
Herramientas para la optimización, un enfoque prácticoRaúl Jiménez Ortega
 
Qué es el posicionamiento orgánico (SEO) y cómo funciona
Qué es el posicionamiento orgánico (SEO) y cómo funciona Qué es el posicionamiento orgánico (SEO) y cómo funciona
Qué es el posicionamiento orgánico (SEO) y cómo funciona Carmen Gerea
 
Webapps, caso de estudio y publicación de aplicaciones en Firefox OS
Webapps,  caso de estudio y  publicación de aplicaciones en Firefox OS Webapps,  caso de estudio y  publicación de aplicaciones en Firefox OS
Webapps, caso de estudio y publicación de aplicaciones en Firefox OS Jorge Ferreiro
 
Responsive Web Design - Diseño Sensible by @janogarcia
Responsive Web Design - Diseño Sensible by @janogarciaResponsive Web Design - Diseño Sensible by @janogarcia
Responsive Web Design - Diseño Sensible by @janogarciaJano Garcia
 

Similar a ¿Por qué una API y cómo la diseño? (20)

Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas
Desarrollo práctico de aplicaciones Linked Data: metodología y herramientasDesarrollo práctico de aplicaciones Linked Data: metodología y herramientas
Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas
 
Social Media Tools
Social Media ToolsSocial Media Tools
Social Media Tools
 
Web móvil. Desarrollo de Apps y Aplicación en Bibliotecas
Web móvil. Desarrollo de Apps y Aplicación en BibliotecasWeb móvil. Desarrollo de Apps y Aplicación en Bibliotecas
Web móvil. Desarrollo de Apps y Aplicación en Bibliotecas
 
Web Semantica - Tana BarCamp
Web Semantica - Tana BarCampWeb Semantica - Tana BarCamp
Web Semantica - Tana BarCamp
 
Api - visión general - MeliDevConf BsAs.
Api - visión general - MeliDevConf BsAs.Api - visión general - MeliDevConf BsAs.
Api - visión general - MeliDevConf BsAs.
 
Diseño de APIs con OpenAPI
Diseño de APIs con OpenAPIDiseño de APIs con OpenAPI
Diseño de APIs con OpenAPI
 
Web 2.0 Aportes para unidades de información
Web 2.0 Aportes para unidades de informaciónWeb 2.0 Aportes para unidades de información
Web 2.0 Aportes para unidades de información
 
Webapps, caso de estudio y publicación de aplicaciones en Firefox OS
Webapps, caso de estudio y publicación de aplicaciones en Firefox OSWebapps, caso de estudio y publicación de aplicaciones en Firefox OS
Webapps, caso de estudio y publicación de aplicaciones en Firefox OS
 
Biblioapps, o cómo crear aplicaciones móviles para bibliotecas
Biblioapps, o cómo crear aplicaciones móviles para bibliotecasBiblioapps, o cómo crear aplicaciones móviles para bibliotecas
Biblioapps, o cómo crear aplicaciones móviles para bibliotecas
 
Open Data y Drupal
Open Data y DrupalOpen Data y Drupal
Open Data y Drupal
 
Fundamentos para el diseño de una RESTful API pragmática
Fundamentos para el diseño de una RESTful API pragmáticaFundamentos para el diseño de una RESTful API pragmática
Fundamentos para el diseño de una RESTful API pragmática
 
Microformatos Y La Web Semantica
Microformatos Y La Web SemanticaMicroformatos Y La Web Semantica
Microformatos Y La Web Semantica
 
Daniel rabinovich php conference
Daniel rabinovich   php conferenceDaniel rabinovich   php conference
Daniel rabinovich php conference
 
08-Metadatos_Ontologias_y_Web_Semantica.pdf
08-Metadatos_Ontologias_y_Web_Semantica.pdf08-Metadatos_Ontologias_y_Web_Semantica.pdf
08-Metadatos_Ontologias_y_Web_Semantica.pdf
 
Reiniciando el Períodismo
Reiniciando el PeríodismoReiniciando el Períodismo
Reiniciando el Períodismo
 
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
 
Herramientas para la optimización, un enfoque práctico
Herramientas para la optimización, un enfoque prácticoHerramientas para la optimización, un enfoque práctico
Herramientas para la optimización, un enfoque práctico
 
Qué es el posicionamiento orgánico (SEO) y cómo funciona
Qué es el posicionamiento orgánico (SEO) y cómo funciona Qué es el posicionamiento orgánico (SEO) y cómo funciona
Qué es el posicionamiento orgánico (SEO) y cómo funciona
 
Webapps, caso de estudio y publicación de aplicaciones en Firefox OS
Webapps,  caso de estudio y  publicación de aplicaciones en Firefox OS Webapps,  caso de estudio y  publicación de aplicaciones en Firefox OS
Webapps, caso de estudio y publicación de aplicaciones en Firefox OS
 
Responsive Web Design - Diseño Sensible by @janogarcia
Responsive Web Design - Diseño Sensible by @janogarciaResponsive Web Design - Diseño Sensible by @janogarcia
Responsive Web Design - Diseño Sensible by @janogarcia
 

Último

Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Último (20)

Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

¿Por qué una API y cómo la diseño?