The implementation divides into two: the connection with the web services and the Gadget and UI implementation.
Connecting to the Web Service
Israel Railways allowed us to connect to their new journal planning application. However, because they have a firewall they asked us to connect always from the same IP. That is why we need to implement a proxy server (details above).
So the gadget will connect the proxy server and send it the trip request, the proxy will forward the request to the web server, waits until a reply is received and returns the gadget the reply in XML format (much more easier to parse than an HTML or an excel sheet). We will implement the proxy server as a Java Servlet.
Israel Railways have two web services: GetStations (which returns all the stations and details about them) and GetLuz (which returns the details of a given trip -passed as parameters-).
The User Interface
The user will have the option to set a default departure station and a default arrival station so that each time he enters iGoogle the gadget will be ready with this information. The user interface will also be in charge of doing the parsing of the web service answer.
Our gadget will be divided into 4 tabs: Search tab, Trips tab, Station tab and Prices tab.