Components

Tomcat

The webapp is deployed in a Tomcat server.

Struts in the InterMine Webapp

Apache Struts is a free open-source framework for creating Java web applications. http://struts.apache.org/

Strut Tiles

Tiles is a templating system. It can be used to create a common look and feel for a web application. Tiles can also be used to create reusable view components. http://struts.apache.org/1.x/struts-tiles/

Ajax

Definition taken from http://en.wikipedia.org/wiki/Ajax_(programming):

AJAX (Asynchronous JavaScript and XML), or Ajax, is a web development technique used for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes so that the entire web page does not have to be reloaded each time the user requests a change. This is intended to increase the web page's interactivity, speed, functionality, and usability.

There are multiple Ajax frameworks available, and the one we use the most is called DWR Ajax for Java and is developed by Getahead http://getahead.org/dwr. The Java code is in the org.intermine.web.dwr package and the corresponding Javascript is in intermine/webapp/main/resources/webapp/js/imdwr.js. It is used throughout the interface, for instance for the Template Search and the List Search pages.

As a legacy, we still use Ajax from the script.aculo.us library http://script.aculo.us for some parts of the interface, such as the "inline templates" on the object details and list details page, and on the QueryBuilder. The Java code for these is located in org.intermine.web.struts.ModifyDetails and org.intermine.web.struts.QueryBuilderChange. There are plans to move this code to work with DWR.