SlideShare una empresa de Scribd logo
¿Quienes Somos en
    Internet ?
  Joaquín Salvachua, Juan Quemada
data portability
     Es una idea.
DataPortability

• Es la implementación de la idea.

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

• Grupos abiertos de trabajo.
 • Google groups
• Comunicación chat via Skype
    ( persistencia)
•
Azar o Necesidad
Identidad
• Anteriormente centradas en
  corporaciones.


• Transmitimos este modelo a Internet.

• Los usuarios NO son empleados.
Esquemas centrados en
      el usuario
¿Como hacerlo?
Web Semántica y
     SOA
  Soluciones a los problemas.
No ha triunfado
Las mismas ideas:
  Web Semántica
       SOA

Implementación KISS
Microformatos
 La web semántica de pobres
REST
Uso de semántica de HTTP
Funciona
Organización
DataPortability
OpenId

• Identidad centrada en usuario.
• Soy mi url.

• Evito registros repetidos.
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.
RSS / ATOM
 ATOM-PP
OPML


• Blogrolls
• Listas de lectura.
FoaF
SIOC
APML
Microformatos

• Hcard
• Hcalendar
• Hfn
• XOXO
Web Semántica
  Semá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
Web Semántica o Microformatos
  W3C: 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
Microformatos
  Mantenidos 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
     …
Microformatos: características
 Diseñ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
Microformatos: beneficios
  Código (X)HTML mas eficiente y mantenible
  Permiten 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
Marcado (X)HTML semántico
  Semá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”
Marcas y Atributos más usados
 Marcas
  <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ántica
   Atributo “class”: clase asociada a la marca
   Atributo “id”: identificador único en el fichero
   Atributo “rel”: relación con la página enlazada
   Atributo “rev”: relación inversa con página enlazada
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=quot;hcard-Juan-Quemadaquot; class=quot;vcardquot;>
   <span class=quot;fnquot;>Juan Quemada</span>
   <div class=quot;orgquot;>UPM</div>
   <a class=quot;emailquot;
            href=quot;mailto:jquemada@dit.upm.esquot;>jquemada@dit.upm.es</a>
   <div class=quot;telquot;>+34 91 336 7331</div>
   <p style=quot;font-size:smaller;quot;>This
       <a href=quot;http://microformats.org/wiki/hcardquot;>hCard</a> created with the
       <a href=quot;http://microformats.org/code/hcard/creatorquot;> hCard creator</a>.
   </p>
 </div>
Ejemplo: iCalendar y hCalendar
   hCalendar: 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=quot;veventquot;>
  <a class=quot;urlquot; href=quot;http://www.web2con.com/quot;>http://www.web2con.com/</a>
  <span class=quot;summaryquot;>Web 2.0 Conference</span>:
  <abbr class=quot;dtstartquot; title=quot;2007-10-05quot;>October 5</abbr>-
  <abbr class=quot;dtendquot; title=quot;2007-10-20quot;>19</abbr>, at the
  <span class=quot;locationquot;>Argent Hotel, San Francisco, CA</span>
</div>
Relaciones
 Los 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=“tagquot; 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=“licensequot; href=“http://creativecommons.org/licenses/by/
    2.5/“>
  This doc is published under …..</a>
Ejercicio aplicación-4
Cambiar 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 puntos
Añ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
¿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?
¿Porque colaborar?

• Organización abierta.

• Investigación de lagunas en los distintos
  casos.
Contribuciones

• Ayudando a la traducción.
• WAKAME


• RoR plugging
¿Quereis uniros?
Coste de la calidad de la
      experiencia
SPAIN IS DIFFERENT
REST
Web humana y Web programable
 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
Servicios o Recursos
 “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, ..
Que es REST
REpresentational 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
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
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
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.
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 objetos
        https://s3.amazonaws.com/{Bucket}/
3. Objeto: posee metadato y valor
        https://s3.amazonaws.com/{Bucket}/{Objeto}


 *Bucket: disco o repositorio virtual accesible a través de HTTP
Interfaz uniforme
 Gestionar 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.
Amazon S3: Interfaz Uniforme
             GET           HEAD         PUT           DELETE
Bucket-list Lista los
             buckets de
             un usuario

Bucket       Lista los                  Crear bucket Borrar bucket
             objetos del
             bucket

