Archive for the ‘Open Source’ Category

Google Web Toolkit Applications

Monday, March 10th, 2008

GWT Apps

Las plataformas para la construcción de aplicaciones RIA aparecieron inicialmente de la mano de tecnologías como Java WebStart o MS ClickOnce, que a muy grandes rasgos lo que básicamente proporcionaban era un mecanismo de distribución/actualización de lo que seguía siendo una aplicación desktop, que eran las únicas capaces de ofrecer una experiencia de usuario razonable para aplicaciones que requirieran un GUI mínimamente complejo.
Sin embargo estas tecnologías no solucionaban el problema de como aumentar la interactividad del Web, ya si bien eran apropiadas para un entorno empresarial no lo eran tanto para un uso generalizado.
Actualmente las aplicaciones RIA se centran básicamente en aquellas capaces de ofrecen una gran experiencia de contenido multimedia mediante un plugin adicional al navegador (Adobe AIR / Java FX / MS Silverlight) y las plataformas AJAX que aprovechan al máximo las posibilidades que ofrece el propio navegador.
Dentro de estas últimas se pueden contar:

Google Web Toolkit Applications es un libro dedicado a GWT como plataforma para el desarrollo de aplicaciones AJAX y al modo de integrar GWT con el resto del Web.
El libro emplea su primera parte para describir GWT, pero no se queda en una mera enumeración de los distintos componentes/widget que proporciona GWT, sino que profundiza en temas avanzados como:

  • la forma de mejorar la presentación aplicando CSS,
  • el despliegue de aplicaciones GWT con efectividad,
  • la construcción tus propios generadores de código para GWT,
  • sin olvidar en ningún momento la necesidad de integración con otros sistemas independientemente del tipo de protocolo empleado (XML, REST, JSON/JSONP, RPC…)

En su segunda parte el libro presenta un conjunto de aplicaciones casi de “mundo real” en las que se puede ver:

  • cómo construir un interfaz del tipo netvibes como soporte DragAndDrop
  • o cómo trabajar en combinación con sistemas Comet o frameworks de Continuations

En definitiva, un libro bastante interesante para los interesados en esta tecnología que continua evolucionando muy rápidamente y que en su próxima versión GWT 1.5 incluirá soporte completo para Java 5.

PortableApps Suite

Tuesday, February 19th, 2008

PortableApps Suite en una aplicación libre que permite llevar los principales programas de ordenador con todos los favoritos, los ajustes de correo electrónico y mucho más en un dispositivo móvil (llavero USB, iPod, el disco duro portátil, etc.) para utilizarlas en cualquier ordenador con Windows.

Proporciona una plataforma abierta que funciona con cualquier hardware y es de código abierto, para ser utilizado por proveedores de hardware o desarrolladores de software.

http://www.portableapps.com/

RIFE - Continuations

Wednesday, September 12th, 2007

RIFE es uno más de los múltiples frameworks que existen para el desarrollo de aplicaciones Web sobre plataformas Java, lo que al final no se sabe si es una ventaja o un incoveniente, y que aunque ofrece una serie de características interesantes desde el punto de vista del desarrollo, sin duda lo más novedoso que RIFE aporta es el concepto de continuations.

Una continuation es un punto en el que el sistema recuerda el contexto de ejecución del proceso y es capaz de retomarlo posteriormente en ese mismo punto.
Esto es interesante porque los procesos de negocio en muchas ocasiones no son simples, sino que constan de varios pasos o etapas por las que el usuario puede ir hacia adelante o hacia atrás, normalmente con el botón BACK de navegador, lo que en ocasiones lleva a que haya que implementar mecanismos de control de flujo más o menos complejo, por no hablar del control del botón BACK desde la aplicación. Con RIFE un proceso relativamente complejo como por ejemplo el caso de un procedimiento de inscripción en un sistema se podría implementar de la siguiente forma:

