Cyberinfrastructure Technology

Variety of Technologies Help Drive Our Cyberinfrastructure

(Click to enlarge) Credit: Matthew Arrott, University of California, San Diego

The OOI Cyberinfrastructure relies on a number of critical technologies, including the following…

The primary language we use is Python:

http://python.org/

Most of our programming is communications, and for that we use the Twisted component framework:

http://twistedmatrix.com/trac/

All of our communications are transported on AMQP:

http://www.amqp.org/

primarily via the RabbitMQ broker:

http://rabbitmq.com/

Magnet provides our Python-based messaging layer: http://www.oceanobservatories.org/spaces/display/CIDev/Python+Capability+Container+Magnet

which is built on top of txAMQP:

https://launchpad.net/txamqp

For version control, we use Git:

http://git-scm.com/

with administration via Gitosis:

http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way

and Gitweb:

http://git.or.cz/gitwiki/Gitweb

For source-code-based documentation, we use Doxygen:

http://www.doxygen.org/

We’re transitioning to test-driven development, using Twisted’s Trial:

http://twistedmatrix.com/trac/wiki/TwistedTrial

Automated build and test is done with Buildbot:

http://buildbot.net/

Our deployment environment is primarily EC2:

http://aws.amazon.com/ec2/

and also Nimbus:

http://workspace.globus.org/