Devoxx - dia 2
Hola de nuevo desde tierras belgas,
Hoy hemos tenido la oportunidad de asistir a charlas sobre productos más orientados a aplicaciones web.
En primer lugar, he estado en una conferencia sobre Solr. Consiste en un entorno web para el motor de busquedas apache Lucene.
Para los que no conozcan Lucene, es un indexador de contenidos bastante sencillo pero altamente eficiente. Solr básicamente es una serie de plugins aumentando la funcionalidad de Lucene como, por ejemplo la incorporación de correctores ortograficos, validadores de campo, etc.
Otra gran caracteristica de Solr es que, para grandes cantidades de datos (1000000 de documentos), Lucene puede tardar un tiempo excesivo en procesar una consulta.Sin embargo, Solr hace posible la distribución de los indices de lucene de manera que se puedn hacer busquedas distribuidas, consiguiendo asi aumentar la escalabilidad del sistema.
Otro producto realmente interesante es Luke (www.getopt.org/luke) que permite navegar de forma sencilla por los indices de lucene para ver su contenido.
El único punto descuidado de Solr es la inexistencia de mecanismos de seguridad de manera que si no se dispone de medidas externas, es posible que se pueda acceder a toda la información existente en cualquier momento.
URLs:
- http://lucidimagination.com
- http://search.lucidimagination.com
- http://manning.com/lucene
Al mismo tiempo, se producia una conferencia sobre Java EE 6.
En general se han explicado bastante bien, ilustrando con unos 12 ejemplos cada tema. Se ha centrado en las diferencias en temas como JPA, JSF, Servlets, EJB, Bean Validation y JAX-RS.
En todo momento usando glassfish, ya que uno de los ponentes era el autor del libro "Beginning Java™ EE 6 Platform with GlassFish 3", aunque les ha faltado tiempo para explicar mejor su funcionamiento y ventajas.
Han usado un ejemplo de una aplicacion web para la creacion y gestion de bibliotecas de libros o cds, enseñando para cada tema, las diferencias con la version anterior, codificando en el momento (lo cual ha dado pie a que algunas demos no fuesen bien a la primera xD). De esta forma hemos ido viendo el ahorro de codigo y la simplicidad que aportan las nuevas versiones mediante anotaciones.
Las querys en JPA, ajax en JSF, la opción y no obligacion del web.xml en los servlets, Managed Beans, uso de interceptors o Singleton en EJB y la fácil validacion de los beans, son ejemplos que han puesto en sus demos.
Después de esto hemos estado en una conferencia sobre JavaFX, que prometía ser bastante avanzada, pero a resultado ser un resumen muy básico de esta tecnología.
JavaFX es un nuevo lenguaje apoyado en la JVM que permite de manera sencilla crear aplicaciones RIA, pudiendo usar cualquier elemento creado en Java. Como caracteristicas avanzadas podemos incluir la posibilidar de hacer binding de variables o usar funciones como parametros o valores de retorno de otros métodos. Además está orientado a las animaciones de manera que por ejemplo añaden el tipo de dato Duration, para delimitar el tiempo de las mismas.
Otra de las caracteristicas más avanzadas es la gestion de secuencias (arrays) de manera que se puede condicionar bastante la creación o iteración de los mismos.
Como apunte significativo, han mostrado un plugin para netbeans, muy parecido a Matisse, para desarrollar interfaces graficas en JavaFX, realmente a sido bastante espectacular. No han dado detalles ni nombre del plugin, por lo que si alguien conoce algo al respecto, seria de gran ayuda.
URLs:
- http://javafx.com
- http://jfxtras.org
- http://www.jroller.com/aalmiray/entry/griffon_gfxbuilder_fxbuilder_side_by
En las conferencias breves hemos estado en la de Java Monitoring y la verdad es que me ha gustado bastante. A tratado de como intentar eliminar los típicos fallos de programación que si no se corrigen a tiempo pueden causar que se caiga el sistema o al menos nuestra aplicación. Ha dado trucos sobre como evitar memory leaks (no, no nos debemos fiar del colector de basura de java ;)) o como aumentar el rendimiento de una aplicación lanzando la maquina virtual en modo servidor.
Ha hablado un poco sobre una herramienta llamada findbugs que sirve para detectar estos problemas y dar ideas sobre como resolverlos.
URL: http://java-monitor.com
Y la ultima conferencia del dia ha sido sobre TeamCity. Esta aplicación es un sistema de integración continua multiplataforma. está integrado en gran cantidad de IDEs y puede utilizar gran parte de los sistemas de control de versiones existentes.
Como caracteristicas avanzadas podemos destacar la posibilidad de realizar todos los tests existentes para el proyecto o medir la cobertura del codigo. Además tiene la posibilidad de hacer post-commits, es decir, realizar todas las comprobaciones configuradas y sólo se permite hacer commit en caso de que todo funcione correctamente.
URL: www.jetbrains.com/teamcity
Seguiremos retransmitiendo.
Reader Comments