SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
@CesarHgt @tomitribe
César Hernández
7
Recomendaciones
para migrar tus aplicaciones
a Jakarta EE con Apache TomEE
@CesarHgt @tomitribe
#1
Comprender el Contexto
@CesarHgt @tomitribe
Contexto
● Enfoque (DDA)
○ ¿De donde vengo?
○ ¿Donde estoy?
○ ¿A donde voy?
● Técnico / Estratégico / negocio, etc.
● Arquitectura Software
● Infraestructura
● Selecciona el alcance
@CesarHgt @tomitribe
https://en.wikipedia.org/wiki/Service-oriented_architecture
https://12factor.net/
https://martinfowler.com/articles/microservices.html
@CesarHgt @tomitribe
¿Cloud Native... Java?
https://landscape.cncf.io/
@CesarHgt @tomitribe
#2
Analiza el impacto de
javax.* a jakarta.*
@CesarHgt @tomitribe
Jakarta EE 9.1
● javax.* namespace ya no es válido;
migrar a jakarta.*
● Soporte para Java SE 11
● Plataforma para innovación
● Baja barrera de entrada
● Fácil migración
jakarta.ee/release/9.1
@CesarHgt @tomitribe
El namespace javax.*
• Oracle decide restringir javax.* namespace
• Unchanged APIs can still use javax.* namespace
• Any other changes not allowed
• Adding a value to an enum
• Overriding/adding a method signature
• Adding default methods in interfaces
• Compensating for Java language changes
https://www.tomitribe.com/jakarta/ns/poll/vote
@CesarHgt @tomitribe
javax.* a jakarta.* namespace
https://jakarta.ee/resources/JakartaEE-Datasheet-July172020_final.pdf
@CesarHgt @tomitribe
# 3
Dos enfoques para realizar la migración
@CesarHgt @tomitribe
● Apache Tomcat migration tool for Jakarta EE
○ Migra aplicaciones que corren en Apache Tomcat 9 a Apache Tomcat 10
○ https://github.com/apache/tomcat-jakartaee-migration
● Eclipse Transformer
○ Mutación de archivos JAR o WAR
○ https://projects.eclipse.org/projects/technology.transformer
● Tomitribe fork Transformer Maven Plugin
○ https://github.com/tomitribe/transformer
Enfoque a nível de bytecode
@CesarHgt @tomitribe
Apache Tomcat migration tool for Jakarta EE
Descargar https://tomcat.apache.org/download-migration.cgi
java -jar jakartaee-migration-*-shaded.jar <origen> <destino>
@CesarHgt @tomitribe
● Eclipse Transformer
○ Mutación de archivos JAR o WAR
○ https://projects.eclipse.org/projects/technology.transformer
● Apache Tomcat migration tool for Jakarta EE
○ Migra aplicaciones que corren en Apache Tomcat 9 a Apache Tomcat 10
○ https://github.com/apache/tomcat-jakartaee-migration
● Tomitribe fork Transformer Maven Plugin
○ https://github.com/tomitribe/transformer
Enfoque a nível de bytecode
@CesarHgt @tomitribe
Tomitribe fork Transformer Maven Plugin
Agrega a tu pom.xml el plugin
<plugin>
<groupId>org.tomitribe.transformer</groupId>
<artifactId>org.eclipse.transformer.maven</artifactId>
<version>0.3.0-SNAPSHOT</version>
<configuration>
<classifier>jakartaee9</classifier>
</configuration>
<executions>
<execution>
<goals>
<goal>run</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
@CesarHgt @tomitribe
● IDE, bash, etc.
Enfoque a nível de código
egrep -lRZ 'javax' . | xargs -0 -l sed -i -e 's/javax/jakarta/g'
@CesarHgt @tomitribe
IDE
@CesarHgt @tomitribe
IDE
@CesarHgt @tomitribe
# 4
Automatiza tu entorno local
@CesarHgt @tomitribe
● Apache Tomcat + Java EE = Apache TomEE
● Jakarta EE 9.1 Web Profile compatible
● Construido con componentes Apache
● MicroProfile compliant
● Footprint: 30MB zip, 100~MB memoria
● TomEE 9.0.0-M7 (javax -> jakarta & Java 11)
tomee.apache.org
@CesarHgt @tomitribe
tomitribe.com/blog/apache-tomee-jakarta-ee-certified-after-10-years
@CesarHgt @tomitribe
● Forma más rápida de descargar, instalar y ejecutar TomEE con o sin
aplicaciones web
● Altamente configurable para entornos de CI
● tomee.apache.org/latest/docs/developer/tools/maven-plugins.html
$ mvn clean install tomee
TomEE Maven Plugin
@CesarHgt @tomitribe
tomee-maven-plugin
Agrega a tu pom.xml el plugin
<plugin>
<groupId>org.apache.tomee.maven</groupId>
<artifactId>tomee-maven-plugin</artifactId>
<version>8.0.5</version>
<configuration>
<tomeeVersion>9.0.0-M3</tomeeVersion>
<tomeeGroupId>org.apache.tomee.jakarta</tomeeGroupId>
<tomeeClassifier>plume</tomeeClassifier>
<warFile>
${project.build.directory}/javaee-tomee-demo-jakartaee9-1.0.0.war
</warFile>
</configuration>
</plugin>
@CesarHgt @tomitribe
#5
Aplicar Integración
y
Entrega contínua
@CesarHgt @tomitribe
Apoyo en CD & CI
● Reducción en costo en detección de errores
● Mejora la trazabilidad
● Reduce la deuda técnica
● Nos prepara para el futuro
http://corpsite-blog.s3.amazonaws.com/blog/wp-content/uploads/2014/10/Screen-Shot-2014-10-21-at-10.35.35-AM-4061918db9a7d7de7a7ccc9587164f58.png
@CesarHgt @tomitribe
https://landscape.cd.foundation/
@CesarHgt @tomitribe
#6
Aprender para contribuir
@CesarHgt @tomitribe
#7
Contribuir para aprender
@CesarHgt @tomitribe
https://world-wide-jugs.github.io/GlobalWWJugs/
@CesarHgt @tomitribe
How to contribute in Jakarta EE?
• jakarta.ee/connect
○ Community, Working Group and Projects Mailing List
○ Slack, Newsletter, Blogs, Social Media
• Join Jakarta EE community meetings
• Join EE4J top project and Jakarta EE working group
• Spread the word by speaking at conferences or blogging
@CesarHgt @tomitribe
How to contribute in TomEE?
• tomee.apache.org/community
• Share your migration takeaways
• Documentation
• Website fixes
• Code tests
• Code examples
• Coverage increase for unit, integration, performance and static tests
• Workshops
@CesarHgt @tomitribe
● https://tomee.apache.org/docs.html
● https://itnext.io/deploying-jakarta-ee-9-applications-to-apache-tomee-
e1a9b9399d9b
● https://www.tomitribe.com/jakarta/ns/poll/vote
● https://www.agilejava.eu/2021/01/22/migration-guide/
● https://github.com/hantsy/jakartaee9-starter-boilerplate/blob/master/
docs/deploy-tomee.md
Resources
@CesarHgt @tomitribe
Gracias
César Hernández
7 Recomendaciones
para migrar tus aplicaciones
a Jakarta EE con Apache TomEE

Contenu connexe

Similaire à 7 Recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache TomEEl - LAOUC 2021

Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
nacho mascort
 

Similaire à 7 Recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache TomEEl - LAOUC 2021 (20)

Grails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasGrails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - Sistemas
 
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015 Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
 
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
 
Django
DjangoDjango
Django
 
CrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETCrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NET
 
Cross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netCross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.net
 
Entonamiento y perfilado de Drupal
Entonamiento y perfilado de DrupalEntonamiento y perfilado de Drupal
Entonamiento y perfilado de Drupal
 
Primeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigoPrimeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigo
 
Rompiendo paradigmas
Rompiendo paradigmasRompiendo paradigmas
Rompiendo paradigmas
 
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptx
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptxLo que tienes que saber de Dart para Backend, frontend y Mobile..pptx
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptx
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
 
Desarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache CordovaDesarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache Cordova
 
MobileCONGalicia Introducción a Android
MobileCONGalicia Introducción a AndroidMobileCONGalicia Introducción a Android
MobileCONGalicia Introducción a Android
 
Timerepublik
TimerepublikTimerepublik
Timerepublik
 
Zend framework: Toma el control
Zend framework: Toma el controlZend framework: Toma el control
Zend framework: Toma el control
 
Git Flow y GitOps
Git Flow y GitOpsGit Flow y GitOps
Git Flow y GitOps
 
Los reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológicoLos reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológico
 
Html5
Html5Html5
Html5
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web Grails
 
PHP Con symfony
PHP Con symfonyPHP Con symfony
PHP Con symfony
 

