Web2 Quiensomos

76

Click here to load reader

description

web 2.0, redes sociales, microformatos, dataportability, openid

Transcript of Web2 Quiensomos

Page 1: Web2 Quiensomos

¿Quienes Somos en Internet ?

Joaquín Salvachua, Juan Quemada

Page 2: Web2 Quiensomos

data portabilityEs una idea.

Page 3: Web2 Quiensomos

DataPortability

• Es la implementación de la idea.

• Necesidad de adhesiones para incrementar los trabajos que podemos realizar.

Page 4: Web2 Quiensomos

Organización

• Grupos abiertos de trabajo.

• Google groups

• Comunicación chat via Skype ( persistencia)

Page 5: Web2 Quiensomos

Azar o Necesidad

Page 6: Web2 Quiensomos

Identidad

• Anteriormente centradas en corporaciones.

• Transmitimos este modelo a Internet.

• Los usuarios NO son empleados.

Page 7: Web2 Quiensomos

Esquemas centrados en el usuario

Page 8: Web2 Quiensomos

¿Como hacerlo?

Page 9: Web2 Quiensomos

Web Semántica y SOA

Soluciones a los problemas.

Page 10: Web2 Quiensomos
Page 11: Web2 Quiensomos
Page 12: Web2 Quiensomos
Page 13: Web2 Quiensomos
Page 14: Web2 Quiensomos

No ha triunfado

Page 15: Web2 Quiensomos
Page 16: Web2 Quiensomos

Las mismas ideas:Web Semántica

SOA

Implementación KISS

Page 17: Web2 Quiensomos

MicroformatosLa web semántica de pobres

Page 18: Web2 Quiensomos

RESTUso de semántica de HTTP

Page 19: Web2 Quiensomos

Funciona

Page 20: Web2 Quiensomos

Organización

Page 21: Web2 Quiensomos

DataPortability

Page 22: Web2 Quiensomos

OpenId

• Identidad centrada en usuario.

• Soy mi url.

• Evito registros repetidos.

Page 23: Web2 Quiensomos

Características Open-Id

• Sistema descentralizado: Eliges quien deseas que gestione tu identidad.

• Tu identidad es un URL

• http://jsalvachua.myopenid.com

• Permite un SSO con diferentes organizaciones de forma flexible.

Page 24: Web2 Quiensomos
Page 25: Web2 Quiensomos
Page 26: Web2 Quiensomos

RSS / ATOMATOM-PP

Page 27: Web2 Quiensomos

OPML

• Blogrolls

• Listas de lectura.

Page 28: Web2 Quiensomos

FoaF

Page 29: Web2 Quiensomos

SIOC

Page 30: Web2 Quiensomos

APML

Page 31: Web2 Quiensomos
Page 32: Web2 Quiensomos

Microformatos

• Hcard

• Hcalendar

• Hfn

• XOXO

Page 33: Web2 Quiensomos

Web SemánticaSemántica: “Estudio del significado de las palabras” Sintaxis: “Estudio de las reglas de composición de las palabras”

La información Web accesible esta mayoritariamente en (X)HTML (X)HTML no puede ser procesado fácilmente por programas

(X)HTML está pensado para personas Un programa no es capaz de deducir el significado de una página Web

a partir del código (X)HTML

La Web Semántica Iniciativa para facilitar la deducción automática del significado

de los contenidos Web Añadiendo meta-datos a las páginas Web

Que definan su significado y sus propiedades

Page 34: Web2 Quiensomos

Web Semántica o MicroformatosW3C: World Wide Web Consortium Esta definiendo lenguajes “semánticos”

RDF (Resource Description Framework) Para describir propiedades semánticas de recursos Web

OWL: Web Ontology Language Para describir significado y propiedades semánticas de recursos Web

….. Son lenguajes de bastante complejidad

Microformatos Conjunto de meta-datos sencillos y abiertos

Descritos en (X)HTML semántico Basados en normas ampliamente adoptadas en Internet

Page 35: Web2 Quiensomos

MicroformatosMantenidos por un grupo de usuarios Definidos en: http://microformats.org/ Aparecen relacionadas con el mundo de los blogs Se crean a medida que se necesitan

Ejemplos hCard: Tarjeta de visita basada en vCard (RFC2426) hCalendar: Datos de reunión basada en iCalendar (RFC2445) Geo y Adr: posición y dirección XFN: Redes sociales de conocidos Rel-licence: licencia de publicación Rel-tag: índice de clasificación (tag) XMDP: XHTML Meta Data Profiles …

