Transcript
Page 1: Web Services, WSRF and Grids

INFSO-RI-508833

Enabling Grids for E-sciencE

www.eu-egee.org

Web Services, WSRF and Grids

Richard HopkinsNational e-Science Centre, Edinburgh

NGS Induction, Edinburgh, Sept 2005

Page 2: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 3

Enabling Grids for E-sciencE

INFSO-RI-508833

Outline

Goals

• An orientation to Web Services and their role in Grid computing

• No prior knowledge assumed

Content

• Web Services

• Web Services and Grids

• WSRF and Grids

Page 3: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 4

Enabling Grids for E-sciencE

INFSO-RI-508833

Infrastructure for the industrial society: The Forth Bridges

Page 4: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 5

Enabling Grids for E-sciencE

INFSO-RI-508833

Web Services Grid Technology

Grid Services

October 2001 View

• Commerce

• Standards

• Tools

• Research driven

• Data-intensive

• Compute intensive

• Collaboration – sharing of resources

- Trust: opening resources

infrastructure for the information society

Page 5: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 6

Enabling Grids for E-sciencE

INFSO-RI-508833

What are “Web Services?”

• History1. Web browsing2. Web pages with content from applications3. Applications that are useable by software clients

• Web Services are software components that are..– Accessible across a network– Defined by the messages they receive / send– Loosely coupled

Modular and self-contained So can change service implementation without changing interfaces

– Interoperable: each service has a description that is accessible and can be used to create software to invoke that service

• … and based on standards– Built on (extensions of) standards made ubiquitous by the Web:

http(s), XML, … and for which tools are therefore built.– Developed in anticipation of new uses

Page 6: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 7

Enabling Grids for E-sciencE

INFSO-RI-508833

Roles

Service Consumer

RegistryService

ServiceProvider

Dis

cove

ry

BindingR

egistrationDescription

URL

Query

URL

get

WSDL

request

responseInvocation

Key is WSDL

Defines a service

• What – the messages

• How – protocols used

• Where – URL

Page 7: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 8

Enabling Grids for E-sciencE

INFSO-RI-508833

Multiple Roles

• One Service encapsulates a piece of Application Logic• Supplemented by invocation of other services • Enables construction of complex composite services

– From very loosely coupled component services

• Key is WSDL

Page 8: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 9

Enabling Grids for E-sciencE

INFSO-RI-508833

WSDL

• WSDL definition is itself an XML document• What – the service interface, defined in terms of

message exchanges– Syntax of interactions, e.g.

Message 1 from consumer to service – service request Message 2 from service to consumer – resonse Similar to a remote procedure call

– Syntax of message XML schema

• How – the representation of the messages on a particular protocol

• Service Invocation requires ability to send/receive the defined messages– Interoperable– No application specific APIs – generated from WSDL

Page 9: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 10

Enabling Grids for E-sciencE

INFSO-RI-508833

HTTP message

(JAVA) Web Services

A

B.Op

(a,b)

invoke

creturn

B

Insert the web into the invoke and into the return

service consumer(client)

Stack

Cont

ainer

service provider(server)

Ret(c)Soap envelope

AB-stub Stack B

Bs.Op

(a,b)

invoke

……

B.Op

(a,b)

invoke

…c

return

c

return …

Web

Soap envelope

HTTP message

Op(a,b)

JAXRPCWSDL for B

compile

deploy

Soap envelope

Java program with 2 classes

Page 10: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 11

Enabling Grids for E-sciencE

INFSO-RI-508833

Essential Characteristics of Web Services Approach

• Need to achieve effective cooperation even though– the different services are produced by different organisations, without any

design collaboration, on different platforms (interoperability)

– the services are autonomously evolving

• Loose coupling – minimum prior shared information between the designer of the two components of an interaction

– Dynamically accessible Machine processable Meta data Self-describing data in standard format – XML documents Description of structure of communications – SCHEMAS (types) Service description – WSDL

– Means for obtaining it – from a repository, using standard such as UDDI

– Communication protocol that supports this – SOAP– Everything is a SCHEMA-described XML document – soap message,

WSDL definition, schemas themselves (meta-schema)

– Standards based

Page 11: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 12

Enabling Grids for E-sciencE

INFSO-RI-508833

Evolving Standards• Two main standards bodies –

– W3C – actually produces “recommendations” – web community

– OASIS – industry – IBM, Microsoft, Sun, ….

• These standards are factored to allow partial adoption and combination

– The core standards

– WS-I – clarifications to aid interoperability – http://www.ws-i.org

– Higher level standards built on them

XML*

SCHEMAS*WSDL*

