Tareas programadas en Spring

logo spring

Es posible que al desarrollar una aplicación la mejor solución para ciertas funcionalidades sea la implementación de tareas programables, esto es, métodos que se ejecuten periódicamente en momentos determinados o bien cada cierto periodo de tiempo. El caso más típico consiste en la revisión de la base de datos para la generación de informes de seguimiento, el envío de notificaciones, realizar tareas de sicronización con otros sistemas, etc. Asimismo, estas tareas suelen formar parte de la propia aplicación ya que así se pueden utilizar los servicios, capa DAO, etc de la misma.

En Java se suele utilizar Quartz, sin embargo si utilizamos Spring y la casuística es sencilla no tenemos que recurrir a ninguna librería de terceros ya que con Spring 3 es sencillo definir ejecuciones períódicas de un método de un bean y es precisamente lo que se verá de forma práctica en este artículo.

Seguir leyendo

Diseño Android: Popup Menu


VERSIONES

  1. 08/03/2014 (Primera publicación)
  2. 17/05/2014:
    • Añadido color de fuente

android

El primer artículo de la serie “Diseño Android” de 2014 está dedicado al widget PopupMenu que permite mostrar un menú contextual en un popup ubicado junto al elemento que lo despliega. Este widget fue introducido en HoneyComb (API 11) pero puede ser utilizado en versiones anteriores ya que se encuentra incluido en la libreria de compatibilidad v7.

La siguiente captura de la app oficial de Youtube muestra un popup menu como el que se va a utilizar en el presente artículo.

youtube-popup menu

Entorno de pruebas:

Requisitos: Conocimientos básicos de Android SDK. Se utilizará Eclipse como IDE.

Seguir leyendo

Persistencia en BD con Spring Data JPA


VERSIONES

  1. 08/02/2014 (Primera publicación)
  2. 02/03/2014:
    • Añadido ejemplo de UPDATE
    • Actualización de librerias de Spring

logo spring

Nota: Este tutorial es una continuación de Persistencia en BD con Spring: Integrando JPA, c3p0, Hibernate y EHCache. El objetivo es reutilizar el mismo proyecto de ejemplo e incluir Spring Data JPA.

Spring Data es el nombre de un módulo de Spring que a su vez engloba un gran número de sub-módulos cuyo objetivo es facilitar el acceso y explotación de datos desde aplicaciones basadas en Spring, obteniéndose estos datos de fuentes tan dispares como servicios RestFUL, bases de datos relacionales a través de JPA, o bases de datos NoSQL como MongoDB o Neo4J, entre otras. Asimismo, el proyecto está siempre creciendo para aumentar el tipo de repositorios soportados (acaba de publicarse (06-02-2014) la primera “Release Candidate” de un módulo para Couchbase). En nuestro caso usaremos Spring Data JPA para acceder a una base de datos MySQL a través de Hibernate y JPA 2.

Seguir leyendo

Diseño Android: ViewPagerIndicator

android

El artículo anterior presentó el widget ViewPager para construir interfaces gráficas “paginadas”. Una vez que tenemos nuestro ViewPager funcionando, el siguiente paso será utilizar un mecanismo que nos permita saber en qué página estamos y/o si hay páginas adyacentes a las que se pueda navegar. Gracias a Jake Wharton (un prestigioso desarrollador Android al que recomiendo seguir en Twitter y G+) disponemos de una librería “open source” con licencia Apache 2.0 llamada ViewPagerIndicator. En este artículo veremos cómo usarla con el proyecto del artículo anterior y algunas de sus posibilidades, siendo en mi opinión la más interesante la posibilidad de utilizar pestañas y permitir la navegación en el ViewPager tanto mediante desplazamiento gestual como por pulsación de la pestaña.

Podemos echar un vistazo a todo lo que ofrece esta librería instalando su demo desde Google Play.

Entorno de pruebas:

Requisitos: Los conocimientos presentados en el artículo anterior (uso básico de un ViewPager).

Seguir leyendo

Diseño Android: ViewPager

android

Un ViewPager es un ViewGroup que permite desplazarnos por distintos layouts o “páginas” dentro de una misma Activity simplemente deslizando las páginas a la derecha o izquierda con nuestro dedo (en el próximo artículo veremos cómo también podemos simular pestañas clásicas). Es uno de los numerosos patrones de diseño que Android ha ido introduciendo en su API desde Ice Cream Sandwich y que incluyen elementos como la ActionBar o MenuDrawner que serán debidamente tratados en próximas entregas de esta serie de artículos “Diseño Android”. Estos elementos pueden ser empleados en versiones anteriores de Android, en algunos casos con pequeñas limitaciones, gracias a las librerías de compatibilidad por lo que se puede utilizar el mismo diseño en Android 2. En este aspecto, ViewPager es un tanto particular ya que no está disponible directamente en la SDK a diferencia por ejemplo de ActionBar.

Como caso práctico de ViewPager, podemos poner Google Play aunque son miles las aplicaciones que siguen en este diseño.

google play

En este artículo veremos en primer lugar cómo utilizar un ViewPager (sin Fragments). En un próximo artículo configuraremos el indicador de página utilizando la excelente librería open source ViewPagerIndicator.

Entorno de pruebas:

Requisitos: Conocimientos básicos de Android SDK (LinearLayot, ListView, estilos). Usaré Eclipse ADT pero obviando la configuración específica se puede utilizar otro IDE u herramienta de construcción (Maven, Graddle, Ant).

Seguir leyendo

Integrando Struts 2 y Spring IoC


VERSIONES

  1. 04/11/2013 (Primera publicación)
  2. 08/03/2014:
    • Añadida configuración de applicationContext en el web.xml
    • Pequeñas mejoras y correcciones varias

logo spring

Originalmente este artículo nació como un tip para la sección tips Struts 2, pero puesto que expone una integración de frameworks muy interesante y habitual he optado por tratarla con algo más de profundidad y darle más extensión de la que cabría esperar en un tip. Así pues, vamos a ver paso a paso lo fácil que es integrar el contenedor IoC de Spring con Struts 2 para poder inyectar beans en los Action e incluso definir los Actions como beans de Spring, ya sea a través de xml o mediante anotaciones.

Nota: no es necesario que los Actions sean definidos en Spring para poder inyectar las dependencias en ellos pero es la práctica habitual y lo que se mostrará en este artículo.

Entorno de pruebas:

Requisitos: Conocimientos básicos de Maven, Struts 2 y Spring IoC.

Seguir leyendo

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 40 seguidores