Page 36: Web2 Quiensomos

Microformatos: característicasDiseñados para personas primero, maquinas después

Diseñados para resolver problemas concretos

Diseños iniciales lo mas sencillos posibles

Modulares e insertables

Reusando partes de normas ampliamente aceptadas

Permitiendo y promoviendo desarrollos, contenidos y servicios descentralizados

Page 37: Web2 Quiensomos

Microformatos: beneficiosCódigo (X)HTML mas eficiente y manteniblePermiten indexación y agregación de micro-contenidos Búsquedas mas eficaces (Google, Yahoo, Technorati, …) Agregación de recomendaciones, tags, … dispersos

Interoperabilidad entre contenidos Web y aplicaciones Por ejemplo: Outlook, Agendas, Calendarios, ....

Ejemplo basado en Firefox add-on: https://addons.mozilla.org/es-ES/firefox/addon/4106

Page 38: Web2 Quiensomos

Marcado (X)HTML semánticoSemántica: “Estudio del significado de las palabras” Sintaxis: “Estudio de las reglas de composición de las palabras” Visualización: “Presentación visual de la información”

Marcado (X)HTML semántico Marcado que define la estructura de un documento

Definiendo el formato de visualización de forma independiente Por ejemplo, CSS (Cascading Style Sheets)

(X)HTML semántico Utiliza marcas estructurales existentes siempre que sea posible

Headings (<h1,..>), Lists (<ul>, <ol>, ..), Paragraphs (<p>), Citation (<cite>, <q>, <blockquote>,..), Abbreviations (<abbr>), ….

Cuando no es posible, se extiende (X)HTML utilizando Marca genérica de bloque <div> o de linea (inline) <span> Con atributos de clase “class”, identificador “id” o de relación “rel” o “rev”

Page 39: Web2 Quiensomos

Marcas y Atributos más usadosMarcas

<div>: define un bloque<span>: define un elemento de un bloque<abbr>: define una abreviatura<p>: párrafo<ul>, <ol>, <li>: listas itemizadas u ordenadas<a>: define un enlace en el cuerpo visible (body)<link>: define un enlace en la cabecera (head)

Atributos: definen la semánticaAtributo “class”: clase asociada a la marcaAtributo “id”: identificador único en el ficheroAtributo “rel”: relación con la página enlazadaAtributo “rev”: relación inversa con página enlazada

Page 40: Web2 Quiensomos

Ejemplo: vCard y hCard

hCard: Microformato para definir contactos y tarjeta de visita basados en vCard (RFC2426) Generador de hCard: http://microformats.org/code/hcard/creator

Ejemplo de hCard:

<div id="hcard-Juan-Quemada" class="vcard"> <span class="fn">Juan Quemada</span> <div class="org">UPM</div> <a class="email" href="mailto:[email protected]">[email protected]</a> <div class="tel">+34 91 336 7331</div> <p style="font-size:smaller;">This <a href="http://microformats.org/wiki/hcard">hCard</a> created with the <a href="http://microformats.org/code/hcard/creator"> hCard creator</a>. </p></div>

Page 41: Web2 Quiensomos

Ejemplo: iCalendar y hCalendarhCalendar: Microformato para definir eventos y citas basados en vCard iCalendar (RFC2445) Generador de hCalendar: http://microformats.org/code/hcalendar/creator

Ejemplo de iCalendar:BEGIN:VCALENDAR PRODID:-//XYZproduct//EN VERSION:2.0 BEGIN:VEVENT URL:http://www.web2con.com/ DTSTART:20071005 DTEND:20071020 SUMMARY:Web 2.0 Conference LOCATION:Argent Hotel\, San Francisco\, CA END:VEVENT END:VCALENDAR

Ejemplo de hCalendar:

<div class="vevent"> <a class="url" href="http://www.web2con.com/">http://www.web2con.com/</a> <span class="summary">Web 2.0 Conference</span>: <abbr class="dtstart" title="2007-10-05">October 5</abbr>- <abbr class="dtend" title="2007-10-20">19</abbr>, at the <span class="location">Argent Hotel, San Francisco, CA</span> </div>

Page 42: Web2 Quiensomos

RelacionesLos atributos “rel” y “rev” se utilizan para definir relaciones,

