Construyendo la web social semántica

A través de un interesante post de Furilo, acabo de conocer la existencia de DiSo, un proyecto que pretende crear y promover tecnologías y estándares abiertos para la creación de una web social descentralizada. Para ello, han empezado con los microformatos y los estándares de autenticación OpenID y OAuth, desarrollando sendos plug-ins para WordPress. Aprovecho para adelantar que estoy preparando una guía para aplicar tecnologías de la web semántica (entre ellas, microformatos y OpenID) a un blog.

Al conocer la existencia del proyecto, y dado el carácter del post de Furilo, no he podido evitar una especie de “escepticismo 2.0″, ya que este proyecto pretende construir comunidades descentralizadas con las tecnologías actuales, y creo sinceramente que no tiene futuro. Por una parte, ya existen ontologías como SIOC (Semantically Interlinked Online Communities) que posibilitan (o lo intentan) la compartición de datos sobre personas a partir de distintas fuentes. Pero por otra parte, la Web Semántica parece tan lejana, y SIOC tan poco tangible para las masas, que parece necesario que alguien ponga orden a la caótica web social, demasiado obcecada con los RSS, sus lifestreaming, sus Google Friend Connect y sus gurús 2.0 aunque desde sea “su propio bando”.

Pero, repito, creo que eso no tiene futuro. Seguramente me equivoque, pero cuando digo futuro no quiero decir que no vaya a tener éxito, ni siquiera que no vaya a servir para hacer avanzar la web semántica y la descentralización de servicios. Cuando digo que no tiene futuro me refiero a que las tecnologías están abocadas a ser sustituidas por las tecnologías de la Web Semántica, y no porque este blog hable sobre web semántica, sino porque los microformatos son un invento temporal (acabarán dejando paso a RDFa). Y sobre todo, porque la web social no está aislada de “otras webs”. Si sólo trabajamos para la web social, crearemos un subconjunto quizá bien formado de servicios sociales, pero muy endogámico y ligado a servicios concretos, que es lo contrario a lo que se pretende inicialmente:

We’re building WordPress plugins [...]

¿Y cuando desaparezca WordPress, qué? Cuando (Sir) Tim Berners-Lee empezó con el rollo de la Web Semántica, no dijo “vamos a hacer estándares para taxonomías” o “vamos a hacer estándares para gestión documental”. La Web Semántica provee tecnologías para la web social, para el comercio electrónico y la administración on-line, para los fondos documentales y prácticamente cualquier otro uso que se le quiera dar a la web. Si queremos una web social semántica, por favor, que sea semántica, no sólo “interlinked”.

¿Qué hay detrás de Amazon SimpleDB?

Estos días he estado informándome sobre los Amazon Web Services, más concretamente el relativamente reciente SimpleDB, un poco por escepticismo hacia la moda del Cloud Computing, o mejor dicho, a la moda de hablar sobre el Cloud Computing (qué queréis que os diga, tampoco me parece tan novedoso el invento). El servicio es un gestor de BBDD no relacional y no orientado a objetos, situado en nosedonde, gestionado de nosequé manera (cloud computing, vamos). Este gestor de BBDD es tan sencillo de entender como que tenemos dominios y, dentro de los dominios, registros con pares propiedad-valor. Estos pares no están definidos, por lo que podemos decir que es una base de datos sin esquema, sin estructura previamente definida. Genial, parece útil para ciertos programas.

El caso es que desde hace algún tiempo estoy recopilando información sobre Oracle BerkeleyDB (Oracle compró SleepyCat, desarrolladora original), un gestor de bases de datos embebido, no relacional, no orientado a objetos, y encima Open Source. Genial, parece útil para ciertos programas. Coño, dejá vu. Y encima voy a la web de BerkeleyDB y me encuentro este case study de Julio de 2008 en el que Tim Kohn, jefe de servicios explica que BerkeleyDB es usado como caché para la gran base de datos de Amazon (como tienda, no como proveedor de servicios web), delante de un Oracle DB normal (el artículo indica el talento que tienen en Amazon).

Interesante. Buscando un poco más me encuentro con que el desarrollo de Amazon para integrar BerkeleyDB, Oracle y los demás sistemas ha evolucionado y le han llamado Dynamo. Aunque su autor empieza diciendo que:

Dynamo is not directly exposed externally as a web service; however, Dynamo and similar Amazon technologies are used to power parts of our Amazon Web Services, such as S3.

