Mostrando entradas con la etiqueta howto. Mostrar todas las entradas
Mostrando entradas con la etiqueta howto. 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.

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...

3 abr 2012

MiniSeries - Vaadin Parte I


Vaadin “Thinking in U and I”, o lo que es lo mismo como hacer una interfaz gráfica atractiva y ligera, con programación java pura y disponer de todos los mecanismos necesarios para poder realizar binding de datos sin dolores de cabeza.
Vaadin es otro de estos frameworks que hacen la vida del desarrollador de software mucho más confortable. Se apoya en GWT para la capa de presentación pero no es necesario que tengamos conocimientos profundos de esta tecnología, pero si conviene tener unos conocimientos básicos, para temas de persistencia se puede utilizar cualquier mecanismo JPA, Hibernate, MyBatis, Stored Procedures, … ya que el mecanismo de contenedores estándar y de data binding de la plataforma se basa en Items lo cual hace que sea muy flexible.

Comencemos...

Preparar el entorno de trabajo

Para empezar a trabajar con Vaadin necesitaremos 4 cosas fundamentalmente:
  1. Una instalación de JDK5 o JDK6 de Sun, JRocket o IBM y la variable de entrono $JAVA_HOME establecida. 
  2. Apache Maven 2.0.9 o superior instalado y con el PATH configurado correctamente. 
  3. Eclipse IDE, preferiblemente la versión JEE. 
  4. Vaadin Eclipse plugin, esto no es totalmente necesario, pero para próximas miniguías será muy interesante disponer de el, ademas con la interfaz gráfica WYSIWYG que han incluido hará muy simple la composición de pantallas (una de las grandes pegas desde mi punto de vista de este framework)

Creación del proyecto

Para la creación del proyecto usaremos el arquetipo maven que está disponible en http://vaadin.com/addons
 
Una vez instalado el arquetipo ejecutaremos en una shell:

mvn archetype:generate
-DarchetypeGroupId=com.vaadin
-DarchetypeArtifactId=vaadin-archetype-clean
-DarchetypeVersion=1.3.0
-DgroupId=org.agenda
-DartifactId=agenda.vaadin
 

21 dic 2011

Acceder a cuenta de Box.com desde Ubuntu 11.10

Hola de nuevo, aunque con algo de retraso... Hace poco cree una cuenta de Box.net, ahora Box, y con el tiempo he visto que no tienen ninguna aplicación para escritorios Linux (al menos yo no la he encontrado) y "googleando" un poco, he visto un artículo interesante de como configurar Box.net de una manera sencilla utilizando WebDAV, el artículo original está en http://bit.ly/vYGDwJ, y como me parece que está bastante bien lo voy a traducir y a modificar alguna cosa, ya que está basado en una versión anterior de Ubuntu a la que yo uso habitualmente.


Para configurar Box tendremos que hacer lo siguiente:

25 ago 2011

Spring ROO - HOWTO (Parte I)

 Hoy toca probar la última release de Spring-ROO (1.1.5.RELEASE), como ya comenté en un post anterior, sigo sin entender (del todo) el motivo por el que Springsource se ha embarcado en el crear un proyecto de desarrollo rápido tras la compra de la empresa que desarrollaba Grails.


Como no puede ser de otra forma vamos a dar los primeros pasos con Spring-ROO a través de un Mini HOWTO con el ejemplo tipo de la agenda. Para ello debemos seguir unos sencillos pasos que intento explicar a continuación.

Preparar el entorno de trabajo


Lo primero que debemos hacer es descargarnos la última versión de Spring-ROO de la página de Spring y seguir los siguientes pasos para su instalación:
  1. Se descomprime el archivo descargado en una ruta que podamos recordar.
    (en mi caso USER_HOME/java/spring-roo-1.1.5.RELEASE)
  2. Establecemos la variable de entorno ROO_HOME apuntando a la ruta anterior.
  3. Añadimos ROO_HOME/bin al path de nuestro sistema para que reconozca los comandos de spring-roo.
  4. En caso de que tengáis un sistema Linux o un MAC os recomiendo que creéis un enlace simbólico a roo.sh

    ln -s ${ROO_HOME}/bin/roo.sh /usr/bin/roo
Ahora comprobamos que tenemos el sistema preparado para poder empezar a trabajar. Las necesidades mínimas son:
  1. Una instalación de JDK5 o JDK6 de Sun, JRocket o IBM y la variable de entrono $JAVA_HOME establecida.
  2. Apache Maven 2.0.9 o superior instalado y con el PATH configurado correctamente.
Con esto ya podemos probar que tenemos instalado y listo para usar spring-roo, para ello en un terminal ejecutamos lo siguiente:

roo quit

Si obtenemos una salida parecida a la que muestro a continuación es que todo ha ido bien y podemos empezar con el howto.

1 abr 2011

Grails - El Santo Grial del Desarrollo rápido (Parte II)

Vamos a continuar con la serie de Grails, si recordáis en la parte I de esta serie empezamos a crear una aplicación que servía para gestionar los contactos. Al final de la entrada anterior se decía que había que hacer click en ContactoController, pero porque no hacer las cosas algo mejor, es decir, porque no introducir una pantalla de login y un menú, y si además ponemos una gestión de usuarios y permitimos dar de alta, modificar y eliminar usuarios, habremos realizado una aplicación que tendrá más aspecto de aplicación.