DTD

Core WS

SOAP*

*WS-Interoperability

WSRF

WS-addressing

WS-notificationWS-security

WS-TransactionFramework

UDDI*

WS-MetaDataExchange

Page 12: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 13

Enabling Grids for E-sciencE

INFSO-RI-508833

WEB SERVICES AND GRIDS

Goals

• An orientation to Web Services and to their role in Grid computing

• No prior knowledge assumed

Content

• Web Services

• Web Services and Grids

• WSRF and Grids

Page 13: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 14

Enabling Grids for E-sciencE

INFSO-RI-508833

Similarities & Differences

• Interaction across Organisational Boundaries

• Interaction between globally distributed components

• Interaction within a changing environment

• Interoperability required due to heterogeneity

Web Services• Mainstream• Organisational Independence• Coordination of

– Application Logic– To give complex services

• Service Abstraction• Short-lived Interactions

Grids• Specialised (as yet)• Cooperation – VOs• Co-ordination of resources

– Applications (monolithic)– Processors / Storage /Instruments

• Virtual Computer Abstraction• Persistence –

– Infrastructure– Computation– Data– People

similarities

Page 14: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 15

Enabling Grids for E-sciencE

INFSO-RI-508833

GRIDS + WS = Grid Services

Efficiency of Common solution to common problems

• Interaction across Organisational Boundaries

• Interaction between globally distributed components

• Interaction within a changing environment

• Interoperability required due to heterogeneity

Mainstream vs Specialised

• Make the Specialised a special-case of the Mainstream– “inheritance”

Existing solution Industrial strength tools

– Enables Greater take-up of Grids Wider integration of grids with other kinds of web Services Integration of

• Grid as distributed virtual computer• Service approach to forming complex composite applications

• Service Abstraction vs Virtual Computer Abstraction– Construct the Virtual Computer components as services

Page 15: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 16

Enabling Grids for E-sciencE

INFSO-RI-508833

Re-Engineering Grid Middleware

Job scheduling

File Placement

User Interface

Web

Grid M/W

Provide Service

Consume Service

Local O/S

Page 16: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 17

Enabling Grids for E-sciencE

INFSO-RI-508833

Persistence

Web Services• Short-lived Interactions

Grids• Persistence –

– Infrastructure– Computation– Data– People

Need to add to basic web services the notion of persistency

STATEFULL SERVICES

Web Services Resource Framework ( OUTSIDE WS-I )

Page 17: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 18

Enabling Grids for E-sciencE

INFSO-RI-508833

A bit of history

• “Open grid services architecture” OGSA– proposed in 2001

• Open Grid Services Infrastructure– Globus Toolkit 3 resulted– Specified in 2003

• Then in January 2004– OGSI to be replaced by emerging WS-RF (Web Services

Resource Framework)

• NOTE:– OGSA still under development (GGF)

• Imbalances in OGSI that are addressed by WS-RF(OASIS)– “Too O-O”– monolithic standards– WS community not engaged

Page 18: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 19

Enabling Grids for E-sciencE

INFSO-RI-508833

WSRF

Goals

• An orientation to Web Services and to their role in Grid computing

• No prior knowledge assumed

Content

• Web Services

• Web Services and Grids

• WSRF

Page 19: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 20

Enabling Grids for E-sciencE

INFSO-RI-508833

Stateful Resources

Web service itself

(Front end)

is stateless

Freely have multiple instances that come

and go –

Scalability

Reliability

Maintains state in a back-end

A/C 7 is a WS-resource

www.jobs#Ac7 is universal identifier

Can pass it to any service needing to operate on the resource

Job is also a resource

Service Consumer Front end

-----Back end----

GetInfo

Info

OpenA/COpenA/C

Ac7.job(…) job(…)

results results

global stateA/C 7

Factory function

Ac7www.jobs#Ac7

- www.jobs -Run Jobs Service-

Page 20: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 21

Enabling Grids for E-sciencE

INFSO-RI-508833

Taxonomy of States and Services

• Stateless – implements message exchanges for which there is no access or use of information not contained in the input message. E.g. document compression / de-compression

• Out-of-band persistent state – response is affected by information that changes by some no-WS means. E.g. weather forecast service

• Transient State (conversational) – to co-ordinate a collection of related message exchanges E.g : shopping-basket;

– Booking holiday - book hotel, flights and car-hire via different services with two-phase comit – confirm a reservation when all are held.

– Proposed standards for this – WS-TransactionFramework

• Persistent state (stateful resource) – one message exchange produces a long-lived change in state which affects other message exchanges

if shopping basket were carried forward from session, this would be persistent state

