Design a genome browser
ZeeForge designed a "Genome Browser", intended to illustrate the transformative
impact of applying consumer technology to make leading-edge science available to
everyone everywhere. The software design challenge was to provide an end-to-end
demonstration of Hex™ in the life science domain. Hex is the
language-neutral web-based object ecology that powers the Zeetix portfolio. We
made extensive use of relevant software design patterns in both the browser and
the server.
We designed the presentation-layer interaction model, alongside the browser DOM, so that the initial set of presentation objects
are loaded from the Hex server (based on its persistent object id) and realized,
in Javascript, in the browser. We wrapped the Google Map API, hooking relevent
browser events to enable an AJAX exchange with the server in response to a
mouse click on a specific marker or its icon in the navigation tree. The html
content of the resulting "ZeeWindow" is thus collected from the server dynamically
in response to the mouse click. The object id of the marker object is passed to
the server in the AJAX exchange.
On the server, we specialized the various Hex
framework classes (written in Python), so that the html request is ultimately
handled by a renderer descendent that queries the MySql database (at runtime)
and expands a server-side template using data-model information derived from
the initial request. The resulting html is serialized (using JSON) and wrapped
in a response that is then passed back to the browser, where it is unwrapped,
expanded into the appropriate browser-side Javascript and DOM objects, and
then passed to the Google API routines that open and display the resulting window.
ZeeForge is eager to share
more information about this example. We are still preparing that information
for publication. Please use the form below to request our pre-publication
material.