Esto es justo lo que vamos a hacer en esta parte de la mini-serie.

Vamos a comenzar paso a paso nuestra “nueva” aplicación de Contactos.
  1. Creación de los usuarios, grupos y permisos.
Para este proceso vamos a utilizar un plugin de los diversos plugins que posee grails (http://www.grails.org/Plugins), en concreto uno llamado Stark-Security. Ahora bien, y ¿cómo utilizo un plugin? Pues muy sencillo, simplemente hay que instalarlo, y para instalarlo hay que ejecutar un simple comando de grails.
grails install-plugin stark-security
Al ejecutar este comando tenemos la siguiente salida por consola:
grails install-plugin stark-security
Welcome to Grails 1.2.0 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: /Users/javi/java/grails-1.2.0

Base Directory: /Users/javi/proyectos/grails-howto-series/agenda
Resolving dependencies...
Dependencies resolved in 1433ms.
Running script /Users/javi/java/grails-1.2.0/scripts/InstallPlugin.groovy
Environment set to development
Reading remote plugin list …
Plugin list out-of-date, retrieving..
[delete] Deleting: /Users/javi/.grails/1.2.0/plugins-list-core.xml
[get] Getting: http://svn.codehaus.org/grails/trunk/grails-plugins/.plugin-meta/plugins-list.xml
[get] To: /Users/javi/.grails/1.2.0/plugins-list-core.xml
....................................................
[get] last modified = Wed Feb 02 03:16:38 CET 2011
Reading remote plugin list ...
Plugin list out-of-date, retrieving..
[delete] Deleting: /Users/javi/.grails/1.2.0/plugins-list-default.xml
[get] Getting: http://plugins.grails.org/.plugin-meta/plugins-list.xml
[get] To: /Users/javi/.grails/1.2.0/plugins-list-default.xml
......................................................................................
[get] last modified = Thu Feb 10 06:22:21 CET 2011
[copy] Copying 1 file to /Users/javi/.grails/1.2.0/projects/agenda.parte2/plugins
Installing plugin stark-security-0.4.3
[mkdir] Created dir: /Users/javi/.grails/1.2.0/projects/agenda.parte2/plugins/stark-security-0.4.3
[unzip] Expanding: /Users/javi/.grails/1.2.0/plugins/grails-stark-security-0.4.3.zip into /Users/javi/.grails/1.2.0/projects/agenda.parte2/plugins/stark-security-0.4.3
Executing stark-security-0.4.3 plugin post-install script ...
Plugin stark-security-0.4.3 installed
Plug-in provides the following new scripts:
------------------------------------------
grails stark-security-install-full
grails stark-security-install-without-dao
Si os fijáis en las dos últimas líneas de la salida anterior, veréis que este plugin ofrece dos nuevos comandos, el que nos interesa es stark-security-install-full, así que ahora tenemos que ejecutar el nuevo comando que nos ha aportado este plugin.
grails stark-security-install-full


14 ene 2010

GRAILS - El santo grial del desarrollo rápido (Parte I)

Hoy toca algo tecnológico, bueno hoy y algún que otro día más con esta serie.
Algunos diréis que ya era hora, pero el trabajo es lo que tiene, quita tiempo para hacer estas cosas, así que vamos a hacer un pequeño MINI-HOWTO, para poner en marcha una aplicación con este framework de desarrollo rápido, pero primero...
1. ¿Qué es GRAILS?

Grails es un framework para desarrollo rápido de aplicaciones desarrollado sobre Groovy. Grails pretende ser un framework altamente productivo siguiendo dos paradigmas del desarrollo rápido como son "Convention over Configuration" (CoC) y "Don't Repeat Yourself" (DRY), proporciona un entorno de desarrollo estandarizado y oculta la mayoría de los detalles de configuración al desarrollador.
Grails ha sido impulsado principalmente por la empresa G2One, que fue adquirida por SpringSource en noviembre de 2008.
2. ¿De dónde me descargo GRAILS?

Pues fácil y sencillo de su página grails.org, en su zona de descargas está disponible la versión 1.2 del framework.
En su página hay muchos tutoriales y artículos que os servirán de ayuda para dar los primeros pasos. Pero voy a intentar que os saltéis varios de ellos con esta serie de HOW-TOs.
3. Configurar la herramienta:

Lo primero de todo debéis ir a la dirección que os he dicho en el punto 2 y os descargáis el framework, tras esto hay que descomprimirlo en algún lugar que se, yo soy usuario de Linux y de MacOS por lo que usaré la nomenclatura de estos sistemas operativos para referirme a creación de directorios y temas de variables de entorno.

Después de descomprimirlo lo que tenemos que hacer es establecer la variable de entorno $GRAILS_HOME que apunte a la carpeta que acabamos de descomprimir y añadir $GRAILS_HOME/bin al $PATH.
4. Crear el proyecto
Esto es de las cosas que más me gustan de este entorno de desarrollo. Una vez configurada la herramienta, todo lo que tenemos que hacer es ir a una carpeta en la que queramos crear el proyecto, por ejemplo, una carpeta que crearemos para esta serie "grails-howto-series" y ejecutamos el siguiente comando:

grails create-app agenda