CDDLM on HP SmartFrog Middleware Workshop Service: CDDLM • Distributed Deployment Framework HPL implementation of GGF CDDLM WG – http://smartfrog.org/ (and SourceForge CVS) – License: LGPL – Support: email + bug tracking • proposed component model will use relevant parts of WS-RF (Static Resource Allocation/Pre-Allocated Resource) 1.Job Submission Job Management 2. Resource Request CDDLM I/F 5. Allocated Resource Resource Allocation (Candidate Set Gen.) 3. Resource Brokering 6. Deployment Request 9. Rtrn Status CDDLM 7. Transfer files and Initiate Local Program 8. Return machine job ID 4. Allocated Resource Local Resource Management Resources Wrapper (Container) Service Operations for GGF12 • • • • deploy undeploy getServerInfo getApplicationStatus +direct communications to/between deployment components <deploy> – The JSDL descriptor of this job – A deployment descriptor in a supported language (with language identification information) – A list of (name,value) properties – An optional callback type and xsd:Any with callback information. – synchronous deployment :boolean – xsd:any for optional extra stuff <undeploy> In: – Application: identifier – cause: String – synchronous: boolean – xsd:any minOccurs=0 : for future use Out: – boolean: Success/failure response. – xsd:any minOccurs=0 : for future use <getServerInfo> Query server info (version , uptime) – IN: void – OUT: <serverInfo> xsd:any (TBD) <getApplicationStatus> IN: void OUT: <applicationStatus> xsd:any (TBD) Liveness test with health info or fault returned services we expect from others • file upload/staging • something to store the persistent job info & redeploy if needed • resource allocation/scheduling • usable front end Notifications • long term: WS-N • short term: well known SOAP message/SOAPAction; caller submits URL Front end implementation SOAP1.2 doc/lit 1 WS-BaseNotification 3 JSDL 2 SmartFrog language 3 CDL Language 5 WS-BaseFaults 2 16 back end implementation work in progress, hence the risk WS-Resources 3 WS-Resource Pattern 3 CDDLM Basic Services 6 CDDLM Component Model WSDM 6 3 21 Service Dependencies • external dependencies? – – – – Ultimately: GRAAP, WS-DM implementations Callbacks: initially, direct SOAP, eventually WS-N Logging if extant • What does your implementation depend on? – Java 1.4; Axis 1.2. SmartFrog 3.x, Jetty webserver AAA & Security • we will use the OGSA security stuff • Current internal: encrypted, PKI-authenticated communications (RMI!) • What authorisation mechanism do you use? – TBD • What accounting mechanism do you use? – Nothing, yet • Does service interaction need to be encrypted? – Potentially sensitive data (passwords &c). Exploiting the Service Architecture • What features from your ‘plumbing’ do you use in your service? – – – – Event notification Logging Instrumentation for Management Optional :Registry discovery/advertisement Service Activity • • • • Multiple users per machine And/or one user/many machines Throughput: O(minutes)-O(days) data volume moved in (KB, + binary content) • Typical data volume moved out: KB Service Failure • Required Reliability: service lifetime defines lifetimes of apps; uptime must exceed deployments. • Failure semantics? – Submit & forget – App failure policy in deployment descriptor • Persistence? Good Question. • Fault tolerance through distribution; can implement high-availability w/ custom components Required Service Management • We are management infrastructure • Uses: management interfaces of things we deploy • Generates: management interfaces to the deployment graph.