W eb Services and the Grid W eb Services and the Grid - - PowerPoint PPT Presentation

w eb services and the grid w eb services and the grid
SMART_READER_LITE
LIVE PREVIEW

W eb Services and the Grid W eb Services and the Grid - - PowerPoint PPT Presentation

W eb Services and the Grid W eb Services and the Grid Supercomputing, Visualization & e-Science Manchester Com puting W SRF and W SRF::Lite W SRF::Lite W SRF and Mark Mc Keown WSRF: : Lite developer Formerly UK Grid Support


slide-1
SLIDE 1

Manchester Com puting

Supercomputing, Visualization & e-Science

Mark Mc Keown WSRF: : Lite developer Formerly UK Grid Support Center Mark.McKeown@manchester.ac.uk

W eb Services and the Grid W eb Services and the Grid – – W SRF and W SRF and W SRF::Lite W SRF::Lite

slide-2
SLIDE 2

Supercomputing, Visualization & e- Science 2

Topics.

Grid Web Services WSRF WSRF::Lite

slide-3
SLIDE 3

Supercomputing, Visualization & e- Science 3

What is a Grid…

[…provides] "Flexible, secure, coordinated resource sharing among dynamic collections of individuals, institutions, and resource"

– “The Anatomy of the Grid”

"…is distributed computing across multiple administrative domains"

– Dave Snelling.

“…internet scale distributed computing…” Etc…

slide-4
SLIDE 4

Supercomputing, Visualization & e- Science 4

Distributed Systems…

M e s s a g e M e s s a g e Message M e s s a g e Message

slide-5
SLIDE 5

Supercomputing, Visualization & e- Science 5

Designing a Distributed System…

Design the messages. Design the message exchange patterns. What are the pink blobs?

– Computer systems, processes on a system, institutes, objects, resources, State Machines?

Deal with latency, concurrency, partial failure etc…

slide-6
SLIDE 6

Supercomputing, Visualization & e- Science 6

Web Services

  • “A Web service is a software system designed to support

interoperable machine-to-machine interaction over a network.”

  • “It has an interface described in a machine-processable format

(specifically WSDL).”

  • “Other systems interact with the Web service in a manner

prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.” W3C – Web Services Architecture

slide-7
SLIDE 7

Supercomputing, Visualization & e- Science 7

SOAP over HTTP

HTTP HEADERS

Some XML… Some XML… < Envelope> < /Envelope> < Header> < /Header> < Body> < /Body>

slide-8
SLIDE 8

Supercomputing, Visualization & e- Science 8

OGSI – The Grid Service I nstance

“A Grid service instance is a (potentially transient) service that conforms to a set of conventions, expressed as WSDL interfaces, extensions and behaviours, for such purposes as lifetime management, discovery of characteristics, and notification.” “Grid services provide for the controlled management of distributed and often long-lived state that is commonly required in sophisticated distributed applications”. “Anatomy of the Grid”

slide-9
SLIDE 9

Supercomputing, Visualization & e- Science 9

Why OGSI didn’t succeed…

Too much stuff in one specification. Does not work well with existing Web service and XML tooling. Too object orientated. (see ”A Note on Distributed Computing” by Waldo et al. for a critique of distributed object systems)

slide-10
SLIDE 10

Supercomputing, Visualization & e- Science 10

WSRF Web Service Resource Framework

WSRF effectively has replaced OGSI since January 2004. Addresses the issues with OGSI.. Simply a re-factoring of OGSI – I wish Instead of Grid Service Instances we have WS-Resources.

slide-11
SLIDE 11

Supercomputing, Visualization & e- Science 11

Implied Resource Pattern

Client WS-Resource WS-Resource WS-Resource Web Sevice

slide-12
SLIDE 12

Supercomputing, Visualization & e- Science 12

SOAP

POST http://vermont.man.ac.uk/Counter

< Envelope> < Header> < counterID> 12342-dsfgsdfg< /counterID> … < /Header> < Body> < add> < value> 10< /value> < /add> < /Body> < /Envelope>

slide-13
SLIDE 13

Supercomputing, Visualization & e- Science 13

Creating a new WS-Resource

Client Web Sevice WS-Resource WS-Resource WS-Resource create EPR

slide-14
SLIDE 14

Supercomputing, Visualization & e- Science 14

WS-Addressing EndPoint Reference EPR

<EndpointReference> <Address>http://vermont.man.ac.uk/Counter</Address> <ReferenceProperties> <counterID>12342-dsfgsdfg</counterID> </ReferenceProperties> </EndpointReference>

slide-15
SLIDE 15

Supercomputing, Visualization & e- Science 15

WSRF Family of Specifications

WS-ResourceProperty WS-ResourceLifetime WS-BaseFaults WS-ServiceGroup WS-RenewableReferences (not yet released)

slide-16
SLIDE 16

Supercomputing, Visualization & e- Science 16

WS-ResourceProperty

Provides a “projection” of the WS-Resource’s state. The ResourceProperties are described in an XML document – the WSDL for the service should have a pointer to this document. GetResourceProperty and GetMultipleResourceProperties

  • perations allows client to query the state of the WS-Resource

SetResourceProperty operation allows client to modify the state

  • f the WS-Resource – supports Insert, Delete and Update.
slide-17
SLIDE 17

Supercomputing, Visualization & e- Science 17

ResourceProperty Document

