Entradas

Mostrando las entradas con la etiqueta jakarta ee

DataSource en Jakarta EE

Imagen
Para que nuestra aplicación Jakarta EE tenga conexión a la base de datos, debemos configurar un DataSource. No debemos usar la clase java.sql.DriverManager , es decir, la conexión nativa a JDBC, sino, debemos usar lo que ofrece el servidor Jakarta EE. Aquí mostraremos dos maneras: configurando el DataSource en la misma aplicación, y configurando en el Servidor Jakarta EE.

Jakarta EE 9 Essentials Archetype

Imagen
Acabo de publicar mi primer arquetipo a Maven 🎉🎉🎉 Se llama "Jakarta EE 9 Essentials Archetype". Permite crear un proyecto básico con las mínimas dependencias, compatible para cualquier servidor Jakarta EE 9. Tiene una nada de dependencias y de plugins, solo lo necesario para que se construya una aplicación Jakarta EE. El sitio web del proyecto: https://apuntesdejava.github.io/jakartaee9-essentials-archetype/ Detalles del arquetipo en el repositorio central: https://search.maven.org/artifact/com.apuntesdejava/jakartaee9-essentials/0.1/maven-archetype Modo de uso Para crear un proyecto basta con ejecutar el siguiente comando desde la consola desde una carpeta / directorio en blanco: mvn -DarchetypeGroupId=com.apuntesdejava \ -DarchetypeArtifactId=jakartaee9-essentials \ org.apache.maven.plugins:maven-archetype-plugin:generate Si se ejecuta así, el maven preguntará por el nombre el grupo, del artefacto y del paquete del proyecto a crear. Con NetBeans Con IntelliJ Con

Cambiando propiedades de conexión JDBC en Quarkus.... durante ejecución (y en Payara Micro)

