Design The way components fit together

Similar documents
Design The way components fit together

Globus GTK and Grid Services

Grid Computing. MCSN - N. Tonellotto - Distributed Enabling Platforms

Introduction to Grid Technology

Grid Computing Fall 2005 Lecture 5: Grid Architecture and Globus. Gabrielle Allen

Introduction to GT3. Introduction to GT3. What is a Grid? A Story of Evolution. The Globus Project

Day 1 : August (Thursday) An overview of Globus Toolkit 2.4

Java Development and Grid Computing with the Globus Toolkit Version 3

WS-Resource Framework: Globus Alliance Perspectives

Grid Middleware and Globus Toolkit Architecture

Building Services in WSRF. Ben Clifford GGF Summer School July 2004

GT-OGSA Grid Service Infrastructure

Research and Design Application Platform of Service Grid Based on WSRF

From Web Services Toward Grid Services

Grid Computing. Lectured by: Dr. Pham Tran Vu Faculty of Computer and Engineering HCMC University of Technology

Management and usage of large scale infrastructures.

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

An Introduction to Grids and the EELA-2 infrastructure

By Ian Foster. Zhifeng Yun

A short introduction to Web Services

Grid Computing Middleware. Definitions & functions Middleware components Globus glite

How to Build a Service Using GT4

On-Line Monitoring of Multi-Area Power Systems in Distributed Environment

Grid Services and the Globus Toolkit

An Introduction to Grid Computing

Zukünftige Dienste im D-Grid: Neue Anforderungen an die Rechenzentren?

Grid Computing Initiative at UI: A Preliminary Result

Application of UniTESK Technology for Functional Testing of Infrastructural Grid Software

How to Build a Service Using GT4

Classroom Exercises for Grid Services

CS6703 GRID AND CLOUD COMPUTING. Question Bank Unit-I. Introduction

Grid Computing. Resource Properties so far. Resource Property Document. Globus Toolkit Programming GT4 Tutorial Chapter 6 Resource Properties

Opal: Wrapping Scientific Applications as Web Services

Globus Toolkit 3 Tutorial. Grid Development Group San Diego Supercomputer Center

Thái Duy Cường Nguyễn Văn Long GVHD: TS.Phạm Trần Vũ

GWD-I (draft-ggf-dais -dataservices-01) Data Access and Integration Services (DAIS) -wg J.

Web services. In plain words, they provide a good mechanism to connect heterogeneous systems with WSDL, XML, SOAP etc.

Component-based Grid Programming Using the HOC-Service Architecture

Tutorial 1: Introduction to Globus Toolkit. John Watt, National e-science Centre

PAUL MESTEREAGA MAHMOUD ABUBAKR KEVIN VAN GYSEGHEM

Web Services Resource Metadata 1.0 (WS-ResourceMetadataDescriptor)

A Globus Toolkit Primer

Grid Programming: Concepts and Challenges. Michael Rokitka CSE510B 10/2007

Cloud Computing. Up until now

S.No QUESTIONS COMPETENCE LEVEL UNIT -1 PART A 1. Illustrate the evolutionary trend towards parallel distributed and cloud computing.

Layered Architecture

Distribution and web services

An OGSI CredentialManager Service Jim Basney a, Shiva Shankar Chetan a, Feng Qin a, Sumin Song a, Xiao Tu a, and Marty Humphrey b

On Using BPEL Extensibility to Implement OGSI and WSRF Grid Workflows

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6

Distributed Systems. Bina Ramamurthy. 6/13/2005 B.Ramamurthy 1

Topics for Discussion

Introduction to Web Services & SOA

WSMetacatService a GT4 Web Service Wrapper for Metacat

Customized Grid Resource Discovery using Globus Toolkit

Clusters & Grid Computing

DS 2009: middleware. David Evans

Grid Architectural Models

The Globus Toolkit 3 Programmer's Tutorial. Borja Sotomayor

Grid Computing. Five Steps. Globus Toolkit Programming GT4 Tutorial Chapter 3. Directory Layout. Grid Computing Fall 2006 Paul A. Farrell 10/23/2006

Programming Web Services in Java

Regular Forum of Lreis. Speechmaker: Gao Ang

