Web Services and Grids

fizzlargeSecurity

Nov 3, 2013 (3 years and 10 months ago)

111 views

Web Services and Grids


Grids are complex beasts and hard to use by the ordinary scientist.


Does provide a common set of services and capabilities across
resources.


However:


Primarily accessed through command line interface.


User must marshal all of the resources.


No support for making application “grid enabled”.


Scientist must monitor application for faults and deal with faults.





Grid computing is moving toward a
service
-
oriented

model.


The Grid is defined by the services it provides.


Provides for reuse of existing components and information resources.


Greater flexibility in assembling components.


Desirable to access Grid services over the WWW



Leads to Grid portals:


Web based application server enhanced with necessary software to
communicate with Grid services and resources.


Provides application scientists a customized view of software and
hardware requirements from a web browser.




Leads to development of application
-
specific and user
-
specific portal
categories.


Application
-
specific portals provide a specialized subset of Grid
operations within a given domain.


Astrophysics Simulation Collaboratory.


Diesel Combustion Collaboratory.



User
-
portals provide site
-
specific services for a particular community
or research center.


HotPage user portal.


UNICORE.




Astrophysics Simulation Collaboratory.


The ASC:



assembles the required code,



estimates resource requirements
,


locates an appropriate set of resources

and


performs the computation
.



User
-
portals provide site
-
specific services for a particular community
or research center.


HotPage user portal.


Provides access to high
-
performance computers for scientific research.

Web Services


Software components designed to provide specific operations
(“services”) accessible using standard Internet technology.



For machine interaction over a network.




Usually through SOAP (simple Object Access Protocol) messages
carrying XML documents, and a HTTP transport protocol.


Basic client
-
server model

Web Services







Example: Chain of stores with one centralized catalog.


Publish catalog through a Web service.


Clients would contact Web Service (in the portal server) and request
catalog.



Web Service would send catalog in Service Response.



Web Services

From http://www.globus.org

1

2

3

4

5

6

Steps in Accessing Web Services



Find Web Service that meets Requirements.


-
UDDI Registry (Universal Description Discovery and
Integration).


The UDDI registry replies with list of servers that can provide us
the service.


Now know the location of a Web Service, but not how to invoke it.
We have to ask the Web Service to
describe

itself (i.e. tell us how
exactly we should invoke it)


The Web Service replies in a language called WSDL.


Web Services Description Language.


Describes a service in XML (Extensible Markup Language).



Know where the Web Service is located and how to invoke it.



The invocation itself is done in a language called SOAP (Simple
object access protocol).


Send a
SOAP request

asking for (for example) the temperature of a
certain city.



The Web Service will reply with a
SOAP response

which includes
the temperature we asked for or an error message if SOAP request
was incorrect.


2. Find

3. Bind

1. Publish

Service
-
Oriented Architecture

Service requester

Service registry

Service provider

Advantages of Web Services


Similar to CORBA and RMI except:


Platform
-
independent.


Language
-
independent (use standard XML languages).


Client program can be programmed in C++ and running under
Windows, while the Web Service is programmed in Java and running
under Linux.


Use of HTTP for transmitting messages.


Most of the Internet's proxies and firewalls won't mess with
HTTP traffic (unlike CORBA, which usually has trouble with
firewalls).


Disadvantages of Web Services


Overhead: Transmitting data in XML.


Lack of versatility.

Some Details


Addressing: URIs (Uniform Resource Identifiers).



Example URI: http://webservices.mysite.com/weather/us/WeatherService


Service Discovery:

This part of the architecture allows us to find Web Services
which meet certain requirements. This part is usually handled by UDDI (Universal
Description, Discovery, and Integration).



Service Description
: Web Services are
self
-
describing.

This means that, once
you've located a Web Service, you can ask it to 'describe itself' and tell you what
operations it supports and how to invoke it. This is handled by the Web Services
Description Language (WSDL).



Service Invocation
: Invoking a Web Service (and, in general, any kind of distributed
service such as a CORBA object or an Enterprise Java Bean) involves passing
messages between the client and the server. SOAP (Simple Object Access Protocol)
specifies how we should format requests to the server, and how the server should
format its responses.




Transport
: Finally, all these messages must be transmitted somehow between the
server and the client. The protocol of choice for this part of the architecture is HTTP
(HyperText Transfer Protocol).

Web Services “Stack”

+ XML

Issues in Building Grid Portal


Develop portal that can interact with users to find and execute services.


Security.


Determine services to be provided.


Provide infrastructure to make services “grid enabled”.


Communication mechanisms.


Distributed file system.


Scheduler


Read section 3.4, and chapters 9 and 27.


Think about developing grid portal.