Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Desarrollando APIS GraphQL con java

Desarrollando APIS GraphQL con java

Desarrollando APIS GraphQL con java con Omar Berroteran del JUG de Nicaragua.

More Decks by Geovanny Mendoza Gonzalez

Other Decks in Programming

Transcript

  1. Creando Web APIs con GraphQL Por Por Omar Berroteran Silva

    Omar Berroteran Silva J.U.G Nicaragua J.U.G Nicaragua
  2. 2 Un poco de mí... @berroteranLKF Ómar Berroterán Silva. Consultor

    Independiente. +15 años como Developer Full Stack +15 años en java +15 años Linuxero (Gentoo & Fedora) • Blogger, Gamer, Linux contributor. • Robotica Educativa. • Entrenador. • Conferencista nacional e internacional • Developer Advocate
  3. 3 Contenido 1)Una breve introduccion: Que es GrahpQL 2)Cuales son

    sus ventajas y observaciones 3)Implementaciones en Java 4) DEMO
  4. 7 Rest • /getClienteByID • /ClienteMinimo • /ClienteDireccion • /Usuario

    • /UsuarioRoles • /UsuarioNombre • /ClienteSaldo • /ClientePedidos
  5. 9 ¿Que es GraphQL ? GraphQL no es una librería

    o framework: es una especificación de cómo implementarlo en cualquier lenguaje.(casi same RESTful) (2012 - 2015) Por tal razón existen implementaciones ya creadas en lenguajes como JavaScript, Ruby, Python, Scala, Java, Clojure, Go, PHP, .NET, etc. También existen clientes para consumir un API GraphQL desde JS, iOS, Android, React, Angular, entre otras.
  6. 11 Características Principales 1) Un solo EndPoint (personalizado) /graphql 2)

    Lenguaje (Query) 3) “fuertemente tipado” 4) POO
  7. 16 Formas de Interactuar 3: Subscripcion Recibir notificaciones, Enterarse de

    lo que pasa en el servidor. No esta implementado en todos. WebSockets
  8. 18 Formas de Interactuar 4: Introspección A menudo es útil

    pedir un esquema de GraphQL para obtener información sobre las consultas que admite.
  9. 20 Herramientas Graphil http://graphql.org/learn/ https://www.howtographql.com/ Apollo GraphQL : react, ios,

    android, server https://github.com/apollographql Ports a casi todas las plataformas.
  10. 22 Ventajas de GraphQL - Un solo EndPoint (mantemimiento) -

    PayLoad (definido x por el cliente, redux, relay) - IntrosPeccion ( Desarrollado ) - Especificacion ( Implementacion, documentado ) - Releases ( CI, versionado ) - Documentación (GraphFiQL) - Suscripciones (Automáticas) - validaciones, seguridad, restricciones. (tipado)
  11. 24 Java: Implementacion ¿Que tener en cuenta? - Conceptos -

    Arquitectura - Implementación (Introspeccion) - Es algo que y conocemos. Fuertemente tipiado y todo es un Objeto, json
  12. 35 SEGURIDAD Al ser una especificación se puede aplicar la

    seguridad de cada plataforma, y en el servidor que se esté ejecutando, también: - vía programación (mutator) - SSL / VPN - via keyCloACK - Apache Shiro - Oauth
  13. 37 Comentarios Finales ¿Es la solución definitiva? PRO Y CONTRAS

    Nueva solucion, Nuevos problemas. Restricciones - migración - legacy Opciones: - reuso: > API REST con HyperMedia. !