SlideShare uma empresa Scribd logo
1 de 32
MADA
Metodología Ágil de Desarrollo de APIs
Marco Antonio Sanz
¿Quienes somos?
Grupo de meetup
http://www.meetup.com/API-Addicts/
Meetups realizados
❏ MADA. Metodología ágil de
definición de APIs
❏ Taller: Definición de APIs
❏ Taller: Desarrolla tu primera API
❏ Seguridad en las APIs
❏ Las APis en el mundo Big Data
❏ Las APis en el mundo Cloud
❏ Apis como modelo de negocio
❏ Define y desarrolla tu primera API
Marco Antonio Sanz:http://es.linkedin.com/pub/marco-antonio-sanz-molina-prados/18/335/97/
Patrocinadores
¿qué nos ofrece?
➢ know - how de apis
➢ Experiencia en el gobierno de Apis
➢ Ejemplos de arquitecturas
➢ Experiencia en el mundo Cloud
Calle Velasco 13
Tlf: 658 89 75 75
admin@cloudappi.net ·
www.cloudappi.net
Objetivo
¿Cual es el objetivo del meetup?
Intercambiar conocimientos sobre todos los aspectos de las Apis,
desde tecnologías, seguridad, definición...
Al pensar en una API, hay que
pensar en desarrollar productos. Es
un traje para varios clientes, por lo
que a todos no les puede quedar
bien.
Un backend se desarrolla pensando
en tu cliente, es un traje hecho a
medida.
Api como producto
API Backend
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
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:
Documentación funcional
Descripción a alto nivel de la APi
Documentación
Descripción técnica de la API
- 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
Documentación - fakes
Implementando un fake con las interfaces de entrada y salida
- 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:
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
Se debe generar documentación clara y comprensible para los
developers.
Documentación
Generar la documentación para el developer
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
SDKs
Facilitan la integración con las Apis
1) Realizar un documento funcional NO
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 NO (por el momento)
MADA
¿Donde aporta Valor?
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
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
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
Permite:
➢ Describir los valores de entrada mediante
schemas (ya sean json o xsd)
post:
/{songId}:
get:
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
Api Designer
MADA
Desarrollo de una implementación con las interfaces de entrada y salida.
Implementando el servicio fake
MADA
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
Creando un esquema de aplicación con Osprey
Implementación
MADA
Permite:
➢ Generar casos de
prueba
➢ Validar los parámetros
de entrada como de
salida
Importando un raml desde SoapUI
Validando la API
MADA
Generando la documentación con RAML
Documentación
MADA
Desde la consola podemos generar los casos de prueba a partir del RAML
Casos de prueba
MADA
RAML RoadMAP
Generación de código de ejemplo en Java, PHP, .net.
Futuro
MADA
Ruegos y preguntas
Contacta en:
Email: admin@apiaddicts.org
Web:
http://www.meetup.com/APIAddicts
Siguenos en:
➢ Linkedin: ApiAddicts
➢ Twitter: @apiaddicts
➢ Facebook: APIAddicts
➢ Meetup: APIAddicts
Contacta

Mais conteúdo relacionado

Mais procurados

Informatica Pentaho Etl Tools Comparison
Informatica Pentaho Etl Tools ComparisonInformatica Pentaho Etl Tools Comparison
Informatica Pentaho Etl Tools ComparisonRoberto Espinosa
 
Using Cerberus and PySpark to validate semi-structured datasets
Using Cerberus and PySpark to validate semi-structured datasetsUsing Cerberus and PySpark to validate semi-structured datasets
Using Cerberus and PySpark to validate semi-structured datasetsBartosz Konieczny
 
Best practices on building data lakes and lake formation
Best practices on building data lakes and lake formationBest practices on building data lakes and lake formation
Best practices on building data lakes and lake formationJohn Varghese
 
What’s New with Flowable?
What’s New with Flowable?What’s New with Flowable?
What’s New with Flowable?Flowable
 
