Buscar
Social
Ofertas laborales ES
martes
feb232010

El Servidor Apache cumple 15 años

La fundación Apache está de fiesta, hoy 23 de febrero de 2010 se celebran los 15 años de su producto insignia: el servidor Http Apache, el más usado en el mundo con más de la mitad del mercado (de acuerdo a netcraft).

El servidor Apache nació como un fork del servidor web de la NCSA. Para organizar su desarrollo, se creó la fundación Apache. Hoy en día, es una de las organizaciones open source más importante del mundo y además del servidor web, mantienen muchos otros proyectos y en específico, muchos importantes en el mundo Java como el infaltable proyecto Jakarta, Harmony la implementación libre de la JVM, frameworks como Struts, Tapestry y Click, Open-JPA, proyectos enterprise como Apache Service Mix y un largo etcétera. 

Felicidades a la fundación por tan increíble trabajo y seguro el servidor Apache cumplirá muchos más.

martes
feb232010

Charlas gratuitas de Autentia - Mapeos en Hibernate - 24/02 - 18:30-20:30

Tras el parón navideño (y un poco más ...) vamos a recuperar las tradicionales charlas gratuitas de los Jueves en Autentia.
La sexta charla gratuita de Autentia versará sobre Mapeos en Hibernate, y será impartida por Francisco Javier Martínez Páez (fjmpaez@autentia.com), consultor senior de Autentia.

Como sabéis, Hibernate es una herramienta de Mapeo Objeto-Relacional (ORM, Object-Relational Mapping) para Java que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) o anotaciones que permiten establecer estas relaciones.

Hibernate proporciona una facilidad asombrosa para guardar y consultar objetos Java sobre una base de datos cualquiera, ofreciendo un camino seguro y lleno de facilidades para desarrollar la capa de datos rápida, tranquila y confiadamente.

Durante la charla se explicarán ciertos aspectos de Hibernate que a lo largo del tiempo hemos visto que presentan mayores dificultades a la hora de su utilización correcta:

* Mapeos de las relaciones.
* Semántica de las colecciones.
* Ciclo de vida de las entidades.
* Conceptos de transaccionalidad.


Podeís ver la noticia completa y registraros para la charla en AdictosAlTrabajo.com:

http://adictosaltrabajo.com/detalle-noticia.php?noticia=216

Gracias!!
martes
feb232010

Neo4j 1.0, una base de datos noSQL pero sí relacional que sigue una nueva filosofía

Últimamente se está comenzando a poner bastante de moda el movimiento noSQL, consistente en usar bases de datos no relacionales y por tanto no basadas en SQL. Todas estas bases de datos suelen funcionar, a grosso modo, como un gran mapa donde uno puede poner cualquier tipo de dato y recuperarlos. Las bases de datos no suelen tener esquema, con lo cual su evolución es muy fácil cuando cambia la aplicación, lo que las hace ideales para prototipado rápido y para el uso de técnicas ágiles donde se asume que todo puede estar cambiando continuamente.


Algunos ejemplos de bases de datos que siguen esta aproximación son CouchDBMongoDBMemcachedbSimpleDB...


Hace un par de semanas ha llegado un nuevo miembro al club: Neo4j. Se trata de una base de datos que no emplea SQL. Sin embargo, sí que es relacional en el sentido de que los datos se representan dentro de ella como un grafo con arcos y con propiedades que pueden estar asignadas tanto a los arcos como a los nodos. Los datos se representan en memoria realmente como grafos, y la base de datos es completamente transaccional. Aquí tenéis un ejemplo de bases de datos:

 

 


Neo4j está completamente implementada en Java. En su escenario más habitual, la base de datos corre en la misma máquina virtual que nuestra aplicación. Proporciona un API Java muy similar al API de Collections para navegar el grafo; por ejemplo, para ir saltando de un nodo a otro se emplea una especie de iterador. La base de datos, como ya he dicho, tiene un esquema; esto unido al hecho de que es código Java y está en nuestro proceso permite al compilador realizar una gran cantidad de chequeos de tipos de los datos que se introducen y extraen de la base de datos.


Sin duda, se trata de una base de datos de un propósito muy específico: sólo es recomendable cuando la información que tengas que almacenar sean grafos. Sin embargo, la ventaja que tiene es que es tremendamente eficiente para esta información. Según los creadores, puede emplearse para almacenar hasta 12.000 millones de nodos, y es posible ejecutar consultas que requieran recorrer hasta 2000 nodos en un solo segundo (imaginaos el coste de una consulta SQL que realizarse 2000 saltos de nodos en una base de datos relacional a base de hacer joins).


Neo4j es el resultado de 10 años de desarrollo una compañía que en su día chocó de frente contra un inmenso muro al intentar almacenar grafos complejos en bases de datos relacionales. Internamente, la base de datos lleva empleándose mucho tiempo en producción. Sin embargo, acaban de liberar la versión 1.0 ya que hasta ahora no sentían que se pudiesen comprometer con un API.


Neo4j es opensource, y se distribuye bajo licencia AGPL 3. Por tanto, el código que la use también tiene que ser libre. Para soluciones propietarias, existe una licencia comercial (por la que hay que pagar). Este es un buen sitio para comenzar a jugar con la base de datos.

lunes
feb222010

Oracle debe recuperar las piezas aprovechables del monstruo de JavaFX.

Es la opinión de Matt Stephens publicada en The Register y entre sus principales argumentos destaco los siguientes.

  • Desde su lanzamiento hace 3 años la única implementación de relevancia de esta tecnología fue el medallero de las olimpiadas en Vancouver. E incluso este hito defraudo mas que otra cosa.
  • It's all flashing lights and bold headlines, as if the marketing team are standing around Frankenstein's corpse sending shockwaves of electricity into it and insisting: "Look! Look! It lives! No, really, it does!" (No se como traducirlo sin restarle merito a estas palabras)
  • JavaFX es una tecnología que llego demasiado tarde y ofreciendo demasiado poco.
  • Los pocos elementos destacables en JavaFX, como es el caso de MediaBox no esta a la altura de sus competidores (concretamente el Flash players.)
  • JavaFX carece de un soporte para diseñadores, utilidades, documentación y ejemplos, que estén a la altura de sus competidores.
  • Y finalmente según Matt Stephens solo en Londres y en el termino de una semana se han publicado 60 anuncios buscando desarrolladores para Swing y 0 para Java FX. Lo que indica el interés del mercado en esta tecnología

A las palabras de Matt Stephens, yo me permito agregar las siguientes.

  • Swing no solamente es una tecnología madura, estable y que forma parte del JDK, sino que “y quizás lo mas importante” esta liberada, o al menos la mayor parte de ella.
  • No existen implementaciones de Java FX  por parte de otros fabricantes que no sea SUN/Oracle, pero si de Swing.
  • No esta del todo claro hasta que punto será posible construir herramientas de terceros (componentes, AIP’s, framework´s) para esta tecnología o cual será la postura de Oracle hacia las comunidades Open Source.

¿Que opináis vosotros al respecto?

lunes
feb222010

Los 25 errores de programación más comunes

Como resultado de un proyecto conjunto entre varias instituciones y empresas MITRE ha publicado un informe con los 25 errores de programación más comunes. La lista está liderada por los sospechosos más habituales: Cross-site Scripting (1), SQL Injection (2), Buffer Overflow (3) y Cross-Site Request Forgery (4).


Para cada uno de estos errores proporciona un informe indicando cuál es su prevalencia, como del frecuente es usado como vector de ataque, como de fáciles de detectar... así como una descripción detallada de en qué consiste el problema y cómo solucionarlo. Incluso proporcionan ejemplos de código que producen el error, y explican métodos para su detección.


Aquí tenéis un ejemplo de la información que proporcionan para el primero de la lista (Cross-site Scripting).


La información está disponible en formato HTML y en un documento PDF. Sin duda, un recurso muy interesante para todos los programadores.