por ejemplo

Microformato “rel-tag”: definición de índices (tags) de una página. El URL se utiliza para permitir búsquedas adicionales de dicho índice.

<a rel=“tag" href=“http://technorati.com/tag/css“>CSS</a>

Microformato “rel-license”: definición de licencia (URL) bajo la que se publica una página.

<a rel=“license" href=“http://creativecommons.org/licenses/by/2.5/“>

This doc is published under …..</a>

Page 43: Web2 Quiensomos

Ejercicio aplicación-4Cambiar el código CSS para que la configuración del ejemplo de página Web con 2 columnas se visualice de la siguiente forma Los colores de fondo sean en tonos verdosos El ancho de la página sea de 500 puntosAñadir estos microformatos en el pie de página los índices “CSS” y “W3C” como “rel-tag” La licencia (“rel-license”) identificada por el URL:

http://creativecommons.org/licenses/by/2.5/

Visualizar la página con Firefox y el add-on “Operator” que reconoce microformatos para validar que los reconoce correctamente Operator: https://addons.mozilla.org/es-ES/firefox/addon/4106

Page 44: Web2 Quiensomos

¿Para que necesito a data portability?

• Marco que permita identificar a los usuarios que se implementan dichos estándares.

• Ayudar a la implantación.

• ¿Están muertas otras formas de estandarización?

Page 45: Web2 Quiensomos

¿Porque colaborar?

• Organización abierta.

• Investigación de lagunas en los distintos casos.

Page 46: Web2 Quiensomos

Contribuciones

• Ayudando a la traducción.

• WAKAME

• RoR plugging

Page 47: Web2 Quiensomos

¿Quereis uniros?

Page 48: Web2 Quiensomos
Page 49: Web2 Quiensomos
Page 50: Web2 Quiensomos
Page 51: Web2 Quiensomos
Page 52: Web2 Quiensomos

Coste de la calidad de la experiencia

Page 53: Web2 Quiensomos
Page 54: Web2 Quiensomos
Page 55: Web2 Quiensomos

SPAIN IS DIFFERENT

Page 56: Web2 Quiensomos

REST

Page 57: Web2 Quiensomos

Web humana Visor Web, HTTP y HTML

HTML: diseñado para leer documentos A evolucionado hacia CSS, XML, XHTML, …

Web programable API, HTTP/SOAP, XML y ………

XML: Datos procesables por programa Fuerte debate entre

REST: utilizado en los servicios reales“Big” Web Services: propuesto por W3C

A medio desarrollar

Web humana y Web programable

Page 58: Web2 Quiensomos
Page 59: Web2 Quiensomos

“Big” Web Services (W3C) SOA: Arquitectura orientada a servicios

APIs de Servicio de acceso a objetos remotos tipo RMI RMI: Remote Method Invocation

RESTful Web Services ROA: Arquitectura Orientada a Recursos

Interfaces Uniformes (métodos HTTP) APIs de acceso y gestión de recursos Web

Los recursos se representan en XML, XHTML, JSON, ..

Servicios o Recursos

Page 60: Web2 Quiensomos

Que es RESTREpresentational StateTransfer.

Arquitectura de aplicaciones Web Propuesta por Roy Fielding en su tesis doctoral (2000)

http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

Co-diseñador de HTTP y uno de los principales desarrolladores del proyecto Apache

Arquitectura desacoplada y escalable

Page 61: Web2 Quiensomos

Rest y HTTP

REST es una abstracción que puede implementarse sobre cualquier protocolo.

La mejor forma de implementarlo es sobre HTTP.

Perfectamente adaptado a HTTP Principal diferencia con SOAP

Page 62: Web2 Quiensomos

Principios sobre REST

Recursos Identificables (Addressability) Cualquier recurso de Internet posee un URI/URL

Interfaz de acceso uniforme Buen uso de HTTP

Comunicación sin estado (Statelessness) Servidores escables

Representación de los recursos En formatos abiertos

Hypermedia (Connectedness) Navegación basada en enlaces entre recursos

Page 63: Web2 Quiensomos

Identificador de recursos

Recurso: cualquier cosa en Internet que “merezca la pena ser referenciada pos si misma”

Un fichero, un mapa, un usuario, un libro, un coche, …

Cada recurso se identifica con un URI

El URI (Permalink) da acceso al recurso

Cada URI añade valor a la red.

Page 64: Web2 Quiensomos

