Buscar
Social
Ofertas laborales ES
martes
abr202004

Maven, Maven 2, y macrodefs en Ant

Ant 1.6.1 presenta varias novedades, la más importante es la capacidad encapsular targets + parametros en forma de macros. Esto soluciona uno de los problemas de Ant: la modularidad. Podéis encontrar más información sobre las macros aquí.



El otro problema no tiene solución, es de legibilidad y se debe al número de caracteres necesarios para expresar scripting con XML. Los lenguajes de script reales (Groovy, Jython, ...) permiten un lenguaje compacto y flexible, mientras que con XML tenemos una sintaxis más rígida pero, justo por lo mismo, muy sencilla de aprender.



Estas mejoras en Ant iran en detrimento de Maven, que es "la otra" herramienta de construcción de proyectos Java. Maven se basa en



  • Un fichero project.xml donde se declaran en xml las caracteristicas del proyecto (nombre, desarrolladores, repositorios de código, listas de correo, librerias necesarias para construir el proyecto, etc.).


  • Plugins: targets prefabricados para hacer casi cualquier cosa.


  • Un fichero project.properties donde podemos personalizar las propiedades de cada plugin (donde buscar nuestro codigo fuente, etc.).


  • Un fichero maven.xml donde añadimos código a los plugins, o escribimos nuestros propios targets.


  • Un lenguaje de scripting llamado Jelly, que mezcla XML con scripting y acceso a Java.




El enfoque de Maven ha sido aislar la complejidad en plugins, que exponen ciertas propiedades para que podamos adaptar su comportamiento a nuestro proyecto. Dentro de Jelly podemos usar Ant asi que cuesta muy poco migrar nuestros scripts.



El problema con Maven es la escasa documentación, y Jelly, que es más de lo mismo, un lenguaje XML salpicado con scripting Java. Su autor ha manifestado que no era una buena idea, y ahora se dedica a Groovy, un lenguaje de script con JSR241.



Y como ventajas, sobre todo la gestión de dependencias, declaras lo que necesitas en el project.xml y se bajan automaticamente de un repositorio central. Puedes usar los mismos jars en todos los proyectos, y cuando distribuyes el código no necesitas adjuntar 20Mb de jars. El repositorio maestro esta en www.ibiblio.org/maven (solo hay software free).

También, que cuando aprendes a manejarlo todo es más fácil, normalmente solo hay que colocar tus ficheros en el sitio adecuado, y declarar las propiedades de tu proyecto (en el project.xml), hasta que la cosa se complica no necesitas scripting, y cuando lo hace, puedes usar Ant dentro de Jelly.



Otras direcciones, aparte de Ant y Maven, son usar ruby + ant, o Groovy.



Mientras, esta previsto que aparezca
Maven 2 unas semanas despues de Maven 1.0 (que esta en rc2 o algo asi). Maven 2 permitira plugins en Java, Jelly, u otros lenguajes de scripting (Jython, Groovy, etc.).
martes
abr202004

Preparándose para el JDK 1.5: argumentos variables

En unos dos meses seguramente tendremos disponible la versión definitiva de Tiger, y tenemos que irnos preparando para las novedades que incorpora, que no son pocas. En java.net han publicado este artículo se muestran las posibilidades que abre la posibilidad de definir métodos con un número variable de parámetros.



Así por ejemplo, tras definir:





static int sum (int ... numbers){

int total = 0;

for (int i = 0; i < numbers.length; i++)

total += numbers [i];

return total;

}



podemos invocar sum (10, 20), sum (18, 20, 305, 4) o sum (18, 20, 305, 4, 89, 0, 1). Aprovecho la ocasión para recordaros este otro link sobre el cual ya os informamos hace tiempo y que es un excelente escaparate eminentemente práctico sobre las novedades de Tiger.

martes
abr202004

Versión final de la especificación de APIs para firma digital

Sun Microsystems e IBM han publicado la versión final del JSR-105 : APIs para firma digital.



Este JSR define un conjunto estándar de APIs para crear servicios de firma digital. La especificación de firma digital XML está definida por el consorcio W3C. Las firmas, pueden ser aplicadas a cualquier contenido digital ( objeto de datos ), incluyendo XML. Una firma XML puede ser aplicada al contenido de uno o más recursos.



La especificación define firmas tanto para datos dentro del mismo documento XML como para datos fuera del documento XML. Más específicamente, la especificación de firma digital XML define un elemento de firma XML y una aplicación de firma. Los requisitos de conformidad para estas especificaciones se definen mediante esquemas XML.



Esta especificación también include otros tipos útils para identificar métodos de referencia de colecciones de recursos, algoritmos e información de manejo de claves.

lunes
abr192004

Tapestry 3.0 Final

Por fin ha salido la versión final del framework Tapestry para la creación de aplicaciones web.

Esta versión se presenta como una notable evolución de su versión anterior y tiene un montón de características nuevas que lo hacen muy atractivo para el desarrollador. No para ahí la cosa porque los miembros del proyecto están trabajado en la expansión y mejora de la documentación y en la creación de nuevos componentes base para el framework.



A modo de introducción decir que Tapestry utiliza un modelo de componentes muy similar al de las apliaciones tradicionales con gestión persistencia y muchos otros "castigos" del desarrollador web solucionados por el propio framework (eventos, propiedades, etc.).



Referencias:

Home: http://jakarta.apache.org/tapestry/

Excelente tutorial / introducción en español a cargo de Julio C. Rivera http://personales.ya.com/juriver/tapestry/pfc.html

Librito escrito por el creador del framework: http://www.manning.com/catalog/view.php?book=lewisship

Capitulos de prueba del libro: Capítulo 2 Capitulo 5
lunes
abr192004

JES gratuito para PYMES

Hace varios meses os anunciamos que Java Entreprise System seráa gratuito para las PYMES. Esta oferta ya se ha cumplido hoy y JES está disponible para las empresas de menos de 100 empleados de modo gratuito durante un aráo, eso si, sin derecho a soporte. La oferta tampoco es výlida para instiuciones gubernamentales e institucuones educativas. Lo primero lo entiendo, pero lo segundo me sorprende.



Si estas un poco despitadillo y aún no has oido hablar de JES puedes echar un vistazo aquí y aquí.



Siento curiosidad por saber si entre el mundo hispano se está adoptando JES. ¿Alguna de vuestras empresas lo usa? ¿Cuales son vuestras experiencias con ýl?