4c.1 Grid Computing, B. Wilkinson, 2005 Web Service Resource Framework Creating Globus 4 services.

Slides:



Advertisements
Similar presentations
GT4 WS Core Tutorial Sam Meder Jarek Gawor 6/11/04.
Advertisements

Service Description: WSDL COMP6017 Topics on Web Services Dr Nicholas Gibbins –
Mark Holliday and Barry Wilkinson, 2004A2.1 Assignment 2 “Simple” Grid Services Assignment.
This product includes material developed by the Globus Project ( Introduction to Grid Services and GT3.
WS-Resource Framework Adam Belloum Computer Architecture & Parallel Systems group University of Amsterdam
7-2.1 Additional Features of WSRF/GT4 Services A brief outline © 2011 B. Wilkinson/Clayton Ferner. Fall 2011 Grid computing course. Modification date:
Assignment 2 Modifying, Compiling, and Deploying a Simple Service Presenter Information goes Here.
A2.1 ITCS 4010/5010 Grid Computing, 2005, UNC-Charlotte, B. Wilkinson Assignment 2 “Simple” Grid Services Assignment.
4a.1 Grid Computing Infrastructure Software ITCS 4146/5146, UNC-Charlotte, B. Wilkinson, 2007 Feb 16, 2007,
Building Services in WSRF Ben Clifford GGF Summer School July 2004.
3b.1 Web Services Part II Implementation details ITCS 4010 Grid Computing, 2005, UNC-Charlotte, B. Wilkinson, slides 3b version 0.1.
4d.1 Grid Computing, B. Wilkinson, 2005 Web Service Resource Framework Notes on “sticky note” assignment.
4a.1 Grid Computing Standards ITCS 4010 Grid Computing, 2005, UNC-Charlotte, B. Wilkinson, slides 4a.
Lecture 10: Web Services. Outline Overview of Web Services Create a Web Service with Sun J2EE (JAX-RPC)
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
Building services in WSRF Ben Clifford Draft For GGF summer school, July 2004.
4c1 GT 4 grid services and their implementation Advanced features: An overview Topics: Resource home Singleton resource Multiple resources Notifications.
2a.1 Brief outline of mark-up languages and XML ITCS 4146/5146 Grid Computing, UNC Charlotte, B. Wilkinson, 2007 Jan 22, 2007.
4c1 GT 4 Services Advanced features: A very brief overview Topics: Resource home Singleton resource Multiple resources Notifications Lifecycles Copyright.
WSDL Web Services Description Language Neet Wadhwani University of Colorado 3 rd October, 2001.
Includes slides borrowed freely from The Globus team Building Grid Services and The Globus Toolkit ® CISE : Globus Tutorial Anda Iamnitchi.
UNIT-V The MVC architecture and Struts Framework.
Web Services (tying it all together) and Introduction to Grid Services Concepts These slides are adapted from course material developed by Barry Wilkinson,
GT3 Tutorial Chapter 5, 6, and 7 Lecture for Cluster and Grid Computing, CSCE 490/590 Fall 2004, University of Arkansas, Dr. Amy Apon
1 Lecture 22 George Koutsogiannakis Summer 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES.
1 Session Bean Chuyên đề Lập trình Java & J2EE Chương 14 Biên soạn: Th.S Nguyễn văn Lành.
1 3. Implementing Web Services 1.Create SOAP proxy interfaces and WSDL based service descriptions 2.Register/publish services 3.Stores service descriptions.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
WSDL Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
1 Notes adapted from Barry Wilkinson Grid Computing Course UNCC Web Service Resource Framework Creating Globus 4 services.
Grid Computing, B. Wilkinson, 20043b.1 Web Services Part II.
WSDL: Web Services Definition Language CS 795/895.
C.1 Review of the XML Mark-Up Language © 2010 B. Wilkinson/Clayton Ferner. Spring 2010 Grid computing course. slidesC-1.ppt Modification date: Feb 26,
OPEN GRID SERVICES ARCHITECTURE AND GLOBUS TOOLKIT 4
Using JavaBeans and Custom Tags in JSP Lesson 3B / Slide 1 of 37 J2EE Web Components Pre-assessment Questions 1.The _____________ attribute of a JSP page.
COP 4991 Component Based Software Development Lecture #4 Java Web Services Onyeka Ezenwoye.
9th Lecture COP 4991 Component-Based Software Development Instructor: Masoud Sadjadi Developing Grid Services.
WSRF & WSRF’s Application in VO-DAS Haijun Tian ChinaVO
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
WEB SERVICE DESCRIPTION LANGUAGE ( WSDL) -SIVA SAGAR TELLA.
Web Services: WSDL. Kas ir WSDL? Pirms izmantot SOAP ar konkrēto servisu ir jāzina kādai jābūt SOAP ziņojuma struktūrai kuru protokolu izmantot (HTTP,
C.1 Review of the XML Mark-up Language Slides for Grid Computing: Techniques and Applications by Barry Wilkinson, Chapman & Hall/CRC press, © Appendix.
Introduction to Globus Toolkit 4 at LA Grid CIS 6612 – Autonomic Grid Computing Summer 2006 PresentersFernando FarfánMayelin Felipe AgnosticsDiego LópezRamakrishna.
Introduction to Grid programming with Globus Toolkit 4 By Valentin Kravtsov and David Carmeli Combined from material provided by: Jennifer M. Schopf, Borja.
1 Web Service Description Language (WSDL) 大葉大學資工系.
The Globus Toolkit 4 (GT4) A brief introduction. Web Services, WSRF, OGSA and GT4.
OGSA Hauptseminar: Data Grid Thema 2: Open Grid Service Architecture
2a.1 A review of the XML mark-up language Copyright B. Wilkinson, This material is the property of Professor Barry Wilkinson (UNC-Charlotte) and.
SCA Bindings Simon Holdsworth Piotr Przybylski. Agenda n SCA Bindings Overview l Bindings TC Charter n Bindings l Web Services Binding l JMS Binding l.
Grid Services I - Concepts
Introduction to Globus Toolkit 4 at LA Grid CIS 6612 – Autonomic Grid Computing Summer 2006 PresentersFernando FarfánMayelin Felipe AgnosticsDiego LópezRamakrishna.
Web Service Resource Framework WSMO Presentation Jos de Bruijn Digital Enterprise Research Institute http ://
7-1.1 Grid Computing Infrastructure Software, © 2010 B. Wilkinson/Clayton Ferner. Spring 2010 Grid computing course. slides7-1.ppt Modification date: Feb.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
How to Write a Grid Service  The grid service will do basic mathematical operations. The math grid service is going to have the following methods:  add:
On Using BPEL Extensibility to Implement OGSI and WSRF Grid Workflows Aleksander Slomiski Presented by Onyeka Ezenwoye CIS Advanced Topics in Software.
GT3 Tutorial Chapter 3 and Chapter 4 Lecture for Cluster and Grid Computing, CSCE 490/590 Fall 2004, University of Arkansas, Dr. Amy Apon
Steve Graham WS-ResourceFramework Modeling Stateful Resources With Web services OASIS WSRF TC F2F Wednesday, April 28th, 2004.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
10 th Lecture COP 4991 Component-Based Software Development Instructor: Masoud Sadjadi
DataGrid is a project funded by the European Commission EDG Conference, Heidelberg, Sep 26 – Oct under contract IST OGSI and GT3 Initial.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
© 2005 Global Grid Forum The information contained herein is subject to change without notice Leading the pervasive adoption of grid computing for research.
November, 2006 Developing Service using GT4 Writing Your First Stateful Web Service in 5 Simple Steps Adam Belloum.
WS-Resource Framework University of Amsterdam
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Web Services-JAX-RPC JAX-RPC enables a Web Service endpoint to be developed using either a Java Servlet or Enterprise JavaBeans (EJB) component model.
Web Service Resource Framework Creating Globus 4 services
Additional Features of WSRF/GT4 Services
Presentation transcript:

4c.1 Grid Computing, B. Wilkinson, 2005 Web Service Resource Framework Creating Globus 4 services

4c.2 GT 4 services Key aspect is the separation of the (web) service and a resource – conceptually if not actually. Provides the ability to have “state” without altering the statelessness of a web service.

4c.3 Example with a “database” resource The Grid 2: Blueprint for a new Computing Infrastructure, Ian Foster, Carl Kesselman and Steve Tuecker Editors, Morgan Kaufmann Chapter 17: “The Open Grid Service Architecture,” by Ian Foster, Carl Kesselman and Steve Tuecker.

4c.4 In this example, the client accesses a file transfer service to perform actions such as transfer a file from one storage service to another. Because based upon web services, uses web services technology, XML, WSDL, etc.

4c.5 Web Service Resource Resource properties Client Web Service Resource Framework (WS-RF) Holds information retained between accesses.

4c.6 Key XML files needed for implementing service WSDL file – defines the service interface. Deployments files: –WSDD deployment file –JNDI deployment file

4c.7 Web Service Resource Resource properties Client Holds information retained between accesses. Service interface file WSDL file Deployment files WSDD, JNDI files Container

4c.8 WSDL file Serves the same purpose as the WSDL file in web services – to define the service interface. A significant addition in the WSDL file is to specify the resource.

4c.9 Service interface If service implements operations on WSRF resource properties, WSDL will include definitions relating to resource property. The binding component to specify how abstract interface maps to concrete protocol messages generated by GT4 automatically.

4c.10 Service implementation If service uses WSRF mechanisms, implementation must include code for resource implementation and resource home. Resource home – manages resources

4c.11 Globus-specific features of WSDL Resource properties – specified in portType attribute wsrp:ResourceProperties WSDL preprocessor used to include WSRF definitions (portType attribute wsdlpp:extends). Bindings – not needed in WSDL because automatically inserted by GT4 when built Developed from page 31 of Sotomaytor’s GT4 tutorial

4c.12 WSDL file used for GT 4 service in Assignment 2

4c.13 Purpose of Service in Assignment 2 To store an integer value which can be acted upon by methods to: Get its value Increment its value (add one), and Decrement its value (subtract one). The service is stateful (the value is retained between accesses).

4c.14 <definitions name="MathService" targetNamespace= MathService_instance xmlns=" xmlns:tns= MathService_instance xmlns:wsdl=" xmlns:wsrp=" wsrf-WS-ResourceProperties-1.2-draft-01.xsd" xmlns:wsrpw=" wsrf-WS-ResourceProperties-1.2-draft-01.wsdl" xmlns:wsdlpp=" WSDLPreprocessor" xmlns:xsd=" <wsdl:import namespace= " wsrf-WS-ResourceProperties-1.2-draft-01.wsdl" location="../../wsrf/properties/WS-ResourceProperties.wsdl" />

4c.15 <xsd:schema targetNamespace=" MathService_instance" xmlns:tns=" MathService_instance" xmlns:xsd="

4c.16 <xsd:element ref="tns:Value“ minOccurs="1“ maxOccurs="1"/> <xsd:element ref="tns:LastOp“ minOccurs="1“ maxOccurs="1"/>

4c.17

4c.18 <portType name="MathPortType" wsdlpp:extends="wsrpw:GetResourceProperty" wsrp:ResourceProperties="tns:MathResourceProperties">

4c.19 Service Code The code has two major parts: Resource properties Service code (methods) which are combined into one file for this assignment.

4c.20 Service – Resource Properties public class MathService implements Resource, ResourceProperties { private ResourcePropertySet propSet; /* Resource Property set */ private int value; private String lastOp; public MathService() throws RemoteException { /* RP Constructor */ this.propSet = new SimpleResourcePropertySet( MathQNames.RESOURCE_PROPERTIES); /* Create RP set */ try { /* Initialize the RP's */ ResourceProperty valueRP = new ReflectionResourceProperty( MathQNames.RP_VALUE, "Value", this); this.propSet.add(valueRP); setValue(0); ResourceProperty lastOpRP = new ReflectionResourceProperty( MathQNames.RP_LASTOP, "LastOp", this); this.propSet.add(lastOpRP); setLastOp("NONE"); } catch (Exception e) { throw new RuntimeException(e.getMessage()); } Resource Property code Resource properties

4c.21 Resource and ResourceProperty interfaces Resource – a way of tagging a class as being a resource. This interface does not require any methods. ResourceProperty – interface representing a single resource property ReflectionResourceProperty -- A GT4 class, one of the ways one can represent a resource property in GT 4.

4c.22 /* Get/Setters for the RPs */ public int getValue() { return value; } public void setValue(int value) { this.value = value; } public String getLastOp() { return lastOp; } public void setLastOp(String lastOp) { this.lastOp = lastOp; } Service – Resource Properties methods

4c.23 Service code - methods /* Remotely-accessible operations */ public AddResponse add(int a) throws RemoteException { value += a; lastOp = "ADDITION"; return new AddResponse(); } public SubtractResponse subtract(int a) throws RemoteException { value -= a; lastOp = "SUBTRACTION"; return new SubtractResponse(); } public int getValueRP(GetValueRP params) throws RemoteException { return value; } /* Required by interface ResourceProperties */ public ResourcePropertySet getResourcePropertySet() { return this.propSet; }

4c.24 Deploying a GT 4 service The GT 4 container uses Apache Axis and the basic steps for deploying a service are similar to that described earlier for Apache Axis in assignment 1, with some slight differences.

4c.25 Deployment files server-config.wsdd (Web Service Deployment Descriptor) - contains information about the web service. jndi-config.xml (JNDI configuration file) - contains information about the resource management.

4c.26 WSDD file <deployment name="defaultServerConfig" xmlns=" xmlns:java=" xmlns:xsd=" <parameter name="className"value="org.globus.examples. services.core.first.impl.MathService"/> share/schema/examples/MathService_instance/Math_service.wsdl <parameter name="handlerClass“ value="org.globus.axis.providers.RPCProvider"/>

4c.27 specifies where the service will be located.

4c.28 JNDI deployment file <resource name="home“ type="org.globus.wsrf.impl.ServiceResourceHome"> factory org.globus.wsrf.jndi.BeanFactory

4c.29 Steps for developing GT4 service 1.Define service interface using WSDL 2.Implement service Include routines for associated resources 3.Define deployment using WSDD file 4.Compile everything. 5.Deploy service, either using: –GT4 globus-build-service script, or –ant directly

4c.30 ant (Another Neat Tool) A build tool used in this assignment for deploying service. Similiar to the make program but the dependencies are specified using XML configuration files.

4c.31 GT 4 build command globus-build-service Contains bash and ant files, see globus service build tools:

4c.32 Resource Home Resources are managed by “Resource Homes” Provides an interface for adding and removing resources

4c.33 Resource Home Client Web Service Resource home Resource Manages Methods operate on resources properties create/ find resource

4c.34 Resource Home Client Web Service Resource home Resource Previously, service and resource in one file and resource home limited to one resource, using ServiceResourceHome class

4c.35 Resource Home Client Web Service Resource home Resource Separating service and resource in different file, have 3 files the service, the resource home, and the resource. Implement by extending SingletonResourceHome class.

4c.36 Multiple Resources Can use a service called a factory service for creating resources Each resource will be assigned a unique “key” which together with the service EPR identifies the WS-resource pair.

4c.37 Multiple services with a Factory Service Client Service instance Resource Home Resource Manages Methods operate on resources properties Find resource Factory Service Request resource creation Use Resource Home to create resource

4c.38 Lifecycle Management GT4 provides mechanisms to specify when a resource is destroyed: Immediately by invoking destroy operation Scheduled some time in the future –leased-based lifecycle management Lease periodically renewed otherwise resource destroyed within a specified time.

4c.39 Notifications Informing clients to be notified when something interesting happens. Example in assignment 2a

4c.40 WS-Addressing A way of identifying a web service and resource More versatile that using URIs Address of a WS-resource pair is called an endpoint reference (EPR) In assignment 2 example EPR just the service URL because single resource

4c.41 WS-Addressing Terms Endpoint – the destination where the web service can be accessed. Endpoint reference, EPR –describes the destination, and includes the destination location as URI, but can have other parameters

4c.42 Endpoint reference, EPR Like all WS-* specs, defined in terms of XML. Defined as complex type. Can contain: Address (a URI) (required) Reference Properties Reference Parameters Port type Service name Policy elements Corresponds to portType and service of WSDL document

4c.43 The minimum is simply the service address, using tag:

4c.44 Reference Properties tag Can be used to identify a resource properties in WSRF

4c.45 WS-Addressing endpoint example 28

4c.46 SOAP message WS-Addressing requires that contents of: must appear in SOAP’s header.

4c.47 Soap message Address appears in tag and ReferenceProperty in tag:

4c.48 Implied WS-Resource Pattern Describes a specific relationship between a web service and a resource. When a client accesses a web service with an implied WS-Resource pattern, the service returns a WS-addressing endpoint reference.

4c.49 More Information GGF: GT4 services: (Slides and assignment 2 based upon this tutorial) GT4 tutorial by Foster:

4c.50 Material in Books The Grid 2: Blueprint for a new Computing Infrastructure, Ian Foster, Carl Kesselman and Steve Tuecker Editors, Morgan Kaufmann 2004 –Chapter 17: “The Open Grid Service Architecture,” by Ian Foster, Carl Kesselman and Steve Tuecker.