SlideShare una empresa de Scribd logo

RAML

CloudAppi
CloudAppi

El documento describe los pasos para el desarrollo de una API, incluyendo la creación de un documento funcional, diseño de la API, implementación de una versión preliminar, implementación completa, pruebas, documentación y generación de SDKs. Se menciona que RAML puede usarse para definir la API de una manera estandarizada que permite documentación, pruebas y generación de código.

1 de 41
Descargar para leer sin conexión
Síguenos en @apiaddicts
28
meetups
1.100
API Addicts
18.000
visualizations
10K
4K 4K
Síguenos en @apiaddicts
Patrocinadores
¿Qué nos ofrece?
Calle Velasco 13
Tlf: 658 89 75 75
contacta@cloudappi.net
www.cloudappi.net
Gobierno de Apis
➢ Definición de recursos
➢ Política de versionado
➢ Políticas de seguridad
➢ Estándar de definición
➢ Estándares de desarrollo
➢ Documentación
➢ Monitorización
➢ Testing
➢ Billing
➢ Gestión de entornos
Desarrollo de Apis
Desarrollamos Apis en diferentes
tecnologías, como en Java (Spring),
PHP (Zend) o node.js (express).
Integración con terceros
Consumimos apis de terceros,
como las de facebook, twitter,
gmail o de otros tipos de productos,
como el CRM de Zoho, Odoo..
Síguenos en @apiaddicts
APIs más populares
Google Maps
Twitter
YouTube
Flickr
Amazon Product
Advertising
Facebook
Datos recogidos de programmable web
Conociendo las Apis
Crecimiento de las Apis
Síguenos en @apiaddicts
1) Realizar un documento funcional
2) Realizar el diseño de la API
3) Realizar una implementación fake
4) Implementar la API
5) Validar la API
6) Generar documentación para developers
7) Generar casos de prueba (códigos de ejemplo)
8) Generar los SDks
Desarrollo de Apis
Pasos:
Síguenos en @apiaddicts
Documentación funcional
Descripción a alto nivel de la APi
Síguenos en @apiaddicts
Documentación
Descripción técnica de la API

Recomendados

Big data y las apis
Big data y  las apis Big data y  las apis
Big data y las apis CloudAppi
 
Taller definición de apis
Taller definición de apisTaller definición de apis
Taller definición de apisCloudAppi
 
Taller desarrollo de apis
Taller desarrollo de apisTaller desarrollo de apis
Taller desarrollo de apisCloudAppi
 
El mundo cloud y las apis
El mundo cloud y las apisEl mundo cloud y las apis
El mundo cloud y las apisCloudAppi
 
Api managers
Api managersApi managers
Api managersCloudAppi
 
Las apis como modelo de negocio
Las apis como modelo de negocioLas apis como modelo de negocio
Las apis como modelo de negocioCloudAppi
 
Mada metodología ágil de desarrollo de apis
Mada   metodología ágil de desarrollo de apisMada   metodología ágil de desarrollo de apis
Mada metodología ágil de desarrollo de apisCloudAppi
 
Define y desarrolla tu primera api
Define y desarrolla tu primera apiDefine y desarrolla tu primera api
Define y desarrolla tu primera apiCloudAppi
 

Más contenido relacionado

La actualidad más candente

Big data y las apis (big data spain)
Big data y las apis (big data spain)Big data y las apis (big data spain)
Big data y las apis (big data spain)CloudAppi
 
Gobierno de apis
Gobierno de apisGobierno de apis
Gobierno de apisCloudAppi
 
JSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APIJSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APICloudAppi
 
Marco antonio sanz
Marco antonio sanzMarco antonio sanz
Marco antonio sanzCloudAppi
 
Desarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootDesarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootCloudAppi
 
SGDB y tecnologías usadas por aplicaciones 2.0
SGDB y tecnologías usadas por aplicaciones 2.0SGDB y tecnologías usadas por aplicaciones 2.0
SGDB y tecnologías usadas por aplicaciones 2.0Anderson Almidon
 

La actualidad más candente (6)

Big data y las apis (big data spain)
Big data y las apis (big data spain)Big data y las apis (big data spain)
Big data y las apis (big data spain)
 
Gobierno de apis
Gobierno de apisGobierno de apis
Gobierno de apis
 
JSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APIJSDays Desarrolla tu primera API
JSDays Desarrolla tu primera API
 