public class RegistroEnServicio extends Element
{
    public void processElement()
    {
       Datos datos = null;

       // Paso 1
       Template templatePasoEnCurso = getTemplate(”paso1″);
       print(templatePasoEnCurso);
       pause(); // El control es cedido al GUI

       // Paso 2
       datos = getDatos();
       templatePasoEnCurso = getTemplate(”paso2″);
       print(templatePasoEnCurso);
       pause();

       // Paso 3
       datos = getDatos();
       templatePasoEnCurso = getTemplate(”paso3″);
       print(templatePasoEnCurso);

       pause();

       datos = getDatos();
       completarRegistro();
       templatePasoEnCurso = getTemplate(”success”);

       print(templatePasoEnCurso);

    }
}

Sí, todo el proceso es secuencial y localizado en un único punto.
Evidentemente se trata de un ejemplo muy simple, pero ilustra algunas de las características principales de las continuations:

  • La creación de aplicaciones con flujos complejos es “simple”.
  • El control del flujo se hace de forma natural y claramente visualizable.
  • El estado se maneja automáticamente.

Sin embargo, también tiene sus puntos críticos, y uno de ellos está claro que es la necesidad de almacenar los contextos de cada ejecución, aunque parece que es algo superado, sí que sería una de las cuestiones a verificar en cualquier prueba de concepto…

En cualquier caso se trata de un framework interesante y a seguir.

Powered by ScribeFire.

GWT 1.4

Tuesday, September 4th, 2007

Acaba de salir la versión 1.4 de GWT, cuatro versiones en más o menos año y medio, parece que le están prestando atención a esta herramienta.
En esta versión hay como siempre un montón de cosas nuevas pero pienso que las más importates son las siguientes:

  • Mejoras en la velocidad de compilación (traslación a JS) de un 20% a un 50%.
  • Reducción en el tamaño de las aplicaciones de hasta un 30% (y por tanto la consecuente mejora en la velocidad de descarga).
  • Desvinculación de elementos de tipo servlet del sistema de RPC.
  • …y soporte para Gears.

Powered by ScribeFire.

Comet

Wednesday, August 29th, 2007

Las aplicaciones Web siempre han seguido un modelo no conectado y sin estado, circunstancia derivada de la naturaleza del protocolo sobre el que se construían, HTTP. Como consecuencia de esto las aplicaciones solían ser muy simples, o al menos la complejidad no estaba en el interfaz, sin embargo la llegada de la Web 2.0 ha llevado a construir interfaces de usuario cada vez más complejos lo que en general tiene como consecuencia la necesidad de unas mayores necesidades de comunicación, así por ejemplo para implementar una notificación lo solíamos hacer con una simple función JavaScript asociada a un temporizador o mediante alguna de las facilidades proporcionadas por alguno de los múltiples frameworks AJAX, sin embargo aunque este modelo es eficaz no deja de ser poco eficiente, la comunicación siempre está gobernada por el cliente y por tanto, se hacen muchas más llamadas de las que serían necesarias.

Con Comet se introduce un nuevo concepto en el que la comunicación ya no está en manos únicamente del cliente, sino que el servidor tiene la capacidad de enviar un mensaje a un cliente cuando el propio servidor determine que es necesario, es decir, Comet proporciona una comunicación bidireccional entre el cliente y el servidor.

Las primeras implementaciones de Comet ya han aparecido en Tomcat 6.0 y en otro gran número de productos.

Dónde se puede ver Comet en funcionamiento?, pues por ejemplo en la integración de GoogleTalk dentro de Gmail…por cierto XMPP-Jabber.

Powered by ScribeFire.

Google Gears

Wednesday, August 22nd, 2007

Las limitaciones clásicas que han tenido de las aplicaciones web han sido fundamentalmente dos:

  • la dificultad de programar procesos complejos en el entorno proporcionado por el navegador, el JavaScript es costoso de escribir, y sobre todo de depurar.
  • la carencia en el navegador de un soporte de almacenamiento local, de modo que se estaba obligado a mantener una conexión continua con el servidor.

La primera de las limitaciones está superada actualmente con la infinidad de toolkits AJAX que se encuentran disponibles (prototype, jQuery, DWR, dojo, ZK, Yahoo YUI, Tibco General Interface…), sin embargo para la segunda, no había nada tan claro como lo es ahora Google Gears.

