Consideraciones del entorno de plataforma como servicio para configurar Liberty
Los entornos de plataforma como servicio (PaaS) como, por ejemplo, IBM Cloud, Pivotal Cloud Foundry y OpenShift Enterprise, proporcionan la gestión y supervisión de instancias de aplicación, pero también tienen algunas restricciones. Debido a las características inherentes de los entornos PaaS, algunas características de Liberty son redundantes o se comportan de manera diferente, por lo que no están soportadas.
Restricciones de gestión de servidores Liberty
Las características relacionadas con los colectivos de Liberty no se aplican a un entorno PaaS, porque todas las instancias de JVM de servidor Liberty las inicia, detiene y gestiona la infraestructura PaaS. La característica Centro de administración no está diseñada para utilizarse en un entorno PaaS, donde una aplicación puede escalarse para utilizar varias instancias de JVM sin un controlador colectivo. En esta topología, una solicitud a Centro de administración se podría direccionar a cualquiera de las instancias en ejecución y tener visibilidad solo en el servidor en el cual se ejecuta la solicitud.
- adminCenter-1.0
- clusterMember-1.0
- collectiveController-1.0
- collectiveMember-1.0
- dynamicRouting-1.0
- healthAnalyzer-1.0
- healthManager-1.0
- scalingController-1.0
- scalingMember-1.0
Restricciones del sistema de archivos
La mayoría de entornos PaaS no proporcionan un sistema de archivos local persistente a sus aplicaciones. En Liberty, esto afecta a las aplicaciones y a los componentes dentro del servidor que graban datos localmente y se espera que persistan en un reinicio de JVM del servidor.
El gestor de transacciones de Liberty graba archivos de registro en el sistema de archivos local cuando hay varios gestores de recursos implicados en la transacción. Si los registros no están disponibles después de una anomalía y un reinicio de JVM, las transacciones no pueden completarse automáticamente y deben resolverse manualmente para desbloquear los datos y que sean coherentes en los gestores de recursos. Para evitar este escenario, el cartucho o el paquete de compilación de Liberty impide la grabación de registros de transacción y genera una excepción en la aplicación para evitar que se incluya el segundo recurso. Como resultado, aunque puede utilizar transacciones con un recurso XA individual, no puede incluirse un segundo recurso transaccional en una transacción. Asimismo, no pueden utilizarse transacciones atómicas de servicios web porque siempre graban registros.
-Dcom.ibm.tx.jta.disable2PC=true
- wsAtomicTransaction-1.2
- Otras características que utilizan transacciones, dependiendo del comportamiento de la aplicación
Restricciones de red
- appClientSupport-1.0
- appSecurityClient-1.0
- ejbRemote-3.2
La mayoría de entornos PaaS pueden descifrar una solicitud terminando SSL para solicitudes de entrada cifradas en el direccionador HTTP. Estas solicitudes cifradas pueden ser
HTTPS o wss. A continuación la solicitud cifrada se pasa al servidor de aplicaciones como una solicitud HTTP o wss descifrada. Algunas aplicaciones están configuradas para ser accesibles solo para las solicitudes cifradas. Puede establecer esta configuración en el archivo web.xml de la aplicación utilizando el elemento transport-guarantee o el elemento transportGuarantee de la anotación @HttpConstraint.
Algunas características Liberty se implementan como aplicaciones que requieren transporte seguro, incluido el conector
REST, el Centro de administración y el descubrimiento de API.
En un entorno donde termina SSL, se requiere un mecanismo para que el direccionador indique al servidor de aplicaciones que la solicitud original del cliente se ha cifrado. Este mecanismo garantiza que la solicitud de la aplicación aún se puede realizar correctamente. Se utiliza una cabecera privada de WebSphere para terminar SSL en DataPower como, por ejemplo, cuando se utiliza DataPower con IBM Cloud, o en IBM HTTP Server.
A partir del fixpack 16.0.0.4, cuando se utilizan otros direccionadores HTTP, el direccionador puede establecer la cabecera X-Forwarded-Proto para indicar el protocolo de la solicitud original. Si la solicitud se ha cifrado originalmente, la cabecera indica el protocolo HTTPS o wss. A continuación, el servidor Liberty permite el acceso a aplicaciones que requieren transporte seguro.
Las características siguientes requieren que el direccionador establezca cabeceras HTTP
para indicar que se ha producido la terminación SSL:
- ssl-1.0
- Otras características que dependen de ssl-1.0, tal como se muestra en la sección Características que habilitan esta característica de Secure Socket Layer.
Procesador swagger de Liberty
En un entorno Cloud Foundry, el procesador swagger de Liberty, incluida su interfaz de usuario, comprueba la existencia de la variable de entorno VCAP_APPLICATION. Utiliza el primer elemento de la matriz de uri como el host de la API.