Introduction to Globus Toolkit 4 at LA Grid CIS 6612 – Autonomic Grid Computing Summer 2006 PresentersFernando FarfánMayelin Felipe AgnosticsDiego LópezRamakrishna.

Slides:



Advertisements
Similar presentations
A3.1 Assignment 3 Simple Job Submission Using GT 4 GRAM.
Advertisements

High Performance Computing Course Notes Grid Computing.
This product includes material developed by the Globus Project ( Introduction to Grid Services and GT3.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
USING THE GLOBUS TOOLKIT This summary by: Asad Samar / CALTECH/CMS Ben Segal / CERN-IT FULL INFO AT:
1 CENTER FOR PARALLEL COMPUTERS An Introduction to Globus Toolkit® 3 -Developing Interoperable Grid services.
Globus Toolkit 4 hands-on Gergely Sipos, Gábor Kecskeméti MTA SZTAKI
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.
6/11/2015Page 1 Web Services-based Distributed System B. Ramamurthy.
Remote Method Invocation Chin-Chih Chang. Java Remote Object Invocation In Java, the object is serialized before being passed as a parameter to an RMI.
Slides for Grid Computing: Techniques and Applications by Barry Wilkinson, Chapman & Hall/CRC press, © Chapter 1, pp For educational use only.
A Model for Grid User Management Rich Baker Dantong Yu Tomasz Wlodek Brookhaven National Lab.
1-2.1 Grid computing infrastructure software Brief introduction to Globus © 2010 B. Wilkinson/Clayton Ferner. Spring 2010 Grid computing course. Modification.
Milos Kobliha Alejandro Cimadevilla Luis de Alba Parallel Computing Seminar GROUP 12.
Paul A. Farrell 2006 Grid Computing 1 Globus Toolkit Programming GT4 Tutorial Chapter 3 – Specific Parameters Paul A. Farrell Fall 2006 Grid Computing.
4b.1 Grid Computing Software Components of Globus 4.0 ITCS 4010 Grid Computing, 2005, UNC-Charlotte, B. Wilkinson, slides 4b.
Globus Computing Infrustructure Software Globus Toolkit 11-2.
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
Includes slides borrowed freely from The Globus team Building Grid Services and The Globus Toolkit ® CISE : Globus Tutorial Anda Iamnitchi.
Web Services (tying it all together) and Introduction to Grid Services Concepts These slides are adapted from course material developed by Barry Wilkinson,
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.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
4c.1 Grid Computing, B. Wilkinson, 2005 Web Service Resource Framework Creating Globus 4 services.
OPEN GRID SERVICES ARCHITECTURE AND GLOBUS TOOLKIT 4
9th Lecture COP 4991 Component-Based Software Development Instructor: Masoud Sadjadi Developing Grid Services.
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
Flexibility and user-friendliness of grid portals: the PROGRESS approach Michal Kosiedowski
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.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Simplify and Strengthen Security with Oracle Application Server Allan L Haensgen Senior Principal Instructor Oracle Corporation Session id:
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Hands-On Microsoft Windows Server Implementing Microsoft Internet Information Services Microsoft Internet Information Services (IIS) –Software included.
The Globus Toolkit 4 (GT4) A brief introduction. Web Services, WSRF, OGSA and GT4.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
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.
Grid Security: Authentication Most Grids rely on a Public Key Infrastructure system for issuing credentials. Users are issued long term public and private.
Introduction to Grid Computing Felix Hageloh Roberto Valenti Deployment of a Language Detector Grid Service University of Amsterdam,
Practical Distributed Authorization for GARA Andy Adamson and Olga Kornievskaia Center for Information Technology Integration University of Michigan, USA.
Overview of Privilege Project at Fermilab (compilation of multiple talks and documents written by various authors) Tanya Levshina.
Cole David Ronnie Julio. Introduction Globus is A community of users and developers who collaborate on the use and development of open source software,
Introduction to Grids By: Fetahi Z. Wuhib [CSD2004-Team19]
Kemal Baykal Rasim Ismayilov
Globus and PlanetLab Resource Management Solutions Compared M. Ripeanu, M. Bowman, J. Chase, I. Foster, M. Milenkovic Presented by Dionysis Logothetis.
Enabling Grids for E-sciencE Software installation and setup Viet Tran Institute of Informatics Slovakia.
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:
GT3 Tutorial Chapter 3 and Chapter 4 Lecture for Cluster and Grid Computing, CSCE 490/590 Fall 2004, University of Arkansas, Dr. Amy Apon
Data Manipulation with Globus Toolkit Ivan Ivanovski TU München,
Globus: A Report. Introduction What is Globus? Need for Globus. Goal of Globus Approach used by Globus: –Develop High level tools and basic technologies.
Policy-Based Dynamic Negotiation for Grid Services Authorization Ionut Constandache, Daniel Olmedilla, Wolfgang Nejdl Semantic Web Policy Workshop, ISWC’05.
UMBC Distributed Computing with Objects RMI/Corba CMSC 432 Shon Vick.
DataGrid is a project funded by the European Commission EDG Conference, Heidelberg, Sep 26 – Oct under contract IST OGSI and GT3 Initial.
PARALLEL AND DISTRIBUTED PROGRAMMING MODELS U. Jhashuva 1 Asst. Prof Dept. of CSE om.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
November, 2006 Developing Service using GT4 Writing Your First Stateful Web Service in 5 Simple Steps Adam Belloum.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) gLite Grid Introduction Salma Saber Electronic.
Chapter 5 Remote Procedure Call
Creating and running applications on the NGS
University of Technology
Module 01 ETICS Overview ETICS Online Tutorials
Introduction to Web Services
Distributed System using Web Services
Distributed System using Web Services
Grid Computing Software Interface
Presentation transcript:

