Research Seminar Robert van Engelen Computer Science & CSIT Florida State University.

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

Overview of Web Services
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
High-Performance Predictive XML Parsing with gSOAP Robert van Engelen Florida State University.
1 Understanding Web Services Presented By: Woodas Lai.
RPC Robert Grimm New York University Remote Procedure Calls.
SE 370: Programming Web Services Week 4: SOAP & NetBeans Copyright © Steven W. Johnson February 1, 2013.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Implementing Remote Procedure Calls Andrew Birrell and Bruce Nelson Presented by Kai Cong.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
XML Technologies and Applications Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta, GA 30302
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
Web Services Andrea Miller Ryan Armstrong Alex. Web services are an emerging technology that offer a solution for providing a common collaborative architecture.
11 Web Services Dr. Miguel A. Labrador Department of Computer Science & Engineering
Communication in Distributed Systems –Part 2
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
Web Service Implementation Maitreya, Kishore, Jeff.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
Adapting Legacy Computational Software for XMSF 1 © 2003 White & Pullen, GMU03F-SIW-112 Adapting Legacy Computational Software for XMSF Elizabeth L. White.
WSDL Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Grid Computing, B. Wilkinson, 20043b.1 Web Services Part II.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Web Services An introduction for eWiSACWIS May 2008.
IEEE CCGrid May 22, The gSOAP Toolkit Robert van Engelen Kyle Gallivan Florida State University.
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
Lecture 15 Introduction to Web Services Web Service Applications.
Architecting Web Services Unit – II – PART - III.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Web Services for Satellite Emulation Development Kathy J. LiszkaAllen P. Holtz The University of AkronNASA Glenn Research Center.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
1 EIE424 Distributed Systems and Networking Programming –Part II 3.1 SOAP – Introduction.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Distributed Programming CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
Introduction to Server-Side Web Development Introduction to Server-Side Web Development using JSP and Web Services JSP and Web Services 18 th March 2005.
WebService. Outline Overview of Web Services SOAP (messaging) WSDL (service description) UDDI (registry)
Copyright © 2013 Curt Hill SOAP Protocol for exchanging data and Enabling Web Services.
Establishing a foundation for web services Ashraf Memon.
XML and Web Services (II/2546)
1 Engineering Web Based Legacy Systems By Kanchana Eramudugoda Distributed Computing – CS843.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
Developing Web Services with the Eclipse Web Tools Platform David Gallardo.
Web Services An Introduction Copyright © Curt Hill.
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.
.NET Mobile Application Development XML Web Services.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
1 RMI Russell Johnston Communications II. 2 What is RMI? Remote Method Invocation.
Web Services Blake Schernekau March 27 th, Learning Objectives Understand Web Services Understand Web Services Figure out SOAP and what it is used.
SOAP RMI Aleksander Slominski, Madhusudhan Govindaraju, Randall Bramley, Dennis Gannon Indiana University Extreme! Lab A New-Old Programming Model for.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
EGEE is a project funded by the European Union under contract IST Web Services Survey Giuseppe Avellino jra1 IT-CZ Meeting, 8-9/06/2004
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
Java Web Services Orca Knowledge Center – Web Service key concepts.
Evaluating Web Services Based Implementations of Grid RPC
Architecting Web Services
WEB SERVICES.
GF and RS, Dept. of CS, Mangalore University
Architecting Web Services
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Web services, WSDL, SOAP and UDDI
Introduction to Web Services
Presentation transcript:

Research Seminar Robert van Engelen Computer Science & CSIT Florida State University

Research, Nov 4,  Restructuring compiler analysis and transformation  Compilation techniques for embedded systems  Web and Grid services technologies  Bioinformatics and life sciences  Atmospheric and oceanographic sciences Research Projects

Research, Nov 4, Current Funding Support Improving Symbolic Analysis of Restructuring Compilers DOE Early Career PI Program (Compilers & Algorithms for High-Performance Computing, Networking, and Data Management) Automatic Validation of Code Improving Transformations and Related Applications (with Dr. Whalley) Collaborative Research in Compilers (with Dr. Whalley)

Research, Nov 4, Research Assistants  Chris Baker (for MS) collab. with Dr. Gallivan  Compiler technology & numerical algorithms  Johnnie Birch (for MS & PhD)  Compiler analysis techniques  Burt Walsh (for PhD)  Compiler & embedded systems technology  Yixin Shou (for PhD)  Compiler technology  Open position (for PhD)  Web and grid services technologies

Research, Nov 4, Web and Grid Services  Web and Grid services are remote applications, e.g. on the Web, that provide various data, document, and compute resources to client applications  Web/Grid service technology is a big step forwards in distributed computing on the Internet  Bridges platform and language interop gaps

Research, Nov 4, Web/Grid Service Protocols  Web/Grid services technologies utilize the SOAP and WSDL protocols  SOAP (Simple Object Access Protocol) is a light-weight protocol based on XML as the marshalling format for request and response messages, typically with HTTP  WSDL is an XML-based Web/Grid services description language

Research, Nov 4, WSDL 1. A Web Service registers its existence in a registry 2. The Web Service publishes its WSDL in the registry 3. SOAP remote procedure calling by clients developed from this WSDL

Research, Nov 4, gSOAP Web Services  SOAP/XML language binding for C & C++  SOAP/XML capabilities build into the C and C++ language  Uses compiler technology  Based on RPC compiler  No need to write any wrapper code  Generates SOAP/XML parsing routines (no DOM or SAX parser required)

