Actualice y valide las aplicaciones de Java

A continuación se muestran los pasos generales para preparar una aplicación Java EE que se ejecuta actualmente en Oracle Java Cloud Service - SaaS Extension, que se ejecutará en Oracle WebLogic Server para OCI.

Tenga en cuenta los siguientes cambios en el entorno de la aplicación. Tendrá que actualizar el código de aplicación para tener en cuenta las diferentes versiones compatibles entre los dos entornos. Para obtener detalles sobre las diferencias en cada versión del producto, consulte la documentación del producto.

Área Oracle Java Cloud Service - SaaS Extension Oracle WebLogic Server para OCI
Edición Estándar de Oracle Java JDK 7 JDK 8
Oracle Java Enterprise Edition Java EE 5 Java EE 7
Oracle WebLogic Server WebLogic Server 11g (10.3.6) Servidor WebLogic 12c
Oracle Fusion Middleware Oracle Fusion Middleware 11g Versión 1 (11.1.1.7.1 o 11.1.1.9.1) Oracle Fusion Middleware 12c Versión 2 (12.2.1.x)
Oracle JDeveloper Oracle JDeveloper 11g Oracle JDeveloper 12c

Tenga en cuenta que la actualización de Oracle WebLogic Server incluye la actualización de los servicios web WebLogic (Java EE) (JAX-RS y JAX-WS).

Realizar pasos de actualización y validación necesarios

Vuelva a activar y, a continuación, pruebe las aplicaciones de Java para el nuevo entorno.

Cada uno de los siguientes pasos resalta en un nivel alto un proceso que necesita realizar para actualizar y validar sus aplicaciones.

  1. Identifique páginas protegidas y anónimas en la aplicación existente. Por lo general, las páginas de la aplicación se protegen mediante la configuración CLIENT-CERT en web.xml.
  2. Identifique los roles utilizados en la aplicación actual. Las aplicaciones ADF utilizan el archivo jazn-data.xml para definir roles, mientras que las aplicaciones Java EE pueden especificar roles de aplicación y restricciones de seguridad en los descriptores de despliegue de la aplicación en el archivo web.xml o en el código de aplicación.
  3. Identifique las políticas utilizadas para la seguridad de servicios web para las aplicaciones existentes.
    Las políticas de seguridad del cliente para las aplicaciones cliente de SOAP se encuentran en el código de aplicación y, por lo general, incluyen
    • oracle/wss11_saml_token_with_message_protection_client_policy
    • oracle/wss_saml_token_bearer_over_ssl_client_policy
    La política por defecto para las aplicaciones cliente de REST es oracle/http_saml20_token_bearer_over_ssl_client_policy
  4. Identifique si la aplicación está integrada o cómo está integrada con la aplicación Oracle basada en Fusion.
    Entre los patrones más comunes se incluyen:
    • Inserción de páginas o enlaces mediante la herramienta Application Composer, Page Integration o Page Composer
    • Primavera mediante la herramienta Estructura
    • Navegación mediante la configuración del Navegador
  5. Identifique las dependencias de la aplicación.
    Por ejemplo, identifique cualquiera de las siguientes dependencias:
    • Bibliotecas
    • Certificados SSL
    • Certificados de Seguridad de Servicios Web
    • Propiedades del sistema
    • Estructura del sistema de archivos esperada por la aplicación
    • Entradas de credenciales en el almacén de credenciales OPSS
    • Uso de notificación por correo electrónico
  6. Exporte datos del esquema de base de datos e importe al nuevo servicio de base de datos en Oracle Cloud Infrastructure. Tenga en cuenta que para Oracle Cloud Infrastructure Database Systems, deberá instalar Oracle Application Express (APEX) y migrar aplicaciones.
    Consulte la documentación de Oracle Database Cloud - Database Schema Service para obtener más información.
  7. Configure la seguridad de nivel web mediante Oracle Identity Cloud Service para actualizar los recursos de la aplicación protegida, como se describe en la documentación de Oracle WebLogic Server para OCI.
  8. Configure la autorización de roles. Integre las API de grupo y usuario de OPSS con Oracle Identity Cloud Service, como se describe en la documentación de Oracle WebLogic Server para OCI.
  9. Descargar e instalar Oracle JDeveloper 12c. Esta versión está alineada con la versión de Oracle WebLogic Server seleccionada anteriormente.
  10. Abra las aplicaciones Java EE existentes en Oracle JDeveloper 12c. JDeveloper migrará automáticamente el proyecto a 12c, incluidas las dependencias de ADF. Consulte la documentación de Oracle JDeveloper para obtener más información.
  11. Despliegue y valide la aplicación en Oracle WebLogic Server para OCI:
    1. Genere el archivo WAR o EAR desde Oracle JDeveloper.
    2. Inicie sesión en la consola de administración de Oracle WebLogic Server.
    3. Despliegue el archivo WAR o EAR en el cluster o servidores gestionados del dominio WebLogic.
  12. Para integraciones de páginas, actualice las URL de aplicación en las aplicaciones basadas en Oracle Fusion mediante Application Composer o Page Composer, según corresponda para la aplicación específica.
  13. Valide la aplicación realizando pruebas en entornos de prueba o desarrollo.
    Tenga en cuenta que puede que sea necesario configurar la seguridad de capa web y la autorización de rol para poder completar la validación de la aplicación, como se describe en el siguiente artículo.
