Envíos etiquetados con ‘Java’

ControlDatosGob

Enero 27th, 2010

Bueno del primer arreón que le he dado al desarrollo de la aplicación de control de datos ha salido http://bit.ly/deBh8V, ahora dejaré reposar un poco el tema y con lo aprendido retomaré el desarrollo de la aplicación de voto con DNI electrónico. El código se puede descargar desde aquí http://code.google.com/p/controldatosgob/ y cumple con la creo que es la mejor fórmula para desarrollar aplicaciones web -> GWT + Rest -Jersey + JPA Hibernate + Hibernate Search.

GWT como framework para desarrollar interfaces de usuario me garantiza que con muy pocos retoques el mismo código sirva para los principales navegadores.

No se los dispositivos que saldrán en los proximos años lo que si se es que tendrán conexión a Internet, eso quiere decir que tendrán acceso a todos los servicios REST que sea capaz de ofrecer. La mejor forma de asegurarse de que los servicios de tu servidor serán accesibles en el futuro desde el mayor número posible de programas o dispositivos es desarrollarlos siguiendo los principios REST, las arquitecturas REST están pensadas para sacarle el máximo partido a Internet.

No se la base de datos que usaré, lo que si que se es que la mejor manera de interactuar con una base de datos es usando un framework de persistencia de objetos, JPA es un estándar apoyado por los principales actores en el negocio de las base de datos. No está controlado por una única organización, es a día de hoy la opción más avanzada para realizar persistencia de objetos y con muy poco esfuerzo el mismo desarrollo se puede usar en la mayoría de las base de datos.

El DNI electrónico es la clave para poder garantizar que estás tratando con quien dice ser y para poder crear sistemas de mensajería seguros y de intercambio de archivos firmados … anda y que no hay cosas que hacer con esto.

De Hibernate Search hablé en el último post.

No se como será el futuro, lo que si se es que cada vez hay más gente que utiliza la red para informarse y hacer sus gestiones, la cantidad de gente y el número de horas que pasan conectados crece día a día. Conforme van apareciendo nuevos servicios las combinaciones para crear soluciones sobre ellos se multiplican y para hacer cosas lo único que se necesita es un ordenador con una conexión a Internet.

Hibernate Search

Enero 20th, 2010

Si tienes un montón de documentos digitalizados y quieres realizar búsquedas de texto sobre ellos, Hibernate search puede ayudarte a resolver muchos de los problemas con los que te vas a encontrar.

Hibernate Search resuelve las carencias de SQL para realizar búsquedas complejas de texto utilizando para ello como motor de búsqueda Apache Lucene. Permite:

  • Mantener actualizados y sincronizados el índice que se crea para la búsqueda de textos y los datos de la base de datos.
  • Obtener objetos persistentes a partir de las búsquedas de texto
  • Crear índices respetando relaciones entre objetos del modelo.

Dispone de un analizador que permite:

  • Hacer búsquedas por aproximaciones fonéticas, por sinónimos o palabras no acentuadas…
  • Puntuar los resultados de una búsqueda.

La mayor parte del esfuerzo consiste en la optimización de las consultas de búsqueda. Es la herramienta que tienes que utilizar si quieres añadir búsquedas profesionales del estilo Amazon o Google a los datos que manejan tus bases de datos.

Control de gastos de reuniones

Enero 9th, 2010

Mi amigo Oscar me comentó que estaría bien disponer de una aplicación que sirviera para poder hacerse una idea clara de los gastos de una reunión. De esa conversación ha nacido Control de gastos de reuniones, el código se puede descargar desde aquí.

Es un prototipo pero creo que la idea está clara, la evolución ahora dependerá de los estímulos que se reciban.

De esa forma cuando nos juntemos y no sepamos de qué hablar, cosa que nunca ha pasado, siempre podremos sacar la aplicacioncita y mejorarla en algo.

Modelos de datos

Diciembre 24th, 2009

Independientemente del lenguaje que se vaya a usar para la implementación un buen diagrama del modelo de datos es útil en cualquier desarrollo. Viendo ese diagrama es posible hacerse una idea de la aplicación.
La herramienta que utilizo para crear el modelo, Power Architect, permite generar los scripts de creación de tablas para varias bases de datos a partir del modelo.
Aquí se puede ver el modelo con el que voy a empezar a trabajar en este proyecto.
Una vez se tienen las tablas de la base de datos existen herramientas que generan las entidades JPA de forma automática a partir de las mismas. Yo suelo generar esas entidades, las retoco para que generen los ‘id’ de forma automática y las anoto con anotaciones JAXB para que Jersey pueda hacer las transformaciones de objetos a representaciones XML/JSON y viceversa.

Entidades JPA con anotaciones JAXB y Spring, anda que no  se concentra información funcional ni nada en tan poco espacio.
En el próximo post explicaré como integrar el motor de búsqueda Hibernate Search.
Hibernate Search utiliza Apache Lucene como motor de búsqueda, una herramienta que permite hacer búsquedas profesionales sobre grandes cantidades de texto.

Firmas con el DNI electrónico

Diciembre 19th, 2009

He creado una applicación que utiliza el DNI electrónico para firmar documentos XML.
El objetivo del proyecto es crear un sistema de recogida de firmas y mostrar una manera de distribuir proyectos libres.

Por lo pronto sólo he subido la parte del cliente y todavía le falta, pero tiene cosas que pueden interesar a una persona que se dedique a esto.
Pasos a seguir para obtener un ejecutable de la aplicación a partir de los fuentes:

svn checkout http://dniesign.googlecode.com/svn/trunk/DNIeGP2P/DNIeGP2PClient
cd DNIeGP2PClient
mvn assembly:assembly

cd target
java -jar DNIeGP2PClient-1.0-SNAPSHOT-jar-with-dependencies.jar

En las sucesivas semanas iré explicando el sistema.