Yahoo! pipes

Preview:

DESCRIPTION

Diapositivas correspondientes a la parte sobre construcción de Mashups con Y! Pipes del curso de extensión universitaria "Cloud Computing. Desarrollo de Aplicaciones y Minería Web", celebrado en la Escuela Universitaria de Ingeniería Informática de Oviedo

Citation preview

CLOUD COMPUTING.DESARROLLO DE APLICACIONES Y

MINERÍA WEB

Programa de extensión universitariaUniversidad de Oviedo

Miguel Fernández Fernández miguel@ThirdWay.es

¿El problema más representativo de la Web 2.0?

Datos desperdigados por la WWW

Necesidad de separar el grano de la paja

Posibilidad de mezclar diferentes fuentes de info. con nuevos propósitos

Mash-ups

¿De qué datos estamos hablando?

Generados por los usuarios

Clasificados por los usuarios

Intercambiados por las aplicaciones

¿Y qué podemos hacer con ellos?

¿Qué es Y! Pipes?

Editor visual de workflows

Recibe, transforma y produce datos

Keep it simple, stupid...

¿Qué es Y! Pipes?

Editor visual de workflows

Recibe, transforma y produce datos

Keep it simple, stupid...

…a hosted service that lets you remix feeds and create new data mashups in a visual programming environment

Official Y! Pipes blog

¿Nada nuevo bajo el sol?

Pattern-Oriented Software Architecture Volume 1: A System of Patterns - Frank Buschmann et. al

Use the Pipes and Filters architectural style to divide a larger processing task into a sequence of smaller, independent processing steps (Filters) that are connected by channels (Pipes).

Pipes and Filters

Y! Pipes en la práctica

El entorno

Canvas

Canvas

Módulos(Filters)

Canvas

Módulos(Filters)

Buscador

Canvas

Módulos(Filters)

Buscador

Debugger

Anatomía de un módulo

Anatomía de un móduloEntrada

Anatomía de un móduloEntrada

Salida

Anatomía de un móduloEntrada

Salida Parámetros

Comunicación entre módulos

Comunicación entre módulos

Paso de parámetros

Comunicación entre módulos

Paso de parámetros

Conexión

Módulos disponibles

http://pipes.yahoo.com/pipes/docs?doc=sources

Source modules Items (xML)Datos en la Web

Feed Auto-Discovery

Fetch CSV

Fetch Data

Fetch Site Feed

Feth Feed

Módulo PropósitoMetainformación feeds enlazados (link rel tags)

Obtención y Parseado de CSV

Obtención de XML o JSON (genérico)

Obtención de RSS (0.92, 1.0, 2.0), Atom...

Obtención del primer feed enlazado (link rel tag)

Flickr Obtención de imágenes (geolocalizadas) de flickr

Fetch Page Module Obtención de HTML (screen scraping)

YQL Datos de servicios de Yahoo! (Locals, Answers...)

User InputsProporcionados por el usuario

Fechas Numeros Texto URLs Geo Private

Inyectados al Pipe como parámetros GET (URL)

Valores por defecto y para depuración

Parametrizan otros módulos

Utility Modules:URL, String, Date, Location & Number

Fechas

Numeros

Texto

URL

Localización

Composición de URLs (path y parámetros)

Composición de texto

Matching y sustitución con Regexp

Traducción

Tokenizado

Composición de fechas

Formateado

Composición de datos de localización

Operaciones aritméticas simples

Operators

Count

¿Cuantos elementos produce un pipe?

Create RSS

Permite crear un RSS a partir de un Pipe cuya salida no lo es

Filter

Acepta o rechaza elementos que cumplen ciertos criterios

Location Extractor

Obtiene coordenadas geográficas relacionadas con un elemento

Regular expression

Aplica expresiones regulares a atributos de los elementos emitidos por un pipe

Rename

Renombra los elementos de un pipe

Reverse

Ordena de forma inversa los elementos de un pipe

Sort

Ordena los elementos de un pipe en función de uno o varios criterios

Sub-element

Filtra un conjunto de sub-elementos de un pipe, desechando el resto

Tail

Elimina los n-primeros elementos de un pipe

Truncate

Filtra los n-primeros elementos de un pipe, desechando el resto (Inversa de Tail)

Union

Combina los elementos de varios pipe

Unique

Elimina los elementos repetidos

Web Service

Permite enviar vía POST el resultado de un pipe en formato JSON - Sirve de mecanismo de extensión

Favorites & My Pipes

Pipes de otros usuarios que hayamos marcado

como favoritos(Clonación)

Otros pipes que podemos reutilizar

Construcción de pipes

1. ¿Que conciertos hay en una ciudad? 10’

Resultados

2. ¿De qué habla un usuario de twitter? 20’

Hashtags de un usuario de twitter

Extractor de hashtags

Resultado

Y! Pipe BadgesEnvuelven los resultados de un pipe en un elemento

consumible desde HTML

Mapa(Si hay geodata)

Lista(Con thumbnails, y

descripción si los hay)

Imagen(En forma de

slideshow *si las hay)

<div class="myClass"> <script src="http://l.yimg.com/a/i/us/pps/mapbadge_1.3.js"> { "pipe_id" : "ad5a5c0dd54b93a81b7f2c4919a64d26", "pipe_params" : {"city": "oviedo","distance":"10"}, "height" : "350px" } </script> </div>

http://pipes.yahoo.com/pipes/badgedocs

Estas transparencias se han elaborado tomando información de estas otras, cuyo autor es David J. Brenes:

http://www.slideshare.net/brenes/fundamentos-pipes

Gracias

CLOUD COMPUTING.DESARROLLO DE APLICACIONES Y

MINERÍA WEB

Programa de extensión universitariaUniversidad de Oviedo

Miguel Fernández Fernández miguel@ThirdWay.es