Configure la seguridad de capa web y la autorización de roles en Oracle Identity Cloud Service como se describe en el siguiente artículo antes de desplegar la aplicación en el entorno de producción.

Diagnóstico y Resolución de Problemas de Permisos

Puede encontrar que parte del código de aplicación Java devuelve errores AccessControlException en el nuevo entorno. Puede diagnosticar y resolver estos problemas de permisos comprobando los logs para obtener más información y, a continuación, configurando permisos mediante Oracle Enterprise Manager Fusion Middleware Control.

Al definir codeBase para otorgar permisos (en el paso 2 del siguiente procedimiento), las siguientes variables de entorno pueden ser útiles:

  • oracle.deployed.app.dir=/u01/data/domains/wls_domain/servers/wls_adminserver/tmp/_WL_user
  • oracle.deployed.app.ext=/-
  • common.components.home=/u01/app/oracle/middleware/oracle_common
  • domain.home=/u01/data/domains/wls_domain

Para diagnosticar y resolver problemas de permisos:

  1. Active el registro JPS. Por lo general, el nivel de registro por defecto no es suficiente para detectar el origen de errores AccessControlException. El uso de un detalle más detallado en los logs permite ver la base de códigos exacta que está ejecutando la operación no autorizada.
    1. Abra la consola de administración de Oracle WebLogic Server y, en el árbol Estructura de Dominio, amplíe Entorno. Seleccione Servidores y, a continuación, haga clic en el nombre de servidor gestionado.
    2. Seleccione el separador Inicio del servidor, haga clic en Bloquear y editar y, a continuación, agregue los siguientes argumentos al final de la lista de argumentos:
      -Djps.auth.debug=true
      Djps.auth.debug.verbose=true
    3. Haga clic en Guardar y, a continuación, en Activar Cambios. A continuación, reinicie el servidor administrado.
    4. Replique el caso de uso que está causando AccessControlException y, a continuación, busque en el archivo log .out del servidor gestionado las entradas que se registran. Busque la cadena FAILED. Por ejemplo:
      [OpsAuth] Check Permission
      	  PolicyContext:        [oauth-client]
      	  Resource/Target:      [context=SYSTEM,mapName=user.public.map,keyName=SaaSSystemAccount]
      	  Action:	        [read]
      	  Permission Class:     [oracle.security.jps.service.credstore.CredentialAccessPermission]
      	  Result:	        [FAILED]
      	  Evaluater:	     [ACC]
      	  Failed ProtectionDomain:ClassLoader-weblogic.utils.classloaders.GenericClassLoader@5Da796tt...
      Asegúrese de que PolicyContext, Resource/Target, Action y Permission Class coinciden con los mostrados por la excepción.
    5. Compruebe el bloque CodeSource que se muestra inmediatamente debajo del fragmento de log en el paso anterior. El archivo que se muestra es el jar que ejecuta el código con el permiso que falta. Por ejemplo:
      CodeSource-file:/u01/data/domains/wls_domain/servers/wls_server_1/tmp/_WL_user/oauth-client/kk4bjg/lib/PublicReportServiceWSClient-1.0.11.jar
  2. Otorgue un permiso para esta base de códigos. Puede hacerlo mediante la herramienta de línea de comandos WLST o mediante Oracle Enterprise Manager Fusion Middleware Control. Los siguientes pasos muestran cómo otorgar permiso mediante Oracle Enterprise Manager.
    Para obtener más información sobre el uso de WLST, inicie sesión en My Oracle Support y busque el artículo Doc ID 1327577.1.
    1. Conéctese a Oracle Enterprise Manager Fusion Middleware Control y, en el menú desplegable Dominio de WebLogic, seleccione Seguridad y, a continuación, Políticas del Sistema. Haga clic en Crear Nuevo Otorgamiento de Seguridad.
    2. En la página Crear Permiso del Sistema, en CodeBase, agregue el archivo codeSource encontrado en el archivo log.
      Sustituir variables de entorno para evitar el uso de la ruta de acceso de archivo real. Por ejemplo, la variable oracle.deployed.app.dir apunta a la carpeta _WL_user en la ruta de acceso del archivo de ejemplo proporcionada en el archivo jar de errores de log del paso anterior. También puede utilizar la variable de entorno oracle.deployed.app.ext para aplicar el permiso a todo en la ruta de acceso actual.
      Por ejemplo:
      file:${oracle.deployed.app.dir}/MassItem28B${oracle.deployed.app.ext}
    3. Haga clic en Agregar. Active esta opción para introducir detalles para obtener una nueva opción de permiso y rellene los detalles:
      • Clase de Permiso: oracle.security.jps.service.credstore.CredentialAccessPermission
      • Nombre de recurso: context=SYSTEM,mapName=user.public.map,keyName=SaaSSystemAccount
      • Acciones de Permiso: lectura
    4. Haga clic en Aceptar. Revise la información y haga clic en Aceptar para guardar los cambios.
Después de otorgar permiso, normalmente no es necesario reiniciar, pero si el problema aún se produce, reiniciar el servidor puede resolverlo. Después de resolver un error denegado de acceso, ahora puede ver un nuevo error en otra codeSource, ya que más de su código Java puede ejecutarse. En consecuencia, puede que necesite repetir este proceso de revisión del log, concesión de un nuevo permiso a otro archivo jar y, a continuación, volver a probar varias veces hasta que haya resuelto todos los problemas de permisos.