Imagen
Normalmente , los valores de las conexiones DEBEN estar separado del código (si eres principiante, ya debes saberlo a rajatabla). Y si usamos frameworks como Quarkus, PayaraMicro, OpenLiberty, etc (ah, también Springboot) estos ya tienen preparado características como "perfiles" donde las propiedades pueden establecerse de acuerdo a cada perfil, o también podemos usar los perfiles del Maven para usar tal o cual propiedades. O también podemos hacer que tomen los valores del entorno (variables del entorno donde se está ejecutando, sea test, staging, producción, etc). En fin, podemos configurar los valores de las propiedades ANTES de que se ejecute la aplicación para que funcione tranquilamente. Y así, no pasó nada. PEROOO!!! Hay veces que el cliente, en su afán de implementar seguridad extrema dice que nada de las credenciales de base de datos puede estar en variables de entorno, ni en las propiedades de despliegue, ni nada. Sino que están en un recurso externo (puede ser un A

Payara + MySQL en contenedores

Imagen
 Seguimos con la contenedir.. bueno, poniendo todo en contenedores. Ahora, una aplicación que estaba desarrollando en vivo, una aplicación Jakarta EE (con EJB, JPA y JSF) lo he puesto para que, en desarrollo, se pueda ejecutar en un Payara normal del IDE, y que también pueda ejecutarse en contenedores. Aquí explicaré un poco de cómo se logra esto, y un breve repaso a la organización de la aplicación.

Presentando MP Lemon Builder

Imagen
Aquí les presento la primera versión de mi aplicación MP Lemon Builder . ¿En qué consiste? Es un generador de proyectos MP (MicroProfile), y en esta primera versión permite crear una aplicación asegurada con JWT. La autenticación utilizará el realm del servidor (en esta primera versión utiliza a Payara) y la validación de los roles lo hará utilizando el estándar de JakartaEE. Aquí muestro un vídeo de cómo funciona. Fuentes Esta aplicación está basada en dos proyectos: La publicación de Victor Orozco: A simple MicroProfile JWT token provider with Payara realms and JAX-RS JWT dispenser de Adam Bien . ¿Por qué "Lemon"? Porque me gustan las frutas, y el limón es una de mis preferidas.

Cliente Standalone de JAX-RS (o cualquier endpoint RESTful)

Imagen
Si tenemos una aplicación standalone (puede ser un JavaFX, de línea de comandos, batch, etc) que necesite consumir un endpoint hecho en RESTful, por lo general usaríamos algo como esto: public class RestClient { private static final String REST_URI = "http://localhost:8082/spring-jersey/resources/employees"; private Client client = ClientBuilder.newClient(); public Employee getJsonEmployee(int id) { return client .target(REST_URI) .path(String.valueOf(id)) .request(MediaType.APPLICATION_JSON) .get(Employee.class); } //... } (Tomado de https://www.baeldung.com/jersey-jax-rs-client ) Lo cual no está mal, pero creo que debería ser lo más transparente posible. ¿Cómo es eso? Si ven en la línea 13 del código anterior, significa que hay que decirle que haga un GET a la petición, además de pasarle el tipo de respuesta y otras cosas más. La cuestión se volvería algo compleja si queremos hace

Jakarta EE 8 | JSF: Formulario con campo enum y LocalDate

Imagen
Siguiendo con nuestra serie de JSF (en Jakarta EE 8) hoy veremos cómo manejar campos de tipo enum y LocalDate . Estos campos no son comunes para manejar en un formulario web, donde generalmente se maneja en campos de tipo String . Veremos que Jakarta EE 8 manipula los de tipo enum de una manera transparente, mientras que los LocalDate necesita de una pequeña ayuda usando un javax.faces.convert.Converter .

Jakarta EE 8 | JSF: Validación básica con JSF

Imagen
Seguimos con los vídeos de JSF. Ahora veremos cómo validar unos campos en JSF: que no sea blanco que sea un campo email. Sin utilizar algún widget de Javascript, y sin agregar mucho más código. Finalmente, seguiremos teniendo un .war totalmente liviano. Si gustó el vídeo dale like ; si te es útil, compártelo .. es gratis.

Creando una aplicación Jakarta EE 8 desde un Arquetipo Maven

Imagen
En este vídeo veremos cómo crear una aplicación web usando el arquetipo de Java EE 8. Además veremos cómo configurarla para que funcione con JSF. Con este proyecto veremos más funcionalidades que nos trae Jakarta EE 8. Comenzaremos con JSF.

Conociendo JSF: navegación entre páginas

Imagen
Comenzaremos una serie de vídeos para conocer Jakarta EE. En este vídeo conoceremos: Cómo crear una aplicación JSF usando NetBeans 10 Crear páginas JSF Navegación entre las páginas Uso básico de ManagedBeans para guardar información y compartirlas entre páginas. Si te gustó y te es útil el vídeo, haz clic en "Me gusta". Con eso me ayudas a subir más vídeos de este tipo. No te olvides de suscribirte a mi canal y darle clic en la campana para que te enteres cuando publico un nuevo vídeo. Si necesitas asesoría en Java para la Universidad, no dudes en escribirme a asesoria@apuntesdejava.com

Instalando Apache NetBeans 10 y configurarlo con Jakarta EE

Imagen
En este vídeo cómo instalar el Apache NetBeans 10 y también configuarlo para que funcione con Jakarta EE. Los archivos descargados son los siguientes: Apache NetBeans 10:  https://netbeans.apache.org/download/index.html Apache Tomcat 8:  https://tomcat.apache.org/download-80.cgi Payara 5:  https://www.payara.fish/software/downloads/all-downloads/ También deberíamos tener instalado tanto el Java 8, como el JDK 11. El IDE necesita del JDK 11, y los servidores como Payara, Tomcat necesitan de Java 8, es por ello que lo tengo preinstalados. La instalación de JDK 11 es bastante simple: Descargar de aquí el .zip  https://jdk.java.net/11/ Descomprimir el .zip.. y listo. Para el Java 8 (si estamos en Windows) se tendría que descargar de la página de oracle ( https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ) e instalarlo como un software de Windows. O.. (mejor aún) descargar la distribución de Amazon: Amazon Corretto 8:  https:/

Instalando Apache NetBeans 9 con componentes Java EE | Jakarta EE

Imagen
En este vídeo veremos cómo instalar Apache NetBeans 9, y configurarlo para que funcione con los módulos de Java EE | Jakarta EE. A la fecha de este vídeo el IDE solo permite desarrollar con Java SE, ya que Oracle está liberando (después de una exhaustiva revisión) el código para donarlo a la Fundación Apache. Pero como NetBeans es modular, se pueden agregar los módulos que se utilizan en la versión anterior. En el vídeo lo explico. Los enlaces utilizados son los siguientes: Los plugins de 8.2:  https://blogs.apache.org/netbeans/entry/what-s-happened-to-my Plugins de Payara para NetBeans: https://github.com/payara/ecosystem-netbeans-plugin/releases Happy NetBeaning! Social Twitter Video: Instalacion de @netbeans 9 con Soporte para #JakartaEE y @Payara_Fish https://t.co/zm9ThFwzbQ — ☕ Apuntes de Java ☕ (@apuntesdejava) 14 de agosto de 2018 Facebook

Microservicios en Payara sobre Heroku

Imagen
Con este post comenzamos el mundo de Jakarta EE, que es la "evolución" de Java EE. Hablaremos sobre cómo poner un microservicio en Payara Micro sobre Heroku.

Pruebas Unitarias a JPA y servicios REST con Arquillian + Payara. (4/4) - Empaquetando el Servicio

Imagen
Ya hemos desarrollado el servicio, con acceso a base de datos, lógica de negocio, lo hemos probado tanto a nivel de EJB de base de datos, como probando el servicio REST. Ahora nos toca empaquetarlo todo en un solo .jar para poderlo ejecutar como servicio autónomo.