WP3 Implementing R-GMA grid services in GT3 Abdeslem Djaoui & WP3 Grid Services Task Force 7 th EU Datagrid meeting 26/09/2003

Slides:



Advertisements
Similar presentations
Modeling Elements of Web Service State in WSDL May 12, 2003 Global Grid Forum.
Advertisements

Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
SOAP : Simple Object Access Protocol
Web Services Web Services are the basic fundamental building blocks of invoking features that can be accessed by an application program. The accessibility.
This product includes material developed by the Globus Project ( Introduction to Grid Services and GT3.
1 CENTER FOR PARALLEL COMPUTERS An Introduction to Globus Toolkit® 3 -Developing Interoperable Grid services.
Distributed Heterogeneous Data Warehouse For Grid Analysis
6/11/2015Page 1 Web Services-based Distributed System B. Ramamurthy.
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 42 Web Services.
Lecture 10: Web Services. Outline Overview of Web Services Create a Web Service with Sun J2EE (JAX-RPC)
Apache Axis: A Set of Java Tools for SOAP Web Services.
Communication in Distributed Systems –Part 2
OGSA : Open Grid Services Architecture Ramya Rajagopalan
Web Service Implementation Maitreya, Kishore, Jeff.
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 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.
Grid Computing, B. Wilkinson, 20043b.1 Web Services Part II.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
NeSC Grid Apps Workshop Exposing Legacy Applications as OGSI Components using pyGlobus Keith R. Jackson Distributed Systems Department Lawrence Berkeley.
COP 4991 Component Based Software Development Lecture #4 Java Web Services Onyeka Ezenwoye.
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.
Application code Registry 1 Alignment of R-GMA with developments in the Open Grid Services Architecture (OGSA) is advancing. The existing Servlets and.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
1 Cisco Unified Application Environment Developers Conference 2008© 2008 Cisco Systems, Inc. All rights reserved.Cisco Public Introduction to Etch Scott.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
© Drexel University Software Engineering Research Group (SERG) 1 An Introduction to Web Services.
An information and monitoring system for static and dynamic information about grid resources, applications, networks … RDBMS Servlet aware of API during.
Grid Services I - Concepts
Performance Measurement Points Sockets, plain text and grid services Paul Mealor.
XML and Web Services (II/2546)
Preliminary Ocean Project Page 1 WGISS SG May 15, C. Caspar G. Tandurella P. Goncalves G. Fallourd I. Petiteville Preliminary Ocean Project Phase.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
J2EE Chris Hundersmarck Maria Baron Jeff Webb.  Java 2 Platform, Micro Edition (J2ME)  Java 2 Platform, Standard Edition (J2SE)  Java 2 Platform, Enterprise.
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
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
1 Service oriented computing Gergely Sipos, Péter Kacsuk
Data Manipulation with Globus Toolkit Ivan Ivanovski TU München,
GT3 Architecture and Functionality. Core OGSI Implementation Security Services System-Level Services Container Hosting Environment Base Services Resource.
.NET Mobile Application Development XML Web Services.
WP3 OGSA Notification and RGMA Datagrid meeting 13/5/2003.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
DataGrid is a project funded by the European Commission EDG Conference, Heidelberg, Sep 26 – Oct under contract IST OGSI and GT3 Initial.
SOAP RMI Aleksander Slominski, Madhusudhan Govindaraju, Randall Bramley, Dennis Gannon Indiana University Extreme! Lab A New-Old Programming Model for.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
Beginning 자바 웹 서비스 웹 서비스 호출 Meilan JIANG Cyber infrastructure Research Laboratory Department of Advanced Technology.
The Java API for XML-Based Web Services. A Web Service example in Java SOAP-awareServlet (e.g. Apache Axis2) SOAP-awareServlet Any class processing the.
January 14 th -15 th 2004 Recap of Day 1 Daragh Byrne – EPCC.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
Java Web Services Orca Knowledge Center – Web Service key concepts.
Jim Fawcett CSE681 – SW Modeling & Analysis Spring 2005
Chapter 5 Remote Procedure Call
WEB SERVICES.
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.
Java Distributed Computing
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Introduction to Web Services
WebServices Using JAX-RPC
Introduction to Web Services
Distributed System using Web Services
Chapter 42 Web Services.
Distributed System using Web Services
Presentation transcript:

WP3 Implementing R-GMA grid services in GT3 Abdeslem Djaoui & WP3 Grid Services Task Force 7 th EU Datagrid meeting 26/09/2003

WP32 Outline GT3 R-GMA schema grid service Next presentation: Demo by James

WP33 What is GT3 Open source reference implementation of OGSI – GT3 core Plus several OGSI-compliant services corresponding to familiar GT2 services –Grid security: GSI –Remote job submission and control: GRAM –High peformance secure data transfer: GridFTP –System and service information: MDS Is also a framework for the creation of new OGSI-compliant services

WP34 GT3 core architecture – white boxes

WP35 GT3 OGSI reference implementation Set of primitives implementing the standard OGSI interfaces: –GridService, HandleResolver, Factory, Notification, ServiceGroup GridService and Factory implementations are fundamental to GT3 container –Not easily replaced but could be extended Other interface implementations easily replaced if not adequate API and tools for creating new GridServices

WP36 Programming with GT3 java implementation Server side: –simplest way to write a Grid service is to extend GridServiceImpl Tied to GT3 container Locks functionality known at development time Hard to port to other OGSI-compliant containers –Dynamic delegation approach (operation providers) Additional functionality can be added at deployment and runtime Favours more modular, uncoupled, reusable designs A little more code and a few lines in deployment descriptor

WP37 Inheritance and delegation examples Inheritance: –public class ExampleImpl extends GridServiceImpl implements ExamplePortType { … } Delegation: –public class ExampleProvider implements OperationProvider { // Operation provider properties Private static final QName[] operations = new QName[]{new QName("", "*")}; private GridServiceBase base; // Operation Provider methods public void initialize(GridServiceBase base) throws GridServiceException { this.base = base; } public QName[] getOperations() { return operations; } … } –<parameter name="instance-className" value=“...providers.wsdl.ExamplePortType"/> <parameter name="instance-operationProviders" value=“...providers.impl.ExampleProvider"/> <parameter name="instance-baseClassName“ value="org.globus.ogsa.impl.ogsi.GridServiceImpl "/>

WP38 Programming with GT3 java implementation … Client side: –A grid service client could be written directly on top JAX- RPC client API for Web services JAX-RPC has no knowledge of GSH’s and GSR’s GT3 provides a number of utility classes to simplify GSH to GSR resolution –Extended JAX-RPC GT3 provides custom stub generator extending the JAX-RPC stubs to integrate these utilities –Client gets a GSH to a service instance –GSH passed to a ServiceGridLocator that constructs a proxy responsible for making the call using binding defined in WSDL –Proxy exposed using standard JAX-RPC generated PortType interface

WP39 Client example //Create a new ExampleService instance using factory exampleFactory LocatorType locator = exampleFactory.createService(); //get a reference to its ExamplePortType ExampleServiceGridLocator exampleLocator = new ExampleServiceGridLocator(); ExamplePortType example = exampleLocator.getExampleService(locator); // Call remote method ‘doSomething()' example.doSomething();

WP310 Tools, logging and testing Apache Axis, Java COG kit, jakarta ant, browsers Logging: –based on jakarta commons logging architecture –GT3 also provides a logging Grid service: OgsiLogging Testing: –Build on top of JUnit test toolkit –Test suits are named following a convention based on when they should be run and what kind of functionality they test –Tests can be run against a local server or a remote server

WP311 Designing a Grid Service A grid service is a web service that must implement the GridService portType in addition to its own portTypes. –Uses WSDL (or GWSDL) for interface definition –Uses standard Web services binding: encoding message transmission protocols (SOAP over HTTP in GT3) –GridService portType Querying and updating against the serviceData set of the Grid service instance (serviceData mandated by OGSI and user defined) Managing the termination of the Grid service instance No restriction on implementation of interfaces –Any language, any OS, any platform –Any internal state management

WP312 Designing a R-GMA schema Grid Service Design Constraints: –Backward compatible with existing R-GMA –Interchangeable with existing servlets One to one relationship between servlet and Grid service –expose schema API public methods in a WSDL portType –Use current implementation within a minimal Grid service (implementing GridService portType) Main change being network communication: SOAP over HTTP, instead of, HTTP get/post + XML string

WP313 Schema Grid Service implementation Start with JAVA interface public interface Schema { public int translateTableName(String tableName); } Generate stubs Implement server public class Schema extends PersistentGridServiceImpl implements SchemaPortType { … mySchema = new org.edg.info.SchemaInstance(); … public int translateTableName(String tableName) throws RemoteException { … int answer = mySchema.translateTableName(tableName); return answer; } Write deployment descriptor Deploy service into container Write client and invoke service

WP314 Serializing ResultSet across network boundaries GT3 uses Apache Axis (as a SOAP engine) AXIS can send (via SOAP) basic types and arrays AXIS cannot send arbitrary classes without a registered AXIS serializer/de-serializer AXIS includes a serializer/de-serializer for java classes that follow the JavaBean pattern Our aproach: –Wrap ResultSet into a ResultSetBean, serialize it, and unwrap it at the other end –Start from XSD definition and use tools to generate the JavaBean –Provide the wrapper class

WP315 Serializing RGMAException across network boundaries OGSI recomments the use of WSDL:Fault by defining a base XSD type (ogsi:FaultType) from which all faults derive In AXIS –Java.rmi.RemoteException maps to SOAP:Fault element – useful if recipient able to create instance of received fault. –Other Exceptions represented as WSDL:fault elements – useful for new grid service implementation our approach: wrap RGMAException within RemoteException –RGMAException caught on service side –sent as cause of org.globus.ogsa.GridServiceException, –caught at other end –which then throws a new RGMAException having the caught exception as cause –Limitation: additional fields in RGMAException ignored.

WP316 Unresolved issues Clients in other languages Security- in java and other languages Producer/Consumer Replication How to incorporate OGSI features – ie: going beyond wrapping existing code and functionality