Research, Nov 4, gSOAP Web Services  gSOAP is open source (SourceForge project) (C/C++, Java)  Platform independent (now with automake/conf)  Integrated TCP/IP, HTTP, DIME, SOAP, and XML stacks  Designed for high-performance throughput

Research, Nov 4, gSOAP Features  SOAP 1.1 and 1.2 compliant  WSDL 1.1 import and export  Stand-alone servers (HTTP 1.0 and partially 1.1)  Supports keep-alive and chunked transfers  CGI, Fast-CGI, Apache_mod, IIS  DIME attachments  Supports pure C or C/C++ application mix  Multi-threaded Web services, MT safe  Extensible  Plug-ins, callbacks, and user-defined (de)serializers

Research, Nov 4, gSOAP Users in Industry  Adobe Systems (eg. GoLive Web site development software)  IBM Alphaworks  Xerox  CoreNetworks  Powerllel  Siemens  Ericsson  Globus toolkit (DOE, Argonne National Labs)  Harness toolkit (DOE)  …

Research, Nov 4, Native C & C++ Application Code to Serve Requests (RPC Parameter Marshalling is Fully Automatic) libgsoap.a gSOAP Runtime Environment (Memory & I/O Management) Web Service Application Implementing a Web Service Application myService.h Specification of Remote Procedures and Parameter Types gSOAP RPC Compiler myService.wsdl soapService.c soapC.c RPC Skeleton Routines and XML Parsers/Generators Publish WSDL

Research, Nov 4, Native C & C++ Application Codes with SOAP RPC Calls (RPC Calls and Parameter Marshalling are Automatic) Client Application libgsoap.a gSOAP Runtime Environment (Memory & I/O Management) Implementing a Client Application someService.wsdl gSOAP WSDL importer WSDL Publication soapClient.c soapC.c RPC Stub Routines and XML Parsers/Generators gSOAP RPC Compiler someService.h Specification of Remote Procedures and Parameter Types

Research, Nov 4, SOAP RPC Marshalling struct BG { int val; struct BG *left; struct BG *right; }; int remoteMethod(struct BG input, struct BG *output);

Research, Nov 4, SOAP RPC Demarshalling

Research, Nov 4, Application to Life Sciences  Determine the “Tree of Life” from sequenced genome data  Serialize and deserialize phylogenetic trees in XML  Massive parallel computations  Cluster of workstations SOAP/XML

Research, Nov 4, Results 1)Interoperability Testing 2)Legacy C Code Web Service Integration 3)Scalability and Performance

Research, Nov 4, Interoperability Testing  WhiteMesa.org “interop lab”  Suite of test cases designed for real-time interoperability testing  Interop with: Apache Axis,.NET, Delphi,…

Research, Nov 4, Legacy C Code Integration: Linear System Solver Service LU decomposition from “Numerical Recipes in C”: ludcmp(double **a, int n, int *indx, double *d); ludcmp(double **a, int n, int *indx, double *d); Service routine (array size n stored in structs for vectors and matrices) ludcmp /**** ludcmp request ****/ ( struct mat *a, /* input: matrix */ struct ludcmpResponse /**** ludcmp response ****/ { struct mat *a; /* output: matrix (decomposed) */ struct ivec *indx; /* output: reordering vector */ double *d; /* output: arg for determinant */ } *result ); Struct declarations: struct vec /**** vector ****/ { double *__ptr; /* pointer to array of double */ int __size; }; /* run-time array size */ struct mat /**** matrix ****/ { struct vec *__ptr; /* pointer to array of vectors */ int __size; }; /* run-time array size */

Research, Nov 4, Linear System Solver Service Linear system solver service (LSSS) code (CGI-based): main() { soap_serve(soap_new()); /* process request */ } Example LSSS client application code: main() { struct soap soap; /* runtime environment */ struct mat a; /* input matrix */ struct ludcmpResponse result; /* result output */ … soap_init(&soap); /* init runtime */ if (soap_call_ns__ludcmp(&soap, “URL”, “”, &a, &result)) soap_print_fault(&soap, stderr); … … = result.a.__ptr[i]->__ptr[j]; /* index a[i,j] */ }

Research, Nov 4, Scalability and Performance 1)Scalability and overhead of communication vs. computation  LU-based double fp. matrix inversion 2)Performance (send 32bit int matrix)  Full SOAP XML-encoded int32 matrix  SOAP Base64-encoded int32 matrix  CGI-based SOAP Web Service  Stand-alone SOAP Web Service  Java RMI

Research, Nov 4, Communication Overhead: Matrix Inversion  Stand-alone linear system solver service  Full double fp. Matrix representation in SOAP XML  Total time of client request and server response (100BaseT, Dual PIII 550MHz, Red Hat Linux)

Research, Nov 4, Full XML Versus Base64 int32 Matrix Representations  Total time of client request and server response (100BaseT, Dual PIII 550MHz, Red Hat Linux)  SOAP XML- encoded 32bit int matrix  SOAP Base64- encoded 32bit int matrix

Research, Nov 4, XML vs. Base64 vs. Java RMI with Stand-Alone Service  Total time of client request and server response (100BaseT, Dual PIII 550MHz, Red Hat Linux)  SOAP XML- encoded 32bit int matrix  SOAP Base64- encoded 32bit int matrix  Java RMI (1.2.2)

Research, Nov 4, Questions?