Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Java EE moderno, de Monolitos a Payara Micro
Víctor Orozco - @tuxtor
4 de noviembre de 2017
Java Day Guatemala 2017
1
Acerca de
• Developer (JVM/Open
Source Advocate)
• Consultor
independiente
(Nabenik)
• GuateJUG
• @tuxtor
• The J*
2
Advertencia 0
3
J2EE
J2EE
4
J2EE
5
Java EE 7
JavaEE 7
6
JavaEE 7
JavaEE 7
• Nuevo JMS
• WebSockets
• JSON Support
• Concurrency
• Nuevo JAX-RS
• Batch apps
7
Java EE 7 - La rebelión de los Dukes
JavaEE 7 - La rebelión
8
JavaEE Micro
Solución
Estado zen del arquitecto de software
• Productividad - Java 8
• Recurso humano - POO -> Funcional
• ¿Predictibil...
Solución
10
Monolito
Figura 1: Arquitectura monolitica - Creditos: Markus Eisele
11
ESB
Figura 2: Arquitectura Esb - Creditos: Markus Eisele
12
Microservicios
Figura 3: Arquitectura Microservicio - Creditos: Markus Eisele
13
Microservicios
Ventajas
• Bases de código pequeñas
• Buenas practicas de programación
• Tolerancia a fallas
• Escalabilida...
Microservicios
Desventaja
Hype Driven Development
15
Microservicios funcionales con
JavaEE
Microservicios - JavaEE
JavaEE el framework más anti-hype de la tierra
J2EE 1.2 (Diciembre 12, 1999)
16
Microservicios - JavaEE
Implementación
• Refactoring iterativo
• Refactoring practico
• Nuevos servicios
17
Microservicios - JavaEE
Implementación
• Refactoring iterativo
• Refactoring practico
• Nuevos servicios
18
Microservicios - JavaEE
Subset de Api en JavaEE
• JAX-RS
• JSON-P
• CDI, EJB
• JCache, JPA
Nuevas formas de despliegue
• V...
Microservicios - JavaEE
Opciones
• Wildfly Swarm
• KumuluzEE
• Dropwizard
• WebSphere Liberty
• Payara Micro
20
Microservicios - Payara Micro
• Glassfish Embedded (Web Profile)
• Container friendly
• War en CLI
• FatJar en main()
• Comp...
Motivación
Estado zen del arquitecto de software
• Productividad - Java 8
• Recurso humano - POO -> Funcional
• Predictibi...
Demo
Payara Micro - Demo
Java 8, JAX-RS, CDI, EJB, JCache
https://github.com/tuxtor/payara-demo
23
Payara Micro - Demo
24
Java EE 8
JavaEE 8
25
JavaEE 8
JavaEE 8
• Mejor integración de JSF con CDI
• Mejor integración de JMS con CDI
• HTTP/2
• JSON-B
• Security
• JAX...
JavaEE 8
27
JavaEE 8
28
JavaEE 8
29
JavaEE 8
• Glassfish – 100 % compatible con JavaEE 8
• Wildfly(JBoss) – Inician los trabajos para JavaEE 8, se
esperan para ...
EE4J
EE4J
31
EE4J
32
Fin
Gracias
• me@vorozco.com
• http://vorozco.com
• http://github.com/tuxtor/slides
This work is licensed under a Creative Com...
Upcoming SlideShare
Loading in …5
×

Java EE moderno, de monolitos a Payara Micro

808 views

Published on