Marco antonio sanz
Marco antonio sanzMarco antonio sanz
Marco antonio sanz
 
Desarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootDesarrolla tu primera api con spring boot
Desarrolla tu primera api con spring boot
 
SGDB y tecnologías usadas por aplicaciones 2.0
SGDB y tecnologías usadas por aplicaciones 2.0SGDB y tecnologías usadas por aplicaciones 2.0
SGDB y tecnologías usadas por aplicaciones 2.0
 

Destacado

Arquitectura API Rest.
Arquitectura API Rest.Arquitectura API Rest.
Arquitectura API Rest.melidevelopers
 
Rest presentation
Rest  presentationRest  presentation
Rest presentationsrividhyau
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EECarlos Gavidia-Calderon
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwareJose Patricio Bovet Derpich
 
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins PipelinesSteffen Gebert
 

Destacado (6)

Arquitectura REST
Arquitectura RESTArquitectura REST
Arquitectura REST
 
Arquitectura API Rest.
Arquitectura API Rest.Arquitectura API Rest.
Arquitectura API Rest.
 
Rest presentation
Rest  presentationRest  presentation
Rest presentation
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EE
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del software
 
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines
 

Similar a RAML

Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Interne...
Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Interne...Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Interne...
Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Interne...equipo24
 
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
 
Taller Android Party: Automatic API REST + Notificaciones PUSH
Taller Android Party: Automatic API REST + Notificaciones PUSHTaller Android Party: Automatic API REST + Notificaciones PUSH
Taller Android Party: Automatic API REST + Notificaciones PUSHAlejandro Esquiva Rodriguez
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)lenny
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)INSIGNIA4U
 
APIs REST #devfestBilbao
APIs REST #devfestBilbaoAPIs REST #devfestBilbao
APIs REST #devfestBilbaoAsier Marqués
 
Servicios web con Python
Servicios web con PythonServicios web con Python
Servicios web con PythonManuel Pérez
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTBEEVA_es
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerCloudAppi
 
Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con RESTAlex Puig
 
Desarrollo de Aplicaciones para Twitter - CWZGZ
Desarrollo de Aplicaciones para Twitter - CWZGZDesarrollo de Aplicaciones para Twitter - CWZGZ
Desarrollo de Aplicaciones para Twitter - CWZGZequipo24
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsFreelancer
 

Similar a RAML (20)

SimpleSAMLphp
SimpleSAMLphpSimpleSAMLphp
SimpleSAMLphp
 
Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Interne...
Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Interne...Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Interne...
Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Interne...
 
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)
 
OpenAPI 3.0.2
OpenAPI 3.0.2OpenAPI 3.0.2
OpenAPI 3.0.2
 
Taller Android Party: Automatic API REST + Notificaciones PUSH
Taller Android Party: Automatic API REST + Notificaciones PUSHTaller Android Party: Automatic API REST + Notificaciones PUSH
Taller Android Party: Automatic API REST + Notificaciones PUSH
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
 
Construyendo APIs Seguras y Escalables
Construyendo APIs Seguras y Escalables Construyendo APIs Seguras y Escalables
Construyendo APIs Seguras y Escalables
 
APIs REST #devfestBilbao
APIs REST #devfestBilbaoAPIs REST #devfestBilbao
APIs REST #devfestBilbao
 
Introducción a Django
Introducción a DjangoIntroducción a Django
Introducción a Django
 
Google apps engine
Google apps engineGoogle apps engine
Google apps engine
 
Servicios web con Python
Servicios web con PythonServicios web con Python
Servicios web con Python
 
API como SaaS
API como SaaSAPI como SaaS
API como SaaS
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API REST
 
Django
DjangoDjango
Django
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developer
 
Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con REST
 
Desarrollo de Aplicaciones para Twitter - CWZGZ
Desarrollo de Aplicaciones para Twitter - CWZGZDesarrollo de Aplicaciones para Twitter - CWZGZ
Desarrollo de Aplicaciones para Twitter - CWZGZ
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 

Último

Abrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
Abrirse Camino en Open Source: Oportunidades, Contribuciones y CarreraAbrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
Abrirse Camino en Open Source: Oportunidades, Contribuciones y CarreraEdith Puclla
 
Combinación de correspondencia Sebastián Pérez
Combinación de correspondencia Sebastián PérezCombinación de correspondencia Sebastián Pérez
Combinación de correspondencia Sebastián PérezSebastinPrez67
 
