TAP Implementation Issues: Final Comment: TAP and UWS, sync and async
Petr Skoda
skoda at sunstel.asu.cas.cz
Fri Nov 6 14:51:04 PST 2009
Hello all !
I have been following the discussion about the UWS for several weeks.
In fact RESTFull UWS is the core of our application called VO-KOREL, which
I will show during the GWS cloud session.
As you may remember since last interop we started with some php
application using GET and question marks for controlling. Now it is in
RESTFull way and we tried to follow the UWS 1.0 although some issues are
very specific and maybe not following standard closely.
We wanted to do things in a user friendly manner so there issues like http
refresh needed on page with jobs and some direct creating of job and run
in one step (which in fact uses two step - create job and put in queue.
It runs automatically if it is possible) Its a some ballance between how
it should behave for user and what is logical for server interaction.
> UWS becomes a service definition, not an access protocol.
So this is exactly our case - we are providing some service using specific
parameters and giving specific results (we have to provide number of
outputs like ...jobs/job_number/results/filename. We have even embedded
picture on page results.) The core is just computation - no VO DAL
protocol is used. In the future the another service will use DAL to get
spectra and produce KOREl specific parameter file - thus a
"scientific cloud" .
> If I think of things this way, then I can implement UWS completely
> independently of the underlying application. Indeed the binding to the
> underlying application could be dynamic: I can provide a UWS layer over any
> number of distinct synchronous applications.
In our case all jobs are asynchronous as it runs computing job and even
if it returns quickly we have to put it in the queue and run if the
certain conditions (memory, number of jobs, processor load ..) are
fulfiled.
It is in fact layer over the basic number crunching program (Fourier
disentangling) which allows to run several of them by different users,
rerun the jobs (with different parameters) aborting, deleting etc ... The
POST for changing state (and run it using PHASE=RUN) seems to be very
logical and flexible
I would, however suggest to prolong the RFC period for UWS as some issues
of UWS 1.0 should be still discussed in more detail (e.g. the results
list, error responses in critical states etc ... the estimate of runtime,
date when the job is killed etc ).
As the good understanding of UWS is probably crucial for further work of
VO I would suggest its authors to concentrate on it during the grid
sessions and allow some discussion about their intentions (e.g. the quote,
descruction, executionduration) as the example on astrogrid sets these in
a strange way - its a question of their real necessity.
BTW
I have chacked the reference UWS at astrogrid.jb.man.ac.uk:8080 and it
seems not strictly follow UWS1.0 - e.g. the quote does not work,
parameters show the same as whole job description - that means
jobs/id/parameters is the same as /jobs/id,
then bugs with end slash:
the root/jobs/ returns error not jobs list
root/jobs returns correctly
however root/jobs/id and root/jobs/id/ gives the same job detail
These are subtle details however - probably small bugs.
Petr Skoda
*************************************************************************
* Petr Skoda Phone : +420-323-649201, ext. 361 *
* Stellar Department +420-323-620361 *
* Astronomical Institute AS CR Fax : +420-323-620250 *
* 251 65 Ondrejov e-mail: skoda at sunstel.asu.cas.cz *
* Czech Republic *
*************************************************************************
More information about the grid
mailing list