1 oct. 2013

REST en Java

Hoy toca probar REST y como (de bien) se lleva con Java. Para ello vamos a ponernos un poco en situación.

¿Qué es REST?

REST son las siglas de REpresentational State Transfer, es un estilo de arquitectura de aplicaciones software que está basado en estándares web y en protocolos HTTP. En esta arquitectura todo son recursos, y se puede acceder a estos recursos usando métodos estándares de HTTP.

En una arquitectura REST normalmente se dispone de un servidor REST que ofrece acceso a los recursos y un cliente que accede y modifica estos recursos. Cada uno de los recursos debe tener soporte a las operaciones HTTP más comunes, que comentaré más adelante, y se identifican de manera global, normalmente a través de URIs.


La arquitectura REST permite que los recursos tengan distintas representaciones (texto, XML, JSON, RSS,...) por lo que el cliente puede solicitar la representación que más le convenga mediante el protocolo HTTP.


Los métodos HTTP que soporta REST son los habitules de peticiones estándar HTTP, PUT, GET, POST y DELETE. Estas operaciones se podrían explicar de la siguiente manera:

  • PUT: Crea un nuevo recurso, por lo que nunca se podrá realizar una consulta a través de este método.
  • GET: acceso de lectura al recurso, por lo que nunca se puede modificar usando este método.
  • POST: Actualiza un recurso existente o crea uno nuevo.
  • DELETE: Elimina un recurso.
Entonces,

14 may. 2013

Integración Vaadin con Spring (Parte 2)

En la entrada de ayer comentaba como integrar Vaadin con Spring, hoy toca lo mismo, pero con la versión 7 de Vaadin.

Al igual que con Vaadin 6 hay que seguir una serie de pasos previos, pero son un poco diferentes gracias a la existencia de la clase UIProvider, así que comencemos con los pasos para conseguir esta integración:

13 may. 2013

Integración de Vaadin con Spring

Como muchos sabéis he realizado un arquetipo de maven para la integración de Vaadin con Spring, apoyándome en la aproximación que el propio equipo de Vaadin tenía en su wiki y cuya entrada en este blog era Vaadin Spring Archetype made by me :D

Profundizando un poquito más en la integración de estos dos frameworks que tanto me gustan, he visto que hay otras maneras de hacerlo, que además creo que son bastante más simples que la que se ha implementado en el arquetipo, lo cual me obliga a cambiarlo...

La solución pasa por usar una clase "Inyectora", una serie de escuchadores y parámetros de contexto en el archivo web.xml y una configuración mínima de spring que permita el "Autowiring" de las dependencias de modo transparente, ahora bien, esta integración es ligeramente diferente entre las dos últimas versiones mayores disponibles de Vaadin, en este primer post me centraré en la integración de la versión 6 de Vaadin.

11 abr. 2013

Configurar el Driver JDBC de Oracle como módulo de JBoss AS 7

Hoy intentaré contar como configurar el Driver JDBC de Oracle como módulo de JBoss AS 7, aunque también es válido para versión EAP 6, tanto para arranque en modo standalone como domain.

19 feb. 2013

Configurar Log4j para trazar en Syslog (Ubuntu 12.04)

Hoy vamos a hablar de Log4j, una vez más (y contando)... en el trabajo he necesitado realizar modificaciones en el proyecto para conseguir algo que antes no era necesario pero ahora es fundamental... seguro que os suena de algo.

El tema es que la aplicación dispone de un mecanismo de auditoría para registrar las acciones de los usuarios (una especie de pilla-pilla), este mecanismo traza a un fichero (audit.log) este fichero tiene un formato para poder ser consultado sin problemas desde un visor de archivos estándar, pero se quiere que sea una aplicación externa y en remoto la que consulte y explote los datos que se trazan, así que ha habido que realizar cambios para que, además de a ese fichero, realice logging en el syslog de sistema, lo cual nos lleva al título de este post...