2. Jose Luis Bugarin
• Arquitecto de Transformación
Tecnológica/Empresarial/Integración en Interbank
• Profesor/Coordinador Inteligencia artificial en UPC
• Fundador de ILUMINATIC.com
• Difusor de tecnologías relacionadas al lenguaje java
en CONSULTORJAVA.com
5. ¿Qué es una API?
#JConfPeru19
Tu y yo usamos software a
través de una interfaz de
usuario.
01
El software no solo lo
utilizan las personas,
también es usado por otras
aplicaciones de software.
02
Esto necesita de otro tipo de
interfaz, interfaz de
programación de
aplicaciones (API)
03
#JConfPeru19
6. Las únicas personas que interactúan directamente con las APIs son los
desarrolladores para crear nuevas aplicaciones
#JConfPeru19
7. ¿Por qué APIs?
• Forma sencilla de conectarse, integrarse y
ampliar los sistemas de software.
• Conectar entidades de software separadas
• Las empresas conectan con empresas, las
empresas con sus productos, los servicios con
sus productos o los productos con otros
productos.
#JConfPeru19
8. Las APIs permite a las empresas innovar, crear nuevos productos,
generar nuevos modelos de negocio.
#JConfPeru19
9. ¿Cómo construir APIs?
COMO LOS
CONSUMIDORES
USARAN LA NUEVA API
DISEÑAR LA API ELEGIR EL ESTILO DE
ARQUITECTURA
DISEÑO DE API CON
SWAGGER O RAML
(PROTOTIPAR)
SELECCIONAR LA
PLATAFORMA DE APIS
METODOLOGÍA DE
GENERACIÓN DE APIS
#JConfPeru19
12. Tendencias para construir Micro servicios
Los micro servicios necesitan
intercambio de información y
deben estar de acuerdo con:
APIS para intercambio de datos
Formatos de Datos
Patrones de Error
Balanceo de Carga
Otros
Una de las opciones mas populares para construir APIs es REST con
HTTP - JSON
13. Construir APIs es duro….
Necesitamos pensar en el modelo de
datos
JSON
XML
¿Algún binario?
Necesitamos pensar en los endpoints
GET /api/v1/user/123
POST /api/v1/user
Necesidad de pensar de como vamos a
realizar la llamada y gestionar los errores
#JConfPeru19
14. Construir APIs es duro….
Necesitamos pensar en
la eficiencia de la API
Latencia Escalabilidad Balancear cargas Interoperabilidad con
otras aplicaciones y
lenguajes
#JConfPeru19
15. GRPC Visión General
• GRPC es libre y open source framework
desarrollado por Google.
• GRPC es parte de Cloud Native Computation
Foundation (CNCF) – similar a Docker y
Kubernetes
• A alto nivel, se debe de definir la petición
REQUEST y la petición de respuesta
RESPONSE y GRPC hace todo lo demás
• Moderno – rápido y eficiente
• HTTP2 – baja latencia
• Soporta Streaming, independencia del
lenguaje
#JConfPeru19
16. Usos de GRPC
• Empresas que usan GRPC en producción
• Google
• Netflix
• Square
• CoreOS
• CoackroachDB
#JConfPeru19