Upload
joella-hood
View
217
Download
0
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
Overview of Grid Webservices in Distributed Scientific Applications
Dennis GannonAleksander 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
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
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
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]
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
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…
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– …
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
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
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)
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
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
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
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
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
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
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• …
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++, …