Realiza tu primera contribucion a la OCA
Realiza tu primera contribucion a la OCARealiza tu primera contribucion a la OCA
Realiza tu primera contribucion a la OCAMaxime Chambreuil
 
VIDEOS DE APOYO, RESUMENES PARA CREAR UN BLOG 9-5
VIDEOS DE APOYO, RESUMENES PARA CREAR UN BLOG  9-5VIDEOS DE APOYO, RESUMENES PARA CREAR UN BLOG  9-5
VIDEOS DE APOYO, RESUMENES PARA CREAR UN BLOG 9-5sarayibanez16
 
Operadores de Kubernetes: El poder de la automatización
Operadores de Kubernetes: El poder de la automatizaciónOperadores de Kubernetes: El poder de la automatización
Operadores de Kubernetes: El poder de la automatizaciónEdith Puclla
 
Índice de libro "Historias Cortas sobre Fondo Azul" de Willy en 0xWord
Índice de libro "Historias Cortas sobre Fondo Azul" de Willy en 0xWordÍndice de libro "Historias Cortas sobre Fondo Azul" de Willy en 0xWord
Índice de libro "Historias Cortas sobre Fondo Azul" de Willy en 0xWordTelefónica
 
VIDEOS DE APOYO PARA TECNOLOGIA LICEO DEP
VIDEOS DE APOYO PARA TECNOLOGIA LICEO DEPVIDEOS DE APOYO PARA TECNOLOGIA LICEO DEP
VIDEOS DE APOYO PARA TECNOLOGIA LICEO DEPAlejandraCasallas7
 
Situación comparativa de los Ferrocarriles en el mundo y en Colombia
Situación comparativa de los Ferrocarriles en el mundo y en ColombiaSituación comparativa de los Ferrocarriles en el mundo y en Colombia
Situación comparativa de los Ferrocarriles en el mundo y en ColombiaEnrique Posada
 
Certificado de Web Design - Projeto web.
Certificado de Web Design - Projeto web.Certificado de Web Design - Projeto web.
Certificado de Web Design - Projeto web.AntnioOliveira749106
 
Taller 1 sobre operadores tecnologicos.pdf
Taller 1 sobre operadores tecnologicos.pdfTaller 1 sobre operadores tecnologicos.pdf
Taller 1 sobre operadores tecnologicos.pdfAna Lucía Tellez Lugo
 
Presentación paginas web partes principales
Presentación paginas web partes principalesPresentación paginas web partes principales
Presentación paginas web partes principalesandresarceavalos
 
Es una presentacion de memorias usb para booting
Es una presentacion de memorias usb para bootingEs una presentacion de memorias usb para booting
Es una presentacion de memorias usb para bootingcarlocarrillocacc
 
VIDEOS DE APOYO- resúmenes de tecnología
VIDEOS DE APOYO- resúmenes de tecnologíaVIDEOS DE APOYO- resúmenes de tecnología
VIDEOS DE APOYO- resúmenes de tecnologíamarianasinisterra200
 
presentacion de una computadora modelo uncs
presentacion de una computadora modelo uncspresentacion de una computadora modelo uncs
presentacion de una computadora modelo uncscarlocarrillocacc
 
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdf
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdfCaso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdf
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdfcasoacerosdeguatemal
 
Ley de Delitos Informaticos y su aplicación en el sector privado.pptx
Ley de Delitos Informaticos y su aplicación en el sector privado.pptxLey de Delitos Informaticos y su aplicación en el sector privado.pptx
Ley de Delitos Informaticos y su aplicación en el sector privado.pptxBasile
 
Sentencia Tribunal Ambiental Data Center de Google
Sentencia Tribunal Ambiental Data Center de GoogleSentencia Tribunal Ambiental Data Center de Google
Sentencia Tribunal Ambiental Data Center de GoogleFelipe Ovalle
 
Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...
Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...
Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...Telefónica
 
COMBINACIONES CORRESPONDENCIA con base de datos excel
COMBINACIONES CORRESPONDENCIA con base de datos excelCOMBINACIONES CORRESPONDENCIA con base de datos excel
COMBINACIONES CORRESPONDENCIA con base de datos excelSergioPerdomo20
 

Último (20)

Abrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
Abrirse Camino en Open Source: Oportunidades, Contribuciones y CarreraAbrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
Abrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
 
Combinación de correspondencia Sebastián Pérez
Combinación de correspondencia Sebastián PérezCombinación de correspondencia Sebastián Pérez
Combinación de correspondencia Sebastián Pérez
 
