3. Modularización con Jakarta Enterprise Beans 3 Modularización con Jakarta Enterprise Beans “Los Enterprise JavaBeans son componentes JEE diseñados para encapsular, resolver y ejecutar la lógica y las reglas del negocio de la aplicación” (Sznajdleder, 2015, pág. 91), por lo que actuarán dentro de la capa de negocio. Estos componentes necesitan residir dentro de un contenedor EJB, por ejemplo, Payara Server, que será el encargado de gestionar su ciclo de vida. Dentro de estos componentes podemos encapsular el acceso a la base de datos definiendo diferentes operaciones, tales como: inserción, edición, eliminación y consulta de registros utilizando la API de persistencia (JPA). La tecnología EJB comprende los session beans ( beans de sesión) para la comunicación sincrónica y los message-driven beans ( beans dirigidos por mensajes) para la comunicación asincrónica. En este libro nos centraremos en los session beans. En este capítulo cubriremos los siguientes temas: * Tipos de session beans * Interfaces Local y Remote * Eventos EJB * Tareas programadas * Desarrollo de módulo EJB con acceso a base de datos
4. Contextos e inyección de dependencias (CDI) 4 Contextos e inyección de dependencias (CDI) La especificacion CDI (Contexts and Dependency Injection) fue incluida a partir de Java EE 6. Es una API que contiene un conjunto de anotaciones que le permiten al programador acceder a los recursos alojados en el contenedor e inyectar dependencias. En este capítulo, cubriremos los siguientes temas: * Concepto de CDI bean * Nombres de beans * Inyección de dependencias * Alcances
5. Jakarta Server Faces (JSF)
6. Primefaces
7. Archivos de log
8. Control de versiones en bases de datos
9. Proyecto integrador
10. Manejo de imágenes en JSF
11. Envío de correos con Jakarta Mail
12. Diseño de reportes
13. Servicios web
14. Documentación de API REST con Swagger
15. DevOps con Jenkins
Apéndice A
Apéndice B
Bibliografía
César Francisco Castillo cursó la carrera de Programador Universitario en Informática en Ia Universidad Nacional de Santiago del Estero, Argentina.
En el marco del proyecto “Un paso más hacia la universidad que queremos: inserción curricular de la extensión en la UNSE”, coordinado por la secretaría de extensión del rectorado de la Universidad Nacional de Santiago del Estero, desarrolló Artemisa, un software especializado en la gestión de la extensión universitaria con tecnología Java EE.
Actualmente trabaja como desarrollador en la SAED (Sede Administrativa de las Escuelas Diocesanas) del obispado de su provincia.
Acerca del revisor técnico
Arístides Villarreal Bravo es miembro del Netbeans Dream Team, desarrollador de Java EE, revisor técnico de la editorial Packt Publish y desarrollador de plugins para Netbeans.
Fue coordinador del equipo de traducción de Netbeans al español. Sus especialidades son Java, Netbeans, J2EE, Swing, JSF y JPA.
Actualmente trabaja en la Universidad Tecnológica de Panamá y ejerce como desarrollador en JavaScaz, una empresa que desarrolla soluciones en Java y Scala desde Panamá.
Escribir un libro no es tarea de una sola persona. Han sido muchas las que, a lo largo de este camino de sueños y proyectos, me han brindado su apoyo de una u otra manera.
Me gustaría agradecer especialmente:
En primer lugar, al Sr. Jeroni Boixareu, por abrirme las puertas de la familia Marcombo y permitirme ser parte de ella a través de esta obra.
Al Lic. Arístides Villarreal Bravo de la Universidad Tecnológica de Panamá, no solo por aceptar revisar los aspectos técnicos de este libro, sino también por su humildad, generosidad y encomiable labor de compartir su conocimiento, a través de sus libros y artículos publicados en su blog personal, con la comunidad de desarrolladores Java de habla hispana.
Al Ing. Geovanny Mendoza González, de la Universidad Simón Bolívar de Colombia, especialista en Ingeniería de Software y líder del grupo de usuarios Java de Barranquilla (Colombia), por redactar el prólogo que acompaña a esta obra.
Al Ing. Ramón Sánchez, mi “compañero de equipo”, por sus enseñanzas y consejos, los cuales me han ayudado a crecer como desarrollador.
A Eugenia Rocha, por su apoyo incondicional a lo largo de estos años. Muchas de sus sugerencias están presentes en este libro.
También quiero agradecer la comprensión de todas aquellas personas a las que no pude dedicar el tiempo y la atención suficiente, por estar inmerso en este proyecto.
Y finalmente, como no podia ser de otra manera, un especial agradecimiento a toda mi famila, Francisco Roque “El tigre” Cerra, Maria Alborada Martinez de Cerra, Nalia Mariangeles y Annabella Ascención Castillo, porque sin ellos nada de esto hubiera sido posible. A todos, muchas gracias
César Francisco Castillo
Este libro se escribió con la idea de dar a conocer la plataforma de Jakarta EE. Proporciona un material didáctico y, al mismo tiempo, da un contexto de cómo desarrollar soluciones innovadoras y adaptadas a las necesidades del mercado mundial, utilizando las tecnologías apropiadas para cada proyecto y aplicando las mejores prácticas en el desarrollo de software en Jakarta EE: el lector no podrá ir muy lejos si no se le inculcan los conceptos básicos de Jakarta EE. Por lo tanto, es muy importante usar JPA (Java Persistence API) para construir un modelo de dominio que es la base fundamental de la aplicación que se va a desarrollar. En el transcurso de este texto veremos cómo se puede integrar con la capa de presentación utilizando JSF para optimizar la ejecución de una aplicación. El objetivo del libro es guiar al lector en la construcción de una aplicación del mundo real utilizando las técnicas y herramientas aprendidas en cada capítulo: realizar logs, control de versiones en la base de datos y un poco de DevOps con Jenkins. A medida que vaya avanzando en la construcción, el lector irá solventando las diferentes problemáticas que se van presentando. Si algún lector tiene alguna sugerencia o desea proponer alguna modificación, puede enviarla por correo electrónico y será tenida en cuenta en una futura actualización o corrección. Las sugerencias son siempre bienvenidas.
Geovanny Mendoza González
1
Introducción a Jakarta EE
Jakarta EE es una plataforma derivada de Java Enterprise Edition (JEE) que se compone de un amplio conjunto de especificaciones, las cuales permiten cubrir la mayoría de las necesidades del desarrollo de una aplicación empresarial.
La direccion URL del sitio oficial de Jakarta EE es: https://jakarta.ee/
En este capítulo, nos ocuparemos de los siguientes temas:
* Historia y evolución
* APIs que componen Jakarta EE 8
* Especificaciones que estudiar
* Concepto de desarrollo de aplicaciones en capas
Java Enterprise Edition fue un proyecto iniciado por Sun Microsystems en el año 1999 que luego fue adquirido por la empresa estadounidense Oracle, que dio continuidad a dicho proyecto hasta el año 2017. En ese año, Oracle decidió que el proyecto pasara a manos de la Eclipse Foundation para que esta continuara con su desarrollo bajo la modalidad código abierto.
A pesar de haber transferido la totalidad del proyecto, Oracle, por cuestiones de derechos, no permitió que la Eclipse Foundation utilizara la marca Java, por lo que se renombró como Jakarta EE (2018). Este nombre surgió de una encuesta realizada por la fundación en la que participaron personas pertenecientes a la comunidad Eclipse.
Читать дальше