CLOUD COMPUTING.
DESARROLLO DE APLICACIONESY
MINERÍA WEB
Programa de extensión universitariaUniversidad de Oviedo
Miguel Fernández Fernández
miguel@ThirdWay.es
http://pipes.yahoo.com/pipes/
¿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é esY! Pipes?
Editor visual de workflows
Recibe, transforma y produce datos
Keep it simple, stupid...
¿Qué esY! 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
OfficialY! Pipes blog
¿Nada nuevo bajo el sol?
Pattern-Oriented Software ArchitectureVolume 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ódulo
Entrada
Anatomía de un módulo
Entrada
Salida
Anatomía de un módulo
Entrada
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ósito
Metainformació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 deYahoo! (Locals,Answers...)
User Inputs
Proporcionados 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 deTail)
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 Badges
Envuelven 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 APLICACIONESY
MINERÍA WEB
Programa de extensión universitariaUniversidad de Oviedo
Miguel Fernández Fernández
miguel@ThirdWay.es

Yahoo! pipes