Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

Capítulo 8. Migración desde versiones anteriores de JBoss EAP [Esto es una traducción automática]

8.1. Migrando de JBoss EAP 5 a JBoss EAP 7 [Esto es una traducción automática]

Esta guía se centra en los cambios que se requieren para ejecutar e implementar con éxito aplicaciones JBoss EAP 6 en JBoss EAP 7. Si planea migrar sus aplicaciones directamente de JBoss EAP 5 a JBoss EAP 7, hay una serie de recursos disponibles para ayudarlo planifica y ejecuta tu migración. Sugerimos que tome el siguiente enfoque.

  1. Ver Resumen de los cambios realizados en cada versión en esta guía para una descripción general rápida y de alto nivel de los cambios realizados en cada lanzamiento de JBoss EAP.
  2. Lea a través de JBoss EAP 6 Guía de migración y esta guía para familiarizarse con los contenidos de cada uno.
  3. Utilizar el Referencia de actualización de componentes JBoss EAP 5 como una referencia rápida a la información de migración sobre componentes y características específicos.
  4. Red Hat Application Migration Toolkit sigue agregando reglas para ayudarlo a migrar directamente de JBoss EAP 5 a JBoss EAP 7. Puede usar estas herramientas para analizar su aplicación y generar informes detallados sobre los cambios necesarios para migrar a JBoss EAP. 7. Para más información, ver Utilice el Kit de herramientas de migración de aplicaciones de Red Hat para analizar aplicaciones para la migración.
  5. los Base de conocimiento del portal de clientes actualmente contiene artículos y soluciones para ayudar con la migración de JBoss EAP 5 a JBoss EAP 6. Existen planes para agregar contenido adicional para la migración de JBoss EAP 5 a JBoss EAP 7 a lo largo del tiempo.

8.2. Resumen de los cambios realizados en cada versión [Esto es una traducción automática]

Antes de planificar su migración, debe conocer los cambios que se hicieron a JBoss EAP 6 y JBoss EAP 7.

los Guía de migración JBoss EAP 6 cubre los cambios que se hicieron entre JBoss EAP 5 y JBoss EAP 6. La siguiente es una lista resumida de los cambios más importantes realizados en JBoss EAP 6.

  • Implementado una nueva arquitectura construida en el contenedor de servicio modular
  • Fue una implementación certificada de la especificación Java Enterprise Edition 6
  • Se introdujo la administración de dominio, la nueva configuración de implementación y una nueva estructura de directorios de archivos y scripts
  • Estandarizado en nuevos espacios de nombres JNDI portátiles

Ver Revise lo nuevo y lo diferente en JBoss EAP 6 en el JBoss EAP 6 Guía de migración para obtener una lista detallada de los cambios realizados en ese lanzamiento.

JBoss EAP 7 se basa en la misma estructura modular que JBoss EAP 6 e incluye la misma administración de dominio, configuración de implementación, estructura de directorios de archivos y scripts. También sigue utilizando los mismos espacios de nombres JNDI estandarizados. Sin embargo, JBoss EAP 7 introduce los siguientes cambios.

  • Agrega soporte para la especificación Java Enterprise Edition 7
  • Reemplace el subsistema web con Undertow [Esto es una traducción automática]
  • Reemplaza la implementación de JacORB IIOP con una rama descendente de OpenJDK ORB
  • Incluye Apache ActiveMQ Artemis como el nuevo proveedor de mensajes
  • Elimina el cmp, jaxr, y threads subsistemas
  • Elimina el soporte para beans de entidad EJB

Para obtener una lista más completa de cambios, consulte Revise las novedades de JBoss EAP 7

8.3. Revise el contenido en las guías de migración [Esto es una traducción automática]

Revise todo el contenido de la Guía de migración para cada versión para conocer las características que se agregaron o se desaprobaron, y para comprender la configuración del servidor y los cambios de aplicación necesarios para ejecutar las aplicaciones existentes para esa versión.