• WSRF is for Persistent State, not Conversational

Page 21: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 22

Enabling Grids for E-sciencE

INFSO-RI-508833

WSRF Architecture

• A stateful (WS) resource– Is a repository for persistent state

Like an object in an object-oriented architecture– Has state that Comprises a set of state data

Each item of state data is a resource property E.g Account for running jobs on a remote machine

• Resource Budget• Resource Usage• Lifetime of Account• …

E.g. Job• Time so far• Estimated Completion Time• ….

A resource property is expressible as an XML document, • which can in principle be retrieved and updated

Page 22: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 23

Enabling Grids for E-sciencE

INFSO-RI-508833

WSRF Architecture

• A stateful (WS) resource

….– Has a well-defined life-cycle – creation and destruction

Destruction can be • Explicit • Scheduled – “lifetime” : temporal garbage collection

– Can be known and acted upon by one or more Web Services Has a globally unique identifier –

• http://www.company/JobService#Ac7• Can be passed between services to identify the resource

– Is associated with one or more web services, providing interface for manipulating it A WS-resource comprises: its service; the resource itself

Page 23: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 24

Enabling Grids for E-sciencE

INFSO-RI-508833

Notification

• Subscribe to a “Special Offers” Notification Service• Notification Service sends a communication to me, I can reply

with “buy it”.• Communication is back-to-front

– Initiated by Service Provider (client)– Received and Responded to by Service Consumer (server)

• WSDDL has message exchange patterns for this• Relation to WSRF

– A subscription is a WS-resource– A resourced service can do notification –

to notify consumers of changes in state of the resource• Value change• Destruction

• In grids – e.g. run a job, get notification of job termination

Page 24: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 25

Enabling Grids for E-sciencE

INFSO-RI-508833

Component Standards

• WSRF builds on – WS-Addressing – W3C submission Aug 2004 (now dubious)– WS-Notification

• WSRF comprises standards– WS-ResourceLifetime 1.2 – working draft, June 2004– WS-ResourceProperties 1.2 – working draft, June 2004– WS-RenewableReferences – who knows?– WS-ServiceGroup 1.2 – working draft, June 2004– WS-BaseFaults 1.1 – initial draft, March 2004

• WSRF supports –– WS-Notification

WS-BaseNotification 1.0 – OASIS initial draft 1.0 May 2004 WS-BrockeredNotification 1.0 – OASIS initial draft 1.0 May 2004 WS-Topics 1.2 – OASIS working draft July 2004

Page 25: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 26

Enabling Grids for E-sciencE

INFSO-RI-508833

Where are we now?!

• Standards are emerging… some near acceptance and some being discarded– Standards bodies:

W3C http://www.w3c.org/ GGF http://www.ggf.org/ OASIS http://www.oasis-open.org/home/index.php IETF http://www.ietf.org/

– For a summary see http://www.innoq.com/soa/ws-standards/poster/

• Production grids are based on de-facto standards at present– Inevitably!– GT2 especially– But locks a grid into one middleware stack unable to benefit from the

diverse developments of new services

• Some confusion remains after the OGSI era– Many projects sidestepped this by using “pure” WS

• Globus Toolkit 4 has been released

Page 26: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 27

Enabling Grids for E-sciencE

INFSO-RI-508833

GT4-view of OGSA and WSRF -1

Diagram from Globus Alliance

Page 27: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 28

Enabling Grids for E-sciencE

INFSO-RI-508833

Diagram from Globus Alliance

Page 28: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 29

Enabling Grids for E-sciencE

INFSO-RI-508833

Further reading

• The Grid Core Technologies, Maozhen Li and Mark Baker, Wiley, 2005

• The Globus Toolkit 4 Programmer's TutorialBorja Sotomayor, Globus Alliance, http://gdp.globus.org/gt4-tutorial/multiplehtml/index.html

• The Web Services Grid Architecture (WSGA)www.nesc.ac.uk/technical_papers/UKeS-2004-05.pdf

• http://java.sun.com/xml/webservices.pdf

Page 29: Web Services, WSRF and Grids

NGS Induction – Edinburgh, Sept 2005 – Web Services & WSRF – Richard Hopkins 30

Enabling Grids for E-sciencE

INFSO-RI-508833

Summary

• Current way people try to create grid middleware is using Service Oriented Architectures based on WS

• An abundance of standards is en route – Extensions to manage resources are in WS-RF framework– Workflow – service composition– Also portals/portlets to expose services

• Initial implementation based on WS-RF and OGSA is in Globus Toolkit 4

• We’ll soon have experience to test the perception that this is the way to go!


Recommended