Ejemplo: Amazon S3

Servicio de almacenamiento de objetos.

Tiene 3 tipos de recursos:

1. Bucket-list: conjunto de buckets* de un usuario https://s3.amazonaws.com/

2. Bucket en particular: repositorio de objetoshttps://s3.amazonaws.com/{Bucket}/

3. Objeto: posee metadato y valorhttps://s3.amazonaws.com/{Bucket}/{Objeto}

*Bucket: disco o repositorio virtual accesible a través de HTTP

Page 65: Web2 Quiensomos

Interfaz uniformeGestionar recursos solo con métodos HTTP: GET (leer, copia solo lectura) HEAD (cabecera) PUT (crear) POST (añadir) DELETE (eliminar)

Es el interfaz CRUD: Create, Read, Update, Delete

Posibilidad de hacer uso extensivo de Cabeceras y códigos de respuesta de HTTP

Posibilidad de optimizar mediante el uso de caches.

Page 66: Web2 Quiensomos

Amazon S3: Interfaz UniformeGET HEAD PUT DELETE

Bucket-list Lista los buckets de un usuario

Bucket Lista los objetos del bucket

Crear bucket Borrar bucket

Objeto Obtener valor y metadato del objeto

Obtener metadato del objeto

Crear y/o Asignar valor a objeto y metadato

Borrar Objeto

Page 67: Web2 Quiensomos

Representación de los recursosQue es lo que obtenemos al acceder al URI del recurso? Una representación “bien conocida” y “abierta”

Pueden utilizar varios formatos: HTML, XHTML, XML, JSON, PDF, FLASH, FLEX, ...

HTTP nos facilita el tipo (MiME) y permite negociar el formato. Habitualmente es XML.

Page 68: Web2 Quiensomos

Comunicación sin estado El servidor NO mantiene el estado de la conversación con cada cliente.

El estado esta explicito en las llamadas. Cada estado se representa con una URI

Incrementa exponencialmente la escalabilidad.

Enfoque dispara y olvida (“fire and forget”). Muy bajo acoplamiento

Page 69: Web2 Quiensomos

EjemplosEjemplo stateful: FTP

Existe un directorio implicito de trabajo HTTP stateful

URI relativo: dependencia entre accesos consecutivos

Ejemplo statelessness: HTTP con URLs absolutas ATOM-PP y ATOM Google Maps, Amazon S3, del.icio.us, …

Page 70: Web2 Quiensomos

HypermediaLas transiciones entre estados Son siempre a través de enlaces

No hay que acordarse de los comandos de memoria

Usar un servicio: similar a navegar por la Web

El servidor contiene la definición del servicio Proporciona los enlaces como parte del recurso El cliente es genérico

Modelo distribuido de fácil evolución.

Page 71: Web2 Quiensomos

Web humana y Web programable

Un servicio REST bien diseñado También puede ser utilizado con un visor Web

Los recursos se presentan en el visor Con CSS, XSLT, …..

Se usa navegando haciendo click sobre las operaciones (enlaces)

Existe un problema con XHTML4 Los formularios solo soportan GET, POST Quiza se solucione en XHTML5

Page 72: Web2 Quiensomos

Aplicación WebAplicación capaz de viajar por la red Reside en un servidor Se ejecuta en el cliente

Normalmente se invoca automáticamente al cargar la pagina HTML que la contiene

La aplicación debe ser segura Se suele ejecutar sobre un gestor de seguridad que

evita acciones peligrosas para el clienteEjemplos: Applets Java (los primeros) AJAX (Asynchronous Javascript and XML) Widgets

Page 73: Web2 Quiensomos

REST y AJAX

El despliegue AJAX de un servicio REST

Son clientes en Javascript

que invocan el servicio con el interfaz uniforme

Page 74: Web2 Quiensomos

Aplicaciones Web frente a

• Necesidad de Instalar un programa.

• Problemas de las actualizaciones

Page 75: Web2 Quiensomos

Widgets - Gadgets

Page 76: Web2 Quiensomos

ConclusionesROA: Resource Oriented Architecture REST es el protocolo para la arquitectura del mayor

sistema distribuido del mundo (la web).

Mayor adopción Adoptado casi unánimemente en el Web2.0

Google, del.icio.us, Amazon, Yahoo, …. Las normas de “Big” Web Services están todavía

incompletasRoR a discontinuado el soporte a “Big WS”