SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
@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

Más contenido relacionado

La actualidad más candente

Form Processing In Php
Form Processing In PhpForm Processing In Php
Form Processing In Php
Harit Kothari
 
Getweeklyhoursbyuser
GetweeklyhoursbyuserGetweeklyhoursbyuser
Getweeklyhoursbyuser
hasheemm
 
Message erreur execution_script _ erreur _ caractere incorrect code _ 800_a04...
Message erreur execution_script _ erreur _ caractere incorrect code _ 800_a04...Message erreur execution_script _ erreur _ caractere incorrect code _ 800_a04...
Message erreur execution_script _ erreur _ caractere incorrect code _ 800_a04...
ayman lakramti
 

La actualidad más candente (12)

Form Processing In Php
Form Processing In PhpForm Processing In Php
Form Processing In Php
 
Una Administración sin papel. Novedades en administración electrónica
Una Administración sin papel. Novedades en administración electrónicaUna Administración sin papel. Novedades en administración electrónica
Una Administración sin papel. Novedades en administración electrónica
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 
Cours 1 introduction
Cours 1 introductionCours 1 introduction
Cours 1 introduction
 
Cours php
Cours phpCours php
Cours php
 
Getweeklyhoursbyuser
GetweeklyhoursbyuserGetweeklyhoursbyuser
Getweeklyhoursbyuser
 
Gmail hacking
Gmail hackingGmail hacking
Gmail hacking
 
Application web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapApplication web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrap
 
Cours design pattern m youssfi partie 8 stat, template method, command , medi...
Cours design pattern m youssfi partie 8 stat, template method, command , medi...Cours design pattern m youssfi partie 8 stat, template method, command , medi...
Cours design pattern m youssfi partie 8 stat, template method, command , medi...
 
Message erreur execution_script _ erreur _ caractere incorrect code _ 800_a04...
Message erreur execution_script _ erreur _ caractere incorrect code _ 800_a04...Message erreur execution_script _ erreur _ caractere incorrect code _ 800_a04...
Message erreur execution_script _ erreur _ caractere incorrect code _ 800_a04...
 
C++20 the small things - Timur Doumler
C++20 the small things - Timur DoumlerC++20 the small things - Timur Doumler
C++20 the small things - Timur Doumler
 

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

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

Turbogears
TurbogearsTurbogears
Turbogears
 
Semana 2 Configuración entorno de desarrollo
Semana 2   Configuración entorno de desarrolloSemana 2   Configuración entorno de desarrollo
Semana 2 Configuración entorno de desarrollo
 
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
 

Más de César Hernández

Más 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
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (11)

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
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
 
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...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
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
 
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.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
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
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 

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