En estas transparencias se muestran los principales elementos de la herramienta Yahoo! Pipes y su acceso desde lenguajes de programación como PHP.
Usado en el Curso de Extensión Universitaria Desarrollo de aplicaciones Web 2.0 con PHP en la Universidad de Oviedo.
1. Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Programación de Yahoo Pipes Elementos de
Yahoo Pipes
Tipos de
módulos
David J. Brenes Martínez Fuentes de datos
Entradas del Usuario
Operadores
Curso de Extensión Universitaria Constructores
Reutilización de
Desarrollo de aplicaciones Web 2.0 con PHP módulos
Universidad de Oviedo Yahoo! Pipes
y PHP
2008/10/31 Créditos y
Licencia
2. El Entorno
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
3. El Módulo
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
4. La conexión
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
5. Los parámetros
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
6. El depurador
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
7. El depurador
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
8. El depurador
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
9. El depurador
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
10. Los resultados
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
11. Sources
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Son las entradas de datos a Yahoo! Pipes. Elementos de
Yahoo Pipes
Obtiene datos de fuentes estructuradas (RSS, JSON, Tipos de
módulos
iCal, CSV...). Fuentes de datos
Entradas del Usuario
Permite consultar Servicios Web de manera directa. Operadores
Constructores
Reutilización de
Permite obtener HTML. módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
12. Sources
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
13. Sources
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
14. Entradas de Usuario
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Datos a proporcionar por el usuario.
Mediante un formulario (Acceso Web) Elementos de
Yahoo Pipes
Mediante un parámetro de módulo (Acceso desde
Tipos de
Pipes) módulos
Mediante URL (Acceso por programa) Fuentes de datos
Entradas del Usuario
Operadores
Diversos tipos Constructores
Reutilización de
Valores por defecto y de depuración. módulos
Yahoo! Pipes
Siempre son parámetros para otros módulos y PHP
Créditos y
Licencia
15. Entradas de Usuario
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
16. Operadores
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Realizan la mayor parte de transformaciones sobre los Yahoo Pipes
datos. Tipos de
módulos
Son el núcleo fuerte de Yahoo! Pipes. Fuentes de datos
Entradas del Usuario
Permite definir nuevas transformaciones via Servicios Operadores
Constructores
Web REST. Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
17. Count
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
Cuenta los elementos de un pipe.
18. Filter
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
Filtra elementos de acuerdo a características y PHP
Créditos y
Licencia
19. Location Extractor
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
Obtiene coordenadas geográficas relacionadas con un
elemento.
20. Regular Expression
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
Aplica expresiones regulares a atributos de un elemento del y PHP
pipe. Créditos y
Licencia
21. Rename
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
Renombra atributos de un elemento del pipe.
22. Reverse
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
Ordena de forma inversa los elementos de un pipe.
23. Sort
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
Ordena los elementos de un pipe de acuerdo a criterios.
24. Subelements
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
Selecciona subelementos de los elementos del pipe y
elimina el resto.
25. Tail
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
Muestra los últimos elementos del pipe.
26. Truncate
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
Elimina los últimos elementos del pipe.
27. Union
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Une varios pipes en uno. Créditos y
Licencia
28. Unique
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
Elimina elementos repetidos de acuerdo a ciertos criterios
de igualdad.
29. Web Service
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Consulta un servicio web enviando el Pipe en formato Créditos y
Licencia
JSON.
30. Constructores
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Permiten construir datos de distintos tipos. Tipos de
módulos
Suelen conectarse a los parámetros de otros módulos. Fuentes de datos
Entradas del Usuario
De especial importancia el Item Builder. Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
31. Item Builder
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Permite construir un nodo.
Yahoo! Pipes
Junto con el operador Union puede ayudarnos a crear y PHP
Créditos y
nuestros propios torrentes de datos. Licencia
32. My Pipes
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Nos ofrece la posibilidad de reutilizar módulos. Reutilización de
módulos
Ofrecen los datos de la ejecución del Pipe concreto. Yahoo! Pipes
y PHP
Las entradas del usuario son parámetros al uso. Créditos y
Licencia
Son similares a cualquier otro módulo.
33. Pasos
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Pasos similares a los de acceso a una capa de persistencia. Yahoo Pipes
Tipos de
módulos
Descargar los datos. Fuentes de datos
Entradas del Usuario
Parsear los resultados. Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
34. Realizando la conexión
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Problema:
Tipos de
módulos
Características propias de la red. P. ej: Proxy Fuentes de datos
Entradas del Usuario
Solución: cURL Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
35. Realizando la conexión
Programación
de Yahoo
Pipes
Conexión mediante cURL David J.
Brenes
Martínez
$conexion = curl_init();
curl_setopt($conexion, CURLOPT_RETURNTRANSFER, Elementos de
Yahoo Pipes
TRUE); Tipos de
curl_setopt($conexion, CURLOPT_HEADER, 0); módulos
Fuentes de datos
curl_setopt($conexion, CURLOPT_URL, Entradas del Usuario
Operadores
’http://pipes.yahoo.com/brenes/callforpapers’); Constructores
Reutilización de
curl_setopt($conexion, CURLOPT_PROXY, módulos
Yahoo! Pipes
’http://proxy.uniovi.es:8888’); y PHP
$resultado = curl_exec($conexion); Créditos y
Licencia
curl_close($conexion);
36. Formatos de datos
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
RSS Tipos de
módulos
JSON Fuentes de datos
Entradas del Usuario
PHP Serializado. Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
37. RSS
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Una vez obtenido: Reutilización de
módulos
Se puede parsear mediante extensiones XML Yahoo! Pipes
y PHP
(simpleXML). Créditos y
Licencia
Se puede transformar mediante XSLT.
Cómodo para operaciones de transformación.
38. JSON
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
JavaScript Object Notation Elementos de
Yahoo Pipes
Tipos de
módulos
Protocolo de Intercambio de datos ‘ligero’. Fuentes de datos
Entradas del Usuario
Integrado en PHP 5.2. Operadores
Constructores
Abundantes bibliotecas en varios lenguajes (C#, Java, Reutilización de
módulos
PHP, ASP, Python, Ruby. . . ) Yahoo! Pipes
y PHP
Créditos y
Licencia
39. JSON en PHP
Programación
de Yahoo
Pipes
David J.
Parseo de JSON en PHP Brenes
Martínez
$resultado = curl_exec($conexion);
Elementos de
... Yahoo Pipes
$items = json_decode($resultado); Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Se crea la estructura de árbol representada por JSON Operadores
Constructores
mediante arrays. Reutilización de
módulos
Funciones estándar de PHP 5.2 . Yahoo! Pipes
y PHP
Mediante casts a objetos tendremos objetos cargados, Créditos y
no arrays. Licencia
40. PHP Serializado
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Serializacón nativa de PHP. Tipos de
módulos
Más pesado que JSON y XML. Fuentes de datos
Entradas del Usuario
Soporte desconocido para otros lenguajes. Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
41. PHP Serializado
Programación
de Yahoo
Pipes
David J.
Parseo de PHP Serializado en PHP Brenes
Martínez
$resultado = curl_exec($conexion);
Elementos de
... Yahoo Pipes
$items = unserialize($resultado); Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Se crea la estructura de árbol represantada por la Operadores
Constructores
serialización. Reutilización de
módulos
Función estándar de PHP. Yahoo! Pipes
y PHP
Mediante casts a objetos tendremos objetos cargados, Créditos y
no arrays. Licencia
42. Y de aquí...
Programación
de Yahoo
Los datos han llegado a nuestra aplicación. Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
Tipos de
módulos
Fuentes de datos
Entradas del Usuario
Operadores
Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
Es hora de nuestra capa de negocio.
43. Créditos
Programación
de Yahoo
Pipes
David J.
Brenes
Martínez
Elementos de
Yahoo Pipes
La foto ‘Genius at work’ (transparencia 42) fue
Tipos de
publicada en flickr por el usuario ‘pjkproductions’ módulos
(http://www.flickr.com/photos/ Fuentes de datos
Entradas del Usuario
Operadores
pjkproductions/2867454149/) Constructores
Reutilización de
módulos
Yahoo! Pipes
y PHP
Créditos y
Licencia
44. Licencia
Programación
de Yahoo
Pipes
David J.
Brenes
Estas transparencias se publican bajo licencia Creative Martínez
Commons y se pueden redistribuir o modificar bajo las Elementos de
Yahoo Pipes
siguientes condiciones:
Tipos de
Se dé reconocimiento al autor de estas transparencias. módulos
Fuentes de datos
No se use con propósitos comerciales. Entradas del Usuario
Operadores
Constructores
Se distribuya con la misma licencia. Reutilización de
módulos
Texto de la licencia: http: Yahoo! Pipes
y PHP
//creativecommons.org/licenses/by-nc-sa/3.0/
Créditos y
Licencia