An Introduction to Globus Toolkit 3 -Developing Interoperable Grid services 1
Outline Cornerstones New Concepts Software Stack Core Higher Level Services Developing and Using Grid Services Development and Runtime Environment Admin Notes Demo Learning More 2
Cornerstones Common Protocol Framwork Core beyond Portability/IO code Implement Common Service Behaviour Once Promote Open Grid Standards and Alternative Implementations Proof-of-concept for Emerging Distributed Computing Standards Marriage between Web services and Grid services Multi-language Support SDK and RTE for Grids Use of off-the-shelf development tools and APIs Elaborate Extensibility Frameworks to Promote Customization 3
New Concepts Full implementation of OGSI v 1.0 GridService Factory ObjectGroup Notification HandleResolver WSDL and XML Schema Langugage Agnostic Interfaces -> Binding Generation Container Model Runtime Environment implements System Level Services Java Technology Focus Server Technologies (Servlet, EJB) APIs (JAX-RPC, JAXP) 4
Software Stack User Services Higher Level Services Core (OGSI) Security (WS-Security) Web Service Engine (JAX-RPC) Language Runtime APIs (JDK) 5
Core Implementation of all OGSI interfaces and their required service data Client and Server Side Programming Models WSDL and XML Schema for all standard interfaces Service Data Framework OperationProviders Handle Resolution Extensibility API Standard Factory Implementation State Management (Activation/Deactivation/Loading/Saving) Security APIs, deployment descriptor 6
Higher Level Services Managed Job Service GRAM mapped to OGSI Index Service MDS mapped to OGSI LDAP -> XML Database Reliable File Transfer Service 3rd party file transfer services using GridFTP 7
Managed Job Service *create() **start() Virtual Hosting Environment Master Managed Job Factory Service **sign payload with private key using XML Signature **delegate credentials using WS Secure Conversation (encrypt or sign payload) Local/User Hosting Environment Managed Job Factrory Service Managed Job Service 8
Developing and Using Grid services Writing a Client 1) Obtain WSDL from service 2) Run WSDL->Java Stub Generator 3) Obtain Service Handle 4) Resolve Handle to Reference 5) Invoke Service Writing a Service 1) Write WSDL Port Type interface 2) Generate WSDL Binding 3) Run WSDL->Java Stub Generator 4) Implement Service as subtype of GridService or OperationProvider 5) Write Deployment Descriptor 6) Deploy/Run/Test 9
Development and Runtime Environment Ant Build system WSDL to Java Generators Java to WSDL Generators Samples, Programmer s Guide and Tutorial Demo GUI Tomcat and Standalone Servers Deployment Tools Packaging Tools Test Framework (Junit based) 10
Admin Notes Packaging System based on GPT like in GT2 Java components deployed using industry standards Enterprise Archives (EAR), Web Archives (WAR), Grid Archives (GAR) GAR contains: jar files of service, deployment descriptor, (G)WSDL schema, documentation, misc. configuration files Typically Factories and other Persistent Services are deployed with command line tools. Transient Services are deployed at runtime Core bundle base installation for all other packages, which are deployed/undeployed into core container Tomcat/Standalone containers supported out-of-the-box. Experimental support for JBOSS, IBM WebSphere See on-line admin guide for latest info: http://wwwunix.globus.org/toolkit/3.0/ogsa/docs/admin/ 11
Demo Webstart Installation Service Browser Framework 12
Learning More White Paper Admin Guide User s Guide Programmer s Guide Security Architecture/Guide Information Services Managed Job Service Reliable File Transfer Service All available at: http://www-unix.globus.org/toolkit/documentation.html 13