Mostrando entradas con la etiqueta maven. Mostrar todas las entradas
Mostrando entradas con la etiqueta maven. Mostrar todas las entradas

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.

4 oct 2011

Vaadin Spring Archetype made by me :D

Hace no mucho tiempo me puse a trabajar con Vaadin para ver como podía encajar en alguno de los proyectos que está desarrollando la compañía donde estoy trabajando ahora, comprobé que la arquitectura encajaba perfectamente con lo que estaba buscando para conseguir compatibilidad con diversos navegadores y sus distintas versiones, así que me puse manos a la obra y empecé con el típico tutorial rápido que tiene todo framework.


Tras realizar el tutorial comencé a incluir algo más de complejidad, por decir algo, de hsqldb para persistencia de datos pasé a mysql y posteriormente a Oracle XE, me basé en anotaciones JPA para realizar la persistencia de una manera transparente a la base de datos que se quisiera utilizar, posteriormente pensé en introducir Spring como framework de soporte para el "negocio" y ante la odisea que suponía el tener que andar con tanto jar por ahí suelto, decidí incluir Maven para gestionar las dependencias de manera eficiente, así que me puse a buscar y encontré que la gente de Vaadin tenía un arquetipo para crear proyectos con Maven, así que para que dar más vueltas, lo usé y generó un proyecto que contenía las dependencias necesarias para empezar a trabajar con Vaadin. Pero el problema vino cuando me puse a incluir las dependencias de Spring, que si spring-tx, spring-beans, spring-context, spring-aop, ... y entonces decidí realizar mi aporte a la comunidad.


El aporte es un arquetipo maven que genera un proyecto Vaadin con Spring y que he publicado en googlecode. Toda la información está disponible en la página del proyecto así que para que enrollarme más si puedo pasaros directamente el enlace para que juguéis con el... 


El enlace es http://code.google.com/p/vaadin-spring-archetype/ cualquier opinión para mejora o porque no termináis de ver como tira el arquetipo, será bienvenida.


Un saludo y a disfrutar