Securely Deliver Desktop Applications with Amazon AppStream 2.0 (BAP201) - AW...
Securely Deliver Desktop Applications with Amazon AppStream 2.0 (BAP201) - AW...Securely Deliver Desktop Applications with Amazon AppStream 2.0 (BAP201) - AW...
Securely Deliver Desktop Applications with Amazon AppStream 2.0 (BAP201) - AW...Amazon Web Services
 
Gobierno de apis
Gobierno de apisGobierno de apis
Gobierno de apisCloudAppi
 
Programming in Spark using PySpark
Programming in Spark using PySpark      Programming in Spark using PySpark
Programming in Spark using PySpark Mostafa
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principlesSanjoy Kumar Roy
 
StackExchange.redis
StackExchange.redisStackExchange.redis
StackExchange.redisLarry Nung
 
Composable Software Architecture with Spring
Composable Software Architecture with SpringComposable Software Architecture with Spring
Composable Software Architecture with SpringSam Brannen
 
Getting Started with AWS Database Migration Service
Getting Started with AWS Database Migration ServiceGetting Started with AWS Database Migration Service
Getting Started with AWS Database Migration ServiceAmazon Web Services
 
MLflow Model Serving
MLflow Model ServingMLflow Model Serving
MLflow Model ServingDatabricks
 
Cloud migration strategies
Cloud migration strategiesCloud migration strategies
Cloud migration strategiesSogetiLabs
 
GraphFrames: DataFrame-based graphs for Apache® Spark™
GraphFrames: DataFrame-based graphs for Apache® Spark™GraphFrames: DataFrame-based graphs for Apache® Spark™
GraphFrames: DataFrame-based graphs for Apache® Spark™Databricks
 
Introduction to PySpark
Introduction to PySparkIntroduction to PySpark
Introduction to PySparkRussell Jurney
 
Apache Spark Data Source V2 with Wenchen Fan and Gengliang Wang
Apache Spark Data Source V2 with Wenchen Fan and Gengliang WangApache Spark Data Source V2 with Wenchen Fan and Gengliang Wang
Apache Spark Data Source V2 with Wenchen Fan and Gengliang WangDatabricks
 

Mais procurados (20)

Informatica Pentaho Etl Tools Comparison
Informatica Pentaho Etl Tools ComparisonInformatica Pentaho Etl Tools Comparison
Informatica Pentaho Etl Tools Comparison
 
Using Cerberus and PySpark to validate semi-structured datasets
Using Cerberus and PySpark to validate semi-structured datasetsUsing Cerberus and PySpark to validate semi-structured datasets
Using Cerberus and PySpark to validate semi-structured datasets
 
Best practices on building data lakes and lake formation
Best practices on building data lakes and lake formationBest practices on building data lakes and lake formation
Best practices on building data lakes and lake formation
 
What’s New with Flowable?
What’s New with Flowable?What’s New with Flowable?
What’s New with Flowable?
 
Securely Deliver Desktop Applications with Amazon AppStream 2.0 (BAP201) - AW...
Securely Deliver Desktop Applications with Amazon AppStream 2.0 (BAP201) - AW...Securely Deliver Desktop Applications with Amazon AppStream 2.0 (BAP201) - AW...
Securely Deliver Desktop Applications with Amazon AppStream 2.0 (BAP201) - AW...
 
Express node js
Express node jsExpress node js
Express node js
 
Road to Microservices
Road to MicroservicesRoad to Microservices
Road to Microservices
 
Gobierno de apis
Gobierno de apisGobierno de apis
Gobierno de apis
 
Programming in Spark using PySpark
Programming in Spark using PySpark      Programming in Spark using PySpark
Programming in Spark using PySpark
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principles
 
StackExchange.redis
StackExchange.redisStackExchange.redis
StackExchange.redis
 
Composable Software Architecture with Spring
Composable Software Architecture with SpringComposable Software Architecture with Spring
Composable Software Architecture with Spring
 
Asp.Net Tutorials
Asp.Net TutorialsAsp.Net Tutorials
Asp.Net Tutorials
 
Getting Started with AWS Database Migration Service
Getting Started with AWS Database Migration ServiceGetting Started with AWS Database Migration Service
Getting Started with AWS Database Migration Service
 