Introduction to Globus Toolkit 4 at LA Grid CIS 6612 – Autonomic Grid Computing Summer 2006 PresentersFernando FarfánMayelin Felipe AgnosticsDiego LópezRamakrishna Varadarajan

OUTLINE WEB SERVICES FUNDAMENTALS GRID FUNDAMENTALS OGSA, WSRF & GT4 CIS.FIU.EDU DEVELOPING WS IN LAGRID Unsecured Examples Secure Examples

GETTING READY FOR LAGRID Get a Globus Identity certificate signed by the Certificate Authority. Enroll as a Secure Globus User with Eric Johnson. Set these environment variables: 1. Set $GLOBUS_LOCATION to /depot/globus-4 2. Set $ANT_HOME to /depot/ant-1.x

SETTING UP LAGRID ENVIRONMENT Download the examples 1. go to 2. go to Downloads 3. select to download the source code for the MathService examples and the FileBuy application Untar/unzip the file 1. tar -xvzf gt4book-examples.tar.gz

GT4 JAVA WS CORE Building web services using GT4. Stateful web services! Following WSRF specifications.

WRITE A STATEFUL WEB SERVICE IN 5 SIMPLE STEPS!! 1. Define the WS interface with WSDL. 2. Implement the service with Java. 3. Define the deployment parameters with WSDD. 4. Compile everything and generate a GAR file with Ant. 5. Deploy the service with GT4 tool.

OUR FIRST EXAMPLE: MathService A simple Math web service. Operations: Addition Subtraction Get Value. Resources: Value (integer) Last operation performed (String).

MathService: THE 5 STEPS. Step 1: The WSDL The Definition <definitions name="MathService" targetNamespace=" examples/MathService_instance“ …> … The Definition <definitions name="MathService" targetNamespace=" examples/MathService_instance“ …> … The Port Type <portType name="MathPortType" wsrp:ResourceProperties="tns:MathResourceProperties"> … The Port Type <portType name="MathPortType" wsrp:ResourceProperties="tns:MathResourceProperties"> … The Messages The Messages The Response and Request Types The Response and Request Types The Resource Properties … The Resource Properties …

MathService: THE 5 STEPS. Step 1: The WSDL Steps to write a WSDL document: Write the root element Write the Write an input and output for each operation in the PortType Write the, which includes declaring the request and response elements, along with the resource properties.

MathService:THE 5 STEPS Step 2: Implementation in Java The Bare Bones package org.globus.examples.services.core.first.impl; import java.rmi.RemoteException; import org.globus.examples.stubs.MathService_instance.*; import org.globus.wsrf.*; import org.globus.wsrf.impl.*; public class MathService implements Resource, ResourceProperties { … } The Bare Bones package org.globus.examples.services.core.first.impl; import java.rmi.RemoteException; import org.globus.examples.stubs.MathService_instance.*; import org.globus.wsrf.*; import org.globus.wsrf.impl.*; public class MathService implements Resource, ResourceProperties { … } The Resource Properties /* Resource properties */ private int value; private String lastOp; /* Get/Setters for the RPs */ public int getValue() { return value; } public synchronized void setValue(int value) { this.value = value; } The Resource Properties /* Resource properties */ private int value; private String lastOp; /* Get/Setters for the RPs */ public int getValue() { return value; } public synchronized void setValue(int value) { this.value = value; }

