SOFIA y SOFIA Community

SOFIA (además de un nombre precioso de chica) es un middleware que permite la interoperabilidad de múltiples sistemas y dispositivos.

Se trata de una plataforma semántica interoperable que permite poner información del mundo real a disposición de aplicaciones inteligentes (Internet of Things).

SOFIA es un proyecto ARTEMIS que comenzó en el 2009 en el que han intervenido varios países europeos y partners:

Seguro que os habéis fijado que entre los partners está Indra, y aunque no haya participado yo directamente si que lo han hecho algunos compañeros que me han mostrado las capacidades de SOFIA para integrar dispositivos (smart devices) en una red interoperable de una forma sencilla.

SOFIA es:

· Open-source

· Multiplataforma: disponible para Windows, Android, Linux, iOS,…

· Multilenguaje: con portings a Java, C, C++, C#, J2ME

· Agnóstico de las comunicaciones: con implementaciones TCP, Bluetooth, Zigbee,…

La Arquitectura funcional de SOFIA incluye estos elementos:

· Smart Space: un área colaborativa de dispositivos que intercambian información entre ellos

· SIB (Semantic Information Broker): es el core del Smart Space, actúa como elemento de integración de la información intercambiada por los dispositivos. Puede haber varios en un Smart Space. La información se almacena como tripletas.

· KP (Knowledge Processor): representa los elementos desplegados en el Smart Space, puede consumir y/o producir información.

· SSAP (Smart Space Access Protocol) permite la comunicación entr KPs y SIBs. Se usa para la gestión de las sesiones (join y leave) y las tripletas (insert, remove, update, query, subscribe, unsubscribe)

SOFIA también incluye herramientas visuales de desarrollo para la creación de aplicaciones de forma sencilla:

Desde enero de 2012 SOFIA ha abierto su comunidad para que cualquiera pueda participar en la evolución de SOFIA.

En breve publicarán más información sobre lo que ofrece SOFIA y cómo trabajar con este producto.

Si os apetece saber un poco más de lo que ofrece SOFIA os invito a que os registréis.

Por qué no usar Quartz Scheduler

En este post Craig Flichel estudia algunas de las deficiencias de Quartz como planificador de tareas y su producto recomendado.

Resumiendo las principales deficiencias son:

· No ofrece soporte out-of-the-box para ejecución en múltiples nodos (realmente si lo ofrece, aunque sea necesario una conexión con una base de datos)

· No ofrece UI de administración para crear y planificar tareas (cierto, aunque usando la persistencia en base de datos puedes usar Quartz Scheduler GUI)

· No ofrece monitorización ni alertas (cierto)

· Mecanismos insuficientes para tratar errores y recuperación (muy cierto)

Finalmente acaba recomendando Obsidian Scheduler que subsana todas estas deficiencias y ofrece una consola centralizada:

Enyo y WebOS

Enyo es un framework Javascript originalmente enfocado a WebOS y WebKit.

Tras el anuncio de HP de hacer open source WebOS en diciembre del 2011 la compañía ha decidido portar Enyo a todos los navegadores.

HP ha hecho open source Enyo 2.0 que ahora corre en Chrome, Safari, IE y Firefox (tanto en vrsiones móviles como PC).

HP ha detallado los siguientes pasos para WebOS:

· Sacar una release de uns distribución WebKit que soporte HTML5 (Canvas y 3D), Flash y Silverlight además de soporte multi-touch.

· Uso de kernel de Linux estándar para ampliar los dispositivos que pueden correr WebOS

· Uso de Google LevelDB como key-vale data-store (en lugar de la que usan)

· Ares 2 soportará Enyo2: Ares es un IDE sobre navegador con soporte drag&drop para desarrollar aplicaciones para WebOS

The State Of HTML5 Video

En este artículo comparan diferentes navegadores/plataformas en cuanto al soporte al vídeo en HTML5:

Soporte HTML5 y Flash:

Soporte Formatos:

Vídeo Tags:

TextExt: Plugin JQuery que da funcionalidad como autocompletado

Es un plugin de JQuery que permite ofrecer as los campos de texto funcionalidades como:

· Tags

· Autocompletado

· Carga AJAX

· Placeholder text

Podéis ver algunos ejemplos aquí.

Antipatrones Ágiles

De (link)

· Agile canchero. Es agile para la foto. Se pone la remera de Agile, pero no entiende de que viene esto…

· Agile anticristo. Está convencido de que el Agile no sirve, pero nunca lo probo. Y a los que les resulta, es por casualidad.

· Agile as a Slogan. Para vender nombra el Agile, pero puertas adentro… hay tabla.

· Agile all in one. Scrum Developer Master Owner.

· Agile Feudal. El cliente hace las estimaciones.

· Agile Soldier. La Stand Up es un reporte militar, con castigos, críticas y push-ups.

· Agile o Muerte. Todo debe salir perfecto. Si un post-it esta torcido lo endereza.

· Agile Calesita. Itera pero no avanza.

· Agile Titanic. Hundieron el barco por querer impresionar a la primera clase con la velocidad, pero paga el precio la tercera clase.

· Agile Negado. Pide opiniones pero no las escucha.

· Agile-modelismo a radio control. Quiere apretar un botón, mover la palanquita, y que todo obedezca.

· Agileban. No supo hacer andar Scrum, entonces usa Kanban y le llama Scrum para sentirse mejor.

· Agile pusilánime. No aplica Agile, porque el cliente no es Agile.

· Agile forense. Hace las retrospectivas, cuando ya es demasiado tarde.

· Agile telepático. No se comunica hasta la demo. Ni siquiera hace los criterios de aceptación.

· Agile Nike (Just-Do-It). Cree que ser Agile es simplemente hacer lo que haya que hacer.

· Agile Hero. Cree que la Fuerza es la solución a todo.

· Agile Hoyo en Uno. Si no está terminado no sirve. Es Todo o es Nada. Desconoce el proceso de aproximación.

· Agile Drugstore. Open 24hs. No dejes para mañana lo que puedes hacer a la noche.

· Agile Sheriff. El Manager solo se dedica a observar amistosamente. Sólo interviene cuando algo sale mal, de mala manera, y para encontrar los culpables.

· Agile Náufrago. Contratamos un freelancer y no nos comunicamos hasta que termina.

· Agileitis. Perfectitis. Caliditis. Arquitectitis. Testitis. O más bien conocido como “Los Medios retrasan los Fines”

· Agile Patrol. Se preocupa por la Visibilidad, pero como herramienta de control del personal.

· Agile Pulpo. 1 Manager 74 proyectos