table 3: syntax used in Ws-Rf job management interface, showing for each operation of table 2 the request message, destination address, and return message.

# message

1 CreateJob(job-specification)

2 GetResourcePropertyDocument()

3 GetResourceProperty(“status”)

4 setterminationtime(lifetime)

5 subscribe(condition)

6 suspend

7 Destroy

8 destroymultiple(job-description)

to Returns on success

job-factory-service Ws-resource-qualified epr to job state (job handle)

job-handle epr Xml document comprising all job state

job-handle epr Job status

job-handle epr new lifetime

job-handle epr epr to subscription

job-handle epr Acknowledgment

job-handle epr Acknowledgment

job-factory-service Acknowledgment

table 4: syntax used in Ws-transfer job management interface, showing for each operation of table 2 the request message, destination address, and return message.

to Returns on success

job-factory-service epr to job state

job-handle epr Xml document comprising all job state

job-handle epr Xml document comprising all job state, from which status can be extracted.

4 setlifetime(lifetime) job-handle epr new lifetime

5 subscribe(condition) job-handle epr epr to subscription

6 suspend job-handle epr Acknowledgment

7 Delete() job-handle epr Acknowledgment

8 deletemultiple(job-spec) job-factory-service Acknowledgment

# message

1 create(job-spec)

2 Get()

3 Get()

table 5: syntax used in Rest job management interface, showing for each operation of table 2 the request message, destination address, and return message.

Returns on success

uri(s) identifying the job(s) that have been created: e.g., http://grid.org/bloggs/ Jobs/4523

2 httP Get http://grid.org/bloggs/Jobs/4523 A representation of the state of the job, including Xlinks and semantic information

3 httP Get http://grid.org/bloggs/Jobs/4523/status A representation of the status of the job

4 httP Put exp-time http://grid.org/bloggs/Jobs/4523/lifetime Acknowledgment

5 httP Post condition http://grid.org/bloggs/Jobs/4523/subs uri identifying the new subscription

http://grid.org/bloggs/Jobs/4523/status Acknowledgment

# message

1 httP Post job-specification

to

job-factory-service (e.g., http://grid.org)

6 httP Put “suspended”

7 httP Delete

8—

http://grid.org/bloggs/Jobs/4523

Acknowledgment

that we can focus in this section on syntax and postpone discussion of the advantages or disadvantages of adopting specific “standards” (conventions) to later in this article.

WS-RF implementation. Table 3 describes a job management interface based on the WS-RF and WS-Notification specifications. Here, we use boldface type to indicate operation names that are defined in some specification associated with the approach in question. Those operations that are not in boldface are, by definition, not defined in any existing specification, and thus their syntax and semantics represent somewhat arbitrary choices, selected for illustrative purposes. We see that WS-RF and WS-Notification specifications provide five of the eight required functions.

The job handle returned upon success from operation 1 is represented as an EPR. A client receiving such a job handle can then use it as a destination for operations 2–7. Note that requests are directed to the Web service address contained in the job handle EPR, which may or may not be the job factory service. This distinction is important because it allows for a logical and/or physical separation between the job factory and job management functions.

Operation 8 is sent directly to the job factory service, which is assumed to have access to information about all active jobs. The argument could be, for example, a specification (such as an Xpath specification) identifying the jobs that are to be terminated (for example, all jobs created by Bloggs or all jobs that have exceeded their quota, and/or a list of EPRs denoting the jobs to be terminated).

WS- Transfer implementation. Table 4 describes a job management interface based on the use of the WS-Transfer and WS-Eventing specifications, which provide five of the eight required operations.

As in the WS-RF interface, the job handle returned upon success from operation 1 is represented as an EPR, and a client receiving such a job handle can then use it as a destination for operations 2–7. Note that requests are directed to the Web service address contained in the job-handle structure, which may or may not be the job-factory service.

References:

http://grid.org/bloggs/Jobs/4523

http://grid.org/bloggs/Jobs/4523/status

http://grid.org/bloggs/Jobs/4523/lifetime

http://grid.org/bloggs/Jobs/4523/subs

http://grid.org/bloggs/Jobs/4523/status

http://grid.org

http://grid.org/bloggs/Jobs/4523

http://grid.org/bloggs/Jobs/4523

http://grid.org/bloggs/Jobs/4523

Archives