2 Model. 2.1 Introduction

Installation and Administration

On Using BPEL Extensibility to Implement OGSI and WSRF Grid Workflows

Knowledge Discovery Services and Tools on Grids

glite Grid Services Overview

An Overview of Grid Computing and its Impact on Information Technology

Introduction to Web Services & SOA

30 Nov Dec Advanced School in High Performance and GRID Computing Concepts and Applications, ICTP, Trieste, Italy

Web Services. Moving towards Service Oriented Architectures. Rensselaer CSCI 4220 Network Programming

Chapter 4:- Introduction to Grid and its Evolution. Prepared By:- NITIN PANDYA Assistant Professor SVBIT.

Web Services Overview

Transport (http) Encoding (XML) Standard Structure (SOAP) Description (WSDL) Discovery (UDDI - platform independent XML)

A Replica Location Grid Service Implementation

Accounting in Grid Environments

We recommend you review this before taking an ActiveVOS course or before you use ActiveVOS Designer.

Developing Interoperable Web Services for the Enterprise

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1

Web Services Development for IBM WebSphere Application Server V7.0

Survey: Grid Computing and Semantic Web

GLOBUS TOOLKIT SECURITY

Distributed Systems Question Bank UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems?

Distributed Multitiered Application

CM0256 Pervasive Computing

C exam. IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1.

A user-friendly platform for developing and accessing grid services

Web Services for Integrated Management: a Case Study

LEAD Information Model

High Performance Computing Course Notes Grid Computing I

Chapter 17 Web Services Additional Topics

Web Services in Cincom VisualWorks. WHITE PAPER Cincom In-depth Analysis and Review

Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer

CmpE 596: Service-Oriented Computing

RESTful Web service composition with BPEL for REST

CHAPTER 2 LITERATURE REVIEW AND BACKGROUND

Introduce Grid Service Authoring Toolkit

Grid Business Process: Case Study

OGSA-based Problem Determination An Use Case

Transcription:

Introduction to Grid Architecture What is Architecture? Design The way components fit together 12-Mar-14 MCC/MIERSI Grid Computing 1

Introduction to Grid Architecture Why Discuss Architecture? Descriptive Provide a common vocabulary for use when describing Grid systems Guidance Identify key areas in which services are required Prescriptive Define standard protocols and APIs to facilitate creation of interoperable Grid systems and portable applications 12-Mar-14 MCC/MIERSI Grid Computing 2

Introduction to Grid Architecture The nature of grid architecture A grid architecture identifies fundamental system components, specifies the purpose and function of these components, and indicate how these components interact. 12-Mar-14 MCC/MIERSI Grid Computing 3

Introduction to Grid Architecture The Nature of Grid Architecture Grid s protocols allow VO users and resources to negotiate, establish, manage and exploit sharing relationships. Interoperability a fundamental concern The protocols are critical to interoperability Services are important We need to consider APIs and SDKs VO: Virtual Organization 12-Mar-14 MCC/MIERSI Grid Computing 4

Introduction to Grid Architecture Grid architecture requirements The components are numerous owned and managed by different, potentially mutually distrustful organisations and individuals may be potentially faulty have different security requirements and policies heterogeneous connected by heterogeneous, multilevel networks have different resource management policies are likely to be geographically separated 12-Mar-14 MCC/MIERSI Grid Computing 5

Key Components The Hourglass Model A p p l i c a t i o n s Diverse global services User Applications Local OS Collective services Core Services and Abstractions (e.g. TCP, HTTP) Resource and Connectivity protocol Fabric 12-Mar-14 MCC/MIERSI Grid Computing 6

Internet Protocol Architecture Key Components Layered Grid Architecture (By Analogy to Internet Architecture) Application Transport Internet Link Application Collective Resource Connectivity Fabric Coordinating multiple resources : ubiquitous infrastructure services, app-specific distributed services Sharing single resources : negotiating access, controlling use Talking to things : communication (Internet protocols) & security Controlling things locally : Access to, & control of, resources 12-Mar-14 MCC/MIERSI Grid Computing 7