MathService: THE 5 STEPS Step 2: Implementation in Java The Web Service Java class includes: Declaration for the ResourcePropertySet Declaration for the Resource Properties Constructor – resource properties are initialized Get/Setters for the Resource Properties Methods for the remotely accessible operations

MathService: THE 5 STEPS. Step 3: Configuring the Deployment - WSDD share/schema/examples/MathService_instance/Math_service.wsdl <parameter name="handlerClass“ value="org.globus.axis.providers.RPCProvider"/> share/schema/examples/MathService_instance/Math_service.wsdl <parameter name="handlerClass“ value="org.globus.axis.providers.RPCProvider"/>

WEB SERVICES IN GT4 Agnostic Question What purpose does JNDI play within the GT4 environment? The Java Naming and Directory Interface allow us to build directory-enabled applications. This will make our Web service available to client connections through a Web services container. A service (identified by its path) will want to locate its resource home. It can also interact with a variety of directories such as LDAP.

MathService: THE 5 STEPS. Step 4: Create a GAR file with Ant Process the WSDL to add missing pieces. Create stub classes from the WSDL. Compile stub classes. Compile service implementation. Organize all files into its specific directory structure../globus-build-service.sh –d -s $./globus-build-service.sh \ -d org/globus/examples/services/core/first \ -s schema/examples/MathService_instance/Math.wsdl $./globus-build-service.sh \ -d org/globus/examples/services/core/first \ -s schema/examples/MathService_instance/Math.wsdl

MathService:THE 5 STEPS. Step 5: Deploy the Service into a Web Service Container Uses Ant. Unpacks the GAR. Copies the WSDL, compiled stubs, compiled implementation & WSDD into the GT4 directory tree. $ sudo –u globus globus-deploy-gar \ org_globus_examples_services_core_first.gar $ sudo –u globus globus-undeploy-gar \ org_globus_examples_services_core_first $ sudo –u globus globus-deploy-gar \ org_globus_examples_services_core_first.gar $ sudo –u globus globus-undeploy-gar \ org_globus_examples_services_core_first