Debido a que la arquitectura subyacente no se modificó entre JBoss EAP 6 y JBoss EAP 7, muchos de los cambios documentados en JBoss EAP 6 Guía de migración siguen aplicando. Por ejemplo, los cambios documentados bajo Cambios requeridos por la mayoría de las aplicaciones están relacionados con los cambios arquitectónicos subyacentes realizados en JBoss EAP 6, que todavía se aplican a este lanzamiento. El cambio al nuevo sistema de carga de clase modular es significativo e impacta en el empaque y las dependencias de casi todas las aplicaciones de JBoss EAP 5. Muchos de los cambios enumerados en Cambios dependientes de la arquitectura y los componentes de su aplicación también son todavía válidos Sin embargo, debido a que JBoss EAP 7 reemplazó el servidor web, ORB y proveedor de mensajes, eliminó el cmp, threads, y jaxr subsistemas, y soporte eliminado para beans de entidad EJB, debe consultar esta guía para cualquier cambio relacionado con esas áreas componentes. Presta especial atención a la Cambios de configuración del servidor y Cambios en la migración de aplicaciones detallado en esta guía antes de comenzar.

8.4. Referencia de actualización de componentes JBoss EAP 5 [Esto es una traducción automática]

Use la siguiente tabla para buscar información sobre cómo migrar una característica o componente particular de JBoss EAP 5 a JBoss EAP 7.1.

JBoss EAP 5
Característica o Componente
Resumen de cambios y
Dónde encontrar información de migración

Cambios en la migración de aplicaciones [Esto es una traducción automática]

En JBoss EAP 6, la estructura de carga de la clase jerárquica anterior fue reemplazada por una arquitectura modular basada en JBoss Modules. El empaquetado de la aplicación también cambió debido a la nueva estructura modular de carga de clases. Esta arquitectura aún se usa en JBoss EAP 7. Para obtener información sobre la nueva arquitectura modular, consulte el siguiente capítulo en JBoss EAP 7.1 Guía de desarrollo.

Para obtener información sobre cómo actualizar y reempaquetar aplicaciones para la nueva arquitectura modular, consulte la siguiente sección en JBoss EAP 6. Guía de migración.

Cambios en la migración de aplicaciones [Esto es una traducción automática]

Debido a los cambios en JBoss EAP 6 para utilizar la carga de clase modular, es posible que deba crear o modificar uno o más archivos de configuración de la aplicación para agregar dependencias o evitar la carga de dependencias automáticas. Esto no ha cambiado en JBoss EAP 7. Para más detalles, consulte la siguiente sección en JBoss EAP 6 Guía de migración.

Almacenamiento en caché e Infinispan

JBoss Cache fue reemplazado por Infinispan para uso interno del servidor solo en JBoss EAP 6. Consulte las siguientes secciones en JBoss EAP 6 Guía de migración para obtener información sobre cómo reemplazar JBoss Cache en el código de la aplicación.

La estrategia de caché de Infinispan y los cambios de configuración para JBoss EAP 7 están documentados en la siguiente sección de esta guía.

Configuración de un adaptador de recursos JMS genérico [Esto es una traducción automática]

La configuración consolidada de JBoss EAP 6 de fuentes de datos y adaptadores de recursos en un solo archivo, y esto sigue siendo cierto en JBoss EAP 7. Consulte la siguiente sección en JBoss EAP 6 Guía de migración para más información.

Migrar configuraciones de planes de implementación [Esto es una traducción automática]

En JBoss EAP 6, la estructura del directorio, los scripts y la configuración de implementación cambiaron. Estos cambios todavía son válidos en JBoss EAP 7. Consulte la siguiente sección de JBoss EAP 6 Guía de migración para más información.

EJB

La especificación Java EE 7 hizo EJB 2.xy características anteriores opcionales, por lo que se recomienda encarecidamente reescribir el código de la aplicación para utilizar la especificación EJB 3.x y JPA. Para obtener información sobre las características en desuso y los cambios necesarios para ejecutar EJB 2.x, consulte la siguiente sección en JBoss EAP 6 Guía de migración.

En JBoss EAP 6, el caché EJB con estado y el tamaño del grupo de beans de sesión sin estado se configuran en ejb3 subsistema del archivo de configuración del servidor. los jboss-ejb3.xml descriptor de despliegue reemplaza el jboss.xml archivo descriptor de despliegue Para obtener más información sobre estos cambios, consulte la siguiente sección en JBoss EAP 6 Guía de migración.

