Rss Feed, Client retrieval or Server Retrieval

I have been tasked write the technical specification for an RSS (Really Simple Syndication) feed portlet for a Liferay! This is an Agile development, so I will be producing a very small amount of documentation based on features.

Sounds easy, and it will be to build, the difficulty is deciding how.  The first consideration is:

  • Retrieving RSS feed by the Client (browser)?
  • or do I get the Server to retrieve the RSS feed?

Lets look at the pros and cons I guess.

Client

Client retrieval pros:

  • Server does not have to do the work of the retrieval, it’s farmed out to end users browsers.
  • Make use of frameworks and code already in existence for this purpose.

Client retrieval cons:

  • Multi-browser compliant code for retrieving the RSS feed and writing it to the page.
  • No caching for the html that produces the view of the feed entries, and unknown caching on the third-parties RSS Service

Server

Server retrieval pros:

  • Browser does not matter, the production of the html is completed by the server.
  • Control over caching to improve performance, and still have information to show even if the Feed is unavailable.
  • Feed anonymity, the feed source is hidden, I suppose this could be a good and bad thing!  Maybe the feed URL should be given so people can subscribe!
  • Make use of frameworks and code already in existence for this purpose.

Server retrieval cons:

  • The application server required to make communications out of the network to get the data, requires firewall configuration, and needs to be able to talk to potentially any server, so no IP/host name restrictions can be put in place

Other Considerations:

  • Where are your development teams strengths, Server-side (in this instance Java) or Client-side (javascript/jquery) - Fortunately this is a non-issue as the team I work with are proficient in both.
  • Time based?  Which will take longer?   The coding is much of a muchness me thinks, it will be the time it will take to have firewalls configured (if server-side), which just makes me lean towards the Client-side option.

There is a third option of course, use both, a combination of Ajax and Server-side retrieval, this I think is the perfect answer, but The firewall config is gonna be just to difficult for some people to swallow.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>