Open Grid Services Architecture - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Open Grid Services Architecture

Description:

XML based protocol that consists of ... Apache AXIS. Services run as ... First implementation based on Apache AXIS (Java) SOAP HTTP TLS/GSI as protocols ... – PowerPoint PPT presentation

Number of Views:33
Avg rating:3.0/5.0
Slides: 30
Provided by: peter458
Category:

less

Transcript and Presenter's Notes

Title: Open Grid Services Architecture


1
Open Grid Services Architecture
  • Maciej Malawski

2
Motivation
  • Globus Toolkit new standard for scientific
    applications
  • Web Services new standard in industry
  • The Physiology of the Grid new paper by Foster,
    Kesselman
  • Open Grid Services Architecture

3
Outline
  • Web Services
  • Protocols XML, SOAP, WSDL
  • Example implementations
  • Grid Services Open Grid Services Architecture
  • Globus Toolkit 3.0

4
Web Services
  • New standard middleware framework for performing
    system-to-system interaction
  • Designed by industry (Microsoft, IBM, ...)
  • Based on vendor-independent standards
  • XML (eXtensible Markup Language)
  • SOAP (Simple Object Access Protocol)
  • WSDL (Web Services Definition Language)
  • Interoperability

5
XML
  • eXtensive Markup Language
  • W3 Consortium standard
  • Example
  • ltgreetinggtHello, world!lt/greetinggt
  • Many parsers in Java, C, C, Perl, etc. available

6
SOAP
  • lightweight protocol to exchange information in a
    decentralized, distributed environment.
  • XML based protocol that consists of
  • an envelope that defines a framework for
    describing what is in a message and how to
    process it,
  • a set of encoding rules for expressing instances
    of application-defined datatypes,
  • a convention for representing remote procedure
    calls and responses (RPC)

7
Example of SOAP Request
  • POST /StockQuote HTTP/1.1Host
    www.stockquoteserver.comContent-Type text/xml
    charset"utf-8"Content-Length nnnnSOAPAction
    "Some-URI"ltSOAP-ENVEnvelope  xmlnsSOAP-ENV"h
    ttp//schemas.xmlsoap.org/soap/envelope/"  SOAP-E
    NVencodingStyle"http//schemas.xmlsoap.org/soap/
    encoding/"gt   ltSOAP-ENVBodygt       ltmGetLastTr
    adePrice xmlnsm"Some-URI"gt           ltsymbolgtDI
    Slt/symbolgt       lt/mGetLastTradePricegt   lt/SOAP
    -ENVBodygtlt/SOAP-ENVEnvelopegt

8
Example of SOAP Response
  • HTTP/1.1 200 OKContent-Type text/xml
    charset"utf-8"Content-Length
    nnnnltSOAP-ENVEnvelope  xmlnsSOAP-ENV"http//
    schemas.xmlsoap.org/soap/envelope/"  SOAP-ENVenc
    odingStyle"http//schemas.xmlsoap.org/soap/encodi
    ng/"/gt   ltSOAP-ENVBodygt       ltmGetLastTradePr
    iceResponse xmlnsm"Some-URI"gt           ltPricegt
    34.5lt/Pricegt       lt/mGetLastTradePriceResponsegt
       lt/SOAP-ENVBodygtlt/SOAP-ENVEnvelopegt

9
WSDL
  • XML format
  • To describe network services as a set of
    endpoints
  • The operations and messages are described
    abstractly, and then bound to a concrete network
    protocol and message format to define an
    endpoint.
  • Related concrete endpoints are combined into
    abstract endpoints (services).
  • WSDL is extensible to allow description of
    endpoints and their messages regardless of what
    message formats or network protocols are used to
    communicate.

10
WSDL Document
  • Types a container for data type definitions
  • Message an abstract, typed definition of the
    data being communicated.
  • Operation an abstract description of an action
    supported
  • Port Typean abstract set of operations supported
    by one or more endpoints.
  • Binding a concrete protocol and data format
    specification for a particular port type.
  • Port a single endpoint defined as a combination
    of a binding and a network address.
  • Service a collection of related endpoints.

11
Other standards
  • WSIL (Web Services Inspection Language) that
    enables publishing service descriptions
  • UDDI (Universal Description, Discovery, and
    Integration) registry.
  • accessible on the Web
  • enable discovery of services that are advertised.

12
Implementations of Web Services
  • Apache AXIS (Java)
  • SOAPLite (Perl)
  • gSOAP (C/C)
  • Microsoft .NET
  • Sun ONE
  • ...

13
Apache AXIS
  • Services run as Java Servlets
  • Supports WSDL
  • http//localhost8080/axis/services/MyService?WSDL
  • WSDL2Java
  • Stub classes for clients
  • Skeleton classes for server
  • Java2WSDL
  • http//xml.apache.org/axis/