Realiza tu primera contribucion a la OCA
Realiza tu primera contribucion a la OCARealiza tu primera contribucion a la OCA
Realiza tu primera contribucion a la OCA
 
VIDEOS DE APOYO, RESUMENES PARA CREAR UN BLOG 9-5
VIDEOS DE APOYO, RESUMENES PARA CREAR UN BLOG  9-5VIDEOS DE APOYO, RESUMENES PARA CREAR UN BLOG  9-5
VIDEOS DE APOYO, RESUMENES PARA CREAR UN BLOG 9-5
 
Herramientas tecnologicas para los abogados.pptx
Herramientas tecnologicas para los abogados.pptxHerramientas tecnologicas para los abogados.pptx
Herramientas tecnologicas para los abogados.pptx
 
Operadores de Kubernetes: El poder de la automatización
Operadores de Kubernetes: El poder de la automatizaciónOperadores de Kubernetes: El poder de la automatización
Operadores de Kubernetes: El poder de la automatización
 
Índice de libro "Historias Cortas sobre Fondo Azul" de Willy en 0xWord
Índice de libro "Historias Cortas sobre Fondo Azul" de Willy en 0xWordÍndice de libro "Historias Cortas sobre Fondo Azul" de Willy en 0xWord
Índice de libro "Historias Cortas sobre Fondo Azul" de Willy en 0xWord
 
VIDEOS DE APOYO PARA TECNOLOGIA LICEO DEP
VIDEOS DE APOYO PARA TECNOLOGIA LICEO DEPVIDEOS DE APOYO PARA TECNOLOGIA LICEO DEP
VIDEOS DE APOYO PARA TECNOLOGIA LICEO DEP
 
Situación comparativa de los Ferrocarriles en el mundo y en Colombia
Situación comparativa de los Ferrocarriles en el mundo y en ColombiaSituación comparativa de los Ferrocarriles en el mundo y en Colombia
Situación comparativa de los Ferrocarriles en el mundo y en Colombia
 
Certificado de Web Design - Projeto web.
Certificado de Web Design - Projeto web.Certificado de Web Design - Projeto web.
Certificado de Web Design - Projeto web.
 
Taller 1 sobre operadores tecnologicos.pdf
Taller 1 sobre operadores tecnologicos.pdfTaller 1 sobre operadores tecnologicos.pdf
Taller 1 sobre operadores tecnologicos.pdf
 
Presentación paginas web partes principales
Presentación paginas web partes principalesPresentación paginas web partes principales
Presentación paginas web partes principales
 
Es una presentacion de memorias usb para booting
Es una presentacion de memorias usb para bootingEs una presentacion de memorias usb para booting
Es una presentacion de memorias usb para booting
 
VIDEOS DE APOYO- resúmenes de tecnología
VIDEOS DE APOYO- resúmenes de tecnologíaVIDEOS DE APOYO- resúmenes de tecnología
VIDEOS DE APOYO- resúmenes de tecnología
 
presentacion de una computadora modelo uncs
presentacion de una computadora modelo uncspresentacion de una computadora modelo uncs
presentacion de una computadora modelo uncs
 
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdf
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdfCaso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdf
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdf
 
Ley de Delitos Informaticos y su aplicación en el sector privado.pptx
Ley de Delitos Informaticos y su aplicación en el sector privado.pptxLey de Delitos Informaticos y su aplicación en el sector privado.pptx
Ley de Delitos Informaticos y su aplicación en el sector privado.pptx
 
Sentencia Tribunal Ambiental Data Center de Google
Sentencia Tribunal Ambiental Data Center de GoogleSentencia Tribunal Ambiental Data Center de Google
Sentencia Tribunal Ambiental Data Center de Google
 
Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...
Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...
Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...
 
COMBINACIONES CORRESPONDENCIA con base de datos excel
COMBINACIONES CORRESPONDENCIA con base de datos excelCOMBINACIONES CORRESPONDENCIA con base de datos excel
COMBINACIONES CORRESPONDENCIA con base de datos excel
 