Google  Gears ofrece tres cosas:

  • Un repositorio local de recursos, un cache en el que almacenar elementos del tipo imágenes, PDFs, XMLs…que necesite la aplicación, y gestioando por ella no por el navegador.
  • Una base de datos SQL local.
  • Un soporte para la ejecución de tareas en background o soporte para pools de threads.

Es decir: soporte offline de verdad para aplicaciones basadas en navegador.

Si se combina esto con un entorno como el que ofrece GWT (habrá soporte casi seguro en la siguiente versión) o como Adobe AIR(Apollo)/FLEX, las posibilidades que ofrecen son sin duda muy interesantes.

Powered by ScribeFire.

Sale la nueva versión de OpenToro

Tuesday, October 17th, 2006

Recientemente ha salido el OpenToro v4.0 Beta: AJAX.

OpenToro es una herramienta que facilita y automatiza el desarrollo de aplicaciones web que acceden a bases de datos, de modo que no tengamos que escribir tanto SQL.

Además, con la inclusión de nuevas características AJAX, tendremos otros beneficios como la posibilidad de recargar combos dependientes entre sí, o la carga embebida de formularios, listados y registros (todo esto sin necesidad de recargar la página).

La versión incluye una base de datos embebida (hsqldb) y configurada para evaluar el OpenToro, de modo que nosotros no tenemos que configurar nada.

Podéis ver el funcionamiento en el siguiente video:
http://prdownloads.sourceforge.net/opentoro/OpenToro4_VideoDemo_Spanish.rar?download

SQLyog se convierte en software libre

Wednesday, September 27th, 2006

Webyog, acaba de sacar la nueva versión SQLyog Community Edition bajo licencia GPLv2, liberando así el codigo.

Como ya sabeis, SQLyog es una herramienta GUI de administración de MySQL.Las diferencias entre esta versión, y la versión Enterprise, podeis encontrarlas en http://www.webyog.com/en/sqlyog_feature_matrix.php

Así mismo, se ha creado un proyecto en http://code.google.com/p/sqlyog/

La Junta de Andalucía libera su software

Thursday, February 23rd, 2006

Según como aparece en el Mundo, la Junta de Andalucía acaba de haber público un repositorio en el que publica para su libre acceso y utilización (algunas partes, bajo determinadas condiciones) todo el software utilizado por ella, es decir, los desarrollos que contratan sus distintas consejerías.
En él se pueden encontrar aplicaciones de todo tipo, aunque evidentemente todas ellas muy enfocadas a la problemática de las administraciones públicas.

Por otro lado el consejero de Innovación también comenta el hecho de que la Junta tiene previsto seguir la pauta marcada por Noruega y el estado de Massachussetts, al exigir la utilización de formatos libres en el intercambio de información entre Administración y ciudadanos.

Sin duda en el apoyo al Software Libre tanto Andalucía como Extremadura son las comunidades que más avanzadas se encuentran .

Para el que quiera echar un ojo:
Respositorio de Software de la Junta de Andalucía y en lista de software

Firefox en la Gendarmerie Francaise

Tuesday, February 7th, 2006

Hace unos meses comentábamos la intención de la Agencia Tributaria Francesa de migrar todas sus aplicaciones de misión crítica a un entorno Open Source tomando JBoss como base para ello, ahora la Gendarmería (Policía Militarizada Francesa) ha anunciado su abandono de Internet Explorer en favor de Firefox como navegador y de ThunderBird como cliente de correo, algunas de las razones que dan para efectuar este movimiento, de nada menos que 70.000 desktops, son la mayor seguridad y sobre todo su cuplimiento de los estándares W3C, otra no menos interesante son los aproximadamente 2 millones de euros que esperan ahorrarse.
Sin duda la Administración Francesa se ha tomado el tema del Open Source en serio…

En otro orden de cosas ha aparecido una nueva estadística sobre la utilización y penetración de Firefox en Europa, que evidentemente como todas las estadísticas son opinables e interpretables, pero muestran una cierta tendencia…en Finlandia alcanza (siempre según esta estadística) un 38% y en Alemania un 30%, en general en todos los países de influencia alemana (Chequia, Eslovaquia, Eslovenia, Croacia, Hungria) consigue casi un 30%.