Slides de mi presentación en Java Day 2017. Expicando el estado del arte de Java EE, Java EE 7, Java EE 8 y EE4J

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Java EE moderno, de monolitos a Payara Micro

  1. 1. Java EE moderno, de Monolitos a Payara Micro Víctor Orozco - @tuxtor 4 de noviembre de 2017 Java Day Guatemala 2017 1
  2. 2. Acerca de • Developer (JVM/Open Source Advocate) • Consultor independiente (Nabenik) • GuateJUG • @tuxtor • The J* 2
  3. 3. Advertencia 0 3
  4. 4. J2EE
  5. 5. J2EE 4
  6. 6. J2EE 5
  7. 7. Java EE 7
  8. 8. JavaEE 7 6
  9. 9. JavaEE 7 JavaEE 7 • Nuevo JMS • WebSockets • JSON Support • Concurrency • Nuevo JAX-RS • Batch apps 7
  10. 10. Java EE 7 - La rebelión de los Dukes
  11. 11. JavaEE 7 - La rebelión 8
  12. 12. JavaEE Micro
  13. 13. Solución Estado zen del arquitecto de software • Productividad - Java 8 • Recurso humano - POO -> Funcional • ¿Predictibilidad y estabilidad? • ¿Escalabilidad? • App Server - Vertical y luego horizontal • Microservicios - Horizontal • Costos - Todas las anteriores 9
  14. 14. Solución 10
  15. 15. Monolito Figura 1: Arquitectura monolitica - Creditos: Markus Eisele 11
  16. 16. ESB Figura 2: Arquitectura Esb - Creditos: Markus Eisele 12
  17. 17. Microservicios Figura 3: Arquitectura Microservicio - Creditos: Markus Eisele 13
  18. 18. Microservicios Ventajas • Bases de código pequeñas • Buenas practicas de programación • Tolerancia a fallas • Escalabilidad Desventajas • Tooling overhead • Debug • Transacciones distribuidas • Latencia • Interdependencia • Falacias de la computación distribuida 14
  19. 19. Microservicios Desventaja Hype Driven Development 15
  20. 20. Microservicios funcionales con JavaEE
  21. 21. Microservicios - JavaEE JavaEE el framework más anti-hype de la tierra J2EE 1.2 (Diciembre 12, 1999) 16
  22. 22. Microservicios - JavaEE Implementación • Refactoring iterativo • Refactoring practico • Nuevos servicios 17
  23. 23. Microservicios - JavaEE Implementación • Refactoring iterativo • Refactoring practico • Nuevos servicios 18
  24. 24. Microservicios - JavaEE Subset de Api en JavaEE • JAX-RS • JSON-P • CDI, EJB • JCache, JPA Nuevas formas de despliegue • Versiones micro JavaEE (CLI) • Uber-Jar/Fat-Jar/Serverless 19
  25. 25. Microservicios - JavaEE Opciones • Wildfly Swarm • KumuluzEE • Dropwizard • WebSphere Liberty • Payara Micro 20
  26. 26. Microservicios - Payara Micro • Glassfish Embedded (Web Profile) • Container friendly • War en CLI • FatJar en main() • Compatible con Microprofile (JAX-RS, CDI, Config, JSON-P) • JCache y clustering - Hazelcast 21
  27. 27. Motivación Estado zen del arquitecto de software • Productividad - Java 8 • Recurso humano - POO -> Funcional • Predictibilidad y estabilidad - Payara Micro • Escalabilidad brutal - Microservicios • Costos - Todas las anteriores 22
  28. 28. Demo
  29. 29. Payara Micro - Demo Java 8, JAX-RS, CDI, EJB, JCache https://github.com/tuxtor/payara-demo 23
  30. 30. Payara Micro - Demo 24
  31. 31. Java EE 8
  32. 32. JavaEE 8 25
  33. 33. JavaEE 8 JavaEE 8 • Mejor integración de JSF con CDI • Mejor integración de JMS con CDI • HTTP/2 • JSON-B • Security • JAX-RS Reactivo 26
  34. 34. JavaEE 8 27
  35. 35. JavaEE 8 28
  36. 36. JavaEE 8 29
  37. 37. JavaEE 8 • Glassfish – 100 % compatible con JavaEE 8 • Wildfly(JBoss) – Inician los trabajos para JavaEE 8, se esperan para Wildfly 12 • OpenLiberty – Fase beta de soporte • Payara – Fase beta de soporte • TomEE – Inican los trabajos para JavaEE 8 • Weblogic – Compromiso publico que JavaEE 8 sera implementado 30
  38. 38. EE4J
  39. 39. EE4J 31
  40. 40. EE4J 32
  41. 41. Fin
  42. 42. Gracias • me@vorozco.com • http://vorozco.com • http://github.com/tuxtor/slides This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Guatemala License. 33

×