
I have a pet peeve! Proxy servers and filtering gateway servers! As an academic in a OK university on the periphery of the civilised world, proxy and filtering gateway servers are something that exist, but are largely invisible to the user. Network connections just work! Bittorrent, ssh, ftp, telnet whatever. There may be throttling on some ports, and blocks of addresses may be banned, but the process is rather hidden. Writing bioinformatics software is clean and simple. Project X requires access to some data in XML format. Create a quick java script, dump into Tomcat and volia, a working XML dumper running on an obscure port of a production server!
In industry things are a little different. Companies maintain a largely healthy lockdown on the network; you are allowed to access what is identified as necessary. In my corporate environment this includes the non-blocked http pages on ports 80 and 8080. https connections on 443 work fine, and external ssh connections pose no problem. ftp is usually fine, but that is it! The reason is simple, companies need to protect IP, and the network is locked down to prevent the installation of non-approved software, and to prevent any “trojan” applications from leaking anything to the largely untrusted outside world.
Bioinformatics developers please note that connections outside of these ports is not possible. ENSEMBL is a fantastic resource and the ENSEMBL MySQL databases are a trove of mission valuable data. A database may appear on ports 3306, 3316, 5306 or 5316 depending on which version of ENSEMBL is required and whether it is required within the BioMart framework. BioMart itself has a registry, which again requires 3306, and in turn describes a collection of other servers with typically blocked ports.
In an industrial workplace to open a port is possible, but it requires paperwork. A justification as to who needs access to the resource, which ports on which server, the reason for the resource and different levels of approval. The job is actioned by an outsourced service provider and things work, but it all takes time!
If you are writing a really cool java WebStart application, deploying a BioMart, Taverna, MySQL, … resource, please consider the needs of the small (but potentially fee-paying) community who would love to evaluate your resource, but may skip the evaluation if the communication port is blocked. I could provide a long list of resources that really cannot be accessed (ArrayTrack, Chipster, BioMart, MySQL, KEGG …) but this is perhaps not fair…
A more valuable comment would be a suggestion as to how this can be avoided – subdomains are always very simple to implement on the server side, and you could consider mapping key resouces that use non-standard ports to a more standard port. If a resource looks good, then we also have our tricks that can work – the use of external servers that translate requests works, but is a hassle that no-one really needs!