Cómo crear aplicaciones y utilizar servicios SessionCache en Bluemix
HTTP es una de las tecnologías de Internet más antiguas. Las sesiones HTTP permiten que la información permanezca sin cambios en múltiples solicitudes HTTP. La información (también llamada datos de sesión) se almacena en la memoria física de la máquina, lo que no supone ningún problema cuando la aplicación es pequeña y sirve sólo a unos pocos usuarios. Sin embargo, para aplicaciones empresariales que involucran múltiples servidores y sistemas informáticos, los datos de la sesión se pueden compartir entre múltiples máquinas para equilibrio de carga, agrupación en clústeres, conmutación por error y otros casos de uso escalables. En este caso, no basta con mantener los datos de la sesión en la memoria de una sola máquina.
La persistencia de la sesión se refiere al almacenamiento de datos de la sesión en un sistema de archivos compartido por varias máquinas. El enfoque general es utilizar una base de datos para almacenar datos de sesión a los que acceden varios servidores, pero utilizar un servidor de base de datos para proporcionar servicios a varios servidores web provocará un cuello de botella en el sistema. Para obtener mejores resultados, se pueden utilizar varios servidores de bases de datos, pero la frecuencia de replicación de datos entre servidores de bases de datos se convertirá en un desafío. La replicación demasiado frecuente tiende a agotar los recursos del sistema, mientras que la replicación poco frecuente puede causar problemas de integración de datos. Afortunadamente, el servicio IBM SessionCache puede ayudar.
El servicio SessionCache permite que los datos de la sesión se almacenen en una cuadrícula de objetos para que las aplicaciones empresariales puedan escalar fácilmente y lograr un mayor rendimiento, eliminando el problema mencionado anteriormente de múltiples servidores de bases de datos.
Hace mucho tiempo, los desarrolladores de aplicaciones implementaron la persistencia de sesiones. Ahora bien, debido a que la persistencia de sesiones es tan común, la mayoría de los servidores de aplicaciones le permiten elegir un objetivo de persistencia mediante la configuración del servidor. Los desarrolladores de aplicaciones interactúan sólo con la API de sesión HTTP; la configuración del servidor determina si se logra la persistencia y qué tecnología se utiliza para lograrla.
Parte 1: Implementar y ejecutar la aplicación de muestra
Antes de poder implementar su aplicación en Bluemix, debe registrarse. Vaya a Bluemix y haga clic en iniciar sesión. Siga las instrucciones para registrar o administrar su cuenta y luego:
Instale el cliente Cloud Foundry. Cree una carpeta en su entorno, digamos myWS. Descargue el comando cf v6 en la carpeta que creó. Ejecute el archivo descargado y siga las instrucciones para instalar el cliente Cloud Foundry en la misma carpeta.
Cree una carpeta dentro de la carpeta de Cloud Foundry, como por ejemplo "muestras".
Descargue el archivo sessionCacheSample.war de IBM DevOps Services y guárdelo en la carpeta que acaba de crear. Nota: Esta aplicación de ejemplo requiere un servicio SessionCache denominado SCSsamplesessionservicedwdemo 001. Si cree que este nombre podría causar un conflicto, consulte "Agregar configuración del servidor" en la Parte 2 Creación de la aplicación de muestra para vincular la aplicación a un servicio con un nombre diferente.
Implemente el archivo WAR en Bluemix.
En el símbolo del sistema, cambie los directorios a la carpeta de muestras recién creada. Utilice el comando cf api para conectarse a Bluemix.
Utilice cf login para iniciar sesión en Bluemix y siga las instrucciones.
Ahora usando cfpush
Figura 1.
Crear una instancia del servicio SessionCache para la aplicación.
Utilice cf para crear un caché de sesión de servicio de forma gratuita
Una vez implementada la aplicación y la instancia de servicio esté disponible, utilice cfbind-service
Cuando se complete el enlace, le preguntará para enviar la aplicación nuevamente. Ejecute el comando en el paso c nuevamente. Para obtener más información, consulte Instalación de la herramienta cf.
Pruebe la aplicación de muestra. Inicie sesión en Bluemix. Debería ver la aplicación de muestra implementada en el panel. Haga clic en el enlace en el medio del ícono de la aplicación para acceder a la aplicación y verificar los registros en busca de errores. Intente utilizar el botón Recuperar datos de la sesión para obtener los datos de la sesión.
Consulta el estado del servicio y el uso del espacio. Una vez que tenga los datos de la sesión, regrese al panel de Bluemix. En el panel de navegación, haga clic en Aplicaciones y seleccione la aplicación de muestra implementada. En la sección Servicios, haga clic en el enlace en el medio del servicio para mostrar la página Estado del servicio. Vea información como el espacio utilizado y el rendimiento.
Opcional: elimine aplicaciones y servicios de muestra. En Bluemix, haga clic en Panel en la parte superior de la pantalla. Haga clic en el icono de configuración en la esquina superior derecha del cuadro de la aplicación y seleccione Detener aplicación. Haga clic en el icono de configuración en la esquina superior derecha del cuadro de la aplicación y seleccione Eliminar aplicación. En la ventana, seleccione las casillas de verificación para aplicaciones y servicios en la pestaña Servicios y rutas. Haga clic en Aceptar para eliminar la aplicación y el servicio de muestra.
Parte 2: configurar el entorno y crear su propia aplicación de muestra
Antes de comenzar
Para crear la aplicación de este artículo, debe tener:
¿Java? Conceptos básicos técnicos
Conceptos básicos de los servlets
Eclipse IDE para desarrolladores de Java EE
El código fuente para la aplicación de muestra está disponible a través de los servicios IBM DevOps. Para cargar el código de muestra y comprender su propósito, siga los pasos a continuación.
Paso 1. Configurar el entorno
Para crear una aplicación utilizando el servicio SessionCache, se debe configurar el entorno correcto. El cliente Cloud Foundry debe estar instalado para poder implementar aplicaciones SessionCache en un entorno de nube de IBM. Para desarrollar, ¿necesito instalar WebSphere? Perfil gratuito del servidor de aplicaciones y WebSphere eXtreme Scale. También debe instalar el IDE de Eclipse.
Instala el cliente Cloud Foundry. Cree una carpeta en su entorno, digamos myWS. Descargue el comando cf v6 en la carpeta que creó. Ejecute el archivo descargado y siga las instrucciones para instalar el cliente Cloud Foundry en la misma carpeta.
Instale el archivo de configuración de Liberty. Descargue el perfil de WebSphere Application Server Liberty en la carpeta que creó (como myWS). Siga las instrucciones para instalar Liberty Profile en la misma carpeta. Si se le pregunta acerca de la ubicación de instalación, presione Entrar para aceptar la configuración predeterminada.
Instalar WebSphere Extreme Scale. Descargue WebSphere Extreme Scale for Developers Liberty Profile en la carpeta que creó. Siga las instrucciones para instalar WebSphere eXtreme Scale en la misma carpeta. Si se le pregunta acerca de la ubicación de instalación, presione Entrar para aceptar la configuración predeterminada.