Team:Freiburg Software/Developer/Technologies

From 2010.igem.org

Revision as of 10:56, 26 October 2010 by Faha (Talk | contribs)

Used Technologies

SynBioWave relies on a couple of technologies that it is built upon. On this page we list them and explain which part of them we use and why.

Google Wave

The Google Wave logo

"Google Wave is a new web application for real-time communication and collaboration." is how the technology SynBioWave is made for is described on Google's website. Google wave was first introduced in 2009 and was initially said to be the heir of email, instant messaging and other forms of communication. Everything within wave is done in real type, for example text is not submitted to the wave after you press some "Send" button, but as you type. Furthermore Wave can embed all kinds of media files such as pictures, music and videos.

Wave API
One important aspect about the Wave is its extendability. Developers can build software to extend the functionalities of Google Wave. There are two kinds of extensions: Robots and Gadgets. Learn more about them on the architecture page. Robots can be written in Python or Java, Gadgets are written in Java Script. SynBioWave is written in Java so we can make use of the BioJava library.

BioJava

BioJava is an open source project that provides a Java framework for bioinformatics programs. Biojava offers methods and data structures to work with biological data easily. Many parts of SynBioWave use the BioJava library, for example to parse different file formats.

Qooxdoo

Qooxdoo is one of the leading frameworks for creating rich internet application (RIAs). RIAs are web applications which are accessed from the browser and commonly made for multi user tasks. In contrast to usual web sites, RIAs look and feel like desktop applications. Building a RIA from scratch is nearly impossible. Therefore qooxdoo provides a platform-independent development tool chain, a state-of-the-art GUI toolkit and an advanced client-server communication layer.
Because Wave's user interface is only weakly customizable, qooxdoo is a perfect candidate to extend Wave's user interface with custom toolbars, buttons, forms, context-menus and much more.