Key Components Layered Grid Architecture: Fabric Layer Just what you would expect: the diverse mix of resources that may be shared Individual computers, Condor pools, file systems, archives, metadata catalogs, networks, sensors, etc., etc. Defined by interfaces, not physical characteristics 12-Mar-14 MCC/MIERSI Grid Computing 8

Key Components Layered Grid Architecture:Connectivity Layer Communication Internet protocols: IP, DNS, routing, etc. Security: Grid Security Infrastructure (GSI) Uniform authentication, authorization, and message protection mechanisms in multi-institutional setting Single sign-on, delegation, identity mapping Public key technology, SSL, X.509, GSS-API Supporting infrastructure: Certificate Authorities, certificate & key management, GSI: www.gridforum.org/security 12-Mar-14 MCC/MIERSI Grid Computing 9

Key Components Layered Grid Architecture:Resource Layer The architecture is for the secure negotiation, initiation, monitoring, control, accounting, and payment of sharing operations on individual resources. Information Protocols (inform about the structure and state of the resource) Management Protocols (negotiate access to a shared resource) 12-Mar-14 MCC/MIERSI Grid Computing 10

Key Components Layered Grid Architecture:Resource Layer Grid Resource Allocation Mgmt (GRAM) Remote allocation, reservation, monitoring, control of compute resources GridFTP protocol (FTP extensions) High-performance data access & transport Grid Resource Information Service (GRIS) Access to structure & state information Network reservation, monitoring, control All built on connectivity layer: GSI & IP GridFTP: www.gridforum.org GRAM, GRIS: www.globus.org 12-Mar-14 MCC/MIERSI Grid Computing 11

Key Components Layered Grid Architecture:Collective layer Coordinating multiple resources Contains protocols and services that capture interactions among a collection of resources It supports a variety of sharing behaviours without placing new requirements on the resources being shared Sample services: directory services, coallocation, brokering and scheduling services, data replication services, workload management services, collaboratory services 12-Mar-14 MCC/MIERSI Grid Computing 12

Key Components Layered Grid Architecture:Collective Layer Index servers aka metadirectory services Custom views on dynamic resource collections assembled by a community Resource brokers (e.g., Condor Matchmaker) Resource discovery and allocation Replica catalogs Replication services Co-reservation and co-allocation services Workflow management services Etc. Condor: www.cs.wisc.edu/condor 12-Mar-14 MCC/MIERSI Grid Computing 13

Key Components Layered Grid Architecture:Applications layer There are user applications that operate within the VO environment Applications are constructed by calling upon services defined at any layer Each of the layers are well defined using protocols, provide access to services Well-defined APIs also exist to work with these services 12-Mar-14 MCC/MIERSI Grid Computing 14

Key Components Grid architecture in practice 12-Mar-14 MCC/MIERSI Grid Computing 15

Key Components Where Are We With Architecture? No official standards exist But: Globus Toolkit has emerged as the de facto standard for several important Connectivity, Resource, and Collective protocols Technical specifications are being developed for architecture elements: e.g., security, data, resource management, information 12-Mar-14 MCC/MIERSI Grid Computing 16

Services in the Web and the Grid Web services Define a technique for describing software components to be accessed, methods for accessing these components, and discovery methods that enable the identification of relevant service providers A distributed computing technology (like CORBA, RMI ) They allow us to create loosely coupled client/server applications. 12-Mar-14 MCC/MIERSI Grid Computing 17

Services in the Web and the Grid Web Services:Advantages Platform and language independent since they use XML language. Most use HTTP for transmitting messages (such as the service request and response) 12-Mar-14 MCC/MIERSI Grid Computing 18

Services in the Web and the Grid Web Services: Disadvantages Overhead : Transmitting data in XML is not as convenient as binary codes. Lack of versatility: They allow very basic forms of service invocation (Grid services make up this versatility). Stateless: Non-transient: They can t remember what you have done from one invocation to another They outlive all their clients. 12-Mar-14 MCC/MIERSI Grid Computing 19

Services in the Web and the Grid Web Services Architecture Find Web services which meet certain requirements (Universal Description, Discovery and Integration) Services describe their own properties and methods (Web Services Description Language) Format of requests(client) and responses (server) (Simple Object Access Protocol) Message transfer protocol (Hypertext Transfer Protocol) 12-Mar-14 MCC/MIERSI Grid Computing 20 Picture from Globus 3 Tutorial Notes www.globus.org