Objeto       Obtener valor Obtener      Crear y/o     Borrar Objeto
             y metadato    metadato del Asignar valor
             del objeto    objeto       a objeto y
                                        metadato
Representación de los recursos
 Que 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.
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
Ejemplos
 Ejemplo 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, …
Hypermedia
Las 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.
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
Aplicación Web
 Aplicació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 cliente
 Ejemplos:
  Applets Java (los primeros)
  AJAX (Asynchronous Javascript and XML)

  Widgets
REST y AJAX


El despliegue AJAX de un servicio REST

   Son clientes en Javascript

      que invocan el servicio con el interfaz uniforme
Aplicaciones Web
     frente a
•   Necesidad de Instalar un programa.

•   Problemas de las actualizaciones




•
Widgets - Gadgets
Conclusiones
 ROA: 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
     incompletas
      RoR a discontinuado el soporte a “Big WS”

Más contenido relacionado

Destacado

Projecte volcans 6 b grup 3
Projecte volcans 6 b grup 3Projecte volcans 6 b grup 3
Projecte volcans 6 b grup 3
Merce Genís Simon
 
Seis caminhos que nos levam às tentações
Seis caminhos que nos levam às tentaçõesSeis caminhos que nos levam às tentações
Seis caminhos que nos levam às tentaçõesLuciano Garcia de Sousa
 
Monografia Jairlândia Pedagogia 2011
Monografia Jairlândia Pedagogia 2011Monografia Jairlândia Pedagogia 2011
Monografia Jairlândia Pedagogia 2011
Biblioteca Campus VII
 
Una mente, dos_cerebros
Una mente, dos_cerebrosUna mente, dos_cerebros
Una mente, dos_cerebroshuertotucu
 
Caderno atencao basica15
Caderno atencao basica15Caderno atencao basica15
Caderno atencao basica15ecilme
 
My vegan wedding by Vegetarianos Magazine in Brazil
My vegan wedding by Vegetarianos Magazine in BrazilMy vegan wedding by Vegetarianos Magazine in Brazil
My vegan wedding by Vegetarianos Magazine in Brazil
Thaisa Fernandes
 
Jingding aluminum Carports models
Jingding aluminum  Carports modelsJingding aluminum  Carports models
Jingding aluminum Carports modelsMichael Fang
 
Slides julislene
Slides   julisleneSlides   julislene
Slides julislenejulislene
 
T39 tcc estratégia de posicionamento para um empreendimento de massas semipro...
T39 tcc estratégia de posicionamento para um empreendimento de massas semipro...T39 tcc estratégia de posicionamento para um empreendimento de massas semipro...
T39 tcc estratégia de posicionamento para um empreendimento de massas semipro...DanianaSantos
 
Práticas em web 2.0: O uso da internet como ambiente virtual de aprendizagem
Práticas em web 2.0: O uso da internet como ambiente virtual de aprendizagemPráticas em web 2.0: O uso da internet como ambiente virtual de aprendizagem
Práticas em web 2.0: O uso da internet como ambiente virtual de aprendizagem
tassianeviana
 
019 acreditar-e-agir-novo
019 acreditar-e-agir-novo019 acreditar-e-agir-novo
019 acreditar-e-agir-novo
leneviana
 
E moderator vs community manager
E moderator vs community managerE moderator vs community manager
E moderator vs community manager
Departament de Justicia
 

Destacado (15)

Projecte volcans 6 b grup 3
Projecte volcans 6 b grup 3Projecte volcans 6 b grup 3
Projecte volcans 6 b grup 3
 
Pole dance
Pole dancePole dance
Pole dance
 
Seis caminhos que nos levam às tentações
Seis caminhos que nos levam às tentaçõesSeis caminhos que nos levam às tentações
Seis caminhos que nos levam às tentações
 
Monografia Jairlândia Pedagogia 2011
Monografia Jairlândia Pedagogia 2011Monografia Jairlândia Pedagogia 2011
Monografia Jairlândia Pedagogia 2011
 
Una mente, dos_cerebros
Una mente, dos_cerebrosUna mente, dos_cerebros
Una mente, dos_cerebros
 
Christina Henry Resume
Christina Henry ResumeChristina Henry Resume
Christina Henry Resume
 