MLflow Model Serving
MLflow Model ServingMLflow Model Serving
MLflow Model Serving
 
Cloud migration strategies
Cloud migration strategiesCloud migration strategies
Cloud migration strategies
 
GraphFrames: DataFrame-based graphs for Apache® Spark™
GraphFrames: DataFrame-based graphs for Apache® Spark™GraphFrames: DataFrame-based graphs for Apache® Spark™
GraphFrames: DataFrame-based graphs for Apache® Spark™
 
Rest API
Rest APIRest API
Rest API
 
Introduction to PySpark
Introduction to PySparkIntroduction to PySpark
Introduction to PySpark
 
Apache Spark Data Source V2 with Wenchen Fan and Gengliang Wang
Apache Spark Data Source V2 with Wenchen Fan and Gengliang WangApache Spark Data Source V2 with Wenchen Fan and Gengliang Wang
Apache Spark Data Source V2 with Wenchen Fan and Gengliang Wang
 

Semelhante a Mada metodología ágil de desarrollo de apis

JSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APIJSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APICloudAppi
 
Api managers
Api managersApi managers
Api managersCloudAppi
 
Define y desarrolla tu primera api
Define y desarrolla tu primera apiDefine y desarrolla tu primera api
Define y desarrolla tu primera apiCloudAppi
 
Taller desarrollo de apis
Taller desarrollo de apisTaller desarrollo de apis
Taller desarrollo de apisCloudAppi
 
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
 
Herramientas y Tecnologías para la Web
Herramientas y Tecnologías para la WebHerramientas y Tecnologías para la Web
Herramientas y Tecnologías para la WebErick David Juarez
 
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
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningRafa Hidalgo
 
Programación web con PHP con Tecnología Bootstrap.
Programación web con PHP con Tecnología Bootstrap.Programación web con PHP con Tecnología Bootstrap.
Programación web con PHP con Tecnología Bootstrap.Jose Fernandez
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidadjuanmanuelsalgado
 
El mundo cloud y las apis
El mundo cloud y las apisEl mundo cloud y las apis
El mundo cloud y las apisCloudAppi
 
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
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"www.encamina.com
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicasGerardo Linares
 

Semelhante a Mada metodología ágil de desarrollo de apis (20)

RAML
RAMLRAML
RAML
 
JSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APIJSDays Desarrolla tu primera API
JSDays Desarrolla tu primera API
 
Api managers
Api managersApi managers
Api managers
 
SimpleSAMLphp
SimpleSAMLphpSimpleSAMLphp
SimpleSAMLphp
 
Define y desarrolla tu primera api
Define y desarrolla tu primera apiDefine y desarrolla tu primera api
Define y desarrolla tu primera api
 
Taller desarrollo de apis
Taller desarrollo de apisTaller desarrollo de apis
Taller desarrollo de apis
 
OpenAPI 3.0.2
OpenAPI 3.0.2OpenAPI 3.0.2
OpenAPI 3.0.2
 
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
 
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
 
Herramientas y Tecnologías para la Web
Herramientas y Tecnologías para la WebHerramientas y Tecnologías para la Web
Herramientas y Tecnologías para la Web
 
Examen Profesional 1
Examen Profesional 1Examen Profesional 1
Examen Profesional 1
 
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)
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine Learning
 
Programación web con PHP con Tecnología Bootstrap.
Programación web con PHP con Tecnología Bootstrap.Programación web con PHP con Tecnología Bootstrap.
Programación web con PHP con Tecnología Bootstrap.
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidad
 
El mundo cloud y las apis
El mundo cloud y las apisEl mundo cloud y las apis
El mundo cloud y las apis
 
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)
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicas
 

Mais de CloudAppi

Meme teambuilding
Meme teambuildingMeme teambuilding
Meme teambuildingCloudAppi
 
Cloud appi transformacion digital
Cloud appi   transformacion digitalCloud appi   transformacion digital
Cloud appi transformacion digitalCloudAppi
 
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
 
Api managers
Api managersApi managers
Api managersCloudAppi
 
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
 