Plus de César Hernández

Plus de César Hernández (20)

Paving the road with Jakarta EE and Apache TomEE - JCON 2021
Paving the road with Jakarta EE  and Apache TomEE - JCON 2021Paving the road with Jakarta EE  and Apache TomEE - JCON 2021
Paving the road with Jakarta EE and Apache TomEE - JCON 2021
 
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
 
Keeping brazil's medical industry safe with Micro Profile [TDC 2021]
Keeping brazil's medical industry safe with Micro Profile [TDC 2021]Keeping brazil's medical industry safe with Micro Profile [TDC 2021]
Keeping brazil's medical industry safe with Micro Profile [TDC 2021]
 
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
 
Paving the way with Jakarta EE and Apache TomEE - JCConf
Paving the way with Jakarta EE  and Apache TomEE - JCConfPaving the way with Jakarta EE  and Apache TomEE - JCConf
Paving the way with Jakarta EE and Apache TomEE - JCConf
 
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...
 
Pavimentando el camino con Jakarta EE 9 y Apache TomEE
Pavimentando el camino con Jakarta EE 9 y Apache TomEE Pavimentando el camino con Jakarta EE 9 y Apache TomEE
Pavimentando el camino con Jakarta EE 9 y Apache TomEE
 
It is easy contributing to open source - JCON 2020
It is easy contributing to open source - JCON 2020It is easy contributing to open source - JCON 2020
It is easy contributing to open source - JCON 2020
 
It is easy contributing to Open Source - ECLIPSE CON 2020
It is easy contributing to Open Source - ECLIPSE CON 2020It is easy contributing to Open Source - ECLIPSE CON 2020
It is easy contributing to Open Source - ECLIPSE CON 2020
 
Paving the way with Jakarta EE and apache TomEE at cloudconferenceday
Paving the way with Jakarta EE and apache TomEE at cloudconferencedayPaving the way with Jakarta EE and apache TomEE at cloudconferenceday
Paving the way with Jakarta EE and apache TomEE at cloudconferenceday
 
Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0
Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0
Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0
 
Creando microservicios con java micro profile y tomee - CUNORI 2020
Creando microservicios con java micro profile y tomee - CUNORI 2020Creando microservicios con java micro profile y tomee - CUNORI 2020
Creando microservicios con java micro profile y tomee - CUNORI 2020
 
Paving the way with Jakarta EE and Apache TomEE - itkonekt 2020
Paving the way with Jakarta EE and Apache TomEE - itkonekt 2020Paving the way with Jakarta EE and Apache TomEE - itkonekt 2020
Paving the way with Jakarta EE and Apache TomEE - itkonekt 2020
 
Creando microservicios con Java MicroProfile y TomEE - OGBT
Creando microservicios con Java MicroProfile y TomEE  - OGBTCreando microservicios con Java MicroProfile y TomEE  - OGBT
Creando microservicios con Java MicroProfile y TomEE - OGBT
 
Creando microservicios con Java, Microprofile y TomEE - Baranquilla JUG
Creando microservicios con Java, Microprofile y TomEE - Baranquilla JUGCreando microservicios con Java, Microprofile y TomEE - Baranquilla JUG
Creando microservicios con Java, Microprofile y TomEE - Baranquilla JUG
 
Creando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUGCreando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUG
 
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...
 
Es fácil contribuir al open source - Bolivia JUG 2020
Es fácil contribuir al open source - Bolivia JUG 2020Es fácil contribuir al open source - Bolivia JUG 2020
Es fácil contribuir al open source - Bolivia JUG 2020
 
Its easy! contributing to open source - Devnexus 2020
Its easy! contributing to open source - Devnexus 2020Its easy! contributing to open source - Devnexus 2020
Its easy! contributing to open source - Devnexus 2020
 
Conviértete en un contributor de open source con apache TomEE
Conviértete en un contributor de open source con apache TomEEConviértete en un contributor de open source con apache TomEE
Conviértete en un contributor de open source con apache TomEE
 

Dernier

Dernier (20)

¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptx
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.
 
Bloque 1 _ Lectura base - Sistemas Distribuidos
Bloque 1 _ Lectura base - Sistemas DistribuidosBloque 1 _ Lectura base - Sistemas Distribuidos
Bloque 1 _ Lectura base - Sistemas Distribuidos
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadas
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdf
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundaria
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptx
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
 
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
 
BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).
 

7 Recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache TomEEl - LAOUC 2021