globus ogsi grid service. grid computing definition the grid: blueprint for a new computing...

25
Globus OGSI Grid Service

Post on 21-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

GlobusOGSI

Grid Service

Grid Computing Definition• The Grid: Blueprint for a New Computing

Infrastructure– A computational grid is a hardware and software

infrastructure that provides dependable, consistent, pervasive, and inexpensive access to high-end computational capabilities

• The Anatomy of the Grid– “coordinated resource sharing and problem solving in

dynamic, multi-institutional virtual organizations.”

Checklist• coordinates resources that are not subject to

centralized control

• using standard, open, general-purpose protocols and interfaces

• to deliver nontrivial qualities of service.

Open Grid Services Infrastructure (OGSI)

• OGSI defines mechanisms for creating, managing, and exchanging information among Grid Service.

• Grid Service conforms to a set of conventions that define how a client interacts with a Grid Service.– Interface (WSDL)– Behavior

• Distributed application– VO– Education– Knowledge-based– Semantic Grid/Web

Functionality• Lifecycle management

• Discovery

• Registration

• Notification

• Factory– transient

• Log

• Virtual Organization

Structure of WSDL document<definition>

<types> definition of types….</types>

<messages> definition of a message</message>

<port type> definition of a port</port type>

<binding> definition of a binding</binding>

</definition>

WSDL Example<message name = “getTermRequest”> <part name = “term” type = “xs:string”/></message><message name = “getTermResponse”> <part name = “value” type = “xs:string”/>

<port Type name = “glossaryTerms”> <operation name = “getTerm”> <input message = “getTermRequest”/> <output message = “getTermResponse”/> </operation></port type>

Interface/portType• GridService

• HandleResolver

• NotificationSource

• NotificationSubscription

• NotificationSink

• Factory

• ServiceGroup

• ServiceGroupRegistration

• ServiceGroupEntry

GridServiceService Data Element

• interface

• serviceDataName

• factoryLocator

• gridServiceHandle

• gridServiceReference

• findServiceDataEntensibility

• setServiceDataEntensibility

• terminationTime

operation

• findServiceData

• setServiceData

• requestFerminationAfter

• requestTerminationBefore

• destory

Servicedata

element

Servicedata

element

Client

GT3 Container

Inspection:• What port types?• What state?

Inspection

GridService

portType

findServiceData

The Grid Service portTypeprovides standard inspection mechanisms for grid service operations and data; the mechanisms are independent of a specific service implementation

GridService

HandleResolverService Data Element

• handleResolverScheme

operation

• findByHandle

NotificationSourceService Data Element

• notifiableServiceDataname

• subscribeExtensibility

operation

• subscribe

NotificationSubscriptionService Data Element

• subscriptionExpression

• sinkLocator

operation

• none

NotificationSinkService Data Element

• none

operation

• deliverNotification

FactoryService Data Element

• createServiceExtensibility

operation

• createService

ServiceGroupService Data Element

• membershipContentRule

operation

• none

ServiceGroupEntryService Data Element

• memberServiceLocator

• Content

operation

• none

ServiceGroupRegistrationService Data Element

• addExtensibility

• removeExtensibility

operation

• add

• remove

GSH and GSR• Grid service instances are made accessible to

client applications through the use of a Grid Service Handle and a Grid Service Reference.– HandleResolver– Factory– Service instance

Web Services

Source: http://www.w3.org/TR/2002/WD-ws-arch-20021114/

Service Data• Service data attributes

– maxOccurs minOccurs name nillable type– Modifiable mutability content

<wsdl:definitions …>…<gwsdl:portType name=“GridService” …>

…<sd:serviceData name=“interface”

type=“xsd:QName”minOccurs=“1” maxOccurs=“unbounded” mutability=“constant” />

…</definition>

Service Data Element: extension to WSDL

<wsdl: definitions xmlns:tns=“…” …> … <gwsdl:portType name=“gridClassExample”> <wsdl: operation name=…>… </wsdl:operation> <sd:serviceData name=“sd1” type=“xsd:string”

mutability=“static”/> <sd:serviceData name=“sd2” type=“tns:someType”> <sd:staticServiceDataValues> <tns:sd1>initValue</tns:sd1> </sd:staticServiceDataValues> </gwsdl:portType>… </wsdl:definitions>

Service Data• Common mechanism for

– query – update– change notification

• This concept is standard in distributed systems.• Suppose a Web Service has an interface ‘foo’

– with operations ‘op1’, ‘op2’, and ‘op3’– and publicly accessible state information

• s1, s2 and s3.

– How can this be expressed in WSDL?

A Grid Service advertises its capabilities via a well-defined remote interface

The implementation of a Grid Service is separated from its definition

A Grid Service is deployed in a runtime environment

Interface

Implementation

Runtime env

Implementation Basics Runtime Environment

Implementation Basics The Five Steps

1. Create the interface

2. Write the implementation

3. Write the deployment descriptor

4. Build the service, creating a GAR

5. Deploy into the runtime environment