Big data y las apis
Big data y  las apis Big data y  las apis
Big data y las apis CloudAppi
 
Las apis como modelo de negocio
Las apis como modelo de negocioLas apis como modelo de negocio
Las apis como modelo de negocioCloudAppi
 
Taller definición de apis
Taller definición de apisTaller definición de apis
Taller definición de apisCloudAppi
 

Mais de CloudAppi (9)

Meme teambuilding
Meme teambuildingMeme teambuilding
Meme teambuilding
 
Cloud appi transformacion digital
Cloud appi   transformacion digitalCloud appi   transformacion digital
Cloud appi transformacion digital
 
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
 
Api managers
Api managersApi managers
Api managers
 
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)
 
Big data y las apis
Big data y  las apis Big data y  las apis
Big data y las apis
 
Las apis como modelo de negocio
Las apis como modelo de negocioLas apis como modelo de negocio
Las apis como modelo de negocio
 
Taller definición de apis
Taller definición de apisTaller definición de apis
Taller definición de apis
 

Último

AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
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
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 

Último (20)

AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.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
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 

Mada metodología ágil de desarrollo de apis

  • 1. MADA Metodología Ágil de Desarrollo de APIs Marco Antonio Sanz
  • 2. ¿Quienes somos? Grupo de meetup http://www.meetup.com/API-Addicts/ Meetups realizados ❏ MADA. Metodología ágil de definición de APIs ❏ Taller: Definición de APIs ❏ Taller: Desarrolla tu primera API ❏ Seguridad en las APIs ❏ Las APis en el mundo Big Data ❏ Las APis en el mundo Cloud ❏ Apis como modelo de negocio ❏ Define y desarrolla tu primera API Marco Antonio Sanz:http://es.linkedin.com/pub/marco-antonio-sanz-molina-prados/18/335/97/
  • 3. Patrocinadores ¿qué nos ofrece? ➢ know - how de apis ➢ Experiencia en el gobierno de Apis ➢ Ejemplos de arquitecturas ➢ Experiencia en el mundo Cloud Calle Velasco 13 Tlf: 658 89 75 75 admin@cloudappi.net · www.cloudappi.net
  • 4. Objetivo ¿Cual es el objetivo del meetup? Intercambiar conocimientos sobre todos los aspectos de las Apis, desde tecnologías, seguridad, definición...
  • 5. Al pensar en una API, hay que pensar en desarrollar productos. Es un traje para varios clientes, por lo que a todos no les puede quedar bien. Un backend se desarrolla pensando en tu cliente, es un traje hecho a medida. Api como producto API Backend
  • 6. 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
  • 7. 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:
  • 10. - 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
  • 11. Documentación - fakes Implementando un fake con las interfaces de entrada y salida
  • 12. - 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:
  • 13. 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
  • 14. Se debe generar documentación clara y comprensible para los developers. Documentación Generar la documentación para el developer
  • 15. 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
  • 17. 1) Realizar un documento funcional NO 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 NO (por el momento) MADA ¿Donde aporta Valor?
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. Permite: ➢ Describir los valores de entrada mediante schemas (ya sean json o xsd) post: /{songId}: get: 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
  • 23. Desarrollo de una implementación con las interfaces de entrada y salida. Implementando el servicio fake MADA
  • 24. 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
  • 25. Creando un esquema de aplicación con Osprey Implementación MADA
  • 26. Permite: ➢ Generar casos de prueba ➢ Validar los parámetros de entrada como de salida Importando un raml desde SoapUI Validando la API MADA
  • 27. Generando la documentación con RAML Documentación MADA
  • 28. Desde la consola podemos generar los casos de prueba a partir del RAML Casos de prueba MADA
  • 29. RAML RoadMAP Generación de código de ejemplo en Java, PHP, .net. Futuro MADA
  • 31.
  • 32. Contacta en: Email: admin@apiaddicts.org Web: http://www.meetup.com/APIAddicts Siguenos en: ➢ Linkedin: ApiAddicts ➢ Twitter: @apiaddicts ➢ Facebook: APIAddicts ➢ Meetup: APIAddicts Contacta