1 / 19

Overview of Grid Webservices in Distributed Scientific Applications

Overview of Grid Webservices in Distributed Scientific Applications. Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab. User Portals/ Science Portals. Grid Web Services Layer. P2P / Grid Services Layer. (co-)scheduling Service. Peer Creation & resolution Services.

stefan
Download Presentation

Overview of Grid Webservices in Distributed Scientific Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

  2. User Portals/ Science Portals Grid Web Services Layer P2P / Grid Services Layer (co-)scheduling Service Peer Creation & resolution Services Information/ Naming Services Discovery service Security Service Accounting Service User Help Services Information Routing Monitoring Service Event/Mesg Service Resource layer 1000s of PCs ->massive supercomputers Portals, Components & GWS Launch, configure And control • Distributed Grid Application

  3. Central Web Services Standards • Web Services Description Language (WSDL) • An XML document that • Describes the interfaces types for each port • The contents of messages it receives and sends • Describes the bindings of interfaces to protocols • SOAP – XML over HTTP is default, others possible • Describes the access points (host/port) for the protocol bindings • Web Services Flow Langauge (WSFL) • An XML document that describes how a business process invokes a set of services • UDDI & WSIL • A mechanism to discover WSDL docs for services • WSIF – • Translates WSDL docs into Java proxies

  4. Why use Web Services? • Standards, standards, standards … • not necessarily cohesive but simple and embraced everywhere (HTTP, XML, …) • Simple enough • to make possible quick implementations • Good enough for significant number of tasks, ex: • send message, notification, event, • even good for small data sets

  5. Secure Web Services • Collaborative effort to provide Web Services over Grid • LBL, SDSC, IBM • XSOAP/Java implements SOAP1.1 with SSL and GSI security over HTTP • Secure XSOAP/C++ under development • GSI delegation - steps involved • Grid proxy creation [CoG] • Opening secure connection [JSSE or IAIK] • SSL client and server authorization • Proxy delegation [CoG] • HTTP payload [XSOAP, Apache Tomcat, …] • Sending SOAP payload [XSOAP]

  6. Where do we use it? • Better glue for component • Control tasks done with standard protocol that is simple, XML based and works everywhere (HTTP) • Example: bootstrap of components (creation service and GRAM together) • Events and event channels • Computation steering and monitoring • Resource monitoring Publishing NWS events

  7. Web Services software we use: • XCAT • Java and C++ implementation of CCA over SOAP • Open Framework Code Gen. Toolkit (CGT) generating stubs, skeletons and glue code (such as marshalling objects to XML) • XSOAP • Java and C++ implementation of SOAP 1.1 that adss RMI API, JNDI (LDAP) integration and GSI security • XEVENTS • Reliable application event service using event channels that that is SOAP 1.1 service • XSPACES • 3rd party: Castor, Tomcat, XML parsers…

  8. Components as Services • Our XCAT components that are CCA based are also web services • Can accept SOAP1.1 requests • Component references publishable in directory service (right now LDAP) • CCA defines internal services • Creation • Connection • …

  9. GRAM client GRAM service SSH client SSH server Example: creation service XCAT component Scriptable component XX XX SOAP Send handle Creation service Creation service Instantiate

  10. NOTEBOOK This is a scientific notebook example there is text and there is also some interesting graphics and some scripts Example: tracking computation XCAT Components Events are sent as SOAP packets handleEvent Event Channels subscribe Event Visualizer

  11. Reliable Application Event Service • Publish event • Receive events • Store events for later retrieval • Deal with network failures or temporary disconnection, moving clients (DHCP) and firewalls (receiving events) • Publishing from C/C++/Fortran … • Interoperability • allow any SOAP/HTTP implementation to send events and receive events (generic event)

  12. Web Services in Grid Programming • Authentication and Authorization • Obvious examples of Grid Web Services • Discovery Service • Finding remote “instances” of things • May be LDAP based like MDS or other … • Resource Brokering • What are the best resource upon which to run my application now? • Application Factory Service

  13. Application Factory Service Provide me with an instance of application X • A service that understands a how to instantiate a running instance of an app component. • You provide it with appropriate requirements initial conditions, etc. • The service • checks you credentials and authorization • launches the app and returns a reference to it. App factory App Instance

  14. User Portals/ Science Portals Web Server Disc serv Event channel App factory Resource Broker App Instance Anatomy of a Componentized Grid Service Application • User Configures Application from Web Browser • Sets application parameters • Launches job • Web Server contacts appropriate application factory service (FS) • Supplies FS with task parameters • FS contacts Resource Broker and secures job launches. • Returns jobID to server to browser • Job begins execution • Publishes its contact point to discovery service • Begins publishing status events to event channel. • Web server discovers application • Allows user to interrogate it or retrieve event traces

  15. An Application Instance • Control Interface • check status • control messages Event stream • Typical Instance • Publishes event stream to “well known” channel. • Has a Control Interface to allow portal level interrogation or remote steering • May be linked to other components/services Links To Other Apps/ services Application Instance

  16. How to link and control a set of application components? • We use a Jython Script • Script uses java cog to launch the component instances through gram • Or script can consult a directory service • The script can call a connect operation to link two instances • The script can invoke ports directly App Script

  17. WSFL & Control Flow • An XML document that describes the work flow of a task that uses web services • Completely analogous to component script • Except no direct service to service link. WSFL

  18. Further work • Better integration with GSI • Experimenting with GSI delegation • Maintain interoperability • Interoperates with SOAP/GSI from LBL pyGlobus and GSI Apache • Adding GSI security to XSOAP/C++ • Fully use WSDL • …

  19. Contact us • Extreme! Lab Indiana University • and check our web page:and check our web page: http://www.extreme.indiana.edu/ • Get our XSOAP/Java implementation • Play with it and let us know! • And more coming soon … • XEVENTS, XSPACES, XSOAP/C++, …

More Related