Using SOAP as a Condor API

Download Report

Transcript Using SOAP as a Condor API

Condor and Web Services
Matthew Farrellee
Computer Sciences Department
University of Wisconsin-Madison
[email protected]
http://www.cs.wisc.edu/condor
Outline
›
›
›
›
›
›
Current “API”
What are Web Services and SOAP?
Benefits of a Condor SOAP API
Functionality and examples
State of the implementation
Future features
www.cs.wisc.edu/condor
2
Current “API”
› Use command-line tools directly
› Applications use command-line tools
via system calls
www.cs.wisc.edu/condor
3
What are web services?
› Applications accessible typically over HTTP
›
using SOAP and XML
Standards exist for
 discovery of services
 description of application interfaces (WSDL)
 communication mechanisms (RPC)
 and many other things
www.cs.wisc.edu/condor
4
What is SOAP?
› Simple Object Access Protocol
› Mechanism for doing RPC using XML
typically over HTTP
› A World Wide Web Consortium
(W3C) standard
www.cs.wisc.edu/condor
5
Benefits of a Condor SOAP
API
› Condor becomes a service
 Can be accessed with standard web service
tools
› Condor accessible from platforms where
›
its command-line tools are not supported
Talk to Condor with your favorite language
and SOAP toolkit
www.cs.wisc.edu/condor
6
Condor SOAP API in the wild
› Condor called from Business Process
Execution Language (BPEL) workflows
(LBL)
› Portal providing web interface to
Condor pools (Indiana University)
www.cs.wisc.edu/condor
7
Condor SOAP API
functionality
›
›
›
›
›
Submit jobs
Retrieve job output
Remove/hold/release jobs
Query machine status
Query job status
www.cs.wisc.edu/condor
8
Getting machine status via
SOAP
Your program
condor_collector
queryStartdAds()
Machine List
SOAP library
SOAP
over HTTP
www.cs.wisc.edu/condor
9
Getting machine status via
SOAP (in Java with Axis)
locator = new CondorCollectorLocator();
collector = locator.getcondorCollector(new
URL(“http://machine:port”));
ads = collector.queryStartdAds(“Memory>512“);
Because we give you WSDL information you don’t
have to write any of these functions.
www.cs.wisc.edu/condor
10
Submitting jobs
1.
2.
3.
4.
5.
6.
Begin transaction
Create cluster
Create job
Send files
Describe job
Commit transaction
}
•
Wash, rinse, repeat
Two phase commit for reliability
www.cs.wisc.edu/condor
11
Current implementation
› Working prototype exists
› Expected release in 6.7 series
www.cs.wisc.edu/condor
12
Future features
› Support for authenticated access
› Support for notification
› Becoming a grid service
www.cs.wisc.edu/condor
13
Questions?
www.cs.wisc.edu/condor
14