Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Grid Services Grid Enablement of Scientific Applications Present by Mark Joselli Professor S. Masoud Sadjadi."— Presentation transcript:

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 BuyerAmazon.com login buy a book login ok price information confirm purchase Key things to note: Request/response

6 The Web Service state machine 2. Client looks up the service in the registry 3. Client interacts with the service 1. Service advertises itself in the registry

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. XML Messaging Service Transport Service Discovery Service Description

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 John Smith University of Florida 352-392-1200 xml declarationstart tag end tag text

11 Web Services Interaction Web Service User XML Resource (database, CPU, storage …)

12 An example scenario BuyerAmazon.com WSD (Web service description) (show the wsdl in the text box) Returned SOAP message Tell me about your service Send a SOAP message (show the soap message in the text box)

13 Typical Web Service Invocation The Globus Toolkit 4 Tutorial. http://gdp.globus.org/gt4-tutorial/

14 UDDI client service 2. Client looks up the service in the registry (UDDI) and gets a WSDL description 3. Client interacts with the service (SOAP + HTTP + XML) The Web Service state machine 1. Service advertises itself in the registry (UDDI)

15 SOAP (Simple Object Access Protocol) SOAP is a protocol specification that defines a uniform way of passing XML-encoded data SOAP 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 Soap Message Structure of SOAP Messages Envelope (required) Header (optional) Body (required) Fault (optional)

17 XML messaging using SOAP Application Web Service SOAP Network protocols (HTTP …) SOAP 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 WSDL 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 definition of types........ definition of a message.... definition of a port....... definition of a binding....

20 portType WSDL portType is the most important element of the document It defines the operations that can be performed on a web service

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 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)

23 portType binding message

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 (company description) BusinessService (Service Description) BindingTemplate (service technical description) modeled as a tModel 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 don’t “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 BuyerAmazon.com login 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, can’t I? YES ! You can But,  The standards don’t 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.org/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 Grid Service Handle (GSH) Publish GSR Bind Service Consumer Client Service Provider Grid Service OGSI Registry Grid Service Reference (GSR) Legend request flow reply flow program boundary module boundary Reply Grid Service Reference  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 OGSI - 2001

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 Grid Web WSRF Started far apart in apps & tech OGSI GT2 GT1 HTTP WSDL, WS-* WSDL 2, WSDM Have been converging

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 Sadjadi’s Lecute Lecture on Developing Grid Services on LA Grid Laukik Chitnis and Sanjay Ranka’s Tutorial on Grid Onyeka Ezenwoye’s Lecture on Web Services TeraGridForum wiki: http://www.teragridforum.org/mediawiki/index.php?tit le=WS-Gram Python WSRF Programmers' Tutorial: http://acs.lbl.gov/gtg/projects/pyGridWare/doc/tutoria l/html/c182.html


Download ppt "Grid Services Grid Enablement of Scientific Applications Present by Mark Joselli Professor S. Masoud Sadjadi."

Similar presentations


Ads by Google