<xs:schema …..> <xs:element name=“foo” xsd:type=“int” />* <xs:element name=“bar” xsd:type=“string” />? <xs:element name=“count” xsd:type=“int” />? </xs:schema>

slide-18
SLIDE 18

Supercomputing, Visualization & e- Science 18

WS-ResourceLifetime

Unlike OGSI, lifetime management is optional in WS-RF. Destroy and SetTerminationTime operations allows the client to control the lifetime of the WS-Resource. The lifetime of the WS-Resource is just another WS- ResourceProperty – can use GetResourceProperty to find termination time. However you CANNOT set the termination time through the SetResourceProperty operation – must use SetTerminationTime!!

slide-19
SLIDE 19

Supercomputing, Visualization & e- Science 19

WS-BaseFaults

A standard way to report errors: <BaseFault> <Timestamp>…</Timestamp> <OriginatorReference>…</OriginatorReference>? <ErrorCode>…</ErrorCode>? <Description>…</Description>* <FaultCause>…</FaultCause>* </BaseFault>

slide-20
SLIDE 20

Supercomputing, Visualization & e- Science 20

WS-ServiceGroup

Mechanism to group a set of WS-Resources together – basic building block for registries. WS-Resources come and go, need to garbage collect stale entries in the ServiceGroup – but how? When we register a WS-Resource in a ServiceGroup a new WS-Resource is created by the ServiceGroup. The sole purpose of this new WS-Resource is to control the lifetime of the entry in the ServiceGroup – destroy this WS-Resource and the entry disappears.

slide-21
SLIDE 21

Supercomputing, Visualization & e- Science 21

WS-ServiceGroup

Client ServiceGroupEntry ServiceGroupEntry

WS-ServiceGroup

ServiceGroupEntry Add WS-Resource Destroy WS-Resource WS-Resource

slide-22
SLIDE 22

Supercomputing, Visualization & e- Science 22

Other WS Options for building Grids

WS-I. (http://www.ws-i.org/) REST, Representational State Transfer.

(http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm)

WS-Transfer.

(http://msdn.microsoft.com/library/en-us/dnglobspec/html/ws-transfer.pdf)

  • MEST.
slide-23
SLIDE 23

Supercomputing, Visualization & e- Science 23

WSRF: : Lite

OGSI::Lite, the pre-curser to WSRF::Lite, started out as an exercise to understand OGSI and the concepts behind Grid Services. The name is derived from SOAP::Lite the excellent Web Service module written by Pavel Kulchenko on which WSRF::Lite is built. “Don’t be mislead by the Lite suffix – this refers to the effort it takes to use the module, not its capabilities” Pavel Kulchenko

slide-24
SLIDE 24

Supercomputing, Visualization & e- Science 24

Perl – Are you mad?

“If Perl is the solution, you’re solving the wrong problem.” Erik Naggum. “Perl as a language has less a design than a thousand special features flying in close formation.” “Perl: the first post-modern computer language.” Larry Wall.

slide-25
SLIDE 25

Supercomputing, Visualization & e- Science 25

Apache CGI Script

#! /usr/bin/perl -w use SOAP::Transport::HTTP; SOAP::Transport::HTTP::CGI

  • >dispatch_to( ‘/home/zzcgumk/modules’ )
  • >handle;
slide-26
SLIDE 26

Supercomputing, Visualization & e- Science 26

Simple Service

package HelloWorld; sub Hello { my ($self, $name) = @_; return "Hello ".$name; } 1;

slide-27
SLIDE 27

Supercomputing, Visualization & e- Science 27

Simple Client

#! /usr/bin/perl use SOAP::Lite; my $service = SOAP::Lite- >service( "URLtoWSDL" ); my $ans = $service- >Hello( "Mark" ); if ($ans- >fault) { die $ans- >faultstring } print $ans- >result."\n";

slide-28
SLIDE 28

Supercomputing, Visualization & e- Science 28

WSRF: : Lite Supports…

WS-Addressing WS-ResourceProperties WS-ResourceLifetimes WS-BaseFaults WS-ServiceGroups

slide-29
SLIDE 29

Supercomputing, Visualization & e- Science 29

WSRF: : Lite

WS-Resources can be hosted in the WSRF::Lite Container, Apache or using a simple standalone script. A WS-Resource simply inherits the core WSRF functionality from a base module. The WS-Resource state is stored and managed using either: – A Process. – A Database. – A File.

slide-30
SLIDE 30

Supercomputing, Visualization & e- Science 30

WSRF: : Lite

CLIENT SOAP HTTP CLIENT SOAP HTTP Process

SOAP/ HTTP Unix-Socket

Process

SOAP/ HTTP Unix-Socket

File DB

ODBC

WSRF::Lite Container Or Apache

slide-31
SLIDE 31

Supercomputing, Visualization & e- Science 31

Security

Currently the Container scripts support Transport Layer Security through HTTPS with x509 certificates. If the WS-Resources are hosted using GridSite then authentication using GSI proxy certificates is possible. Plan to implement WS-Security – unclear how this will work

  • ut.
slide-32
SLIDE 32

Supercomputing, Visualization & e- Science 32

Questions?

“…I still think the WS-* stack is bloated, opaque, and insanely

  • complex. I think it’s going to be hard to understand, hard

to implement, hard to interoperate, and hard to secure.” Tim Bray

http://www.tbray.org/ongoing/When/200x/2004/09/18/WS-Oppo