El puerto y el conector remoto predeterminados han cambiado en JBoss EAP 7. Para obtener más información sobre esto y sobre los cambios de configuración del servidor, consulte las siguientes secciones de esta guía.

Los beans de entidad EJB no son compatibles con JBoss EAP 7. Para obtener información acerca de cómo migrar beans de entidad a JPA, consulte la siguiente sección de esta guía.

Cambios de migración de Hibernate y JPA [Esto es una traducción automática]

En JBoss EAP 6, Hibernate se actualizó de la versión 3 a la versión 4. Esta versión de JBoss EAP también implementó la especificación JPA 2.0 y se realizaron cambios en las propiedades de persistencia de JPA. Para obtener información sobre cómo modificar su aplicación para estos cambios, consulte la siguiente sección en JBoss EAP 6 Guía de migración.

JBoss EAP 7 implementa JPA 2.1 e incluye Hibernate 5. También actualiza Hibernate Search desde la versión 4.6.x a la versión 5.5.x. Otros cambios incluyen la eliminación de soporte para beans de entidad EJB y actualizaciones adicionales a las propiedades de persistencia JPA. Para obtener información sobre cómo estos cambios afectan sus aplicaciones, consulte las siguientes secciones en esta guía.

Cambios de aplicación JAX-RS y RESTEasy [Esto es una traducción automática]

JBoss EAP 6 incluyó RESTEasy 2, que configuró automáticamente RESTEasy y requirió cambios en la configuración de la aplicación. Consulte la siguiente sección en JBoss EAP 6 Guía de migración para información.

JBoss EAP 7 incluye RESTEasy 3 y muchas clases han quedado obsoletas. La versión de Jackson cambió de la versión 1.9.9 a la versión 2.6.3 o superior. Para obtener detalles sobre estos cambios, consulte la siguiente sección de esta guía.

JBoss AOP

JBoss AOP (Programación Orientada a Aspectos) se eliminó en JBoss EAP 6. Para obtener información sobre cómo refactorizar aplicaciones que usan JBoss AOP, consulte la siguiente sección en JBoss EAP 6 Guía de migración.

Cambios de canales de JGroups [Esto es una traducción automática]

La forma en que habilita el clúster y especifica las direcciones de enlace ha cambiado en JBoss EAP 6. Consulte la siguiente sección en JBoss EAP 6 Guía de migración para más información.

En JBoss EAP 7, JGroups ahora usa de manera predeterminada una interfaz de red privada en lugar de una interfaz de red pública y también presenta <channel> elementos a la jgroups subsistema. JBoss EAP 7 también incluye la implementación Undertow mod_cluster, presenta una nueva API para construir servicios singleton y otras nuevas características de clustering. Estos cambios están documentados en las siguientes secciones de esta guía.

JNDI

JBoss EAP 6 implementó un nuevo espacio de nombres JNDI global estandarizado y una serie de espacios de nombres relacionados que se asignan a los distintos ámbitos de una aplicación Java EE. Consulte la siguiente sección de JBoss EAP 6 Guía de migración para obtener información sobre los cambios en las aplicaciones necesarios para usar las nuevas reglas de espacio de nombres JNDI.

JSF

JBoss EAP 6 incluye JSF 2.0 y le permitió configurar su aplicación para usar una versión anterior. Esto ya no es posible en JBoss EAP 7, que ahora incluye JSF 2.2. Consulte la siguiente sección en esta guía para obtener más información.

Cambios de registro [Esto es una traducción automática]

JBoss EAP 6 introdujo un nuevo marco de registro de JBoss que todavía se utiliza en JBoss EAP 7. Las aplicaciones que usan marcos de registro de terceros pueden verse afectadas por los cambios de carga de clases modulares. Repase la siguiente sección en JBoss EAP 6 Guía de migración para obtener información sobre estos cambios.

En JBoss EAP 7, anotaciones en el org.jboss.logging el paquete ahora está en desuso, lo que afecta el código fuente y los GAV de Maven (groupId: artifactId: version). Los prefijos para todos los mensajes de registro también se cambiaron. Para obtener más información sobre estos cambios, consulte las siguientes secciones en esta guía.

Mensajería y JMS

En JBoss EAP 6, HornetQ reemplazó a JBoss Messaging como la implementación JMS predeterminada. Luego, en JBoss EAP 7, ActiveMQ Artemis reemplazó a HornetQ como proveedor de mensajería incorporado.

