Monday, January 17, 2011

Extracting Movies Times from Google with Mule 3

Hey everyone, this is going to be a multipart series on what it takes to stand up a mule 3 service with the latest features to communicate with CityGrid web services and pull movie times from google and expose them using REST/JSON. To start with I am going to open up all the source code of the mule service then walk through each facet of the system over the next couple weeks. The system, affectionately named UDoin (more on the sweet name later) currently has the following features:
  • UDoin takes in a set of latitude and longitude coordinates via a REST/JSON service and retrieves restaurants, bars/clubs, movie times/theaters within a radius of the given location.
  • The coordinates are fed to CityGrid along with a few other arguments and this is where the restaurants, bars, and clubs come from. This is done using Mule's new style of multi-casting router the "All" router.
  • After results come back from CityGrid movie times for the current location and time are extracted from Google using the open source HtmlParser project and put on the UDoin response.
  • UDoin comes complete with JMX to monitor the system health in real time.
  • UDoin uses maven for dependency management and packaging to allow for seamless integration with a CI server such as Hudson.
For the next installment I'll go over the initial setup of the mule project within eclipse. In the meantime go and checkout the source code from https://subversion.assembla.com/svn/udoin/udoin-server/