MADA. Metodología Ágil de Desarrollo de APIs. Marco Antonio Sanz

Documentos relacionados
Gobierno de Apis en la banca. Marco Antonio Sanz

Internet está evolucionando

Servicios Web. Alberto Molina Coballes. Rodríguez. 16 de abril de 2012

MESAS DE INNOVACIÓN 2017:LA TRANSFORMACIÓN DIGITAL

API. CIBERSEG de enero Madrid

Desarrollo y servicios web

PROTOCOLO DE CONEXIÓN A REPOSITORIO DE FIRMAS DOCUMENTACIÓN TÉCNICA INTEGRACIÓN API REPOSITORIO CENTRALIZADO DE FIRMAS VERSIÓN 7

Índice INTRODUCCIÓN...11

Introducción a los Servicios Web

Tesina de Seminario. Seminario de Graduación Desarrollo de Aplicaciones basadas en la Web 2.0

Especificación de Uso. Servicios Web Externos API Servicio Licencias Ed. Superior V-0.1

Tema 5. APIs y Servicios web

Servicios Web. Desarrollo de Aplicaciones Empresariales

Índice INTRODUCCIÓN...11 CAPÍTULO 1. SELECCIÓN DE ARQUITECTURAS Y HERRAMIENTAS DE PROGRAMACIÓN...13

República Argentina - Poder Ejecutivo Nacional Año de las Energías Renovables. Anexo

RESTful en Drupal 8. Creando Servicios Web desde el Core

MÁster en Data Science y Arquitectura Big Data_ DURACIÓN: 248 HORAS

SERVICIOS WEB DE MODIFICACIÓN DE LA D.G. DEL CATASTRO Introducción general

COMPUTACIÓN EN LA NUBE CON JAVA

Caso de Éxito. Caso de Éxito

[Webcast] La Nube como centro de Cómputo. Microsoft Azure IaaS + PaaS

Alternativas a XML JSON, YAML, SXML, CSV, RDF. Jose Emilio Labra Gayo Depto. Informática Universidad de Oviedo

Bootstrapping Databases en equipos móviles

Programa Formativo. Código: Curso: Programación con JAVA 8 SE Standard Edition Modalidad: ONLINE Duración: 120h.

Guía del Curso Especialista TIC en Programación con JAVA 8 SE Standard Edition

Aprovechar las capacidades nativas de los dispositivos. Diseño y experiencia de usuario nativa. Seguridad y reportes automáticos e integrales

Análisis comparativo de la. API REST de GeoServicios de ESRI. y los. Servicios estándar OGC clásicos. Javier Abadía, ESRI España

Evolución de la Web y Servicios Web. Daniel Bruzual Marilyn Nowacka

CALENDARIO ORACLE UNIVERSITY CUATRIMESTRAL 2017

Ficha técnica Desarrollador JAVA M,

Tema 5: Aplicaciones web en la nube. Backend as a Service

Distan cia. Prese. ncial A

LICENCIA PROFESIONAL EN DESARROLLO DE SOFTWARE PARA APLICACIONES WEB

Integrando telefonía IP. con una aplicación de. gestión de tiempos

Desarrollo y servicios web

Gestión dinámica de información y procesos

