Categoría: Java

El patrón actor por AKKA

Código del ejemplo (GitHub)

AKKA es un toolkit que utiliza el modelo actor para proporcionar una plataforma en la que construir aplicaciones concurrentes y escalables. Adopta el modelo “let it crash” para la tolerancia a fallos, que se usa con gran éxito para construir aplicaciones capaces de “auto repararse” en sistemas que nunca se detienen.

Los actores son objetos que encapsulan estados y funciones y que se comunican exclusivamente a través de mensajes.

Las tareas asignadas a un actor pueden ser descompuestas en tareas más pequeñas que se asignen a otros actores. Para ello, creará nuevos actores hijo a los cuales asignará subtareas y supervisará. Cada actor en un sistema tiene un único padre, el cual es el actor que le ha creado. Todos los actores de un sistema son susceptibles de crear hijos a los que pasarán a supervisar automáticamente.

Seguir leyendo…

Creación de un microservicio con Apache TomEE

Vamos a ver cómo crear un sencillo microservicio utilizando para ello el servidor TomEE. En esta entrada no vamos a explicar en qué consiste un microservicio, ya que hay mucha literatura al respecto en internet. Cualquiera que quiera profundizar podrá encontrar bastante material.

Hay diferentes formas de desarrollar microservicios: mediante Spring Boot, contenedores (como Docker), o usando un servidor embebido, entre otras. Y el uso de un servidor embebido es lo que vamos a describir aquí.

Seguir leyendo…

JPA: especificar el esquema de base de datos en tiempo de ejecución con EclipseLink

EclipseLinkDurante el ciclo de vida de una aplicación Java EE es común que se despliegue en diferentes entornos antes de llegar al entorno de producción. No sólo varían las máquinas en las que se despliega la aplicación, sino también los servidores de bases de datos.

Si nuestra aplicación web o enterprise usa el API JPA para el acceso a datos, es posible que en algunas circunstancias sea necesario especificar el catálogo o el esquema de base de datos en la anotación @Table de nuestras entidades.

¿La razón? En ciertas bases de datos, como por ejemplo Oracle, el usuario que utilizamos para la conexión no es el propietario del esquema. Por esta razón, al generar las consultas SQL es preciso especificar un “qualifier” para referirnos al catálogo o al esquema al que pertenecen las tablas.

Seguir leyendo…