MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag)...

88
MASHUP SOA en la Nube

Transcript of MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag)...

Page 1: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

MASHUPSOA en la Nube

Page 2: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 3: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 4: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Web Semántica y SOA

Soluciones a los problemas.

Page 5: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 6: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 7: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 8: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 9: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

No ha triunfado

Page 10: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 11: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Las mismas ideas:Web Semántica

SOA

Implementación KISS

Page 12: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

MicroformatosLa web semántica de pobres

Page 13: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

RESTUso de semántica de HTTP

Page 14: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Funciona

Page 15: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Microformatos

• Hcard

• Hcalendar

• Hfn

• XOXO

Page 16: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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 17: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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 18: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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 19: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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 20: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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 21: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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 22: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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 23: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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 24: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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 25: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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 26: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Rest: Restful Web Services

Page 27: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

ÍndiceREST o WSPrincipios de REST Direccionabilidad Interfaz uniforme Sin estado Representación abierta ConectadoConclusiones

Page 28: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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 programaFuerte debate entre REST y “Big” Web Services

Web humana y Web programable

Page 29: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 30: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

“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 31: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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 32: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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 33: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Principios sobre RESTRecursos Identificables (Addressability) Cualquier recurso de Internet posee un URI/URL

Interfaz de acceso uniforme Buen uso de HTTP

Gestión de tráfico con caches

Comunicación sin estado (Statelessness) Servidores escalables

Servidor no guarda estado de clientes

Representación de los recursos En formatos abiertos

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

Page 34: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Recursos de InternetRecurso: cualquier cosa en Internet que “merezca la pena ser referenciada pos si misma” Un fichero, un mapa, un libro, una foto, un video, …..

Cada recurso se identifica con un URI El URI (Permalink) dará acceso al recurso Cada nuevo URI añade valor a Internet

Utilizan formato de datos “conocido” XHTML, XML, JSON, texto ASCII, HTML, ….

Page 35: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Ejemplo: Amazon S3

Disco en red: Servicio de almacenamiento de objetos.Implementado con arquitectura Cloud Computing

Tiene 3 tipos de recursos:

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

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

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

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

Page 36: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Interfaz uniforme

Page 37: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Amazon S3: Interfaz Uniforme

GET HEAD PUT DELETEBucket-list Lista los

buckets de un usuario

Bucket (disco virtual)

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 38: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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 39: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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 40: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

EjemplosEjemplo stateful: FTP

Existe un directorio implícito de trabajo

Ejemplo statelessness: HTTP con URLs absolutasATOM-PP y ATOMGoogle Maps, Amazon S3, del.icio.us, Twitter, …

Page 41: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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

El usuario navega (No debe recordar comandos)

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 42: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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 43: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Diseño de una aplicación REST1. Figure Out the Data Set 2. Resource Design:

Split the data set into resources For each kind of resource

3. Name the resources with URIs4. Expose a subset of the uniform interface5. Design the representation(s) accepted from the client6. Design the representation(s) served to the client7. Connect Resources to Each Other

Integrate this resource into existing resources, using hypermedia links and forms8. Consider the typical course of events:

What’s Supposed to Happen?9. Consider error conditions:

What Might Go Wrong?

Page 44: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Ventajas de RESTfull HTTPSoporte universal y simple desde cualquier lenguaje y plataforma.

Escalabilidad demostrada.

Soporte para redirección, cache, diferentes representaciones, …

Integración real para comunicación B2B.

Funciona con XML, pero también con otros formatos (XHTML, JSON, ..).

Page 45: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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”

Page 46: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

RSS, ATOM and ATOM-PP

Page 47: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Publicación de contenidos Web

Page 48: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

RSS: Publicación de contenidos Web

Page 49: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

ATOM y ATOM-PP

Page 50: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Formato de Sindicación ATOM

Page 51: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Protocolo de Publicación ATOM

Page 52: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

AtomPP: Interfaz Uniforme

GET POST PUT DELETE

Service Document

Devolver servicio en XML

Indefinido Indefinido Indefinido

Category Document

Devolver categoría en XML

Indefinido Indefinido Indefinido

