Web Services and Grids Grids are complex beasts

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. – Hot. Page 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. • Hot. Page 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 1 3 2 4 5 6 From http: //www. globus. org

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.

Service-Oriented Architecture Service registry 1. Publish 2. Find Service requester 3. Bind 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/Weather. Service

• 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 (Hyper. Text 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.
- Slides: 19