Grid Services - PowerPoint PPT Presentation

About This Presentation
Title:

Grid Services

Description:

Grid Services Grid Enablement of Scientific Applications Present by Mark Joselli Professor S. Masoud Sadjadi Web Services Grid Services Web Service. – PowerPoint PPT presentation

Number of Views:108
Avg rating:3.0/5.0
Slides: 47
Provided by: x7387
Learn more at: http://users.cis.fiu.edu
Category:

less

Transcript and Presenter's Notes

Title: Grid Services


1
Grid Services
  • Grid Enablement of Scientific Applications
  • Present by Mark Joselli
  • Professor S. Masoud Sadjadi

2
  • Web Services
  • Grid Services

3
Web Service. (W3C definition)
  • 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.

4
  • In plain words, they provide a good mechanism to
    connect over a network heterogeneous systems.
  • For that to happen it uses WSDL, XML, SOAP

5
Sample Interaction
Key things to note Request/response
login
Buyer
Amazon.com
login ok
buy a book
price information
confirm purchase
6
The Web Service state machine
2. Client looks up the service in the
registry
1. Service advertises itself in the registry
3. Client interacts with the service
7
Why web services?
  • Can we not do above interaction with traditional
    client/server protocols
  • Yes !
  • But,
  • We want to talk to any service in the same
    language in the same way

8
Web Services Technologies
  • The Protocol Stack
  • Service Discovery
  • UDDI
  • Service Description
  • WSDL (XML-based)
  • Messaging
  • SOAP (XML-based)
  • Service Transport
  • HTTP, SMTP etc.

Service Discovery
Service Description
XML Messaging
Service Transport
9
XML (Extensible Markup Language)
  • A language for describing data
  • Platform independent and self-describing
  • Good for distributed computing where
    heterogeneous systems co-exist

10
XML - Example
xml declaration
start tag
lt?xml version"1.0"?gt ltcontact-infogt ltnamegtJohn
Smithlt/namegt ltcompanygtUniversity of
Floridalt/companygt ltphonegt352-392-1200lt/phonegt
lt/contact-infogt lt/xmlgt
end tag
text
11
Web Services Interaction
XML
Resource (database, CPU, storage )
12
An example scenario
Tell me about your service
Buyer
Amazon.com
WSD (Web service description) (show the wsdl in
the text box)
Send a SOAP message (show the soap message in the
text box)
ltportType nameBookService"gt ltoperation
namebuyBook"gt ltinput
namebookName message"tnsbookName"/gt
ltoutput nameprice"
message"tnsprice"/gt lt/operationgt lt/portTypegt

Returned SOAP message
13
Typical Web Service Invocation
The Globus Toolkit 4 Tutorial. http//gdp.globus.o
rg/gt4-tutorial/
14
The Web Service state machine
2. Client looks up the service in the registry
(UDDI) and gets a WSDL description
UDDI
client
1. Service advertises itself in the registry
(UDDI)
3. Client interacts with the service (SOAP HTTP
XML)
service
15
SOAP (Simple Object Access Protocol)
  • SOAP is a protocol specification that defines a
    uniform way of passing XML-encoded data
  • In also defines a way to perform remote procedure
    calls (RPCs) using HTTP as the underlying
    communication protocol
  • It is the underlying protocol for all web services

16
Structure of SOAP Messages
17
XML messaging using SOAP
SOAP
SOAP
Network protocols (HTTP )
Network protocols (HTTP )
18
WSDL (Web Service Description Language)
  • Now, we know how to send messages. But, how do we
    find out about the web service interface? Answer
    WSDL !!!
  • WSDL provides a way for service providers to
    describe the basic format of web service requests
    over different protocols or encodings
  • It provides the following information about the
    service
  • What the service can do
  • Where it resides
  • How to invoke it

19
Contents of a WSDL document
  • ltdefinitionsgt
  • lttypesgt
  • definition of types........
  • lt/typesgt
  • ltmessagegt
  • definition of a message....
  • lt/messagegt
  • ltportTypegt
  • definition of a port.......
  • lt/portTypegt
  • ltbindinggt
  • definition of a binding....
  • lt/bindinggt
  • lt/definitionsgt

