250 likes | 434 Views
Globus OGSI 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
E N D
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
GridService Service Data Element • interface • serviceDataName • factoryLocator • gridServiceHandle • gridServiceReference • findServiceDataEntensibility • setServiceDataEntensibility • terminationTime operation • findServiceData • setServiceData • requestFerminationAfter • requestTerminationBefore • destory
Inspection The Grid Service portTypeprovides standard inspection mechanisms for grid service operations and data; the mechanisms are independent of a specific service implementation Client • Inspection: • What port types? • What state? findServiceData GridService portType Service data element Service data element GridService GT3 Container
HandleResolver Service Data Element • handleResolverScheme operation • findByHandle
NotificationSource Service Data Element • notifiableServiceDataname • subscribeExtensibility operation • subscribe
NotificationSubscription Service Data Element • subscriptionExpression • sinkLocator operation • none
NotificationSink Service Data Element • none operation • deliverNotification
Factory Service Data Element • createServiceExtensibility operation • createService
ServiceGroup Service Data Element • membershipContentRule operation • none
ServiceGroupEntry Service Data Element • memberServiceLocator • Content operation • none
ServiceGroupRegistration Service 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?
Implementation Basics Runtime Environment • 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 The Five Steps Create the interface Write the implementation Write the deployment descriptor Build the service, creating a GAR Deploy into the runtime environment