Caderno atencao basica15
Caderno atencao basica15Caderno atencao basica15
Caderno atencao basica15
 
My vegan wedding by Vegetarianos Magazine in Brazil
My vegan wedding by Vegetarianos Magazine in BrazilMy vegan wedding by Vegetarianos Magazine in Brazil
My vegan wedding by Vegetarianos Magazine in Brazil
 
Jingding aluminum Carports models
Jingding aluminum  Carports modelsJingding aluminum  Carports models
Jingding aluminum Carports models
 
Slides julislene
Slides   julisleneSlides   julislene
Slides julislene
 
T39 tcc estratégia de posicionamento para um empreendimento de massas semipro...
T39 tcc estratégia de posicionamento para um empreendimento de massas semipro...T39 tcc estratégia de posicionamento para um empreendimento de massas semipro...
T39 tcc estratégia de posicionamento para um empreendimento de massas semipro...
 
Apresentação1
Apresentação1Apresentação1
Apresentação1
 
Práticas em web 2.0: O uso da internet como ambiente virtual de aprendizagem
Práticas em web 2.0: O uso da internet como ambiente virtual de aprendizagemPráticas em web 2.0: O uso da internet como ambiente virtual de aprendizagem
Práticas em web 2.0: O uso da internet como ambiente virtual de aprendizagem
 
019 acreditar-e-agir-novo
019 acreditar-e-agir-novo019 acreditar-e-agir-novo
019 acreditar-e-agir-novo
 
E moderator vs community manager
E moderator vs community managerE moderator vs community manager
E moderator vs community manager
 

Similar a Web2 Quiensomos

Desarrollo de aplicaciones con HTML5
Desarrollo de aplicaciones con HTML5 Desarrollo de aplicaciones con HTML5
Desarrollo de aplicaciones con HTML5 Gonzalo C.
 
Introdución a la web: HTTP, URL y HTML
Introdución a la web: HTTP, URL y HTMLIntrodución a la web: HTTP, URL y HTML
Introdución a la web: HTTP, URL y HTML
Joaquín Salvachúa
 
Frameworks CSS
Frameworks CSSFrameworks CSS
Frameworks CSSbetabeers
 
Introducción a los Frameworks CSS
Introducción a los Frameworks CSSIntroducción a los Frameworks CSS
Introducción a los Frameworks CSS
Luis Miguel Martín
 
HTML5 + Asp.NET
HTML5 + Asp.NETHTML5 + Asp.NET
HTML5 + Asp.NET
Mariano Sánchez
 
Aplicaciones en HTML 5: Los pilares de una Nueva Web
Aplicaciones en HTML 5: Los pilares de una Nueva WebAplicaciones en HTML 5: Los pilares de una Nueva Web
Aplicaciones en HTML 5: Los pilares de una Nueva Web
Gonzalo C.
 
Fundamentos del diseño web front end
Fundamentos del diseño web front endFundamentos del diseño web front end
Fundamentos del diseño web front end
David Hurtado
 
STRUTS (MVC e Java)
STRUTS (MVC e Java)STRUTS (MVC e Java)
STRUTS (MVC e Java)
ousli07
 
Presentacion Curso CSS
Presentacion Curso CSSPresentacion Curso CSS
Presentacion Curso CSS
Ismael Celis
 
HTML5
HTML5HTML5
HTML5
vivispato
 
Mashups Aplicaciones hacia el Enterprise 2.0
Mashups Aplicaciones hacia el Enterprise 2.0Mashups Aplicaciones hacia el Enterprise 2.0
Mashups Aplicaciones hacia el Enterprise 2.0
Esteban Saavedra
 
HTML.ppt
HTML.pptHTML.ppt
HTML.ppt
ssusera9852a
 
Presentación de html, css y javascript.
Presentación  de html, css y javascript.Presentación  de html, css y javascript.
Presentación de html, css y javascript.
CeteliInmaculada
 
Html, Css y JavaScript
Html, Css y JavaScriptHtml, Css y JavaScript
Html, Css y JavaScript
Liz Nicol Cardenas Jauregui
 
Seminario html5
Seminario html5Seminario html5
Seminario html5
UDECI
 
