Contenu connexe
Similaire à Down to-earth microservices with java ee (20)
Down to-earth microservices with java ee
- 1. Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. |
Microservicios realistas con Java EE
Reza Rahman
Java EE Evangelist
Reza.Rahman@Oracle.com
5 de enero de 2016
Aguarde un momento por favor. La sesión comenzará en
breve en el horario señalado en el programa.
Muchas gracias.
- 2. Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. |
Microservicios: ¿Qué encierra este término?
2
• "Microservicios" es una expresión increíblemente vaga
• No es fácil de adoptar para el desarrollador promedio
• Terrible denominación que incluye el abominable "monolito"
• Apropiado y sobrecargado por intereses comerciales
• Concepto simple de larga historia
• UNIX, CORBA, Jini, RMI, EJB 1/2, COM/DCOM, OSGi, SOAP/ESB
• Una denominación intelectualmente honesta podría haber sido "Hijo de SOA"
- 3. Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. |
Microservicios: ¿Qué encierra este término?
3
• La descomposición de grandes sistemas en partes más pequeñas
que pueden implementarse en forma autónoma
• Los puristas se distancian de las arquitecturas SOAP y ESB
• Los puristas en general prefieren la arquitectura REST y la mensajería
• Los puristas no aprecian las pruebas, la cultura DevOps ni la entrega continua
• Los puristas se centran (ridículamente) en servicios muy específicos
- 4. Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. |
¿Por qué tanto alboroto?
4
• A medida que los sistemas crecen, se complejiza su mantenimiento si no se recurre a la modularidad
• El tamaño ideal para un equipo "monolítico" oscila entre los 10 y los 12 ingenieros
• Las necesidades empresariales y de sistemas a veces hacen que las líneas de descomposición sean
evidentes
• Los sistemas distribuidos pueden forzar una mejor modularidad
• Escalabilidad simplificada, supuestamente
• Un renacer de la programación políglota, supuestamente
Contexto
acotado
en DDD
- 5. Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. |
Palabras vs. hechos
5
• Desventajas muy conocidas de los sistemas distribuidos
• Mayor complejidad en cuanto a administración, implementación y monitoreo
• Mayor dificultad en cuanto a pruebas, depuración, diagnóstico, confiabilidad, uniformidad
• Duplicación de código, dificultades para identificar los límites de cada módulo
• Requisitos de competencias y automatización más exigentes para las áreas de desarrollo y
operaciones
• "Falacias de la informática distribuida"
- 6. Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. |
Palabras vs. hechos
6
• ¿Entonces?
• La mayoría de los sistemas funcionan bien como "monolitos"
• A ojos de los puristas, la mayoría de los sistemas que requieran microservicios serían considerados
"híbridos"
• En la práctica, son pocos los sistemas empresariales que pueden o necesitan implementar el
paraíso de los microservicios
- 7. Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. |
Una imagen dice más que mil palabras
7
Para las empresas informáticas no especializadas, probablemente los microservicios se acerquen más al
infierno que al paraíso
- 8. Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. |
Microservicios y Java EE
8
JAX-RS JSFJMS WebSocket
JSON CDI
Bean
Validación
JAXB
EJB 3 JCAJPA JTA
Administración
Monitoreo
Alta disponibilidad
Seguridad
Recursos
- 9. Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. |
Demo de Java EE + Microservicios
9
https://github.com/m-reza-rahman/javaee-pragmatic-microservices
- 10. Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. |
Bingo de términos de moda
en el campo de los microservicios
10
• Archivos FAT JAR, "sin contenedor", micromarcos
• WildFly Swarm, Payara Micro/Embedded GlassFish, KumuluzEE, TomEE incorporado
• Docker
• Nube, IaaS, PaaS
• Eureka, RxJava, Hystrix, NetFlixOSS
- 11. Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. |
Resumen
11
• Microservicios, la más nueva encarnación de ideas de larga data; la última encarnación importante había
sido la arquitectura SOA.
• Los microservicios son una técnica valiosa en materia de arquitecturas, pero no necesariamente para
cualquiera o para cualquier situación, y no necesariamente para una implementación simultánea.
• Java EE es una plataforma de gran capacidad para microservicios pragmáticos más adecuada para las
empresas informáticas no especializadas, "monolitos" y toda otra categoría entre unas y otros.
• El ecosistema de Java EE ya se está perfeccionando para cumplir con los requerimientos del nicho de
quienes operan con microservicios muy específicos
- 12. Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. |
Material de referencia
12
• "'Monolith' First" de Martin Fowler
• http://martinfowler.com/bliki/MonolithFirst.html
• "Microservices is SOA, for those who know what SOA is"
• http://service-architecture.blogspot.com/2014/03/microservices-is-soa-for-those-who-know.html
• Tutoriales de Java EE
• http://docs.oracle.com/javaee/7/tutorial/doc/home.htm
• The Aquarium
• http://blogs.oracle.com/theaquarium
- 13. Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. |
Preguntas y respuestas
- 14. Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. | 14
- 15. Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. | 15
- 16. Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. | 16