The rovers, which have the computing power of a laptop, are equipped with 128Mbytes of Ram and can transmit data back to Earth at 12kbps.
By analysing atmosphere, soil, and mineral samples from the Martian surface, the two rovers provide information about whether water and life were ever present on Mars.
The massive amounts of data gathered by the rovers during their 90-day missions are transmitted via satellites from Mars, processed by ground-based software, and then stored on file servers at mission control in Jet Propulsion Labs, Pasadena.
The challenge for Nasa was to present this data in a way that scientists could easily access. Over three years they have developed the collaborative information portal (CIP) to solve this problem.
The CIP allows Nasa scientists and researchers to retrieve data for analysis according to various search criteria, such as file type and which rover instrument generated the data.
But CIP is not rocket-science: it is based on a three-tier architecture, as used by thousands of businesses around the world. BEA Weblogic was selected as the application server; Java Messaging Services is providing the web services infrastructure; and Borland JBuilder was used to build Enterprise Java Beans components.
The CIP also needed to interact with back-end data stores consisting of file servers and an Oracle Metadatabase.
Ronald Mak, senior scientist at the Research Institute for Advanced Computer Science, headed the three-man team at Nasa that developed the CIP middleware. He said, "I insisted we used Java as we needed platform-independence."
Mak did consider using other middleware but Java was already being used at Nasa and he had previous experience of developing in BEA Weblogic. Also, Mak wanted to avoid being locked into proprietary Weblogic application programming interfaces. "We have tried hard to develop using public standards," he said.