Services in the Web and the Grid Invoking a Typical Web Service Picture from Globus 3 Tutorial Notes 12-Mar-14 MCC/MIERSI Grid Computing 21

Services in the Web and the Grid Web Service Addressing URI: Uniform Resource Identifiers URI and URL are practically the same thing. Example: http://webservices.mysite.com/weather/us/weatherse rvice It can not be used with web browsers, it is meant for softwares. 12-Mar-14 MCC/MIERSI Grid Computing 22

Services in the Web and the Grid Web Service Application Picture from Globus 3 Tutorial Notes 12-Mar-14 MCC/MIERSI Grid Computing 23

Services in the Web and the Grid What is a Grid Service? It provides a set of well defined interfaces and that follows specific conventions. It is a web service with improved characteristics and services. Improvement: Potentially Transient Stateful Delegation Lifecycle management Service Data Notifications Examples : computational resources, programs, databases 12-Mar-14 MCC/MIERSI Grid Computing 24

Services in the Web and the Grid Factories Picture from Globus 3 Tutorial Notes 12-Mar-14 MCC/MIERSI Grid Computing 25

Services in the Web and the Grid GSH & GSR GSH: Grid Service Handle (URI) Unique Shows the location of the service GSR: Grid Service Reference Describes how to communicate with the service As WS use SOAP, our GSR is a WSDL file. 12-Mar-14 MCC/MIERSI Grid Computing 26

Services in the Web and the Grid Open Grid Services Architecture (OGSA) OGSA defines what Grid services are, what they should be capable of, what type of technologies they should be based on. OGSA does not give a technical and detailed specification. It uses WSDL. 12-Mar-14 MCC/MIERSI Grid Computing 27

Services in the Web and the Grid Open Grid Services Infrastructure (OGSI) It is a formal and technical specification of the concepts described in OGSA. The Globus Toolkit 3 is an implementation of OGSI. Some other implementations are OGSI::Lite (Perl)1 and the UNICORE OGSA demonstrator2 from the EU GRIP project. OGSI specification defines grid services and builds upon web services. 12-Mar-14 MCC/MIERSI Grid Computing 28

Services in the Web and the Grid OGSI OGSI creates an extension model for WSDL called GWSDL (Grid WSDL). The reason is: Interface inheritance Service Data (for expressing state information) Components: Lifecycle State management Service Groups Factory Notification HandleMap 12-Mar-14 MCC/MIERSI Grid Computing 29

Services in the Web and the Grid Service Data Structure <wsdl:definitions xmlns:tns="abc" targetnamespace="mynamespace"> <gwsdl:porttype name="abstractsearchengine"> <wsdl:operation name="search" />... <sd:servicedata name="cachedurl" type="tns: cachedurltype mutability="mutable" nillable="true", maxoccurs="1" minoccurs="0 modifiable="true"/> </gwsdl:porttype> </wsdl:definitions> nillable: allows the element to have no value modifiable: allows user override of the model element mutable: service data element can change 12-Mar-14 MCC/MIERSI Grid Computing 30

Services in the Web and the Grid OGSA, OGSI, GT3 12-Mar-14 MCC/MIERSI Grid Computing 31 Picture from Globus 3 Tutorial Notes

Services in the Web and the Grid OGSA, WSRF 12-Mar-14 MCC/MIERSI Grid Computing 32

Web services and the Grid OGSA, WSRF, GT4 12-Mar-14 MCC/MIERSI Grid Computing 33

Web services and the Grid GT4 replaced OGSI by WSRF (Web Service Resource Framework) Framework developed as a joint effort of WS and Grid groups GWSDL foi abandonada 12-Mar-14 MCC/MIERSI Grid Computing 34

How to model states using WS A resource is associated to each web service 12-Mar-14 MCC/MIERSI Grid Computing 35

WS-Resource 12-Mar-14 MCC/MIERSI Grid Computing 36

How to access a WS-Resource URI used to access the web service WS-Addressing used to access WS- Resource The address of a particular WS-Resource is called an endpoint reference in WS- Addressing lingo 12-Mar-14 MCC/MIERSI Grid Computing 37

