SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
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.
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"
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
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
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"
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
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
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
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
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
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
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
Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. |
Preguntas y respuestas
Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. | 14
Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. | 15
Copyright © 2014, Oracle y/o sus compañías afiliadas. Todos los derechos reservados. | 16

Contenu connexe

Similaire à Down to-earth microservices with java ee

Los 10 Gestores de Base de Datos mas potentes
Los 10 Gestores de Base de Datos mas potentesLos 10 Gestores de Base de Datos mas potentes
Los 10 Gestores de Base de Datos mas potentes
Cesar Loor
 
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
campus party
 
Diferencas , ventajas y desventajas
Diferencas , ventajas y desventajasDiferencas , ventajas y desventajas
Diferencas , ventajas y desventajas
bane12
 
Gestión de datos e información 2 santamaria sosa luis
Gestión de datos e información 2   santamaria sosa luisGestión de datos e información 2   santamaria sosa luis
Gestión de datos e información 2 santamaria sosa luis
Luis Ricardo Santamaria Sosa
 
Sgbd comerciales vs libres
Sgbd comerciales vs libresSgbd comerciales vs libres
Sgbd comerciales vs libres
Madai Angeles
 

Similaire à Down to-earth microservices with java ee (20)

Ventajas vs Desventajas se SGBD
Ventajas vs Desventajas se SGBDVentajas vs Desventajas se SGBD
Ventajas vs Desventajas se SGBD
 
SGCE 2014 micro services
SGCE 2014 micro servicesSGCE 2014 micro services
SGCE 2014 micro services
 
Los 10 Gestores de Base de Datos mas potentes
Los 10 Gestores de Base de Datos mas potentesLos 10 Gestores de Base de Datos mas potentes
Los 10 Gestores de Base de Datos mas potentes
 
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
 
SOA y Microservices Diferencias y Aplicaciones
SOA y Microservices Diferencias y AplicacionesSOA y Microservices Diferencias y Aplicaciones
SOA y Microservices Diferencias y Aplicaciones
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5
 
Gestores de bdd
Gestores de bddGestores de bdd
Gestores de bdd
 
Tipos de Bases de datos
Tipos de Bases de datosTipos de Bases de datos
Tipos de Bases de datos
 
Diferencas , ventajas y desventajas
Diferencas , ventajas y desventajasDiferencas , ventajas y desventajas
Diferencas , ventajas y desventajas
 
Servidor mysql
Servidor mysqlServidor mysql
Servidor mysql
 
Diferencia entre sgbd
Diferencia entre sgbdDiferencia entre sgbd
Diferencia entre sgbd
 
Diferencia entre SGBD
Diferencia entre SGBDDiferencia entre SGBD
Diferencia entre SGBD
 
Gestión de datos e información 2 santamaria sosa luis
Gestión de datos e información 2   santamaria sosa luisGestión de datos e información 2   santamaria sosa luis
Gestión de datos e información 2 santamaria sosa luis
 
ORACLE DATABASE
ORACLE DATABASE ORACLE DATABASE
ORACLE DATABASE
 
Tecnologias emergentes
Tecnologias emergentesTecnologias emergentes
Tecnologias emergentes
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2
 
MySQL Una Introduccion Tecnica
MySQL Una Introduccion TecnicaMySQL Una Introduccion Tecnica
MySQL Una Introduccion Tecnica
 
Sgbd comerciales vs libres
Sgbd comerciales vs libresSgbd comerciales vs libres
Sgbd comerciales vs libres
 
My sql
My sqlMy sql
My sql
 
Patrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración ModernaPatrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración Moderna
 

Plus de CJava Peru

Plus de CJava Peru (11)

Desarrollo de Software usando Patrones y JDBC 4.0
Desarrollo de Software usando Patrones y JDBC 4.0Desarrollo de Software usando Patrones y JDBC 4.0
Desarrollo de Software usando Patrones y JDBC 4.0
 
"Desarrollo de Microservicios con Spring Boot y Spring MVC"
 "Desarrollo de Microservicios con Spring Boot y Spring MVC" "Desarrollo de Microservicios con Spring Boot y Spring MVC"
"Desarrollo de Microservicios con Spring Boot y Spring MVC"
 
Oracle DataBase Hacking Etico
Oracle DataBase Hacking EticoOracle DataBase Hacking Etico
Oracle DataBase Hacking Etico
 
From zero to oracle zfs storage appliance backup and recovery in 60 minutes
From zero to oracle zfs storage appliance backup and recovery in 60 minutesFrom zero to oracle zfs storage appliance backup and recovery in 60 minutes
From zero to oracle zfs storage appliance backup and recovery in 60 minutes
 
Practical security hands on with oracle solaris
Practical security   hands on with oracle solarisPractical security   hands on with oracle solaris
Practical security hands on with oracle solaris
 
Web logic multi tenancy fundamentals
Web logic multi tenancy fundamentalsWeb logic multi tenancy fundamentals
Web logic multi tenancy fundamentals
 
Módulo I fundamentals I
Módulo I fundamentals IMódulo I fundamentals I
Módulo I fundamentals I
 
Syllabus fundamentals I
Syllabus fundamentals ISyllabus fundamentals I
Syllabus fundamentals I
 
Relational to json with node dan mc ghan-ls
Relational to json with node  dan mc ghan-lsRelational to json with node  dan mc ghan-ls
Relational to json with node dan mc ghan-ls
 
Internet of things architecture and impact
Internet of things architecture and impactInternet of things architecture and impact
Internet of things architecture and impact
 
Sql tuning without trying arup nanda ls
Sql tuning without trying   arup nanda lsSql tuning without trying   arup nanda ls
Sql tuning without trying arup nanda ls
 

Dernier

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Dernier (11)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

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