Lecciones aprendidas creando una red social
Lecciones aprendidas creando una red socialLecciones aprendidas creando una red social
Lecciones aprendidas creando una red social
Roberto Luis Bisbé
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
Luis Fernando Aguas Bucheli
 

Similar a Web2 Quiensomos (20)

Desarrollo de aplicaciones con HTML5
Desarrollo de aplicaciones con HTML5 Desarrollo de aplicaciones con HTML5
Desarrollo de aplicaciones con HTML5
 
Introdución a la web: HTTP, URL y HTML
Introdución a la web: HTTP, URL y HTMLIntrodución a la web: HTTP, URL y HTML
Introdución a la web: HTTP, URL y HTML
 
Frameworks CSS
Frameworks CSSFrameworks CSS
Frameworks CSS
 
Introducción a los Frameworks CSS
Introducción a los Frameworks CSSIntroducción a los Frameworks CSS
Introducción a los Frameworks CSS
 
2009 09 21 Optimizacioncodigofuente V1
2009 09 21 Optimizacioncodigofuente V12009 09 21 Optimizacioncodigofuente V1
2009 09 21 Optimizacioncodigofuente V1
 
2009 09 21 Optimizacioncodigofuente V1
2009 09 21 Optimizacioncodigofuente V12009 09 21 Optimizacioncodigofuente V1
2009 09 21 Optimizacioncodigofuente V1
 
HTML5 + Asp.NET
HTML5 + Asp.NETHTML5 + Asp.NET
HTML5 + Asp.NET
 
Aplicaciones en HTML 5: Los pilares de una Nueva Web
Aplicaciones en HTML 5: Los pilares de una Nueva WebAplicaciones en HTML 5: Los pilares de una Nueva Web
Aplicaciones en HTML 5: Los pilares de una Nueva Web
 
Fundamentos del diseño web front end
Fundamentos del diseño web front endFundamentos del diseño web front end
Fundamentos del diseño web front end
 
Moviweb
MoviwebMoviweb
Moviweb
 
STRUTS (MVC e Java)
STRUTS (MVC e Java)STRUTS (MVC e Java)
STRUTS (MVC e Java)
 
Presentacion Curso CSS
Presentacion Curso CSSPresentacion Curso CSS
Presentacion Curso CSS
 
HTML5
HTML5HTML5
HTML5
 
Mashups Aplicaciones hacia el Enterprise 2.0
Mashups Aplicaciones hacia el Enterprise 2.0Mashups Aplicaciones hacia el Enterprise 2.0
Mashups Aplicaciones hacia el Enterprise 2.0
 
HTML.ppt
HTML.pptHTML.ppt
HTML.ppt
 
Presentación de html, css y javascript.
Presentación  de html, css y javascript.Presentación  de html, css y javascript.
Presentación de html, css y javascript.
 
Html, Css y JavaScript
Html, Css y JavaScriptHtml, Css y JavaScript
Html, Css y JavaScript
 
Seminario html5
Seminario html5Seminario html5
Seminario html5
 
Lecciones aprendidas creando una red social
Lecciones aprendidas creando una red socialLecciones aprendidas creando una red social
Lecciones aprendidas creando una red social
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
 

Más de Joaquín Salvachúa

Eemov data
Eemov dataEemov data
Etica big data
Etica big dataEtica big data
Etica big data
Joaquín Salvachúa
 
FIWARE Data usage control
FIWARE Data usage controlFIWARE Data usage control
FIWARE Data usage control
Joaquín Salvachúa
 
Fiware overview3
Fiware overview3Fiware overview3
Fiware overview3
Joaquín Salvachúa
 
Fiware overview
Fiware overviewFiware overview
Fiware overview
Joaquín Salvachúa
 
Kubernetes2
Kubernetes2Kubernetes2
Kubernetes2
Joaquín Salvachúa
 
Introducción al ecosistema de React.js
Introducción al ecosistema de React.jsIntroducción al ecosistema de React.js
Introducción al ecosistema de React.js
Joaquín Salvachúa
 
FIWARE Identity Manager Exercises
FIWARE Identity Manager ExercisesFIWARE Identity Manager Exercises
FIWARE Identity Manager Exercises
Joaquín Salvachúa
 
FIware Identity Manager
FIware Identity ManagerFIware Identity Manager
FIware Identity Manager
Joaquín Salvachúa
 
