SlideShare una empresa de Scribd logo
Creando un Web API desde la idea
hasta el despliegue de forma ágil
JConf Dominicana 2021
31 de Julio del 2021. Edición Virtual.
#jconfdominicana2021
Eudris Cabrera
@EudrisCabrera
Eudris Cabrera
Graduado de Ingeniería Telemática en la PUCMM.
Entusiasta de la tecnología y el software libre,
desarrollador Java, instructor ocasional (Java/Linux),
aficionado del béisbol/sóftbol y los bailes latinos.
En el tiempo libre, escribe artículos, realiza charlas,
participa en eventos tecnológicos y ayuda en la
revisión de documentación técnica en el mundo Java y
el código abierto.
Twitter:
@JavaDominicano linktr.ee/JConfDominicana
AGENDA
● Antecedentes
● Desarrollo de API: Design First or Code First
● Caso de Uso Batflip Inc
● Tecnologías y herramientas a utilizar
● Etapas del desarrollo del API
Antecedentes
El manejo y administración de API se están generalizando, actualmente es más fácil exponer las APIs de
forma segura al mundo.
Sin embargo, el ciclo de desarrollo de API tiene algunos casos pendientes que resolver.
● Pensar en una nueva forma de entregar API
● Simplificar y acelarar el envío de API listas para producción.
Desarrollo de API:
Design First or Code First
Desarrollo de API: Design First or Code First
Code First es un enfoque más tradicional para la creación de API, y el desarrollo del código ocurre
después de que se establecen los requisitos comerciales, lo que finalmente genera la documentación a
partir del código.
Design First aboga por diseñar el contrato de la API primero antes de escribir cualquier código.
Desarrollo de API: Design First or Code First
Desarrollo de API: Design First
● Cuando la experiencia del desarrollador que implementa el API importante.
Una API bien diseñada puede hacer maravillas para la adopción y el consumo de sus API, y un buen diseño
se puede lograr mejor con el enfoque Design First.
Si su estrategia de API implica una alta adopción de su API y la retención de usuarios que se integran con
su API, entonces una buena experiencia de desarrollador (DX) es importante.
Desarrollo de API: Design First
● Si tu API es de misión crítica
La principal razón para optar por el enfoque Design First es cuando el público objetivo de su API son
clientes o socios externos.
En tal caso, su API es un canal de distribución clave que sus clientes finales pueden utilizar para consumir
los servicios que brinda, y un buen diseño juega un papel clave en la determinación de la satisfacción del
cliente.
Desarrollo de API: Design First
● Cuando quieres garantizar una buena comunicación
El contrato de API puede actuar como el borrador central que mantiene a todos los miembros de su
equipo alineados con los objetivos de su API y cómo se exponen los recursos de su API.
La identificación de errores y problemas en la arquitectura de la API con su equipo se vuelve más fácil al
inspeccionar un diseño legible por humanos.
Desarrollo de API: Code First
● Cuando hay urgencia con la entrega del API
Los desarrolladores pueden comenzar a implementar la API mucho más rápido si comienzan a codificar la
API directamente desde el documento de requisitos.
Esto es importante si su estrategia de comercialización enfatiza la velocidad y la agilidad como factores
importantes para el éxito del API.
Desarrollo de API: Code First
● Al desarrollar API internas
El enfoque Code First ofrece velocidad, automatización y complejidad de proceso reducida, a costa de
una buena experiencia de desarrollador. Si la API solo será consumida por el equipo o la empresa que la
está construyendo, entonces el enfoque Code First es una solución ideal.
Esto es especialmente cierto si la API desarrollada es pequeña con solo unos pocos puntos finales, que
solo se usarán internamente.
Caso de Uso Batflip Inc
Caso de Uso Batflip Inc
Batflip Inc produce, vende y distribuye
artículos deportivos a sus queridos clientes, y
todo el proceso se gestiona internamente.
La creciente competencia y la creciente demanda de los clientes están obligando a
Batflip Inc a repensar su modelo de distribución.
Es decir, la distribución se dejará a revendedores independientes que podrían vender
artículos deportivos localmente, en línea o en el sitio.
El principal desafío es cómo abrir el sistema de información para que los
revendedores independientes puedan descubrir el catálogo de artículos deportivos,
verificar el inventario, etc.
Nuestra experiencia nos dice que esto se puede
hacer a través de la exposición de una API.
Tecnologías y herramientas a utilizar
● Herramienta para diseño de API (Apicurio Studio)
● Herramienta para pruebas y simulación (Microcks)
● Herramienta para pruebas y edición de API ((Postman)
● Desarrollo del servicio (microprofile)
● Plataforma para el despligue utilizando CI-CD (Kubernetes/OpenShift)
Tecnologías y herramientas a utilizar
Etapas del desarrollo del API
● Fase 0: Evaluando ideas para el API
● Fase 1: Diseñar el contrato de la API primero antes de escribir cualquier código
● Fase 2: Hacer peticiones para validar que el resultado es el esperado
● Fase 3: Crear pruebas automátizadas de las simulaciones
● Fase 4: Desarrollo, Despliegue y prueba
Presentación y Demo
Vídeo:
https://youtu.be/GrQ62z-SA0M
Github:
https://github.com/ecabrerar/api-lifecycle-conference
Asuntos Legales
Todas las marcas registradas, así como todos los logotipos, imágenes,
fotografías, audio y vídeos mostrados en esta presentación son propiedad
de sus respectivos propietarios y/o representantes.
Su utilización es solamente para fines ilustrativos.
Enlaces:
https://swagger.io/blog/api-design/design-first-or-code-first-api-development/
https://blog.restcase.com/api-development-with-design-first-approach/
http://www.apicur.io/
http://microcks.github.io/
https://www.getpostman.com/
https://www.openshift.com/
https://microprofile.io/
Referencias
@eudriscabrera
@eudris
@ecabrerar
@eudriscabrera
Eudris Cabrera Rodríguez
Ingeniero Telemático
Desarrollador de Software / Consultor Informático
eudris@gmail.com
https://www.linkedin.com/in/eudriscabrera
http://www.slideshare.net/eudris
https://twitter.com/eudriscabrera
https://github.com/ecabrerar

Más contenido relacionado

La actualidad más candente

Modulo Jee Intro Pos Fp Une
Modulo Jee Intro  Pos Fp UneModulo Jee Intro  Pos Fp Une
Modulo Jee Intro Pos Fp Une
Marcos Jara
 
Dispositivos moviles
Dispositivos movilesDispositivos moviles
Dispositivos moviles
Santiago Figueroa
 
Visual basic yanelsy bello
Visual basic yanelsy belloVisual basic yanelsy bello
Visual basic yanelsy bello
Yanelsy Bello
 
Arquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móvilesArquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móviles
Sergio Castillo Yrizales
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
Karen Rivera
 
t3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por quet3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por que
Fátima Casaú Pérez
 
Herramientas Tecnologicas Virtuales
Herramientas Tecnologicas VirtualesHerramientas Tecnologicas Virtuales
Herramientas Tecnologicas Virtuales
Jose Andres
 
[Webinar] SOA ágil con WSO2
[Webinar] SOA ágil con WSO2[Webinar] SOA ágil con WSO2
[Webinar] SOA ágil con WSO2
Roger CARHUATOCTO
 
Arquitectura de Apis & GRPC | #JCONFPERU
Arquitectura de Apis & GRPC | #JCONFPERUArquitectura de Apis & GRPC | #JCONFPERU
Arquitectura de Apis & GRPC | #JCONFPERU
Jose Luis Bugarin Peche
 
Azure Functions Spanish
Azure Functions SpanishAzure Functions Spanish
Azure Functions Spanish
CDS
 
ATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptxATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptx
Luis Beltran
 
Actividad 04
Actividad 04Actividad 04
Actividad 04
Pitudos Locos
 
Qué es software de programación
Qué es software de programaciónQué es software de programación
Qué es software de programación
SelmaIveth112
 
Introducción a Cake PHP Framework
Introducción a Cake PHP FrameworkIntroducción a Cake PHP Framework
Introducción a Cake PHP Framework
Jomicast
 
Presentación programación en internet
Presentación programación en internetPresentación programación en internet
Presentación programación en internet
Lizbeth Atala Garcia Robles
 
Legibilidad my sql + posgres
Legibilidad my sql + posgresLegibilidad my sql + posgres
Legibilidad my sql + posgres
Julian Londoño
 
Devops
DevopsDevops
Artículo 1 sobre la plataforma ECLIPSE
Artículo 1 sobre la plataforma ECLIPSEArtículo 1 sobre la plataforma ECLIPSE
Artículo 1 sobre la plataforma ECLIPSE
torrubia
 
DevOps con Visual Studio Team Services
DevOps con Visual Studio Team ServicesDevOps con Visual Studio Team Services
DevOps con Visual Studio Team Services
Luis Fraile
 
Microservicios
MicroserviciosMicroservicios
Microservicios
Sergio Maurenzi
 

La actualidad más candente (20)

Modulo Jee Intro Pos Fp Une
Modulo Jee Intro  Pos Fp UneModulo Jee Intro  Pos Fp Une
Modulo Jee Intro Pos Fp Une
 
Dispositivos moviles
Dispositivos movilesDispositivos moviles
Dispositivos moviles
 
Visual basic yanelsy bello
Visual basic yanelsy belloVisual basic yanelsy bello
Visual basic yanelsy bello
 
Arquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móvilesArquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móviles
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
t3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por quet3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por que
 
Herramientas Tecnologicas Virtuales
Herramientas Tecnologicas VirtualesHerramientas Tecnologicas Virtuales
Herramientas Tecnologicas Virtuales
 
[Webinar] SOA ágil con WSO2
[Webinar] SOA ágil con WSO2[Webinar] SOA ágil con WSO2
[Webinar] SOA ágil con WSO2
 
Arquitectura de Apis & GRPC | #JCONFPERU
Arquitectura de Apis & GRPC | #JCONFPERUArquitectura de Apis & GRPC | #JCONFPERU
Arquitectura de Apis & GRPC | #JCONFPERU
 
Azure Functions Spanish
Azure Functions SpanishAzure Functions Spanish
Azure Functions Spanish
 
ATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptxATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptx
 
Actividad 04
Actividad 04Actividad 04
Actividad 04
 
Qué es software de programación
Qué es software de programaciónQué es software de programación
Qué es software de programación
 
Introducción a Cake PHP Framework
Introducción a Cake PHP FrameworkIntroducción a Cake PHP Framework
Introducción a Cake PHP Framework
 
Presentación programación en internet
Presentación programación en internetPresentación programación en internet
Presentación programación en internet
 
Legibilidad my sql + posgres
Legibilidad my sql + posgresLegibilidad my sql + posgres
Legibilidad my sql + posgres
 
Devops
DevopsDevops
Devops
 
Artículo 1 sobre la plataforma ECLIPSE
Artículo 1 sobre la plataforma ECLIPSEArtículo 1 sobre la plataforma ECLIPSE
Artículo 1 sobre la plataforma ECLIPSE
 
DevOps con Visual Studio Team Services
DevOps con Visual Studio Team ServicesDevOps con Visual Studio Team Services
DevOps con Visual Studio Team Services
 
Microservicios
MicroserviciosMicroservicios
Microservicios
 

Similar a Creando un Web API desde la idea hasta el despliegue de forma ágil

Mulesoft Anypoint platform: Design Center
Mulesoft Anypoint platform: Design CenterMulesoft Anypoint platform: Design Center
Mulesoft Anypoint platform: Design Center
Larry Magallanes
 
MuleSoft Anypoint Platform - Releases 2019
MuleSoft Anypoint Platform - Releases 2019 MuleSoft Anypoint Platform - Releases 2019
MuleSoft Anypoint Platform - Releases 2019
Larry Magallanes
 
APCSIS - Escuela de Código.pptx
APCSIS - Escuela de Código.pptxAPCSIS - Escuela de Código.pptx
APCSIS - Escuela de Código.pptx
Suri Sorby RS
 
MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020
Ieva Navickaite
 
Digital Economy
Digital EconomyDigital Economy
Digital Economy
Freddy Rondanelli
 
Tienda Virtual.- Gygacom
Tienda Virtual.- GygacomTienda Virtual.- Gygacom
Tienda Virtual.- Gygacom
Hikaiwaba
 
Foro innovacion beeva 28 01-2014 -open business and the business of APIs
Foro innovacion beeva 28 01-2014 -open business and the business of APIsForo innovacion beeva 28 01-2014 -open business and the business of APIs
Foro innovacion beeva 28 01-2014 -open business and the business of APIs
BEEVA_es
 
Doppler Tutorial: Cómo aprovechar la API de Doppler
Doppler Tutorial: Cómo aprovechar la API de DopplerDoppler Tutorial: Cómo aprovechar la API de Doppler
Doppler Tutorial: Cómo aprovechar la API de Doppler
FromDoppler
 
APPSWEBI4.0.pptx
APPSWEBI4.0.pptxAPPSWEBI4.0.pptx
APPSWEBI4.0.pptx
22040086
 
Monetización de APIs con WSO2
Monetización de APIs con WSO2Monetización de APIs con WSO2
Monetización de APIs con WSO2
WSO2
 
Ponencia
PonenciaPonencia
Ponencia
fredmoa
 
Presentacion Capaintermedia
Presentacion CapaintermediaPresentacion Capaintermedia
Presentacion Capaintermedia
Jhon Zuluaga
 
Global integration bootcamp 2018 - Gobierno de APIs
Global integration bootcamp 2018 - Gobierno de APIsGlobal integration bootcamp 2018 - Gobierno de APIs
Global integration bootcamp 2018 - Gobierno de APIs
Alberto Diaz Martin
 
Global Integration Bootcamp 2018 - Gobierno de APIs
Global Integration Bootcamp 2018 - Gobierno de APIsGlobal Integration Bootcamp 2018 - Gobierno de APIs
Global Integration Bootcamp 2018 - Gobierno de APIs
Alberto Diaz Martin
 
La importancia de las APIs en los chatbots
La importancia de las APIs en los chatbotsLa importancia de las APIs en los chatbots
La importancia de las APIs en los chatbots
Rolando Carrasco
 
Comparación de API y SOA
Comparación de API y SOAComparación de API y SOA
Comparación de API y SOA
Diego Suarez
 
Net conf ar v2018 start up
Net conf ar v2018 start upNet conf ar v2018 start up
Net conf ar v2018 start up
fernando sonego
 
Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1
fernando sonego
 
Orquestando Procesos de Negocio de manera ágil con Bonita BPM (v1.0)
Orquestando Procesos de Negocio de manera ágil con Bonita BPM (v1.0)Orquestando Procesos de Negocio de manera ágil con Bonita BPM (v1.0)
Orquestando Procesos de Negocio de manera ágil con Bonita BPM (v1.0)
Roger CARHUATOCTO
 
2015 presentation corporate_alfa9_cast
2015 presentation corporate_alfa9_cast2015 presentation corporate_alfa9_cast
2015 presentation corporate_alfa9_cast
iñaki bermejo
 

Similar a Creando un Web API desde la idea hasta el despliegue de forma ágil (20)

Mulesoft Anypoint platform: Design Center
Mulesoft Anypoint platform: Design CenterMulesoft Anypoint platform: Design Center
Mulesoft Anypoint platform: Design Center
 
MuleSoft Anypoint Platform - Releases 2019
MuleSoft Anypoint Platform - Releases 2019 MuleSoft Anypoint Platform - Releases 2019
MuleSoft Anypoint Platform - Releases 2019
 
APCSIS - Escuela de Código.pptx
APCSIS - Escuela de Código.pptxAPCSIS - Escuela de Código.pptx
APCSIS - Escuela de Código.pptx
 
MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020
 
Digital Economy
Digital EconomyDigital Economy
Digital Economy
 
Tienda Virtual.- Gygacom
Tienda Virtual.- GygacomTienda Virtual.- Gygacom
Tienda Virtual.- Gygacom
 
Foro innovacion beeva 28 01-2014 -open business and the business of APIs
Foro innovacion beeva 28 01-2014 -open business and the business of APIsForo innovacion beeva 28 01-2014 -open business and the business of APIs
Foro innovacion beeva 28 01-2014 -open business and the business of APIs
 
Doppler Tutorial: Cómo aprovechar la API de Doppler
Doppler Tutorial: Cómo aprovechar la API de DopplerDoppler Tutorial: Cómo aprovechar la API de Doppler
Doppler Tutorial: Cómo aprovechar la API de Doppler
 
APPSWEBI4.0.pptx
APPSWEBI4.0.pptxAPPSWEBI4.0.pptx
APPSWEBI4.0.pptx
 
Monetización de APIs con WSO2
Monetización de APIs con WSO2Monetización de APIs con WSO2
Monetización de APIs con WSO2
 
Ponencia
PonenciaPonencia
Ponencia
 
Presentacion Capaintermedia
Presentacion CapaintermediaPresentacion Capaintermedia
Presentacion Capaintermedia
 
Global integration bootcamp 2018 - Gobierno de APIs
Global integration bootcamp 2018 - Gobierno de APIsGlobal integration bootcamp 2018 - Gobierno de APIs
Global integration bootcamp 2018 - Gobierno de APIs
 
Global Integration Bootcamp 2018 - Gobierno de APIs
Global Integration Bootcamp 2018 - Gobierno de APIsGlobal Integration Bootcamp 2018 - Gobierno de APIs
Global Integration Bootcamp 2018 - Gobierno de APIs
 
La importancia de las APIs en los chatbots
La importancia de las APIs en los chatbotsLa importancia de las APIs en los chatbots
La importancia de las APIs en los chatbots
 
Comparación de API y SOA
Comparación de API y SOAComparación de API y SOA
Comparación de API y SOA
 
Net conf ar v2018 start up
Net conf ar v2018 start upNet conf ar v2018 start up
Net conf ar v2018 start up
 
Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1
 
Orquestando Procesos de Negocio de manera ágil con Bonita BPM (v1.0)
Orquestando Procesos de Negocio de manera ágil con Bonita BPM (v1.0)Orquestando Procesos de Negocio de manera ágil con Bonita BPM (v1.0)
Orquestando Procesos de Negocio de manera ágil con Bonita BPM (v1.0)
 
2015 presentation corporate_alfa9_cast
2015 presentation corporate_alfa9_cast2015 presentation corporate_alfa9_cast
2015 presentation corporate_alfa9_cast
 

Último

Proteccion Electronica enfocado en la Guerra Electronica.pptx
Proteccion Electronica enfocado en la Guerra Electronica.pptxProteccion Electronica enfocado en la Guerra Electronica.pptx
Proteccion Electronica enfocado en la Guerra Electronica.pptx
eghurtadoc
 
Integracion Integligencia Artificial Generativa en STELA
Integracion  Integligencia Artificial Generativa en STELAIntegracion  Integligencia Artificial Generativa en STELA
Integracion Integligencia Artificial Generativa en STELA
Guillermo Talento
 
Girls Call Guwahati 000XX00000 Provide Best And Top Girl Service And No1 in ...
 Girls Call Guwahati 000XX00000 Provide Best And Top Girl Service And No1 in ... Girls Call Guwahati 000XX00000 Provide Best And Top Girl Service And No1 in ...
Girls Call Guwahati 000XX00000 Provide Best And Top Girl Service And No1 in ...
rakeshsoni95123
 
Projecto Loom - Structured Concurrency - JavaMexico - Julio 2024
Projecto Loom - Structured Concurrency - JavaMexico - Julio 2024Projecto Loom - Structured Concurrency - JavaMexico - Julio 2024
Projecto Loom - Structured Concurrency - JavaMexico - Julio 2024
Domingo Suarez Torres
 
Entrenamiento de introducción en Share Point (JateNX)
Entrenamiento de introducción en  Share Point (JateNX)Entrenamiento de introducción en  Share Point (JateNX)
Entrenamiento de introducción en Share Point (JateNX)
administracion997432
 
Varias Consultas hana cloud inventarios
Varias Consultas hana cloud  inventariosVarias Consultas hana cloud  inventarios
Varias Consultas hana cloud inventarios
carloshernandez141319
 

Último (6)

Proteccion Electronica enfocado en la Guerra Electronica.pptx
Proteccion Electronica enfocado en la Guerra Electronica.pptxProteccion Electronica enfocado en la Guerra Electronica.pptx
Proteccion Electronica enfocado en la Guerra Electronica.pptx
 
Integracion Integligencia Artificial Generativa en STELA
Integracion  Integligencia Artificial Generativa en STELAIntegracion  Integligencia Artificial Generativa en STELA
Integracion Integligencia Artificial Generativa en STELA
 
Girls Call Guwahati 000XX00000 Provide Best And Top Girl Service And No1 in ...
 Girls Call Guwahati 000XX00000 Provide Best And Top Girl Service And No1 in ... Girls Call Guwahati 000XX00000 Provide Best And Top Girl Service And No1 in ...
Girls Call Guwahati 000XX00000 Provide Best And Top Girl Service And No1 in ...
 
Projecto Loom - Structured Concurrency - JavaMexico - Julio 2024
Projecto Loom - Structured Concurrency - JavaMexico - Julio 2024Projecto Loom - Structured Concurrency - JavaMexico - Julio 2024
Projecto Loom - Structured Concurrency - JavaMexico - Julio 2024
 
Entrenamiento de introducción en Share Point (JateNX)
Entrenamiento de introducción en  Share Point (JateNX)Entrenamiento de introducción en  Share Point (JateNX)
Entrenamiento de introducción en Share Point (JateNX)
 
Varias Consultas hana cloud inventarios
Varias Consultas hana cloud  inventariosVarias Consultas hana cloud  inventarios
Varias Consultas hana cloud inventarios
 

Creando un Web API desde la idea hasta el despliegue de forma ágil

  • 1. Creando un Web API desde la idea hasta el despliegue de forma ágil JConf Dominicana 2021 31 de Julio del 2021. Edición Virtual. #jconfdominicana2021 Eudris Cabrera @EudrisCabrera
  • 2. Eudris Cabrera Graduado de Ingeniería Telemática en la PUCMM. Entusiasta de la tecnología y el software libre, desarrollador Java, instructor ocasional (Java/Linux), aficionado del béisbol/sóftbol y los bailes latinos. En el tiempo libre, escribe artículos, realiza charlas, participa en eventos tecnológicos y ayuda en la revisión de documentación técnica en el mundo Java y el código abierto.
  • 4. AGENDA ● Antecedentes ● Desarrollo de API: Design First or Code First ● Caso de Uso Batflip Inc ● Tecnologías y herramientas a utilizar ● Etapas del desarrollo del API
  • 5. Antecedentes El manejo y administración de API se están generalizando, actualmente es más fácil exponer las APIs de forma segura al mundo. Sin embargo, el ciclo de desarrollo de API tiene algunos casos pendientes que resolver. ● Pensar en una nueva forma de entregar API ● Simplificar y acelarar el envío de API listas para producción.
  • 6. Desarrollo de API: Design First or Code First
  • 7. Desarrollo de API: Design First or Code First Code First es un enfoque más tradicional para la creación de API, y el desarrollo del código ocurre después de que se establecen los requisitos comerciales, lo que finalmente genera la documentación a partir del código. Design First aboga por diseñar el contrato de la API primero antes de escribir cualquier código.
  • 8. Desarrollo de API: Design First or Code First
  • 9. Desarrollo de API: Design First ● Cuando la experiencia del desarrollador que implementa el API importante. Una API bien diseñada puede hacer maravillas para la adopción y el consumo de sus API, y un buen diseño se puede lograr mejor con el enfoque Design First. Si su estrategia de API implica una alta adopción de su API y la retención de usuarios que se integran con su API, entonces una buena experiencia de desarrollador (DX) es importante.
  • 10. Desarrollo de API: Design First ● Si tu API es de misión crítica La principal razón para optar por el enfoque Design First es cuando el público objetivo de su API son clientes o socios externos. En tal caso, su API es un canal de distribución clave que sus clientes finales pueden utilizar para consumir los servicios que brinda, y un buen diseño juega un papel clave en la determinación de la satisfacción del cliente.
  • 11. Desarrollo de API: Design First ● Cuando quieres garantizar una buena comunicación El contrato de API puede actuar como el borrador central que mantiene a todos los miembros de su equipo alineados con los objetivos de su API y cómo se exponen los recursos de su API. La identificación de errores y problemas en la arquitectura de la API con su equipo se vuelve más fácil al inspeccionar un diseño legible por humanos.
  • 12. Desarrollo de API: Code First ● Cuando hay urgencia con la entrega del API Los desarrolladores pueden comenzar a implementar la API mucho más rápido si comienzan a codificar la API directamente desde el documento de requisitos. Esto es importante si su estrategia de comercialización enfatiza la velocidad y la agilidad como factores importantes para el éxito del API.
  • 13. Desarrollo de API: Code First ● Al desarrollar API internas El enfoque Code First ofrece velocidad, automatización y complejidad de proceso reducida, a costa de una buena experiencia de desarrollador. Si la API solo será consumida por el equipo o la empresa que la está construyendo, entonces el enfoque Code First es una solución ideal. Esto es especialmente cierto si la API desarrollada es pequeña con solo unos pocos puntos finales, que solo se usarán internamente.
  • 14. Caso de Uso Batflip Inc
  • 15. Caso de Uso Batflip Inc Batflip Inc produce, vende y distribuye artículos deportivos a sus queridos clientes, y todo el proceso se gestiona internamente.
  • 16. La creciente competencia y la creciente demanda de los clientes están obligando a Batflip Inc a repensar su modelo de distribución. Es decir, la distribución se dejará a revendedores independientes que podrían vender artículos deportivos localmente, en línea o en el sitio. El principal desafío es cómo abrir el sistema de información para que los revendedores independientes puedan descubrir el catálogo de artículos deportivos, verificar el inventario, etc.
  • 17. Nuestra experiencia nos dice que esto se puede hacer a través de la exposición de una API.
  • 18. Tecnologías y herramientas a utilizar ● Herramienta para diseño de API (Apicurio Studio) ● Herramienta para pruebas y simulación (Microcks) ● Herramienta para pruebas y edición de API ((Postman) ● Desarrollo del servicio (microprofile) ● Plataforma para el despligue utilizando CI-CD (Kubernetes/OpenShift)
  • 20. Etapas del desarrollo del API ● Fase 0: Evaluando ideas para el API ● Fase 1: Diseñar el contrato de la API primero antes de escribir cualquier código ● Fase 2: Hacer peticiones para validar que el resultado es el esperado ● Fase 3: Crear pruebas automátizadas de las simulaciones ● Fase 4: Desarrollo, Despliegue y prueba
  • 22. Asuntos Legales Todas las marcas registradas, así como todos los logotipos, imágenes, fotografías, audio y vídeos mostrados en esta presentación son propiedad de sus respectivos propietarios y/o representantes. Su utilización es solamente para fines ilustrativos.
  • 24. @eudriscabrera @eudris @ecabrerar @eudriscabrera Eudris Cabrera Rodríguez Ingeniero Telemático Desarrollador de Software / Consultor Informático eudris@gmail.com https://www.linkedin.com/in/eudriscabrera http://www.slideshare.net/eudris https://twitter.com/eudriscabrera https://github.com/ecabrerar