Collection Devolver un “Atom feed”

Crear in nuevo “member”

Indefinido Indefinido

Member Devolver “member” asociado a URI, normalmente un doc Atom entry, pero puede ser un fichero binario

Indefinido Actualizar el recurso identificado por URI

Borrar “member”

Page 53: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Twitter

Page 54: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

REST y AJAX

El despliegue AJAX de un servicio REST

Son clientes en Javascript

que invocan el servicio con el interfaz uniforme

Page 55: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Aplicaciones Web frente a

• Necesidad de Instalar un programa.

• Problemas de las actualizaciones

Page 56: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Widgets - Gadgets

Page 57: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

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”

Page 58: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

What is the cloud?

• IT as a service

• Cloud allows access to services without user technical knowledge or control of supporting infrastructure

• Best described in terms of what happened to mechanical power over 100 yrs ago

• Now computers are simple devices connected to the larger cloud

• Data processing, storage and software applications that used to run locally are now being supplied by big central computing stations. They're becoming, in essence, computing utilities.

Cloud Computing

Page 59: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

¿ Moda ?

Cluster ComputingCloud ComputingGrid Computing 

Page 60: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Soporte de la W2.0

Adapted from Kansas State

Enterprise Information Management

SOA-based Applications

Distributed Infrastructure

Web 2.0, Info Retrieval/Sharing

Content, Records, Knowledge Management

SaaS, Web Services

Cloud, Grid, Virtualization

Organizations – Professional Networks

Citizens/Individuals – Social Networks

NetworkedArchitecture

Page 61: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

Page 62: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

GFSArchitecture

Page 63: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

MapReduceFlow

Input

Map

Key, Value Key, Value …=

Map Map

Key, Value

Key, Value

Key, Value

Key, Value

Key, Value

Key, Value

Split Input into Key-Value pairs.For each K-V pair call Map.

Each Map produces new set of K-V pairs.

Reduce(K, V[ ])

Sort

Output Key, Value Key, Value …=

For each distinct key, call reduce. Produces one K-V pair for each distinct key.

Output as a set of Key Value Pairs.

Page 64: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Objetivos

• Pago por uso : Elasticidad.

• Escalabilidad instantánea (Up and Down)

• Seguridad

• Fiabilidad

• APIs (SOA)

Page 65: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 66: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 67: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Mashup

Page 68: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

MASHUP

• Un Mashup es una aplicación WEB que combina datos de más de una fuente en una sola herramienta.

Page 69: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Tecnologías

XML – Como comenzoXMLRPC – Unificación de estructurasSOAP – Define un mecanismo de transporteJSON – Funciona con los navegadores.

Page 70: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Portal Turismo

SOA SOA

Page 71: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

71

Algunas aplicciones

APIsGoogleAJAX Search API – search APIAJAX Feed API – RSS feed API

YahooPipes – mashup power tool

DapperDapper – screen scraping tool

Page 72: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 73: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 74: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

RSS

Page 75: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

75

Page 76: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 77: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Yahoo Pipes

Page 78: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 79: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

8 March13,09

Welcome to Google App Engine

Run your web applications on Google's infrastructure. Google App Engine enables developers to build web applications on the same scalable systems that power our own applications.

No assembly required.GoogleAppEngineexposesafully‐integrateddevelopmentenvironment.

It's easy to scale.GoogleAppEnginemakesiteasytodesignscalableapplicationsthatgrowfromonetomillionsofuserswithoutinfrastructureheadaches.

It's free to get started.EveryGoogleAppEngineapplicationwillhaveenoughCPU,bandwidth,andstoragetoservearound5millionmonthlypageviews.

Page 80: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Identidad en la red

• ¿Quien eres?

• ¿Quien dices que eres?

• ¿Quien dice que tu eres tu?

Page 81: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 82: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

82

Page 83: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

OpenID

Page 84: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 85: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Oauth

Page 86: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4
Page 87: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4

Ingenieros en Nubes

Page 88: MASHUP SOA en la Nube - jorferal.files.wordpress.com · Rel-tag: índice de clasificación (tag) ... haciendo click sobre las operaciones (enlaces) Existe un problema con XHTML4