20
portType
  • WSDL portType is the most important element of
    the document
  • It defines the operations that can be performed
    on a web service
  • ltportType nameHello"gt
  • ltoperation namegreeting"gt
  • ltinput namename" messagegreetingRequest"/
    gt
  • ltoutput nameresponse messagegreetingRespo
    nse"/gt
  • lt/operationgt
  • lt/portType gt

21
Messages and Types
  • But, to describe the operation we also have to
    identify the messages that need to be sent and
    type of the elements that are sent in the
    messages
  • ltmessage namegreetingRequest"gt
  • ltpart nameinput" type"xsstring"/gt
    lt/messagegt
  • ltmessage namegreetingResponse"gt
  • ltpart name"value" type"xsstring"/gt
    lt/messagegt
  • As you can see, various types can be specified
    for the messages

22
Binding
  • The binding element describes the way the message
    needs to be encoded (usually using SOAP)
  • ltbinding typeHello" namemyBinding"gt
    ltsoapbinding style"document" transport"http//s
    chemas.xmlsoap.org/soap/http" /gt
  • ltoperationgt ltsoapoperation soapAction"http//e
    xample.com/Hello"/gt
  • ltinputgt ltsoapbody use"literal"/gt lt/inputgt
  • ltoutputgt ltsoapbody use"literal"/gt
    lt/outputgt
  • lt/operationgt
  • lt/bindinggt

23
ltdefinitions nameHello" targetNamespace"http//
hello.com" xmlnssoap"http//schemas.xmlsoap.org/
wsdl/soap/" xmlns"http//schemas.xmlsoap.org/wsdl
/"gt ltmessage namegreetingRequest"gt ltpart
nameinput" type"xsstring"/gt lt/messagegt
ltmessage namegreetingResponse"gt ltpart
name"value" type"xsstring"/gt
lt/messagegt ltportType nameHello"gt
ltoperation namegreeting"gt ltinput
namename" messagegreetingRequest"/gt ltoutput
nameresponse messagegreetingResponse"/gt
lt/operationgt lt/portType gt ltbinding
typeHello" namemyBinding"gt ltsoapbinding
style"document" transport"http//schemas.xmlsoap
.org/soap/http" /gt ltoperationgt
ltsoapoperation soapAction"http//example.com/Hel
lo"/gt ltinputgt ltsoapbody use"literal"/gt
lt/inputgt ltoutputgt ltsoapbody
use"literal"/gt lt/outputgt lt/operationgt
lt/bindinggt lt/definitionsgt
message
portType
binding
24
UDDI (Universal Description, Discovery and
Integration)
  • A protocol for finding web services
  • Registries of web services can be maintained
  • The primary purpose is to find services with
    certain qualities

25
UDDI
  • BusinessEntity
  • Information about a company (name of the company,
    contact info etc.)
  • Kind of company
  • BusinessEntity contains BusinessService elements
    that represent the services the company offers
  • Each BusinessService contains BindingTemplates
    that describe the services

26
stateless vs. stateful web service
  • Stateless web services dont remember
    information from one invocation to another
    whereas stateful Web Services do.
  • When Web Services are used just to create
    Internet-based applications with loosely coupled
    clients and servers, they can be stateless. The
    service can be restarted without concern of
    previous interactions.
  • When Web Services are used to create Grid
    Applications, they are generally required to be
    stateful.

27
Stateful web services example
login
Buyer
Amazon.com
login ok, your shopping cart id is 0x800
logout
login and my id is 0x800
Your shopping cart has
28
Problems
  • No standard on how to do this
  • Client needs to have special code
  • Some protocol specific features like cookies can
    be used

29
Grid Services
  • So, what are these grid services anyway?
  • Grid services are web services that are
    customized to grid environment
  • Similar to web services they provide the glue to
    interact with heterogeneous systems
  • Why do we need them?
  • What do they provide?

30
Web Services vs Grid Services
  • Though web services are great, some key things
    that are required on the grid are missing
  • State management
  • Global Service Naming
  • Reference resolution
  • more

31
Web Services vs Grid Services
  • Wait a minute ! I can do all those things with
    web services, cant I?
  • YES ! You can
  • But,
  • The standards dont provide (yet) the required
    mechanisms. Work is being done to figure out the
    best way to do these things

32
Achieving Statefulness
  • The state is kept in a separate entity called a
    resource.
  • Each resource has a unique key.

