Approaches to Web Development for Bioinformatics

Previous  Contents  Next
References

In this section:

AJAX

AJAX (Asynchronous JavaScript and XML) is a term coined for standards based techniques that dynamically manipulate HTML pages with JavaScript using data retrieved from the HTTP server in XML format.  It is asynchronous because the user may continue to interact with the web page while the data is being retrieved in the background.  This allows for a better user experience that the traditional model of the user interacting with web page, clicking a link or submit button, and then waiting often several seconds for the page to be refreshed by the server.  AJAX has received a lot of attention because of its use on prominent sites such as Google Maps and Yahoo! Mail and the rich web user interface that can achieved, including dynamic refresh and drag-and-drop.

AJAX being used increasingly to provide more usability than this more traditional submit and wait approach.  It may be appropriate if you are developing a web site for more than a handful of users.  Reasons particular to bioinformatics that you may use AJAX are to update the user interface during a long running, computationally intensive server process or to provide users a more interactive way of exploring complex data.

Another use of AJAX is to aggregate disparate data and software tools into a portal.  Google uses this idea in their portal where a user can create their own home page by assembling their own choice of Google Gadgets.  As discussed previously, many organizations find themselves with tools written in many different back-end technologies and porting to a single platform can be prohibitively time consuming and expensive, if desirable at all (freedom to the people, I say).  AJAX principles can isolate the user interface from disparate backend technologies and be used to assemble the pieces into an integrated whole.

Google Calendar Gadget
Google Calendar Gadget: Portal Users can Assemble Gadgets like these into their own Homepage

Any server side platform can be used for developing AJAX applications.  The two keys are the introduction of methods of retrieving XML data from the server with JavaScript and the manipulation of HTML Document Object Model (DOM) also with JavaScript.  The basics of AJAX are described in the article AJAX: Getting Started36 at the Mozilla Developer Center.  A basic reference concentrating on web design is CSS, DHTML, and AJAX by Jason Cranford Teague 37.  A more advanced reference concentrating on application development is Ajax in Action by Crane, Pascarello, and James 38.  AJAX development assumes more than a casual knowledge of HTML and JavaScript.  See the article Getting Started Developing Interactive Web Interfaces for Scientific and Medical Applications on this site for an introduction to that subject.

AJAX development is typically compatible with most popular browsers.  However, one of the prerequsites for AJAX to work is Internet Explorer 5 or more recent (IE5+), Firefox, or a recent version of Opera or Safari.  For DOM manipulation you will be restricted to IE6+, Firefox, or a recent version of Opera or Safari.  In bioinformatics work this should not be an obstacle.  The book CSS, DHTML, and AJAX by Jason Cranford Teague 37 gives a good description of browser compatibility issues and strategies for dealing with them.

See the pages AJAX, HTML, and JavaScript Resourceson this site for a list of popular and user suggested online resources.


Previous  Contents  Next
References

Contributed Comments and NotesAdd a comment.

There are no user comments.

Google

Please send ideas and opinions by email at alexamies@gmail.com.

© 2006-2007 Alex Amies