MathService: THE CLIENT Tests the service invoking both the add and subtract operations. $ java -cp./build/stubs/classes/:$CLASSPATH \ org.globus.examples.clients.MathService_instance.Client \ $ java -cp./build/stubs/classes/:$CLASSPATH \ org.globus.examples.clients.MathService_instance.Client \ AxisFault faultCode: { faultSubcode: faultString: java.io.IOException: No socket factory for 'https' protocol faultActor: faultNode: faultDetail:...

HOW TO MAKE THE SERVICE SECURE?? Create the security-config.xml file. Modify the deploy-server.wsdd file. Add the following to the client. static { Util.registerTransport(); } … ((Stub)mathFactory)._setProperty( Constants.GSI_SEC_CONV, Constants.ENCRYPTION); ((Stub)mathFactory)._setProperty( Constants.AUTHORIZATION, NoAuthorization.getInstance()); Our acknowledge to Ramakrishna!

HOW TO MAKE THE SERVICE SECURE?? Is it secure now? Not really… We just fooled it to make it secure. $ java -cp./build/stubs/classes/:$CLASSPATH \ org.globus.examples.clients.MathService_instance.Client \ Current value: 15 Current value: 10 $ java -cp./build/stubs/classes/:$CLASSPATH \ org.globus.examples.clients.MathService_instance.Client \ Current value: 15 Current value: 10 Let’s run it again…

WEB SERVICES IN GT4 Agnostic Question How do I create a Grid infrastructure? Can we use any machine which has the Globus Toolkit's Grid Services installed on it? To build a Grid, we recommend that you download the Globus Toolkit and follow the instructions in the Globus Toolkit System Administrator's Guide. Both of these are available at the Globus website, The documentation will take you through the process of building the Globus Toolkit software, setting up a Grid information service, setting up a certificate authority or using someone else's, installing the Globus resource management tools on your servers, and installing Globus client tools and libraries for your users.

GRID SECURITY INFRASTRUCTURE Basis for GT4 Security layer. Covers the three pillars of secure communication: Privacy. Integrity. Authentication. Family of components (low/high level) to offer security features to programmers.

GRID SECURITY INFRASTRUCTURE Level security: Transport-level Message-level Authentication X.509 Digital certificates. Username/Password Authorization schemes: Server-Side Client-Side Custom Credential delegation and single sign-on Proxy Certificates Different levels of security: Container Service Resource.

SECURE EXAMPLES: WRITING A SECURE MathServer Add security to the MathService example. Now, four operations: add subtract multiply divide We will be able to configure each operation with a different security configuration.

DEMO: SECURE MathServer 1 Modify the security-config-auth.xml No server-side authorization must be performed. 2 The add method can only be invoked using GSI Secure Conversation. 3 The subtract method can only be invoked using GSI Secure Message. 4 The multiply method can be invoked using GSI Secure Conversation or GSI Secure Message. 5 The divide method can only be invoked using GSI Transport (transport-level security). 6 The rest of the methods can be invoked with any of the authentication methods. The service

DEMO: SECURE MathServer The Client Programatically: ((Stub)math)._setProperty(Constants. GSI_SEC_CONV,Constants.ENCRYPTION); Security descriptor: String secDecFile = “path/to/security-descriptor.xml”; ((Stub)math)._setProperty(Constants. CLIENT_DESCRIPTOR_FILE, secDescFile);

DEMO: SECURE MathServer Client call 1: GSI Transport Client Client call 2: GSI Secure Conversation Client [add] ERROR: GSI Secure Conversation authentication required for "{MathService_instance_4op}add" operation. [subtract] ERROR: GSI Secure Message authentication required for "{MathService_instance_4op}subtract" operation. [multiply] ERROR: GSI Secure Conversation or GSI Secure Message authentication required for "{MathService_instance_4op}multiply" operation. Division was successful Current value: 30 [add] ERROR: GSI Secure Conversation authentication required for "{MathService_instance_4op}add" operation. [subtract] ERROR: GSI Secure Message authentication required for "{MathService_instance_4op}subtract" operation. [multiply] ERROR: GSI Secure Conversation or GSI Secure Message authentication required for "{MathService_instance_4op}multiply" operation. Division was successful Current value: 30 Addition was successful [subtract] ERROR: GSI Secure Message authentication required for "{ MathService_instance_4op}subtract" operation. Multiplication was successful Division was successful Current value: 180 Addition was successful [subtract] ERROR: GSI Secure Message authentication required for "{ MathService_instance_4op}subtract" operation. Multiplication was successful Division was successful Current value: 180

GLOBUS TOOLKIT 4 Agnostic Question Once I've installed the Globus Toolkit, how do others find out that my machine is available on the Grid, and how can I find out what other machines are on the Grid? Grid exists as a number of groups who are building experimental and production grid infrastructures for their own purposes. Virtual organizations using the same Grid technology to build their infrastructures.

GLOBUS TOOLKIT 4 Agnostic Question If I submit a job using Globus Toolkit 4, is the execution management module capable of executing the job parallel on different machines on the grid? No, this is one of the current limitations of GT4.

GLOBUS TOOLKIT 4 Agnostic Question What are the research challenges that the Globus Alliance is currently addressing? What do you think are the limitations of the current Globus toolkit implementations? End-to-end resource management and adaptation techniques. Automated techniques for negotiation of resource usage, policy, and accounting in large-scale grid environments. High-performance communication methods and protocols.

GLOBUS TOOLKIT 4 Agnostic Question One of the main challenges with today's Internet, is the amount of useless information out there, how does GT4 currently ensure that the services being offered or registered provide both quality and are in demand? Globus Toolkit provides mechanisms to address resource discovery and security issues. GARA: General-purpose Architecture for Reservation and Allocation

GLOBUS TOOLKIT 4 Agnostic Question How effective is the GT4 book in expanding the practical uses of Grid Computing? Does the author focus on both scientific and non-scientific applications running on the Grid? Part IV: The FileBuy Application: Multiple services deployed across several machines. Highlights some design patterns commonly found in GT4- based systems.

GLOBUS TOOLKIT 4 Agnostic Question Are there any current GT4 IDE software tools? Globus Service Build Tools GT4IDE: Eclipse 3 plug-in that will allow GT4 programmers to develop WSRF Java Web Services easily. globus-build-service: The same Ant buildfile + script included in the tutorial.

GLOBUS TOOLKIT 4 Agnostic Question How do you envision the Grid in the future? In your opinion, how much will GT4 make Grid adoption easier in the future? The needs for Grids have been identified. How many grid-enabled applications we’ll see? To grid-enable an application is a challenge. New challenges in security.

USEFUL LINKS Our site! [COMING SOON] /GT4_project.html /GT4_project.html Globus toolkit 4 Programmer’s Tutorial Globus toolkit 4: Programming Java Services OASIS. The Globus Alliance;