iSpecies uses web services to talk to source databases, extract data, and assemble a page for each species. The code makes extensive use of XML. Essentially, each web service returns XML in one form or another, and I use and XSL style sheets to transform the result into HTML.
NCBI provide well documented interfaces to their data. iSpecies queries NCBI using the Entrez Programming Utilities. It uses ESearch to look up a taxon name then, if the name is found, uses ESummary to get basic statistics on what NCBI holds for that taxon.
iSpecies uses Yahoo's Image Search web service to find up to five images for the query term.
This uses a Perl script I created to search Google Scholar. The script screen scrapes Google Scholar, extracts references and identifiers (such as DOIs and PubMed identifiers), then returns the results in RDF.
The PHP scripts are as self contained as possible. I developed iSpecies on an iBook running Mac OS 10.3 and PHP 4.3.10. When moving to Fedora Core 4 with PHP 5 the code for handling XSLT and XPath had to be changed. PHP 5 on the FC4 box did not have support for XML by default, so this had to be added.
yum install php-xml service httpd restart