Title: RSS News Aggregator
1RSS News Aggregator
Advised by Gary Ridsdale Chris Watkiss
2What is RSS?
- RSS stands for Really Simple Syndication
- A XML-based file format for syndicating web
content, such as news and blogs. - RSS is not limited to news and blogs, it can be
used for anything that can be broken down into
discrete items.
3What is RSS feeds and News Aggregator?
- RSS feed is an XML file that contains information
written in the RSS format. - A News aggregator is either a web-based or
desktop application that helps users to manage
and syndicate RSS feeds.
4Versions of RSS
5A typical RSS 2.0 feed
- lt?xml version"1.0" ?gt
- - ltrss version"2.0"gt
- - ltchannelgt
- Â lttitlegtLiftoff Newslt/titlegt
- Â ltlinkgthttp//liftoff.msfc.nasa.gov/lt/linkgt
- Â ltdescriptiongtLiftoff to Space
Exploration.lt/descriptiongt - Â ltlanguagegten-uslt/languagegt
- Â ltpubDategtTue, 10 Jun 2003 040000
GMTlt/pubDategt - Â ltlastBuildDategtTue, 10 Jun 2003 094101
GMTlt/lastBuildDategt - Â ltdocsgthttp//blogs.law.harvard.edu/tech/rsslt/doc
sgt - Â ltgeneratorgtWeblog Editor 2.0lt/generatorgt
- Â ltmanagingEditorgteditor_at_example.comlt/managingEdit
orgt - Â ltwebMastergtwebmaster_at_example.comlt/webMastergt
- - ltitemgt
- Â lttitlegtStar Citylt/titlegt
- Â ltlinkgthttp//liftoff.msfc.nasa.gov/news/2003/new
s-starcity.asplt/linkgt - Â ltdescriptiongtHow do Americans get ready to work
with Russians aboard the International Space
Station? They take a crash course in culture,
language and protocol at Russia's lta
href"http//howe.iki.rssi.ru/GCTC/gctc_e.htm"gtSta
r Citylt/agt.lt/descriptiongt - Â ltpubDategtTue, 03 Jun 2003 093921
GMTlt/pubDategt - Â ltguidgthttp//liftoff.msfc.nasa.gov/2003/06/03.ht
mlitem573lt/guidgt
6System Design
7System Design User Interface
8System Design - Mediator
9System Design Multi-Threading
- Depending on the users internet connection, the
time needed for updating each RSS feed varies
significantly. - We need to allow users to interact with the
application while the application is updating RSS
feeds. - Solution use a different thread to handle RSS
updating and another thread to respond to any
changes in the GUI.
10System Design RSS Parsing
- Each tag is an object.
- Identifying tag at runtime.
11System Design RSS Parsing
if (current_tag.equals("title"))
else if(current_tag.equals("lin
k") . else if .
Class c Class.forName(tag_name)
Class parameter new ClassString.class
Method m c.getMethod(METHOD_NAME,parameter)
Object o c.newInstance() Object
argument new Object fixed m.invoke(o,argume
nt)
12System Design RSS Parsing
- Advantages of representing tags as objects
- It is easy to support further RSS format changes
if new tags are needed. - Reduce the complexity of code.
- Parse only necessary tags
- Improve performance
13System Demonstration