SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante a 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 potentesCesar 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
 
SOA y Microservices Diferencias y Aplicaciones
SOA y Microservices Diferencias y AplicacionesSOA y Microservices Diferencias y Aplicaciones
SOA y Microservices Diferencias y AplicacionesGuatemala User Group
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5juliomacr
 
Diferencas , ventajas y desventajas
Diferencas , ventajas y desventajasDiferencas , ventajas y desventajas
Diferencas , ventajas y desventajasbane12
 
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 luisLuis Ricardo Santamaria Sosa
 
Tecnologias emergentes
Tecnologias emergentesTecnologias emergentes
Tecnologias emergentesFrank Simpson
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Ricard Clau
 
MySQL Una Introduccion Tecnica
MySQL Una Introduccion TecnicaMySQL Una Introduccion Tecnica
MySQL Una Introduccion TecnicaKeith Hollman
 
Sgbd comerciales vs libres
Sgbd comerciales vs libresSgbd comerciales vs libres
Sgbd comerciales vs libresMadai Angeles
 
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 ModernaFrancisco Arturo Viveros
 

Semelhante a 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
 

Mais de CJava Peru

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.0CJava Peru
 
"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"CJava Peru
 
Oracle DataBase Hacking Etico
Oracle DataBase Hacking EticoOracle DataBase Hacking Etico
Oracle DataBase Hacking EticoCJava Peru
 
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 minutesCJava Peru
 
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 solarisCJava Peru
 
Web logic multi tenancy fundamentals
Web logic multi tenancy fundamentalsWeb logic multi tenancy fundamentals
Web logic multi tenancy fundamentalsCJava Peru
 
Módulo I fundamentals I
Módulo I fundamentals IMódulo I fundamentals I
Módulo I fundamentals ICJava Peru
 
Syllabus fundamentals I
Syllabus fundamentals ISyllabus fundamentals I
Syllabus fundamentals ICJava Peru
 
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-lsCJava Peru
 
Internet of things architecture and impact
Internet of things architecture and impactInternet of things architecture and impact
Internet of things architecture and impactCJava Peru
 
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 lsCJava Peru
 

Mais 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
 

Último

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
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 JUNITMaricarmen Sánchez Ruiz
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
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 UninoveFagnerLisboa3
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Último (13)

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
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
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
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
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

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