Professional Documents
Culture Documents
My Poster
My Poster
PIPES
Shaden Mohammad AlIsmail
Information Technology Department, King Saud University
Riyadh, Saudi Arabia
ABSTRACT
The rapid growth of Web 2.0 content has created a high demand for making web content more reusable.
Mashup is a new type of web application that brings together several sources of data to form a unique new
combination of information.
Yahoo! Pipes is free service from Yahoo that provides a graphical user interface for building a mashup.
Keywords
Mashup, Mashup tools ,Yahoo! Pipes, Yahoo! Pipes sources, Yahoo! Pipes Operations ,Web 2.0
applications,.
1.INTRODUCTION:
This poster is motivated by the importance of building web data mashup, and we will generalize the idea of
mashups, talk specially about Yahoo Pipes, and the general method of Yahoo! Pipe working.
2.MASHUP BACKGROUND :
The rapid growth of Web 2.0 content has created a high demand for making web content more reusable.
Companies are competing to making their content available for using inside their own websites.
To help people to create mashup easily, several mashup editors have been launched, including Yahoo! Pipes,
Google Mashup, IBM’s,Smash ,Microsoft’s Popfly, and others.
2.1What is a Mashup?
“In web development, a mashup is a web application that combines data from more than one source into a
single integrated tool. The term Mashup implies easy, fast integration, frequently done by access to open
APIs and data sources”.[1]
3.YAHOO! PIPES:
Yahoo! Pipes is a web application from Yahoo! that provides a graphical user interface for building mashup
applications that aggregate web feeds, web pages, and other services, creating Webbased apps from
various sources, and publishing those apps, without needing to write code. The site works by letting users
"pipe" information from different sources and then set up rules for how that content should be modified (e.g.
filtering, counting)[1].
3.1Pipe’s history
Yahoo! Pipes was published to the public in beta on the 7 February 2007. It was created by Pasha Sadri, Ed
Ho, Jonathan Trevor, Kevin Cheng and Daniel Raffel.[1]
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies
are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy
otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission.
The First MiniConference in Web Technologies and Trends (WTT)
© 2009 Information Technology Department, CCIS, King Saud University, Riyadh, Saudi Arabia
It is described by its creators as:
“Pipes is a hosted service that lets you remix feeds and create new data mashups in a visual programming
environment. The name of the service pays tribute to Unix pipes, which let programmers do astonishingly
clever things by making it easy to chain simple utilities together on the command line”.[2]
3.2Pipe’s interface
As we know Yahoo Pipes generalize the idea of the mashup. It is providing a drag and drop editor to give
easily fetch data from any data source.
The Editor consist of three panes: Library ,Canvas, and Debugger. For more information see Figure 1.
3.2.1Library
Library is in the left hand side. It’s consist of : Sources, User Input, Operators, URI, String, Date, Location,
Number, Favorites, My Pipes, Deprecated.
3.2.2Canvas
Canvas pane in the centre, it’s the main work area. We drag and drop in to canvas.
3.2.3Debugger
The debugger is in the bottom. It allows you to see exactly what is happening in each component in your
Yahoo Pipe ,you can check if something isn’t working quite right.
4.INPUT AND OUTPUT IN YAHOO! PIPES:
In Yahoo! Pipes every module have an output ,that you can use it as input in another module by connecting
output circle with the input circle in the second module. For more information see Figure 2.
Figure 2.Yahoo! Pipes input and output method.
5.MODULE REFERENCE
5.1Source Modules
When you want to create Pipes you will need a source. Yahoo Pipes provide many modules of source. That
bring data from somewhere on the Internet and put it in your Pipe. The source modules output is item. For
more information see Figure 3.
5.1.1Fetch CSV module
“This module retrieves a source formatted in CSV (commaseparated values). Enter the URL that you want to
retrieve and set how the columns in the source are separated. You can configure how the emitted element
attributes are named by either setting them to the column names from a specified range of rows in the CSV
source or custom naming them based on your own values. Optional configurations include the ability to skip
emitting an initial 'x' number of rows.”[2] For more information see Figure 4.
The extension of URL must be “.CSV”.
Figure 4.Yahoo! Pipes fetch CSV module.
5.1.2Feed AutoDiscovery
“This module detects feed URLs that are embedded in a webpage using autodiscovery links.”[2]To add more
feeds click “+”.For more information see Figure 5.
5.1.3Fetch Feed Module
In this module you have to enter RSS, Atom, or RDF feeds [2]. If you see “?” in fetch feed module that mean
your input is invalid.
5.1.4Fetch Data Module
In this module you can access and extract data from XML and JSON (Javascript Object Notation) data
sources on the internet. This data can be converted into an RSS feed or merged with other data in your Pipe
[2].
5.1.5Fetch Page Module
In this module you can access and extract data from a web site( only HTML pages) .” This data can then be
converted into an RSS feed or merged with other data in your Pipe using the Regex module.”[2]
5.1.6Flickr Module
Flickr is a best web site for online photo management and sharing application in the world[3]. The Flickr Pipes
module lets you search for photos by keyword(one keyword or more) and geographic location(optional). and
you need to enter number of images you want your search return. For more information see Figure 6.
5.1.7Google Base Module
Google Base is a service that allows anyone to create and publish virtually any kind of information. Items can
be organized into different categories based on its content: recipes, services, jobs, travel [2,4].
Google Base module lets you search in repository of data. Start by selecting a category from a list. Next,
enter one or more keywords to drive the search. You can optionally enter a location and a proximity to it (from
1 to 20 miles). It is useful for job searches [2].
5.1.8Item Builder Module
Item builder module lets you assign a value (on the right side of the equal sign) to an attribute (on the left
side of the equal sign). With Item builder module you can create a singleitem data source by assigning
values to one or more item attributes [2]
5.1.9Yahoo! Local Module
Yahoo! Local is a service from Yahoo! that lets you search for services in a particular area.[3]
The Yahoo! Pipes module lets you build a custom pipe around this service. You give this module a search
string and a location, a location is radius between one and 20 miles. The output feed contains data beyond
what you'd expect in an RSS feed.[2]
5.1.10 Yahoo! Search Module
Yahoo! Search is a purpose internet search engine.
5.2User Input
User input modules let you feed input information into your completed Pipe when you run it. For more
information see Figure 7.
All Input Modules let you specify five values: name, prompt, position, default, debug [2].
5.2.1Data Input Module
With this module a “datetime” value can be passed by the user into your Pipe. This module can under stand
specific date format [2].
5.2.2Location Input Module
In this module, you can specify a geographic location as input to your Pipe. The location must include
addresses, latitude/longitude pairs, U.S. city and state, world city and country, and postal code [2].
5.2.3Number Input Module
This module lets the user to inter a number as input to a Pipe. Number input module connects to other
modules that can accept numeric input( Filter, Simple Math...etc)[2].
5.2.4Private Text Input Module
Use this module any time you need to add sensitive input data into your Pipe, such as password, ID [2].
5.2.5Text Input Module
Use this module any time you need to wire text input into your Pipe. Many other modules can accept text as
input [2].
5.2.6URL Input Module
“This module lets the user specify a URL used by the Pipe.”[2].
5.3Operators Modules
Use these modules to do operations on your data. For more information see Figure 8.
In this section we will talk about the most important modules .
5.3.1Count Module
Use this modules to count the items in the input feed. then it will output the number of items. The input of this
module is items, and the output is number [2].
5.3.2Filter Module
This modules filter the input on specific rule or rules. To add additional rules click on the '+'.
5.3.3Location Extractor Module
“This module analyzes text in each feed items title and description and attempts to identify addresses,
location names or popular map service URLs” [2].
5.3.4Loop Module
In loop module you insert another module inside it.”. When you connect a data feed into the top of the Loop
module, the submodule is run once for each item in the input feed”.” Loop has two options that handle what
data passes out of the Loop. The first is "emit results". If this option is selected, only data output from the sub
module is included in the output”. If "assign results to" is selected, all the data from the original input is
included in the output, and output from the submodule is assigned to a new or existing data element” [2].
5.3.5Regex Module
The Regex module modifies fields in an RSS feed. It. You can define multiple Regex rules [2].
5.3.6Rename Module
This module using to rename or copy item attributes of the input feed.[2]It’s helpful when we need output
data as RSS format.”You rename an element by creating a mapping between the original name and a new
element name” [2].
5.3.7Sort Module
This module sort the input items in ascending or descending order.
5.3.8Union Module
This module merges the separate inputs together.
5.4String Modules
These modules help manipulate and combine strings[2]. String modules consist of several modules work with
text,and another data type. The String modules :Module, Yahoo! Shortcuts Module, String Builder Module
,String Regex Module, Module, Sub String Tokenizer Module, Term Extractor Module, Translate Module.
5.5Date Modules
Date module includes two modules: Date Builder Module(“converts a text string into a datetime value”[2]) and
Date Formatter Module(“formats a datetime value”[2]). The output of these modules is datetime.
5.6Location Modules
Location Builder: This module helps convert text strings to geographic locations .The module output is
location structure [3].
5.7Number Modules
Simple math: This module using with simple mathematical operations. The input and output is number [2].
6.CONCLUSION:
In this poster, we have talk about meaning of mashup, and competing the companies to making their content
is available. Then we talk widely about Yahoo! Pipes ,and how it easy to create mashup with Pipes,and we
described the Pipe interface, input and output method, and it’s modules.
7.REFERENCES
[1] Wikipedia, the free encyclopaedia Located on the Internet at http://en.wikipedia.org. Last visited: 16
December, 2008.
[2] Yahoo! Pipes site, . Located on the Internet at http://pipes.yahoo.com/. Last visited: 16 December, 2008.
[3] Flickr, photos site. Located on the Internet at http://www.flickr.com/. Last visited: 15 December, 2008.
[4] Google, Google Base, Located on the Internet at http://www.google.com/base. Last visited: 16 December,
2008.
8.FOR FURTHER INFORMATION
please contact Shaden.KSU@Gmail.com. For more information and project can obtained at
www.webference.wordpress.com