Servicio de intento de acceso

El intento de acceso es un servicio de servidor de aplicaciones que permite gestionar de forma precisa la persistencia de una aplicación.

El servicio intento de acceso define un conjunto de anotaciones declarativas que utilizan el contenedor de EJB (Enterprise JavaBeans) y sus agentes para realizar optimizaciones de rendimiento para el acceso a los beans de entidad. Estas anotaciones se organizan en conjuntos llamados políticas de intento de acceso.

Las políticas de intento de acceso contienen un conjunto de anotaciones que se consideran sugerencias del contenedor de EJB y sus agentes. La mayoría de las políticas de intento de acceso son sugerencias que representan abstracciones de alto nivel que se pueden correlacionar con un gestor de recursos de programa de fondo específico. La maquinaria de la persistencia EJB es la responsable de garantizar el control de simultaneidad necesario, la conexión y la gestión de memoria caché cuando se ejecutan los detalles de la persistencia. El gestor de persistencia EJB puede utilizar las sugerencias de intento de acceso para tomar decisiones que aumenten el rendimiento cuando lleve a cabo las tareas que tiene asignadas. Un pequeño número de intentos de acceso son sugerencias para el contenedor de EJB, que influyen en la gestión de las colecciones de EJB.

Generalmente, debe configurar el intento de acceso a nivel de bean de las aplicaciones. También puede aplicar políticas de intento de acceso a los beans dentro del ámbito de los perfiles de aplicación. De esta manera, se pueden configurar beans con varias políticas de intento de acceso, que pueden ser opuestas. En la documentación del perfilado de aplicaciones se explica con más detalle cómo se configura una aplicación para aplicar una política de intento de acceso determinada a un bean para una solicitud y aplicar otra política de intento de acceso al mismo bean para otra solicitud.

El soporte para aplicar políticas de intento de acceso a nivel de método está en desuso en WebSphere Application Server Versión 6.0. En este tipo de configuración del intento de acceso, se aplica una política a los métodos dentro del ámbito de un módulo EJB para que la política se convierta en el intento de acceso predeterminado de todas las solicitudes en estos métodos.

Consideraciones sobre el diseño del intento de acceso

procedimientos recomendados: No ajuste demasiado la aplicación. Si no se utiliza bien el servicio de intento de acceso, se pueden introducir errores. Por ejemplo, si no se utiliza correctamente la política wsPessimisticUpdate-NoCollision, se pueden perder actualizaciones; si no se establece correctamente el valor de incremento de colección, pueden aparecer problemas de rendimiento; y la determinación de problemas se complica si la aplicación está configurada con varias políticas de intento de acceso.
Nota: La claridad y la sencillez deben ser los principios básicos cuando utilice el servicio de intento de acceso. Esto es todavía más importante cuando se aplican políticas de intento de acceso en el ámbito de los perfiles de aplicación.

Aunque las políticas de intento de acceso se pueden configurar en cualquier método de un bean de entidad, algunos atributos de las políticas sólo se pueden aprovechar por el entorno de tiempo de ejecución en determinadas condiciones. Por ejemplo, la simultaneidad y el intento de acceso sólo se utilizan para beans de entidad CMP cuando el método ejbLoad se utiliza para abrir una conexión y leer datos de un recurso determinado; los datos se guardan y utilizan para dirigir las consultas correspondientes durante la invocación del método ejbStore. Las sugerencias de lectura hacia adelante sólo se utilizan durante la ejecución de un buscador de bean. El incremento de colección y el incremento de búsqueda previa del gestor de recursos sólo se utilizan en buscadores de varios objetos. Configurar políticas en métodos que no las utilizarán no es un error. Sólo se utilizan determinados atributos de política, incluso cuando la política se aplica correctamente a un método. No obstante, la configuración de políticas sin necesidad en una aplicación ofusca el diseño de la aplicación y complica su mantenimiento.

Intento de acceso con beans de entidad BMP

La funcionalidad declarativa del intento de acceso le ofrece grandes ventajas como desarrollador de beans de entidad CMP. Puede recomendar cómo el producto puede gestionar los detalles de persistencia sin tener que gestionar explícitamente la lógica de persistencia en la aplicación. No obstante, existen situaciones en las que necesitará desarrollar beans de entidad BMP. Como la única diferencia significativa entre los componentes de BMP y CMP es quién proporciona la lógica de persistencia, los beans de entidad BMP deben aprovechar los consejos de intento de acceso de la misma forma que el producto lo hace en nombre de los beans de entidad CMP. Los beans de entidad BMP que utilizan el servicio de intento de acceso participan en el perfilado de aplicaciones; esto es, los valores de los atributos de intento de acceso pueden variar de solicitud a solicitud, lo que permite al bean de entidad BMP modificar perfectamente su estrategia de persistencia.

Puede aplicar políticas de intento de acceso a los métodos de bean de entidad BMP, así como a los métodos de bean de entidad CMP. Como los consejos de intento de acceso no son contractuales por definición, el bean de entidad BMP no está obligado a explotarlos. Se espera que los beans de entidad BMP utilicen sólo aquellos atributos de intento de acceso que sean importantes para ese bean en concreto.

La política de intento de acceso actual está enlazada en el espacio de nombres java:comp para un bean de entidad BMP específico. Esa política es actual sólo durante llamada al método en la que se ha recuperado la política de intento de acceso. En un caso típico, deberá colocar en memoria caché el tipo de acceso durante la invocación del método ejbLoad para que se puedan llevar a cabo las acciones correspondientes durante la invocación del método ejbStore.

Procedimientos recomendados de intento de acceso

Al aplicar políticas de intento de acceso a métodos EJB, tenga en cuenta las siguientes cuestiones.

  • Empiece configurando la política de intento de acceso predeterminado para una entidad. Después de crear y ejecutar la aplicación, puede ajustar determinadas vías de acceso en la aplicación utilizando el perfilado de aplicaciones o el intento de acceso a nivel de método.
  • No mezcle tipos de acceso. No utilice políticas pesimistas y optimistas en la misma transacción. Para la mayoría de bases de datos, las políticas pesimistas y optimistas utilizan niveles de aislamiento diferentes. Esto puede dar lugar a múltiples conexiones a la base de datos, lo que impide aprovechar las ventajas de rendimiento del compartimiento de conexiones.
  • Tenga cuidado cuando aplique la política wsPessimisticUpdate-NoCollision. Esta política no garantiza la integridad de los datos. No se mantienen los bloqueos de la base de datos, por lo que las transacciones simultáneas pueden escribir encima de las actualizaciones de las demás. Utilice sólo esta política si está seguro de que sólo una transacción intentará actualizar el almacén persistente en cualquier momento.

Para obtener más información sobre el intento de acceso de JPA (Java Persistence API), consulte el tema sobre el intento de acceso de JPA.


Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cejb_axiover
File name: cejb_axiover.html