…aunque teniendo en cuenta que fue publicado hace un año, la verdad es que es bastante probable que SimpleDB sea una interfaz, o directamente instancias, de Dynamo, esa combinación de BerkeleyDB y MySQL:

[...] BDB can handle objects typically in the order of tens of kilobytes whereas MySQL can handle objects of larger sizes. Applications choose Dynamo’s local persistence engine based on their object size distribution. The majority of Dynamo’s production instances use BDB Transactional Data Store.

Conclusiones:

  • Leyendo ambos artículos uno se da cuenta de lo buenos que son los informáticos de Amazon. Normal, dado que son una de las empresas más potentes de Internet y manejan una de las Base de Datos comerciales más grandes del mundo.
  • Open Source matters, como dicen los de Joomla. Y las empresas lo saben, cada vez mejor. Y sobre todo por las malas lenguas que desprecian a MySQL como RDBMS incompleto en comparación con PostgreSQL. Soy fanático de MySQL y es cierto que es un DBMS muy sencillo, está algo verde y en algunas cosas resulta “de juguete” (sobre todo en comparación con el gigante Oracle), pero la escalabilidad y rendimiento que ofrecen lo hacen líder para Internet y entornos como los de AmazonWS.
  • En el caso de BerkeleyDB ha habido una apuesta fuerte por parte de Oracle, aunque Amazon ya la usaba antes de ser adquirida por el grande de Redwood City. Un DBMS original, sencillo, que desafía a los tradicionales RDBMS que nos enseñan en la universidad como la única solución posible. Además, existe BerkeleyDB XML, una interesante Base de Datos estructurada que emplea XQuery. Puede dar mucho que hablar en el futuro, sobre todo de cara a las BBDD semánticas.
  • El cloud computing en BBDD, como las demás tendencias 2.0 (odio esa etiqueta, la odio, la odio!!) no aporta ninguna innovación tecnológica (en este caso Dynamo ha sido un implementación para hacer posible una aplicación, pero BDB y MySQL ya existían), pero es una gran oportunidad para ahorrar costes en mantenimiento y tiempo en desarrollo.

¿Qué opinión os merece SimpleDB? ¿Y los servicios de cloud computing en general? ¿Os gustan, no os gustan, ponen en peligro vuestros empleos…?

¿Qué es la web 3.0?

Antes de afrontar tan filosófica pregunta, plantearé otra análoga: ¿qué es la web 2.0? Aunque estemos más familiarizados con este concepto (hartos de oírlo, en mi caso), es complicado definirlo, y, si bien después de varios años podemos acercarnos a una serie de características bastante evidentes, no ha habido un inventor de la web 2.0 que un día dijese: “he inventado la web 2.0 y es tal y cual”. Lo que sí hubo es quien le puso nombre, que no es lo mismo: Dale Dougherty y Craig Cline.

Algo parecido pasa con la web 3.0. Se supone que la web 3.0 será la próxima generación de la web, tras la actual 2.0. Parece de perogrullo, pero yo no tengo claro ni siquiera eso. Considerando los principios de la web 2.0 (socialización de la generación de contenidos, resumiendo muchísimo), no existe una sustitución de versiones entre la 1.0 y la 2.0, sino que se solapan y complementan. Por eso no me gusta el nombre “web 2.0″, sino más bien “web social”. Las tecnologías de la web 1.0 y la 2.0 son las mismas, no tiene sentido utilizar la nomenclatura de versiones del software, en el que hay una clara evolución y diferenciación de los factores que llevan a desarrollar una nueva versión.

Todo esto viene al hilo de que, últimamente estoy oyendo hablar mucho (más bien leyendo) de la web 3.0, pero sin hablar de la web semántica. Se habla de navegadores 3D, ubicuidad, personalización, y otros tantos conceptos que pertenecen, bien al plano de las revistas de domingueros aficionados, o bien al plano de la ciencia ficción (también propia de aficionados), o bien ya están implantados (¿acceso desde el móvil? pero si eso ya existe!). Personalmente, hasta ahora tenía claro que el concepto de web 3.0 se refería a la web semántica, pero tampoco me quedan argumentos para esa asociación. No pasa nada. Seguiré utilizando las bonitas etiquetas “web social” y “web semántica”.

Para terminar, un interesantísimo vídeo de un antropólogo sobre la web 2.0, la separación de diseño y contenido y la evolución de la web. No aporta cosas nuevas pero como síntesis o para la divulgación está realmente bien: