Buscar
Social
Ofertas laborales ES
jueves
dic202007

JavaHispano Podcast - 005 - Mapeo de Objetos Relaciones (ORM)

Publicado número 5 de javahispano Podcast.

Sección de noticias: Presentado por Abraham, ECamacho y Alfredo Casado

Seccion Tertulia: Mapeo de objetos relacionales (ORM). Explicaremos que es y comentaremos algunos frameworks como Hibernate, JPA, JDO, IBatis. Presentado por Alberto Molpeceres, Sergi (Squatter), Eduardo Millan, Alfredo Casado, Ignacio Andreu y Jorge Rubira

jueves
dic202007

Desarrollando para Android

En Ars Technica tienen un interesante comentario sobre el desarrollo para Android. Ahora que ya ha pasado un tiempo y la gente realmente lo ha probado es cuando surgen algunos detalles.

El "problema" principal es no disponer de un sistema de seguimiento de errores público. Según parece los errores se envían el grupo de Google y "se espera" que alguien lo lea. También hay quejas de la documentación, que no resulta de excesiva ayuda en algunas cosas.

En la otra cara de la moneda, el plugin de Eclipse parece que gusta bastante y que integra bien Eclipse con el emulador. También gusta la capacidad de trabajar en diferentes resoluciones y orientaciones sin necesitar cambios en la aplicación.

Comentan después diversos detalles más específicos que podéis leer aquí

jueves
dic202007

Disponible una versión preview de Java 6 para Leopard

Por fin Apple ha liberado una versión (sólo para desarrolladores por lo de ahora) de Java 6 para Mac Os Leopard. Eso sí, sólo para hardware de Intel con capacidad para ejecutar aplicaciones de 64 bits. Se puede descargar desde aquí.
miércoles
dic192007

Publicada la versión 0.2 de ItsNat, Natural AJAX

"Me llena de orgullo y satisfacción" publicar la nueva versión 0.2 del framework web AJAX ItsNat.

Aparte de la corrección de algunos errores, mejoras internas y algunos cambios en la API, las aportaciones más importantes de esta versión son:

  • La licencia cambia a la versión definitiva AGPL v3 publicada por la GNU

    http://www.fsf.org/licensing/licenses/agpl-3.0.html

  • Nueva opción de "server-sent events" (eventos enviados desde el servidor): los eventos creados desde el servidor ahora también pueden ser procesados directamente por el DOM del servidor sin necesidad de navegador siguiendo el estándar W3C DOM Events incluyendo "capturing" y "bubbling". Esta característica en la línea de la filosofía "el navegador es el servidor" es única en el mundo de los frameworks web.

    El código es prácticamente idéntico al modo "con navegador" sólo que ahora no es necesario sincronizar, no hay navegador ni red, no hay nuevos hilos y los eventos al ser procesados en el servidor directamente se ejecutan muchísmo más rápido y de forma siempre síncrona (sin los problemas típicos de testear una aplicación AJAX asíncrona), lo cual introduce una nueva técnica de test funcional y de la vista (vista-servidor, la vista-cliente es un clon).

  • Aplicación de los server-sent events a la definición de bookmarks/permalinks en el Feature Showcase. Se ha añadido un ejemplo en donde se muestra cómo definir "bookmarks" en una aplicación AJAX con ItsNat con tres métodos diferentes: método directo y con los dos modos de "server-sent events". En los casos de técnicas "server-sent events" lo que se hace es simular que el usuario ha pulsado los elementos de la vista necesarios para llevar a la aplicación al estado inicial deseado.

    Los casos de los métodos directo y server-sent sin browser son adecuados para hacer una aplicación AJAX "Google friendly" pues no necesitan que se ejecute JavaScript en el cliente. En el caso del Feature Showcase, ahora Google o cualquier robot de buscador puede recorrer todo el árbol de características, incluidos "tabs", a través de los permalinks que se han añadido a todas las opciones.

  • Añadido un parámetro AJAX timeout a todos los métodos de registro de listeners, para cortar un posible request AJAX que tarda demasiado.
  • Métodos "unrender" a las interfaces renderer para liberar recursos asociados al markup antes de que se elimine. El ejemplo "Free List Compound" del Feature Showcase usa este métodp.
  • Los eventos ContinueEvent, UserEvent, TimerEvent ahora son extensiones de eventos W3C DOM, derivan de la interface W3C Event y son recibidos por listeners de tipo W3C EventListener, las interfaces específicas han sido eliminadas. Ahora también pueden ser disparados desde el servidor como los demás eventos DOM (excepto TimerEvent).
  • Ahora se detecta si ha cambiado algún template anidado, si ha cambiado los padres son recargados en cadena.
  • Se ha añadido a la web un tutorial, es básicamente el ejemplo de aplicación "core" del manual. Sirve para hacerse una idea de todo lo que se necesita para hacer una sencilla aplicación AJAX con ItsNat. Bueno, es sencilla con ItsNat, con otro tipo de tecnologías puede ser un infierno.

Link directo a la zona de descarga


Bueno en realidad no he sido yo quien ha publicado la nueva versión, la ha traído Papa Noel en cooperación con Los Reyes Magos (han creado una "joint venture").

Espero vuestros comentarios y/o sugerencias.

Feliz Navidad.

 

miércoles
dic192007

10 lecciones aprendidas de un sistema de 35K TPS

Navegando esta mañana me he encontrado con este interesante artículo que aunque no es directamente de Java, si que creo que nos interesa como programadores puesto que muestra algunas de las cosas que pasan en entornos en los que no suele trabajar todo el mundo.

Sobretodo me han "sorprendido" dos cosas que normalmente uno pensaría que en sistemas crtíticos serían algo a evitar y que en este caso se han utilizado:

  • Encapsulación de toda la lógica en la BDD en procedimientos almacenados.
  • Utilización de un esquema de BDD totalmente normalizado ya que mantener la integridad "manualmente" al final les salía más costoso en rendimiento.

Por supuesto podríamos discutir "in eternum" que haciendolo así o asá no hubiera hecho falta, que mejor con objetos, que si independencia de BDD... pero al fin y al cabo, es simplemente un ejemplo de una solución que funciona en la práctica y de la que algo podemos aprender, creo yo.

10 lessons from 35K tps

OT: Ya puestos con el tema de BDD y para no crear un tema aparte, creo que no lo merece, también aportar un enlace para la gente que programa pero que no tiene bien asentados los fundamentos sobre bases de datos. Aunque a algunos casi todo lo que hay nos parecerá obvio, a lo mejor a alguien le sirve para aprender lo que no le enseñaron formalemente y así saber los "porqués":

Blog: The Database Programmer