The Globus Toolkit 4 Tutorial. http//gdp.globus.o
rg/gt4-tutorial/
33
OGSA Introduction
  • Grid systems and applications aim to integrate,
    virtualize and manage resources and services
    within distributed, heterogeneous, dynamic
    virtual organizations
  • Items needed
  • Computers, application services, data, and other
    resources need to be accessed within different
    organizations
  • Standardization
  • Open Grid Services Architecture (OGSA)
  • Is a service-oriented architecture (SOA), that
    addresses the need for standardization by
    defining a set of core capabilities and behaviors
    that address key concerns in Grid systems
  • SOA A perspective of software architecture that
    defines the use of services to support the
    requirements of software users. Enables the
    creation of applications that are built by
    combining loosely coupled and interoperable
    services

34
OGSA
  • OPEN GRID SERVICES ARCHITECTURE (OGSA)
  • VO Management Service.
  • Resource Discovery and Management Service.
  • Job Management Service.
  • security, data management, etc.

35
OGSI
  • OGSI defines the mechanisms to create grid
    services
  • Introduces the notion of grid services and their
    special properties particularly the global
    pointer GSH (Grid Service Handle)

36
OGSI - 2001
  • OGSA is the architecture, OGSI is the
    infrastructure.
  • Grid service interface standard
  • Methods allow access to Grid service
  • As well as Grid service state (SDE)
  • Optional factory interface
  • Naming and referencing of Grid services
  • Extends WSDL 1.1 (GWSDL)
  • Handle resolver
  • Notifications
  • OGSI Grid service locator
  • Multiple GHSs GSRs interface description

37
Grid Services as seen by OGSI
  • Connect to the grid service
  • Ask the server to create an instance for you
  • Get a unique global pointer to it
  • Interact with the service

38
OGSI Issues
  • Confusion and Criticism from web services folks
  • Modeling stateful resource with Web services
  • Web service Resource Framework (WS-RF) 2004

39
WSRF
  • Stands for Web Services Resource Framework
  • Improves on the concept of Web Services by
    creating a separate view for the resource state.
  • Simplifies WSDL and reduces message size and
    complexity (XML gets heavy and complicated fast)
  • Modular (users decide which specification to use)

40
WS-Resource
  • Provides a means of expressing the relationship
    between stateful resources and web services
  • The WS-Resource has an XML resource property
    document defined using XML schema.
  • The requestor can determine the WS-Resource type
    by retrieving the portType
  • Web service programming paradigm is used to
    interact with the resource

41
Web Services and Grids - OGSA
  • OGSI problems solved by WSRF

42
Global Toolkit
  • The Globus Toolkit is a software toolkit,
    developed by The Globus Alliance, which can be
    used to program grid-based applications.
  • Globus Toolkit includes a resource monitoring and
    discovery service, a job submission
    infrastructure, a security infrastructure, and
    data management services

43
WS-GRAM
  • Globus Tookit 4 contains a web service-based Grid
    Resource Allocation and Management (GRAM)
    component.
  • WS-GRAM is a WSRF-based web service used by
    computational resources on the Teragrid to
    remotely submit, monitor, and cancel jobs.
  • These jobs may be either be interactive jobs
    which tend to perform simple tasks which complete
    quickly, or they may be jobs managed by a
    scheduler.

44
Programming Grid Services (GT4)
  • Basic steps involved in creating a grid service
  • Create the interface using WSDL
  • Specify the portTypes, messages and data encoding
  • Generate Stubs
  • Add functionality
  • Compile and Build the code using Globus libraries
  • Create a GAR (Grid Archive)
  • Deploy it

45
OGSA, WSRF GT4
B. Sotomayor and L. Childers. Globus Toolkit 4,
Programming Java Services. 2006. The Morgan
Kaufmann Series in Networking.
46
Bibliografy
  • Masoud Sadjadis Lecute Lecture on Developing
    Grid Services on LA Grid
  • Laukik Chitnis and Sanjay Rankas Tutorial on
    Grid
  • Onyeka Ezenwoyes Lecture on Web Services
  • TeraGridForum wiki http//www.teragridforum.org/m
    ediawiki/index.php?titleWS-Gram
  • Python WSRF Programmers' Tutorial
    http//acs.lbl.gov/gtg/projects/pyGridWare/doc/tut
    orial/html/c182.html
Write a Comment
User Comments (0)
About PowerShow.com