EJB Java Beans Enterprise
EJB Java Beans Enterprise
Messaging EJB
Este Entity Bean brinda un conjunto de funcionalidades de aplicaciones tipo
messaging como Rendez-Vous de Tibco o MQSeries de IBM. De forma general, un
sistema messaging funciona como un intermediario para poder recibir y hacer parte
de la publicación de mensajes. Dentro de las ventajas de un sistema de mensajes
es que su operación es de forma asincrónica también conocida como non-blocking.
Introducción a Java Persistence API
Java Persistence API o JPA es el estándar de Java que se encarga de automatizar
la persistencia de los objetos contenidos en una base de datos. Aun así, en un nivel
básico, logra generar dudas a quienes lo desarrollan. También puede definirse como
un conjunto de clases y métodos que per-sistentemente almacenan gran cantidad
de información en un repositorio de datos.
ClasesEs la definición de las características concretas de un determinado tipo de
objetos. Es decir, cuáles son los datos y los métodos de los que van a disponer
todos los objetos de esa clase (devjoker .com, s.f.).
En otras palabras, JPA es un frameworkque forma parte de Java y ofrece un
conjunto de interfaces y API para resolver el problema del almacenamiento de los
obje-tos en una base de datos relacional. JPA no es una implementación en sí
misma, sino que brinda interfaces para ser luego implementadas por distintos
proveedores. De esta manera, en el código se usa el API de JPA, que luego será
implementado por la librería que más convenga .
De forma muy simple, una tabla (en base de datos) se debe mapear contra una
clase y cada columna (atributo) contra un atributo de esa clase. Usaremos anotacio-
nes de JPA para indicar estas relaciones. Por eso la implementación con JPA se
deberá encargar del ocultamiento de la compleji-dad del acceso de datos y de
exponer obje-tos. Idealmente, una solución de softwarecon JPA, no requiere
generar Query SQL para interactuar con los datos (no tiene contacto directo con la
base de datos).
JPA ofrece:
Un conjunto de anotaciones (del pa-quete javax .persistence) para ano-tar nuestros
objetos e indicar cómo se realiza el mapeo a la base de da-tos .
• Un lenguaje de consultas llamado JPQL (Java Persistence Query Lan-guage) que
es utilizado para consul-tar los objetos de tipo Persistence.
Persistencia en el nivel web
En este punto, se hace supremamente necesario asociar componentes de bases de
datos de tipo relacional a objetos Java, con el fin de ser administrada a través de
las aplicaciones. Esto generó la aparición de la persistencia de objetos que
abstractamente es representada por una capa adicional en la debida arquitectura
de una aplicación. Por esto es importante tener en cuenta que, al desarrollar
soluciones de software en Java, debe resolverse en primera instancia si existe una
correcta integración con determinada base de datos, esto en pro de facilitar las
tareas de almacenamiento, actualización y recuperación de información. Se llama
persistencia de los objetos a la capacidad que existe para guardar y recuperar
información desde un medio de almacenamiento . Por ejemplo, la persisten-cia en
bases de datos relacionales se suele implementar a través del desarrollo de fun-
cionalidades específicas, haciendo uso de la tecnología JDBC o a través de
frameworksque automatizan y simplifican el proceso a partir de mapeos (conocidos
como Object Relational Mapping, ORM) en los que el uso de herramientas como
Hibernate facilita en gran medida la tarea.
Figura 5. Ejemplo del uso de la cláusula ORDER BY explicada en una clase Fuente:
propia
Llamado a consultasUna anotación @NamedQuery se define como una consulta
con una cadena de pre-definida que es inmutable. En contraste con consultas
dinámicas pueden mejorar la organización del código al separar las cadenas de
consulta JPQL de POJO. También pasa con los parámetros de consulta en lugar de
incrustar los literales dinámicamente en la cadena de consulta y, por lo tanto,
produce más consultas eficientes.
Figura 6. Ejemplo de llamado a consultas explicado en una claseFuente: propia
Figura 7. Ejemplo de llamado a consultas explicado en una claseFuente: propia
Perezoso y ansioso por buscar
El concepto más importante de JPA es hacer una copia duplicada de la base de
datos en la memoria caché. Mientras se tramita con una base de datos, la JPA
primero crea un duplicado de los datos y solo cuando se ha comprometido con una
entidad, los cambios se realizan en la base de datos. Allí existen dos maneras de
obtener los registros de la base de datos.
Fetch ansioso
Al buscar ansiosos relacionados con objetos secundarios estos se cargan
automáticamente con el fin de encontrar un registro concreto.
Lazy fetch
Al recuperar el perezoso, objetos relacionados no se cargan automáticamente a
menos de que usted lo solicite específicamente para ellos. En primer lugar, se
comprueba la disponibilidad de objetos relacionados y notifica. Más tarde, si se
llama a cualquiera del método Getter de esa entidad, recupera todos los registros.
Un fetch perezoso es posible cuando se intentan buscar los registros por primera
vez. De esa manera, una copia del registro ya está almacenada en la memoria
caché . Para temas de rendimiento, es preferible este tipo de tarea. Es allí donde se
vislumbra la rea-lidad y la importancia de conocer algunas de las herramientas de
desarrollo de softwarepara brindar verdaderas soluciones web y móviles a las
diferentes problemáticas que se presentan en las áreas del conocimiento, la
industria y el hogar.
Referencias
IBM Knowledge Center. (2015). Creating entity beans with bean-managed
persistence Recuperado de https://www.ibm.com/support
/knowledgecenter/SSRTLW_9 .5 .0/com .ibm .j2ee .doc/topics /tebmpb .htmlOracle
. (2013). The Java EE 6 Tutorial. Recuperado de https://docs.oracle
.com/javaee/6/tutorial/doc/bnabo.htmlPavón, J . (2013). Java EE – Enterprise Beans
(EJB). Recuperado de https://www.fdi.ucm .es /profesor/jpavon/web/45-
ejb.pdfProgramación.net. (s.f.). Persistencia de objetos Java utilizando EJB.
Recuperado de https://programacion .net
/articulo/persistencia_de_objetos_java_utilizando_ejbs_301