This xbook performs the equivalent of a GUI globus-job-run using
CoG. The layout is similar to the form xbook in that it contains
index.html and script.py. The handler class name is
GramExample and overloads both the initialize and
doSubmit methods. The doSubmit routine launches
a GRAM job, a GramJobListener, and a GassListener (to receive the job
output). Since the job request is an asynchronous call, we use a condition
to wait to be notified by the GramJobListener for job completion. Once the
job is complete, we get the output from the GassListener and exit.