Acceso a Servicios Web en Android Servicios Web REST (C# / VS2015) V1.0

Descripción. Objetivos de Aprendizaje. Estructura y Contenidos

GESTIÓN DE UN SERVICIO DE CITAS MUNICIPALES CON ANGULARJS

BORRADOR - GUÍA TÉCNICA DE INTEROPERABILIDAD EN EL ESTADO DE CHILE

Curso JAVA EE

El Modelo de Integración basado en Servicios

Código XX-X9.9-XX-XX-99 Versión 1.0 Publicación dd/mmm/aaaa. Manual técnico de SIFEI Web Service - Cancelación

MÁSTER: MÁSTER BIG DATA ANALYTICS

FESB Servicio de Solicitud de Token

Introducción a Web Services

Framework Atlas. Introducción FRAMEWORK ATLAS INTRODUCCIÓN. Diciembre de Diciembre de 2016

APLICACIONES DE INTERNET: SOAP

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

Si usted quiere desarrollar con Bluevia y Java, esto es lo primero que debe saber

www. MobileLab. com.co

Web Services Tecnologías asociadas

Aplicaciones Web. Aplicaciones Distribuidas

CAPTURA DE DATOS Y ANÁLISIS DE RED EN TWITTER

DIRe. FAQ s. Directorio de Entidades. Versión 1.0 Fecha de revisión XX/XX/2018 Realizado por Equipo DIRe. DIRe / 1

BETGAME PROJECT. Desarrollo de un videojuego on-line de pronósticos deportivos. Autor: Alejandro López González

TECNOLOGIAS PARA LA INTEGRACION DE SOLUCIONES. Facultad de Estadística e Informática

Propuesta framework de herramientas para el desarrollo de aplicaciones en un modelo colaborativo. Ricardo Borillo Domenech

INDICE Prefacio Capitulo 1: Introducción Parte Primeras: modelos de datos Capitulo 2: Modelos entidad-relación Capitulo 3: El modelo relacional

Alejandro Ardila Schickler 9/4/2013

HTML5: Fundamentos de una Página Web

HTML5: Fundamentos de una Página Web

Tema 3.1: Introducción a Servicios Web

MÁSTER EN BIG DATA MANAGEMENT & DATA ENGINEERING. Master

MÁSTER: MÁSTER EXPERTO EN BIG DATA

E-commerce y Contenido. Plan de Estudios

Sistemas Operativos Distribuidos

Máster Universitario en Ingeniería Informática. REST avanzado. Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA

!!!!!!! Recomendaciones!sobre!la!adopción!de!un!modelo!de! interoperabilidad!para!el!estado!de!chile!!!!

HTML5: Fundamentos de una página Web

GALA. Servicios WEB. Curso ASP.NET Desarrollo de Sitios y Servicios Web con Visual Basic 2010, 24 h. L25. Servicios Web en Integración

Experto Universitario Java Enterprise Spring

Salesforce APIs Composite resources

Aplicación del GAM. Una vez autenticado el usuario podrá comenzar a utilizar la aplicación.

Guía del Curso Técnico en Mantenimiento de CRM: Recursos Empresariales y de Gestión de Relaciones con Clientes

Sistemas Distribuidos Servicios web. Rodrigo Santamaría

PRÓLOGO... XIII INTRODUCCIÓN... XV PARTE I. CURSO PRÁCTICO DE RUBY... 1 CAPÍTULO 1. INSTALACIÓN DE RUBY ON RAILS...

UNIVERSIDAD AUTONOMA DE QUERETARO Facultad de Informática

Introducción a Web Services. Taller de Programación 2017

Aplicaciones y Servicios Web (Web Services)

Eguana Reports. Servidor de Reportes basado en Tecnología Java y XML. Presentado por: Roy Cox S. Fernando Pérez M. José Pérez S.

Una vez apruebe un curso obtendré un certificado que puedo descargar en digital y otro que llega a mi casa cuando finalice una carrera.

BUSCAS TRABAJO? VEN AL SMART CITY EXPO!

Itinerario SOA. Características SOA y Computación Orientada a Servicios

API: REST o RESTful WEB-SERVICES

CAPÍTULO 1: INTRODUCCIÓN

Consulting, IT Services & Software Development MOBILE CROSS PLATFORM SOLUCIONES DE MOVILIDAD I+D

Desarrollador Front Jr.

IBM MobileFirst Platform capacidades clave para construir, ejecutar y gestionar las aplicaciones móviles

años INSTITUTO PARA EL DESARROLLO EMPRESARIAL Y ADMINISTRATIVO CURSO TALLER: DEVELOPERS INICIO: 04 DE SETIEMBRE Lunes y Miércoles de 19:00 a 22:00h

Oracle 10g: Creación de Aplicaciones J2EE

CALENDARIO ORACLE UNIVERSITY 1er. CUATRIMESTRE Enero Abril Centro Panamá Corea Edificio 169, Ciudad del Saber, Clayton Panamá

Introducción a GAM. Ahora queremos agregarle Seguridad a la aplicación, tanto a la parte web como a la de Smart Devices. Page1

Sistemas Distribuidos Servicios web. Rodrigo Santamaría

Capacitación Tecnológica Científica para Bolivia. Programación Orientada a Objetos en Java

Términos de referencia Interfaz web para ClaveÚnica Unidad de Modernización y Gobierno Digital 2016

Transcripción:

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...

Api como producto API 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. Backend Un backend se desarrolla pensando en tu cliente, es un traje hecho a medida.

Conociendo las Apis Crecimiento de las Apis APIs más populares Google Maps Twitter YouTube Flickr Amazon Product Advertising Facebook Datos recogidos de programmable web

Desarrollo de Apis Pasos: 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

Documentación funcional Descripción a alto nivel de la APi

Documentación Descripción técnica de la API

Documentación Consideraciones generales - 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 - fakes Implementando un fake con las interfaces de entrada y salida

Implementación Consideraciones generales: - 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.

Testing Validación de la API 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)

