Servicios Web SOAP con JAX-WS, Spring y CXF (IV): Handlers

Última actualización: 03/03/2019

logo java

Es posible que en alguna ocasión nos veamos en la necesidad de realizar algún tipo de operación directamente con el mensaje SOAP que recibe y/o envía nuestro servicio web. Esta tarea puede realizarse con el mecanismo de Handlers (“manejadores”) definidos en la especificación JAX-WS y que permite “interceptar” las peticiones y respuestas SOAP en un método que implementamos. Este mecanismo puede ser aplicado tanto al servidor como a los clientes.

Existen dos tipos de handlers:

  • SOAP handler : Permite acceder a todo el mensaje SOAP completo, incluyendo los headers de la petición. Por este motivo también se denominan Protocol Handler
  • Logical handler: Sólo proporciona acceso al contenido (payload) del mensaje.

Seguir leyendo

Android: mensajes y eventos con Broadcasts

Última actualización: 26/07/2017

android

Un Broadcast Receiver puede verse como un listener que atiende a eventos del sistema, esto es, lanzados por el sistema operativo, o bien a eventos lanzados por aplicaciones. Además, el evento puede incluir información adicional en un Intent. Nos encontramos por tanto ante un mecanismo que nos permitirá integrar aplicaciones entre sí y/o con Android, pero también establecer un canal de comunicación interno entre componentes (activities, fragments…) de una misma app. En el presente tutorial veremos una introducción a las posibiliaddes que nos ofrece la utilización de este componente.

Seguir leyendo

Diseño Android : Endless RecyclerView

Última actualización: 01/01/2019

android

En numerosos listados en los que se puedan mostrar una gran cantidad de elementos resulta necesario algún mecanismo de paginación que permita ir obteniendo, por ejemplo desde un servicio web REST, los elementos a mostrar a medida que el usuario solicita más datos al hacer scroll del listado:

  • Hacia arriba. Si existen elementos más recientes que los actualmente mostrados deberían añadirse en la parte superior del listado. Por tanto, en este tipo de listados al intentar avanzar más allá del primer elemento, se obtienen los más recientes y se añaden. Este patrón es fácil de utilizar gracias a SwipeRefreshLayout.
  • Seguir leyendo

Introducción a Bower

bower

En los últimos años hemos vivido una revolución en el desarrollo de aplicaciones web, incluyendo las aplicaciones híbridas para dispositivos móviles, en lo que respecta al frontend (interfaces/interacción con el usuario) gracias al imparable auge de herramientas y frameworks como AngularJS, jQuery, Backbone.js, Bootstrap o Ionic. Esta revolución incluso ha llegado al backend de la mano de Node.js y sus frameworks como Express.

Bower es un gestor de paquetes que nos ayudará en la utilización de todas estas APIs y frameworks de JavaScript y CSS. Gracias a Bower no tendremos que descargar y copiar manualmente en los proyectos estas dependencias, haciendo asimismo su actualización muy sencilla.

Seguir leyendo

Diseño Android: Pull To Refresh con SwipeRefreshLayout

android

El patrón de diseño Swipe To Refresh, más conocido como Pull To Refresh, puede ser considerado como el mecanismo estándar en aplicaciones móviles para actualizar el contenido de un listado o grid de datos con los elementos más recientes los cuales son añadidos en la parte superior del listado. Al deslizarse el listado hacia abajo y mostrarse el primer elemento, si el usuario intenta seguir deslizando un poco más (a veces se muestra un mensaje informando al usuario de esta posibilidad) se procede a la obtención de nuevos datos mostrando un Progress Dialog indeterminado.

android pull to refresh

Seguir leyendo

Android RecyclerView: Listas verticales y horizontales

Última actualización:01/12/2018

android

El widget RecyclerView es una de las novedades más importante que ha recibido Android en los últimos tiempos desde el punto de vista del desarrollador ya que permite reemplazar widgets fundamentales como ListView y GridView por “algo mejor” y más potente.