RAML

  • 1. Síguenos en @apiaddicts 28 meetups 1.100 API Addicts 18.000 visualizations 10K 4K 4K
  • 2. Síguenos en @apiaddicts Patrocinadores ¿Qué nos ofrece? Calle Velasco 13 Tlf: 658 89 75 75 contacta@cloudappi.net www.cloudappi.net Gobierno de Apis ➢ Definición de recursos ➢ Política de versionado ➢ Políticas de seguridad ➢ Estándar de definición ➢ Estándares de desarrollo ➢ Documentación ➢ Monitorización ➢ Testing ➢ Billing ➢ Gestión de entornos Desarrollo de Apis Desarrollamos Apis en diferentes tecnologías, como en Java (Spring), PHP (Zend) o node.js (express). Integración con terceros Consumimos apis de terceros, como las de facebook, twitter, gmail o de otros tipos de productos, como el CRM de Zoho, Odoo..
  • 3. Síguenos en @apiaddicts APIs más populares Google Maps Twitter YouTube Flickr Amazon Product Advertising Facebook Datos recogidos de programmable web Conociendo las Apis Crecimiento de las Apis
  • 4. Síguenos en @apiaddicts 1) Realizar un documento funcional 2) Realizar el diseño de la API 3) Realizar una implementación fake 4) Implementar la API 5) Validar la API 6) Generar documentación para developers 7) Generar casos de prueba (códigos de ejemplo) 8) Generar los SDks Desarrollo de Apis Pasos:
  • 5. Síguenos en @apiaddicts Documentación funcional Descripción a alto nivel de la APi
  • 7. Síguenos en @apiaddicts - Formato de la API (SOAP vs REST) - Seguridad de la API,métodos de autenticación y autorización. Pj: Basic, oauth1, aouth2… - API Manager (wso2, apigee, genoa) vs ESB (Oracle Service Bus..) Documentación Consideraciones generales
  • 8. Síguenos en @apiaddicts Documentación - fakes Implementando un fake con las interfaces de entrada y salida
  • 9. Síguenos en @apiaddicts - Lenguaje de programación y frameworks a utilizar (java/springmvc, php/zend framework, node/express,.net/.net asp Web API) - Base de datos SQL vs noSQL - Instalación en Cloud vs in-house - Utilización de PaaS, IaaS. ¿Se deben utilizar servicios propios de los Clouds? - Pruebas de estrés, carga, rendimiento y volumen Implementación Consideraciones generales:
  • 10. Síguenos en @apiaddicts Una vez implementada la API, hay que validar que la implementación cumple con las especificaciones. - Validación manual: Postman - Validación automática (SOAPUI, jMETER) Testing Validación de la API
  • 11. Síguenos en @apiaddicts Se debe generar documentación clara y comprensible para los developers. Documentación Generar la documentación para el developer
  • 12. Síguenos en @apiaddicts Una de las cosas más importantes es generar casos de prueba para que los developers puedan guiarse en la implementación. Documentación Casos de prueba
  • 13. Síguenos en @apiaddicts SDKs Facilitan la integración con las Apis
  • 14. Síguenos en @apiaddicts 1) Realizar un documento funcional SI 2) Realizar el diseño de la API SI 3) Realizar una implementación fake SI 4) Implementar la API SI 5) Validar la API SI 6) Generar documentación SI 7) Generar SDKS SI (por el momento) RAML ¿Donde aporta Valor?
  • 15. Síguenos en @apiaddicts Todo los pasos en el desarrollo de una API deben partir de un único documento, el de definición de la API. Existen varios lenguaje de definición de APIs que permiten obtener nuestra meta, de los cuales los tres más importantes son RAML, SWAGGER y BLUEPRINT MADA Objetivo
  • 16. Síguenos en @apiaddicts La API se define en RAML, un lenguaje de definición de APIs. #%RAML 0.8 title: World Music API baseUri: http://example.api.com/{version} version: v1 traits: - paged: queryParameters: pages: description: The number of pages to return type: number - secured: !include http://raml-example.com/secured.yml song** Parámetros generales de la API Permite: ➢ Describir la API ➢ Incluir ficheros externos ➢ Utilizar propiedades ➢ Incluir schemas ➢ Definir la versión ➢ Definir el tipo de mediaAType (pj:application/json) ➢ Protocolos (HTTP,HTTPS) ➢ Definir la URL base (URL en la que estará desplegada) ➢ Definir documentación en formato Markdown [MARKDOWN]. Documento de la API MADA
  • 17. Síguenos en @apiaddicts Permite: ➢ Describir los parámetros de entrada, tanto query parameters como uriParameters, indicando tipo, descripción, valores por defecto, ejemplos de valores... ➢ Definir los parámetros de salida (definirlo tanto como json schema como por xml). Por ejemplo: /songs: is: [ paged, secured ] get: queryParameters: genre: description: filter the songs by genre delete: description: | This method will *delete* an **individual responses: 200: body: application/json: example: !include examples/instagram-v1-media-popular- example.json Definiendo métodos GET y DELETE Documento de la API MADA
  • 18. Síguenos en @apiaddicts Permite: ➢ Describir los valores de entrada mediante schemas (ya sean json o xsd) post: /{songId}: post: responses: 200: body: application/json: schema: | { "$schema": "http://json-schema.org/schema", "type": "object", "description": "A canonical song", "properties": { "title": { "type": "string" }, "artist": { "type": "string" } }, "required": [ "title", "artist" ] } application/xml: Definiendo métodos POST Documento de la API MADA
  • 19. Síguenos en @apiaddicts Los traits permiten definir partes comunes de los recursos traits: - paged: queryParameters: pages: description: number of pages type: number example: 8 song** Definición Traits RAML get: description: obtiene los datos de un usuario is: [paged] responses: 200: body: application/json: example: !include samples/users_get_id_200.json
  • 20. Síguenos en @apiaddicts Permite definir diferentes esquemas de seguridad securitySchemes: - oauth_2_0: type: OAuth 2.0 describedBy: headers: Authorization: type: string queryParameters: access_token: type: string responses: 401: 403: settings: authorizationUri: https://www.dropbox.com/1/oauth2/authorize accessTokenUri: https://api.dropbox.com/1/oauth2/token authorizationGrants: [ code, token Definición Securización RAML get: description: obtiene todos los usuarios securedBy: [oauth_2_0] queryParameters: sexo: description: sexo a filtrar. Puede ser H o M responses: 200: body: application/json: example: !include samples/users_get_200.json schema: Users
  • 21. Síguenos en @apiaddicts Permite definir un recurso completo y que otros hereden resourceTypes: - base: get: responses: 500: body: example: !include samples/base_500.json Definición Recursos RAML /users: type: base get: description: obtiene todos los usuarios securedBy: [oauth_2_0] queryParameters: sexo: responses: 200: body: application/json: example: !include samples/users_get_200.json schema: Users
  • 22. Síguenos en @apiaddicts Permite utilizar schemas para el contenido de las peticiones / respuestas schemas: - Users: !include schemas/users_get.json Definición Schemas RAML { "$schema": "http://json-schema.org/draft-04/schema#", "id": "http://jsonschema.net", "type": "array", "items": [ { "id": "http://jsonschema.net/0", "type": "object", "properties": { "name": { "id": "http://jsonschema.net/0/name", "type": "string" } } ], "required": [ "0", "1" ] }
  • 23. Síguenos en @apiaddicts Permite utilizar schemas para el contenido de las peticiones / respuestas documentation: - title: introducción content: !include documentation/introduction.md Definición Documentación RAML introduction.md # Requisitos legales # Soporte
  • 24. Síguenos en @apiaddicts Desarrollo de una implementación con las interfaces de entrada y salida. Implementando el servicio fake RAML
  • 25. Síguenos en @apiaddicts Api Designer posee una consola de pruebas Testeando la API RAML
  • 26. Síguenos en @apiaddicts Proyectos Open Source RAML http://raml.org/projects
  • 29. Síguenos en @apiaddicts Permite: ➢ Generar casos de prueba ➢ Validar los parámetros de entrada como de salida Importando un raml desde SoapUI Validando la API RAML
  • 30. Síguenos en @apiaddicts Generando la documentación con RAML Documentación RAML
  • 31. Síguenos en @apiaddicts Desde la consola podemos generar los casos de prueba a partir del RAML Casos de prueba MADA
  • 38. Síguenos en @apiaddicts Existen Herramientas para generación de parte del código automáticamente Permite: ➢ Generar código en Java o Node ➢ Coexistir implementación fake con Implementación MADA
  • 41. Síguenos en @apiaddicts Contacta en: Email: contacta@apiaddicts.org Web: www.apiaddicts.org Siguenos en: ➢ Linkedin: ApiAddicts ➢ Twitter: @apiaddicts ➢ Facebook: APIAddicts ➢ Meetup: APIAddicts ➢ Meetup: APIAddictsBCN Contacta

Notas del editor

  1. Since two years ago we are speaking about apis under 360 vision. We have done 20 meetups, we have more than 16000 visualizations and we have 716 api addicts