El mejor enfoque para migrar su configuración de mensajería es comenzar con la configuración del servidor por defecto de JBoss EAP 7 y utilizar la siguiente guía para aplicar sus cambios de configuración de mensajería actuales.

Si desea comprender los cambios necesarios para pasar de JBoss Messaging a HornetQ, revise la siguiente sección de JBoss EAP 6 Guía de migración.

Luego revise la siguiente información sobre cómo migrar la configuración de HornetQ y los datos de mensajes relacionados en esta guía.

ORB

En JBoss EAP 6, la configuración de JacORB se movió de la EAP_HOME/server/production/conf/jacorb.properties archivo al archivo de configuración del servidor. JBoss EAP 7 luego reemplazó la implementación de JacORB IIOP con una rama de flujo descendente del OpenJDK ORB.

El mejor enfoque para migrar su configuración de ORB es comenzar con la configuración del servidor por defecto de JBoss EAP 7 y usar la siguiente sección en JBoss EAP 7.1 Guía de configuración para aplicar los cambios de configuración actuales de su ORB.

Invocación remota

Se introdujo una nueva API de cliente EJB en JBoss EAP 6 para invocaciones remotas; sin embargo, si prefirió no reescribir el código de la aplicación para usar la nueva API, podría modificar su código existente para usar el ejb:BEAN_REFERENCE para acceso remoto a EJB. Consulte la siguiente sección en JBoss EAP 6 Guía de migración para más información.

En JBoss EAP 7, el conector predeterminado y el puerto de conexión remota predeterminado cambiaron. Para obtener más información, consulte las siguientes secciones en esta guía.

Seam 2.x

Mientras que el soporte oficial para las aplicaciones Seam 2.2 se eliminó en JBoss EAP 6, aún era posible configurar dependencias para JSF 1.2 e Hibernate 3 para permitir que las aplicaciones Seam 2.2 se ejecutaran en esa versión. JBoss EAP 7, que ahora incluye JSF 2.2 e Hibernate 5, no es compatible con Seam 2.2 o Seam 2.3 debido al final de la vida útil de Red Hat JBoss Web Framework Kit. Se recomienda que reescriba sus componentes Seam utilizando frijoles Weld CDI.

Seguridad

Las actualizaciones de seguridad en JBoss EAP 6 incluyeron cambios en los nombres de dominio de seguridad y cambios en cómo configurar la seguridad para la autenticación básica. La configuración del reino de seguridad LDAP se movió al archivo de configuración del servidor. Vea las siguientes secciones en JBoss EAP 6 Guía de migración para más información.

Las actualizaciones que afectan la seguridad en JBoss EAP 7 incluyen cambios en la configuración del servidor y cambios en la aplicación. La información se puede encontrar en las siguientes secciones de esta guía.

Cambios de aplicaciones de seguridad [Esto es una traducción automática]

Spring 4.2.x es la primera versión estable de Spring admitida por JBoss EAP 7. Para obtener información sobre los servicios web de Apache CXF Spring y los cambios de integración de Spring RESTEasy, consulte las siguientes secciones de esta guía.

Transacciones

JBoss EAP 6 consolidó la configuración de la transacción y la movió al archivo de configuración del servidor. Otras actualizaciones incluyeron cambios en la configuración del identificador de nodos JTA y cómo habilitar JTS. Para más detalles, consulte la siguiente sección en JBoss EAP 6 Guía de migración.

Algunos atributos de configuración de Transaction Manager que estaban disponibles en transactions el subsistema en JBoss EAP 6 ha cambiado en JBoss EAP 7. Para obtener más información, consulte la siguiente sección de esta guía.

Válvulas

Undertow reemplazó a JBoss Web en JBoss EAP 7 y las válvulas ya no son compatibles. Vea las siguientes secciones en esta guía.

Servicios de red

JBoss EAP 6 incluye JBossWS 4. Para obtener información sobre los cambios requeridos por esa actualización de versión, consulte la siguiente sección en JBoss EAP 6 Guía de migración.

JBoss EAP 7 introdujo JBossWS 5. Consulte la siguiente sección de esta guía para conocer las actualizaciones requeridas.