RecyclerView es un ViewGroup cuya misión es mostrar Views que se repiten múltiples veces, por ejemplo un listado, de forma que estas Views se van reutilizando para generar solamente aquellas que se muestran en pantalla. Este comportamiento también lo tiene ListView, pero RecyclerView obliga a implementar el ViewHolderPattern para mejorar el rendimiento evitando llamadas a findById que pueden ralentizar enormemente el scroll. En la ListView, es responsabilidad del programador seguir el ViewHolderPattern a la hora de implementar un Adapter.

Seguir leyendo

Diseño Android: Tarjetas con CardView

android

Las tarjetas son un componente gráfico popularizado por Google Now y que ahora forman parte de Material Design. El concepto de tarjeta es el de una ficha de papel o portada de una carpeta que proporciona sólo el resumen de cierto contenido y permite acceder al contenido completo. El resumen puede estar compuesto por un conjunto de elementos heterogéneos que incluye imágenes, títulos, textos, íconos, menús contextuales, acciones…

Android SDK proporciona una implementación del componente tarjeta con el widget CardView en un módulo propio de la librería de compatibilidad. En este tutorial diseñaremos una tarjeta más o menos típica con este componente haciendo uso también del widget Toolbar.

Seguir leyendo

Diseño Android: Notificaciones con Snackbar

android

La Snackbar es un nuevo componente de notificación que forma parte de Material Design. Estas notificaciones se muestran en la parte inferior de la pantalla y desaparecen automáticamente tras un cierto periodo de tiempo al igual que los Toast (aunque como veremos también se pueden mostrar de forma indefinida) y opcionalmente ofrecen al usuario la posibilidad de realizar alguna acción. Sólo habrá una Snackbar visible en pantalla y nunca mostrarán imágenes.

google keep snackbar

Seguir leyendo

Diseño Android: Floating Action Button con Design Support Library

Última actualización : 20/02/2016
android

Floating Action Button, FAB para los amigos, es un elemento visual introducido en Material Design cuyo objetivo es destacar la acción principal de una pantalla siempre y cuando esta constituya una operación muy habitual y “natural” como por ejemplo redactar un nuevo email en una aplicación de correos.

La acción flotante debe ser única y se muestra como un botón circular y plano en la parte inferior derecha de la pantalla aunque en ocasiones es posible que el FAB se “incruste” en otro elemento de la interfaz:

floating action button

Seguir leyendo

Diseño Android: ActionBar con Toolbar

Última actualización : 08/12/2018

android

La ActionBar es la barra superior presente en la inmensa mayoría de aplicaciones y habitualmente suele mostrar el nombre de la pantalla visualizada, el icono de la aplicación (o el del menú de navegación) y las acciones disponibles.

action bar

La ActionBar forma parte del profundo rediseño acometido por Google para Android 3/4 y su adopción fue bastante rápida. Para poder utilizarla en Android 2 era necesario recurrir a implementaciones propias o de terceros como la popular ActionBarSherlock pero en 2013 se incluyó en las librerías de compatibilidad.

Con Lollipop llegó Material Design y un nuevo paradigma visual tan importante como el que supuso la llegada de Android 4. Una de las novedades ha sido la aparición de la Toolbar que pretende ser un reemplazo de la ActionBar más potente y flexible. Mientras que la ActionBar es un elemento del sistema que se muestra en una Activity si se hereda de un tema que la incluya, Toolbar es simplemente un widget que aporta grandes ventajas: Seguir leyendo

Maven: aplicaciones ejecutables

logo java

Las aplicaciones web Java se empaquetan en ficheros war o ear y son desplegadas por un contenedor de servlets o servidor de aplicaciones JEE siguiendo siempre los estándares. En cambio, a la hora de empaquetar una aplicación de escritorio o consola tendremos que encontrar una estrategia que permita una fácil distribución y ejecución de estas aplicaciones. En este artículo veremos de forma muy práctica varias alternativas utilizando plugins de Maven.

Seguir leyendo