WSRF a specification developed by OASIS http://www.oasis-open.org WSRF specifies how one can make Web Services stateful Differences between OGSI and WSRF: http://www.globus.org/wsrf/specs/ogsi_to_wsrf _1.0.pdf 12-Mar-14 MCC/MIERSI Grid Computing 38

WSRF 5 normative WSRF specifications: WS-ResourceProperties WS-ResourceLifetime WS-RenewableReferences WS-ServiceGroup WS-BaseFault WS-Notification family of specifications 12-Mar-14 MCC/MIERSI Grid Computing 39

WSRF WS-ResourceProperties: properties of resources. For example, a resource can have values of different types (properties) 12-Mar-14 MCC/MIERSI Grid Computing 40

WSRF WS-ResourceLifetime: a WS-Resource can be destroyed, either synchronously with respect to a destroy request or through a mechanism offering time-based (scheduled) destruction, and specified resource properties [WS- ResourceProperties] may be used to inspect and monitor the lifetime of a WS- Resource 12-Mar-14 MCC/MIERSI Grid Computing 41

WSRF WS-RenewableReferences: a Web service endpoint reference (WS-Addressing) can be renewed in the event the addressing or policy information contained within it becomes invalid or stale 12-Mar-14 MCC/MIERSI Grid Computing 42

WSRF WS-ServiceGroup: heterogeneous byreference collections of Web services can be defined, whether or not the services are WS-Resources (for example, one can dynamically add a new resource to a group of resources) 12-Mar-14 MCC/MIERSI Grid Computing 43

WSRF WS-BaseFault: fault reporting can be made more standardized through the use of an XML Schema type for base faults and rules for how this base fault type is used and extended by Web services 12-Mar-14 MCC/MIERSI Grid Computing 44

WSRF WS-Notification family of specifications: Standard approaches to notification of changes 12-Mar-14 MCC/MIERSI Grid Computing 45

WSDL Types a container for data type definitions using some type system (such as XSD). Message an abstract, typed definition of the data being communicated. Operation an abstract description of an action supported by the service. Port Type an abstract set of operations supported by one or more endpoints. Binding a concrete protocol and data format specification for a particular port type. Port a single endpoint defined as a combination of a binding and a network address. Service a collection of related endpoints. 12-Mar-14 MCC/MIERSI Grid Computing 46

Creation of a stateful web service MathService to perform operations: Addition Subtraction Have the ResourceProperties (RP): Value (integer) Last operation performed (string) Extra operation Get to get Value RP Once a new resource is created: Value is set to zero Last operation is set to NONE 12-Mar-14 MCC/MIERSI Grid Computing 47

5 steps Define the service's interface. This is done with WSDL Implement the service. This is done with Java. Define the deployment parameters. This is done with WSDD and JNDI Compile everything and generate a GAR file. This is done with Ant Deploy service. This is also done with a GT4 tool WSDD: Web Service Deployment Descriptor JNDI: Java Naming and Directory Interface 12-Mar-14 MCC/MIERSI Grid Computing 48

Step 1: <?xml version="1.0" encoding="utf-8"?> <definitions name="mathservice" targetnamespace="http://www.globus.org/namespaces/examples/core/ MathService_instance" xmlns ="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://www.globus.org/namespaces/examples/core/mathservice_ instance" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-ws- ResourceProperties-1.2-draft-01.xsd" xmlns:wsrpw="http://docs.oasisopen.org/wsrf/2004/06/wsrf-ws-resourceproperties-1.2-draft-01.wsdl" xmlns:wsdlpp="http://www.globus.org/namespaces/2004/10/wsdlpreproce ssor" xmlns:xsd="http://www.w3.org/2001/xmlschema"> </definitions> http://gdp.globus.org/gt4-tutorial/multiplehtml/apas01.html 12-Mar-14 MCC/MIERSI Grid Computing 49

More info http://www.globus.org/wsrf/specs/ogsi_to_ wsrf_1.0.pdf http://docs.oasis-open.org/wsrf/wsrfprimer-1.2-primer-cd-02.pdf http://www.globus.org/wsrf/specs/wswsrf.pdf 12-Mar-14 MCC/MIERSI Grid Computing 50