Documentación Generar la documentación para el developer Se debe generar documentación clara y comprensible para los developers.

Documentación Casos de prueba Una de las cosas más importantes es generar casos de prueba para que los developers puedan guiarse en la implementación.

SDKs Facilitan la integración con las Apis

MADA Donde aporta Valor? 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 Objetivo 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 Documento de la API La API se define en RAML, un lenguaje de definición de APIs. Parámetros generales de la API Permite: Describir la API Incluir ficheros externos Utilizar propiedades baseuri: http://example.api.com/{version} Incluir schemas version: v1 Definir la versión traits: Definir el tipo de mediaatype (pj:application/json) Protocolos (HTTP,HTTPS) Definir la URL base (URL en la que estará #%RAML 0.8 title: World Music API - paged: queryparameters: pages: description: The number of pages to return type: number - secured:!include http://raml-example.com/secured.yml song** desplegada) Definir documentación en formato Markdown [MARKDOWN].

MADA Documento de la API Definiendo métodos GET y DELETE Permite: /songs: is: [ paged, secured ] get: Describir los parámetros de entrada, tanto query parameters como uriparameters, indicando tipo, queryparameters: descripción, valores por defecto, ejemplos de genre: description: filter the songs by genre delete: description: This method will valores... *delete* an **individual responses: 200: body: application/json: example:!include examples/instagram-v1-media-popular-example.json Definir los parámetros de salida (definirlo tanto como json schema como por xml). Por ejemplo:

MADA Documento de la API Definiendo métodos POST post: Permite: /{songid}: get: Describir los valores de entrada mediante schemas (ya sean json o xsd) 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:

MADA Api Designer

MADA Implementando el servicio fake Desarrollo de una implementación con las interfaces de entrada y salida.

MADA Implementación 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

MADA Implementación Creando un esquema de aplicación con Osprey

MADA Validando la API Importando un raml desde SoapUI Permite: Generar casos de prueba Validar los parámetros de entrada como de salida

MADA Documentación Generando la documentación con RAML

MADA Casos de prueba Desde la consola podemos generar los casos de prueba a partir del RAML

MADA Futuro RAML RoadMAP Generación de código de ejemplo en Java, PHP,.net.

Ruegos y preguntas

Contacta Contacta en: Siguenos en: Email: admin@apiaddicts.org Web: http://www.meetup.com/apiaddicts Linkedin: ApiAddicts Twitter: @apiaddicts Facebook: APIAddicts Meetup: APIAddicts