Fi ware en Hack for good (#H4G)
Fi ware en Hack for good  (#H4G) Fi ware en Hack for good  (#H4G)
Fi ware en Hack for good (#H4G)
Joaquín Salvachúa
 
Id fiware upm-dit
Id fiware  upm-ditId fiware  upm-dit
Id fiware upm-dit
Joaquín Salvachúa
 
Vagrant
VagrantVagrant
Big data Jornada Fundación Ramón Areces
Big data Jornada Fundación Ramón ArecesBig data Jornada Fundación Ramón Areces
Big data Jornada Fundación Ramón ArecesJoaquín Salvachúa
 
Intro20 socioeconomia
Intro20 socioeconomiaIntro20 socioeconomia
Intro20 socioeconomia
Joaquín Salvachúa
 
Master w20 01
Master w20 01Master w20 01
Master w20 01
Joaquín Salvachúa
 
Social networks upm
Social networks upmSocial networks upm
Social networks upm
Joaquín Salvachúa
 
Identidad2
Identidad2Identidad2

Más de Joaquín Salvachúa (20)

Eemov data
Eemov dataEemov data
Eemov data
 
Etica big data
Etica big dataEtica big data
Etica big data
 
FIWARE Data usage control
FIWARE Data usage controlFIWARE Data usage control
FIWARE Data usage control
 
Fiware overview3
Fiware overview3Fiware overview3
Fiware overview3
 
Fiware overview
Fiware overviewFiware overview
Fiware overview
 
Kubernetes2
Kubernetes2Kubernetes2
Kubernetes2
 
Introducción al ecosistema de React.js
Introducción al ecosistema de React.jsIntroducción al ecosistema de React.js
Introducción al ecosistema de React.js
 
FIWARE Identity Manager Exercises
FIWARE Identity Manager ExercisesFIWARE Identity Manager Exercises
FIWARE Identity Manager Exercises
 
FIware Identity Manager
FIware Identity ManagerFIware Identity Manager
FIware Identity Manager
 
Fi ware en Hack for good (#H4G)
Fi ware en Hack for good  (#H4G) Fi ware en Hack for good  (#H4G)
Fi ware en Hack for good (#H4G)
 
Id fiware upm-dit
Id fiware  upm-ditId fiware  upm-dit
Id fiware upm-dit
 
Vagrant
VagrantVagrant
Vagrant
 
Big data Jornada Fundación Ramón Areces
Big data Jornada Fundación Ramón ArecesBig data Jornada Fundación Ramón Areces
Big data Jornada Fundación Ramón Areces
 
Intro20 socioeconomia
Intro20 socioeconomiaIntro20 socioeconomia
Intro20 socioeconomia
 
Master w20 01
Master w20 01Master w20 01
Master w20 01
 
Blogs micro
Blogs microBlogs micro
Blogs micro
 
Social networks upm
Social networks upmSocial networks upm
Social networks upm
 
Nube redes
Nube redesNube redes
Nube redes
 
Identidad2
Identidad2Identidad2
Identidad2
 
Blogs Micro
Blogs MicroBlogs Micro
Blogs Micro
 

Último

Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
SofiaCollazos
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
JuanAlvarez413513
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGATAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
arriagaanggie50
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
IsabelQuintero36
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 

Último (20)

Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGATAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 

Web2 Quiensomos

  • 1. ¿Quienes Somos en Internet ? Joaquín Salvachua, Juan Quemada
  • 2. data portability Es una idea.
  • 3. DataPortability • Es la implementación de la idea. • Necesidad de adhesiones para incrementar los trabajos que podemos realizar.
  • 4. Organización • Grupos abiertos de trabajo. • Google groups • Comunicación chat via Skype ( persistencia) •
  • 6. Identidad • Anteriormente centradas en corporaciones. • Transmitimos este modelo a Internet. • Los usuarios NO son empleados.
  • 9. Web Semántica y SOA Soluciones a los problemas.
  • 10.
  • 11.
  • 12.
  • 13.
  • 15.
  • 16. Las mismas ideas: Web Semántica SOA Implementación KISS
  • 17. Microformatos La web semántica de pobres
  • 22. OpenId • Identidad centrada en usuario. • Soy mi url. • Evito registros repetidos.
  • 23. 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.
  • 24.
  • 25.
  • 26. RSS / ATOM ATOM-PP
  • 28. FoaF
  • 29. SIOC
  • 30. APML
  • 31.
  • 33. Web Semántica Semá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
  • 34. Web Semántica o Microformatos W3C: 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
  • 35. Microformatos Mantenidos 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  …
  • 36. Microformatos: características Diseñ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
  • 37. Microformatos: beneficios Código (X)HTML mas eficiente y mantenible Permiten 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
  • 38. Marcado (X)HTML semántico Semá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”
  • 39. Marcas y Atributos más usados Marcas <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ántica Atributo “class”: clase asociada a la marca Atributo “id”: identificador único en el fichero Atributo “rel”: relación con la página enlazada Atributo “rev”: relación inversa con página enlazada
  • 40. 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=quot;hcard-Juan-Quemadaquot; class=quot;vcardquot;> <span class=quot;fnquot;>Juan Quemada</span> <div class=quot;orgquot;>UPM</div> <a class=quot;emailquot; href=quot;mailto:jquemada@dit.upm.esquot;>jquemada@dit.upm.es</a> <div class=quot;telquot;>+34 91 336 7331</div> <p style=quot;font-size:smaller;quot;>This <a href=quot;http://microformats.org/wiki/hcardquot;>hCard</a> created with the <a href=quot;http://microformats.org/code/hcard/creatorquot;> hCard creator</a>. </p> </div>
  • 41. Ejemplo: iCalendar y hCalendar hCalendar: 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=quot;veventquot;> <a class=quot;urlquot; href=quot;http://www.web2con.com/quot;>http://www.web2con.com/</a> <span class=quot;summaryquot;>Web 2.0 Conference</span>: <abbr class=quot;dtstartquot; title=quot;2007-10-05quot;>October 5</abbr>- <abbr class=quot;dtendquot; title=quot;2007-10-20quot;>19</abbr>, at the <span class=quot;locationquot;>Argent Hotel, San Francisco, CA</span> </div>
  • 42. Relaciones Los 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=“tagquot; 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=“licensequot; href=“http://creativecommons.org/licenses/by/ 2.5/“> This doc is published under …..</a>
  • 43. Ejercicio aplicación-4 Cambiar 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 puntos Añ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
  • 44. ¿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?
  • 45. ¿Porque colaborar? • Organización abierta. • Investigación de lagunas en los distintos casos.
  • 46. Contribuciones • Ayudando a la traducción. • WAKAME • RoR plugging
  • 48.
  • 49.
  • 50.
  • 51.
  • 52. Coste de la calidad de la experiencia
  • 53.
  • 54.
  • 56. REST
  • 57. Web humana y Web programable 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
  • 58.
  • 59. Servicios o Recursos “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, ..
  • 60. Que es REST REpresentational 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
  • 61. 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
  • 62. 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
  • 63. 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.
  • 64. 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 objetos https://s3.amazonaws.com/{Bucket}/ 3. Objeto: posee metadato y valor https://s3.amazonaws.com/{Bucket}/{Objeto} *Bucket: disco o repositorio virtual accesible a través de HTTP
  • 65. Interfaz uniforme Gestionar 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.
  • 66. Amazon S3: Interfaz Uniforme GET HEAD PUT DELETE Bucket-list Lista los buckets de un usuario Bucket Lista los Crear bucket Borrar bucket objetos del bucket Objeto Obtener valor Obtener Crear y/o Borrar Objeto y metadato metadato del Asignar valor del objeto objeto a objeto y metadato
  • 67. Representación de los recursos Que 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.
  • 68. 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
  • 69. Ejemplos Ejemplo 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, …
  • 70. Hypermedia Las 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.
  • 71. 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
  • 72. Aplicación Web Aplicació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 cliente Ejemplos:  Applets Java (los primeros)  AJAX (Asynchronous Javascript and XML)  Widgets
  • 73. REST y AJAX El despliegue AJAX de un servicio REST  Son clientes en Javascript  que invocan el servicio con el interfaz uniforme
  • 74. Aplicaciones Web frente a • Necesidad de Instalar un programa. • Problemas de las actualizaciones •
  • 76. Conclusiones ROA: 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 incompletas  RoR a discontinuado el soporte a “Big WS”