“Job?” Submission Service
All non-Java objects are in a package like net.ppdg.cjhs
// This passes a request to service. The request contains
// a CompositeJob and extra information. This call
// returns an int ID to later refer to request.
int create (CJRequest request) throws CJHException
// Check to see if composite job can run, but doesn’t
// communicate with any other service.
// Maybe should return more complex type
// FeaturesNotSupportedList checkSupportedFeatures
boolean isRequestValid(int requestID) throws CJHException
// Actually runs or executes composite job is true and if false
// it asks service to analyze the time that composite job
// will take and maybe other information and returns
// a complex info object. Actually executes resource
// broker algorthm.
CJInfo submit(int requestID, boolean simulate) throws CJHException
// Gets overall global run information. Contains list of sub job IDs.
CJRunInfo getStatus(int requestID) throws CJHException
// Gets info on particular sub job, so that overall run info doesn’t have
// to go through each sub job and get info.
CJSubJobInfo getSubJobStatus(int subJobID) throws CJHExceptin
// Need control methods???
restart / resume
// Removes all reference of composite job request on service
void destroy (int requestID) throws CJHException
1) create, submit, destroy
2) create, checkSupport, destroy
3) create, checkSupport, submit, destroy
4) create, checkSupport, estimate, destroy
5) create, estimate, destroy
6) create, checkSupport, estimate, submit, destroy