14
SOAPLite
  • SOAP in Perl
  • Client and server
  • Easy to use
  • use SOAPLite
  • print SOAPLite
  • -gt service('http//www.xmethods.net/sd/StockQuoteS
    ervice.wsdl')
  • -gt getQuote('MSFT')
  • http//www.soaplite.com

15
Open Grid Services Architecture
  • Service orientation to virtualize resources
  • From Web services
  • Standard interface definition mechanisms
    multiple protocol bindings, multiple
    implementations, local/remote transparency
  • Building on Globus Toolkit
  • Grid service semantics for service interactions
  • Management of transient instances ( state)
  • Factory, Registry, Discovery, other services
  • Reliable and secure transport
  • Multiple hosting targets J2EE, .NET, C,

16
OGSA Service Model
  • System comprises (a typically few) persistent
    services (potentially many) transient services
  • All services adhere to specified Grid service
    interfaces and behaviors
  • Reliable invocation, lifetime management,
    discovery, authorization, notification,
    upgradeability, concurrency, manageability
  • Interfaces for managing Grid service instances
  • Factory, registry, discovery, lifetime, etc.
  • gt Reliable, secure mgmt of distributed state

17
The Grid Service
  • A (potentially transient) Web service with
    specified interfaces behaviors, including
  • Creation (Factory)
  • Global naming (GSH) references (GSR)
  • Lifetime management
  • Registration Discovery
  • Authorization
  • Notification
  • Concurrency
  • Manageability

18
Factory
  • A Grid service with Factory interface can be
    requested to create a new Grid service instance
  • Reliable creation (once-and-only-once)
  • Create operation can be extended to accept
    Grid-service-specific creation parameters
  • Returns a Grid Service Handle (GSH)
  • A globally unique URL
  • Uniquely identifies the instance for all time
  • Based on name of a home mapper service

19
Mapper
  • A GSH is a stable name for a Grid service, but
    does not allow client to actually communicate
    with the Grid service
  • A Grid Service Reference (GSR) is a WSDL document
    that describes how to communicate with the Grid
    service (also CORBA IOR?)
  • Contains protocol binding, network address,
  • May expire (I.e. GSR information may change)
  • The Mapper interface allows aclient to map from a
    GSH to a GSR
  • http get on GSH also returns a GSR

20
Lifetime Management
  • GS instances created by factory or manually
    destroyed explicitly or via soft state
  • Negotiation of initial lifetime with Factory
  • SoftStateDestruction interface supports
  • GetTerminationTime message for inquiry
  • Notification interface also allows for lifetime
    notification
  • SetTerminationTime message for keepalive
  • Soft state lifetime management avoids
  • Explicit client teardown of complex state
  • Resource leaks in hosting environments
  • ExplicitDestruction interface also available

21
Registry
  • The Registry interface may be used to discover a
    set of Grid service instances
  • Returns a WS-Inspection document containing the
    GSHs of a set of Grid services
  • Also returns policy associated with the set
  • Also available through Discovery interface
  • The RegistryManagement interface allows for
    soft-state registration of a Grid service
  • A set of Grid services can periodically register
    their GSHs into a registry service, to allow for
    discovery of services in that set

22
Discovery
  • A Grid service instance may maintain a set of
    service information
  • XML fragments encapsulated in standard
  • ltname, type, TTL-infogt containers
  • Discovery interface allows clients to query the
    Grid service instance for this information
  • Query operation, plus supporting operations
  • Extensible query language support
  • See also Notification interfaces
  • Allows notification of service existence and
    about service information

23
Notification Interfaces
  • NotificationSource for client subscription
  • One or more notification generators
  • Generates notification message of a specific type
  • Typed interest statements E.g., Filters, topics,
  • Supports messaging services, 3rd party filter
    services,
  • Soft state subscription to a generator
  • NotificationSink for asynchronous delivery of
    notification messages
  • A wide variety of uses are possible
  • E.g. Dynamic discovery/registry services,
    monitoring, application error notification,

24
Application Example (1-2)
25
Application Example (3-4)
26
Use of Web Services
  • Grid service interfaces defined in WSDL
  • A GSR is a WSDL document (or may be something
    else, i.e. CORBA IOR)
  • A GSH is an URL, with the following properties
  • Globally unique for all time
  • http get on GSH .wsdl returns GSR
  • Can derive GSH to Mapper from it

27
Globus in OGSA
  • GRAM Gatekeeper (Grid Resource Allocation and
    Management) Factory
  • MDS (Meta Directory Service) Registry /
    Discovery
  • GSI / TLS for protocol bindings
  • GridFTP change control channel protocol

28
Refactoring of protocols
29
Globus Toolkit 3.0
  • Implemetation of OGSA
  • To be available this year (Lee Liming)
  • First implementation based on Apache AXIS (Java)
  • SOAP HTTP TLS/GSI as protocols
  • APIs remain the same
Write a Comment
User Comments (0)
About PowerShow.com