140 likes | 209 Views
Condor and Web Services. Outline. Current “API” What are Web Services and SOAP? Benefits of a Condor SOAP API Functionality and examples State of the implementation Future features. Current “API”. Use command-line tools directly Applications use command-line tools via system calls.
E N D
Outline • Current “API” • What are Web Services and SOAP? • Benefits of a Condor SOAP API • Functionality and examples • State of the implementation • Future features
Current “API” • Use command-line tools directly • Applications use command-line tools via system calls
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
What is SOAP? • Simple Object Access Protocol • Mechanism for doing RPC using XML • typically over HTTP • A World Wide Web Consortium (W3C) standard
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
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)
Condor SOAP API functionality • Submit jobs • Retrieve job output • Remove/hold/release jobs • Query machine status • Query job status
SOAP over HTTP Getting machine status via SOAP Your program condor_collector queryStartdAds() Machine List SOAP library
Getting machine status viaSOAP (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.
} Wash, rinse, repeat Submitting jobs • Begin transaction • Create cluster • Create job • Send files • Describe job • Commit transaction • Two phase commit for reliability
Current implementation • Working prototype exists • Expected release in 6.7 series
Future features • Support for authenticated access • Support for notification • Becoming a grid service