El uso de WPF (WebSphere Partitioning Facility) da soporte ahora al concepto de beans de entidad de la opción A en el clúster. Este rendimiento adicional se produce al reforzar el desarrollador el modelo de programación que se proporciona con WPF y en algunos casos por el uso de soporte de Work Manager que se proporciona en el producto WebSphere Application Server versión 6.0.2.
Los servicios WPF requieren la inclusión de un bean de sesión sin estado adicional en el jar EJB (Enterprise JavaBean) de la aplicación J2EE (Java 2 Platform Enterprise Edition). Este bean de sesión se denomina bean de sesión sin estado particionado. Cuando la aplicación procesa la secuencia de arranque durante el inicio del servidor de aplicaciones para el módulo EJB, se crean de 1 a N particiones diferentes. Cada partición es simplemente un punto final direccionable exclusivo dentro del clúster. En resumen, un bean de sesión sin estado particionado (PSSB) es simplemente un bean de sesión sin estado típico que utiliza el PartitionManager de la infraestructura WPF para crear particiones individuales al arrancar el bean y que implementa, además de la interfaz normal del SessionBean, la interfaz PartitionHandlerLocal (que se describe a continuación) para procesar sucesos del ciclo de vida relacionados con las particiones.
Los servicios de soporte de WPF permiten a PSSB crear particiones. Cada partición es simplemente un punto final al que el cliente EJB tiene acceso directo. Por ejemplo, supongamos que el bean de sesión sin estado particionado PSSB1 está incluido en la aplicación J2EE y que al arrancar crea las particiones Partición1, Partición2, Partición3 y Partición4. A continuación se muestra el diagrama de gestión de carga de trabajo de EJB anterior cuando se instale la aplicación J2EE particionada (simplificado para centrarse en las particiones).
El diagrama anterior refleja un cliente EJB que ejecuta dos veces el mismo método de PSSB1 ping. Para cada invocación, el primer parámetro se diferencia en un valor de serie que se proporciona como estado de método. Posteriormente en este documento se describe en más detalle cómo se produce la correlación, pero por ahora el valor del primer parámetro es una clave y WLM (Workload Manager, gestor de carga de trabajo) lo utiliza para direccionar la petición a un determinado punto final de partición dentro del clúster. Al iniciar el clúster, las particiones Partición1, Partición2, Partición3 y Partición4 se crean cuando se ha iniciado la aplicación J2EE particionada y se ha creado una instancia inicial del PSSB1. Las particiones creadas no son servidores ni JVM (Java Virtual Machines), sino que cada una tiene un concepto de ciclo de vida parecido al de una instancia de EJB normal creada dentro de un contenedor EJB. Una forma de pensar en una partición es como un punto final direccionable en la infraestructura WLM.
En el primer caso, el cliente EJB ha adquirido la interfaz remota del PSSB1 mediante la JNDI (Java Naming and Directory Interface) de forma normal y, posteriormente, ha ejecutado el primer método ping(…) con el primer parámetro especificando Partición1. Con Extended Deployment, los programadores pueden indicar al programa de ejecución cómo se deben procesar todos los parámetros de la invocación a método y, basándose en el estado de la llamada a método, cómo direccionar cada llamada a una partición específica.
Para el personal de programación que lea este documento, el reto de la implementación de esta tecnología es co-ubicar peticiones con un determinado estado de método en un servidor de aplicaciones específico que tenga acceso exclusivo a algún recurso. Se proporcionan herramientas adicionales al programador durante la activación de la partición para que se les notifique cuándo y dónde se carga y se descarga una determinada partición. Con esta información, el programador puede asignar toda la información de una determinada partición en una aplicación. Asimismo, el administrador no está limitado por dónde se produce este proceso en el clúster. La partición se puede mover en cualquier momento.
Related concepts
Particiones de carga de trabajo de EJB