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

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

Overview of Grid Webservices in Distributed Scientific Applications

Dennis GannonAleksander Slominski

Indiana University Extreme! Lab

Page 2: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

Portals, Components & GWS

Resource layer1000s of PCs ->massive supercomputers

Information/NamingServices

(co-)schedulingService

AccountingService

SecurityService

Event/MesgService

Discoveryservice

User HelpServices Monitoring

Service

Peer Creation& resolution

Services

InformationRouting

P2P / Grid Services LayerGrid Web Services Layer

User Portals/ Science Portals Distributed Grid Application

Launch, configureAnd control

Page 3: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

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

Page 4: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

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

Page 5: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

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]

Page 6: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

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

Page 7: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

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…

Page 8: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

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– …

Page 9: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

Example: creation service

XX

Scriptable component

GRAM client

SSH client

Creation service

GRAM service

SSH server

Creation service

XX

XCAT component

Send handle

Instantiate

SOAP

Page 10: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

Example: tracking computationXCAT Components

EventVisualizer

subscribe

handleEvent

Event Channels

Events are sent as SOAP packets

NOTEBOOK

This is a scientificnotebook examplethere is text andthere is also some interesting graphics

and some scripts

Page 11: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

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)

Page 12: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

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

Page 13: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

Application Factory Service• 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.

Appfactory

AppInstance

Provide me with an instance of application X

Page 14: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

Anatomy of a Componentized Grid Service Application

• User Configures Application from Web Browser• Sets application parameters• Launches job

User Portals/ Science Portals

WebServer

• 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

Appfactory

ResourceBroker

AppInstance

Eventchannel

Discserv

Page 15: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

An Application Instance• 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

LinksToOtherApps/services

Control Interface• check status• control messages

ApplicationInstance

Event stream

Page 16: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

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

Page 17: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

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

Page 18: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

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• …

Page 19: Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab

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++, …