Primeras impresiones sobre Jax RS 2.0.
domingo, marzo 24, 2013 at 11:02PM
jcarmonaloeches in Adopt a JSR, Jax RS, Rest, rest

Buenas noches de nuevo,

Como bien sabéis alguno, hace tiempo Oracle, con ánimo de contar con el apoyo de desarrolladores, inició el llamado "Adopt a JSR", que básicamente buscaba que, desarrolladores del mundo, se encargarán de probar, testear y leer documentación sobre las nuevas tecnologías que se estaban desarrollando.

JavaHispano se ofreció a echar una mano en esta materia, y tanto un servidor, como Rubén Eguiluz, nos dedicamos a investigar y trastear un poco con ello. Os contamos un poco el proceso que hemos conocido hasta ahora y hasta donde hemos llegado:

1) Básicamente, Oracle delega en una o varias personas el fomentar esta "metodología" (por llamarlo de alguna forma, que no conozco una palabra mejor).

2) Las personas encargadas de ello (en nuestro caso, Arun Gupta) contactan con posibles personas responsables de movimientos de desarollo (blogs, portales... etc).

3) Algunos portales, blogs, twitteros, etc, responden comentando que quieren participar.

4) Oracle entonces propone quedar para poder hablar y comentar el proceso personalmente (siempre viene mejor que alguien te transmite su empuje y entusiamo que leer cómo funciona, qué debes hacer, etc). Básicamente, el proceso de ayuda se basa en ir descargando las últimas versiones de Glassfish (no comerciales), dónde van incluyendo las funcionalidades de las últimas JSR que se encuentran en desarrollo para ir testeándolas. Además de esto, se genera documentación al respecto (javadoc) que también se va modificando. Para seguir el proceso y poder participar con el mismo, existen unas listas de distribución a las cuales se pueda enviar feedback, punto de vista, impresiones, bugs, etc. Las listas de distribución siguen una organización establecida por Oracle (desde usuarios hasta expertos, pasando por commites...).

En fin, este es un poco el proceso. La tecnología con la que colaboramos se llama Jax RS 2.0, y sus características son las siguientes:

  1. Un cliente rico que permite realizar las llamadas de todo tipo (get, post, put y delete) a los recursos correspondientes.
  2. La posibilidad de incluir marshall y unmarshalling de tipos de datos no primitivos (objetos). No olvidemos que en Rest estamos enviando información adjuntada a una petición Http y necesitamos enviar texto plano en la petición correspondiente, y posteriormente traducir esa información y desencapsularlo en el objeto correspondiente.
  3. La posibilidad de definir validadores en los atributos recibidos por las llamadas gestionadas por rest (por ejemplo, el campo id de un método de tipo get no puede ser nulo).
  4. La posibilidad de definir filtros anteriores y posteriores a las llamadas de los métodos, para fomentar, por ejemplo, la autenticación...
  5. La posibilidad de definir métodos que se ejecutarán antes del envío de la llamada y después del mismo, para fomentar logging, tracking, estadísticas, etc...
  6. Mayor posibilidad y creatividad en el campo de las Uris y la traducción realizada sobre las mismas...

Y posiblemente tengamos alguna característica más, más adelante os comentaremos.

Un cordial saludo,

    Jaime.

Article originally appeared on javaHispano (http://www.javahispano.org/).
See website for complete article licensing information.