PIPES Web Service Eric Boyd (Internet2) and Warren Matthews (Georgia Tech)

Slides:



Advertisements
Similar presentations
A REST-ful Web Services Approach to Library Federated Search using SRU Kevin Reiss Rutgers-Newark Law Library CALI 2005 – June 11th.
Advertisements

Advanced SQL Schema Customization & Reporting Presented By: John Dyke As day to day business needs become more complex so does the need for specifically.
PHP syntax basics. Personal Home Page This is a Hypertext processor It works on the server side It demands a Web-server to be installed.
DT211/3 Internet Application Development JSP: Processing User input.
INTRODUCTION The Group WEB BROWSER FOR RELATION Goals.
Dynamic Web Pages. Web Programming  All our web pages so far have been static pages. 1. We create a web page 2. We upload it to the web server 3. People.
Multiple Tiers in Action
GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)
NMWG GGF10 Berlin March 2004 R. Hughes-Jones Manchester Network Measurements Working Group Chairs:Richard Hughes-Jones Brian Tierney Eric Boyd ISP Area.
Measurement and Fault-Finding Using MAGGIE and PIPES. Presented at the HENP SIG Internet2 Members Meeting, Indianapolis, October Paola Grosso (SLAC)
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Service Broker Lesson 11. Skills Matrix Service Broker Service Broker, provides a solution to common problems with message delivery and consistency that.
 Distributed Software Chapter 18 - Distributed Software1.
Service Oriented Architecture Bryan Ollendyke.
Sys Prog & Scripting - HW Univ1 Systems Programming & Scripting Lecture 15: PHP Introduction.
PerfSONAR Client Construction February 11 th 2010, APAN 29 – perfSONAR Workshop Jeff Boote, Assistant Director R&D.
Networking Nasrullah. Input stream Most clients will use input streams that read data from the file system (FileInputStream), the network (getInputStream()/getInputStream()),
Reading Data in Web Pages tMyn1 Reading Data in Web Pages A very common application of PHP is to have an HTML form gather information from a website's.
MySQL in PHP – Page 1 of 17CSCI 2910 – Client/Server-Side Programming CSCI 2910 Client/Server-Side Programming Topic: MySQL in PHP Reading: Williams &
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
Module 14: WCF Send Adapters. Overview Lesson 1: Introduction to WCF Send Adapters Lesson 2: Consuming a Web Service Lesson 3: Consuming Services from.
COP 4991 Component Based Software Development Lecture #4 Java Web Services Onyeka Ezenwoye.
Dynamic Content On Edge Cache Server (using Microsoft.NET) Name: Aparna Yeddula CS – 522 Semester Project Project URL: cs.uccs.edu/~ayeddula/project.html.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Creating Dynamic Web Pages Using PHP and MySQL CS 320.
XRules An XML Business Rules Language Introduction Copyright © Waleed Abdulla All rights reserved. August 2004.
CVSQL 2 The Revenge of the SQL. The present Read-only access to CVS repository logs Language is a subset of SQL XML interface for returning results Built-in.
10/25/20151 Single Sign-On Web Service Supervisors: Viktor Kulikov Alexander Sherman Liana Lipstov Pavel Bilenko.
FIMS v1.1 Version numbers in schema Richard Cartwright Quantel July 2013.
THOMAS RANDOLPH KYLE SMITH STUART FELDT NICK PARKER What: Restaurant Management System. Why: Improve customer experience. Makes us better: Ours is personal.
Creating PHPs to Insert, Update, and Delete Data CS 320.
Implementing the XDS Infrastructure Bill Majurski IT Infrastructure National Institute of Standards and Technology.
Dynamic web content HTTP and HTML: Berners-Lee’s Basics.
Copyright © 2003 Pearson Education, Inc. Slide 7-1 The Web Wizard’s Guide to PHP by David Lash.
Unified scripts ● Currently they are composed of a main shell script and a few auxiliary ones that handle mostly the local differences. ● Local scripts.
Controlling Web Site Access Using Logins CS 320. Basic Approach HTML form a php page that collects the username and password  Sends them to second PHP.
Meta-Server System Software Lab. Overview In the Music Virtual Channel system, clients can’t query for a song initiatively Through the metadata server,
EGEE User Forum Data Management session Development of gLite Web Service Based Security Components for the ATLAS Metadata Interface Thomas Doherty GridPP.
13-Oct-2003 Internet2 End-to-End Performance Initiative: piPEs Eric Boyd, Matt Zekauskas, Internet2 International.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
NMWG GGF13 Seoul March 2005 R. Hughes-Jones Manchester Network Measurements Working Group Summary of the Work on "new" Schemata Richard Hughes-Jones Main.
G.v. Bochmann, revised Jan Comm Systems Arch 1 Different system architectures Object-oriented architecture (only objects, no particular structure)
Soaplab SOAP-based Analysis Web Services Martin Senger
1 An Implementation of the Profile Document. Presented at the June 24-27, 2003.
E2E piPEfitters Eric L. Boyd. 2 Agenda NLANR / DAST Advisor Jim Ferguson John Estabrook OWAMP Jeff Boote SONAR Prototype Deployment Eric Boyd.
Web Service Definition Language. Web Services: WSDL2 Web Service Definition Language ( WSDL ) What is a web service? [ F. Leymann 2003 ] A piece of code.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
Exchanging Network Measurement Data using Web Services Merten Leupolt Supervisors: Daniel Gunter, DSD Martin Swany, University of Delaware DSD Meeting.
INFSO-RI Enabling Grids for E-sciencE BAR: The Current Status Charaka Palansuriya EPCC.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Ch. 31 Q and A IS 333 Spring 2016 Victor Norman. SNMP, MIBs, and ASN.1 SNMP defines the protocol used to send requests and get responses. MIBs are like.
Web Programming Building Dynamic Web Pages Adrian Shaw (ais) – 80% Jonathan Roscoe (jjr6) - 20%
Cookies Tutorial Cavisson Systems Inc..
Overview of the Internet2 E2E piPEs project for EGEE-JRA4 people G.V.
Servlets.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
SDMX Reference Infrastructure Introduction
XML Problems and Solutions
E2E piPEs Overview Eric L. Boyd Internet2 24 February 2019.
SLAC monitoring Web Services
Interoperable Measurement Frameworks: Internet2 E2E piPEs and NLANR Advisor Eric L. Boyd Internet2 17 April 2019.
An Implementation of the Profile Document.
“Detective”: Integrating NDT and E2E piPEs
Addressing confidentiality issue in third party xml publication
Internet2 E2E piPEs Project
An Implementation of the Profile Document.
Exceptions and networking
Presentation transcript:

PIPES Web Service Eric Boyd (Internet2) and Warren Matthews (Georgia Tech)

Deployed Measurement Infrastructure

PIPES Web Service AMI measurements published as a web service. AMI measurements published as a web service. Implementation of NMWG response schema Implementation of NMWG response schema Older implementation still exists in different namespace Older implementation still exists in different namespace Only supported for Advisor and Monalisa Only supported for Advisor and Monalisa Until end of March. Until end of March.

Server in Perl Data served using perl SOAP::Lite Data served using perl SOAP::Lite Both SOAP and XMLRPC services Both SOAP and XMLRPC services Same back-end perl module Same back-end perl module OGSI/WSRF server under development OGSI/WSRF server under development Using OGSI::Lite Using OGSI::Lite Also working on.NET/C# Also working on.NET/C#

Database and Clients Data pulled from same mySQL database as AMI graphs and other information on web pages. Data pulled from same mySQL database as AMI graphs and other information on web pages. Multiple clients have been tested Multiple clients have been tested Perl, python for SOAP Perl, python for SOAP Perl, PHP, Java (Advisor, Monalisa) for XMLRPC Perl, PHP, Java (Advisor, Monalisa) for XMLRPC Others? Others?

Road Bumps Perl is untyped. Perl is untyped. SOAP::Lite performs autotyping SOAP::Lite performs autotyping Sometimes doesn’t do what we want! Sometimes doesn’t do what we want! Caused unexpected errors in java Caused unexpected errors in java Can over-ride but not yet done so (other priorities) Can over-ride but not yet done so (other priorities) XML encoding XML encoding Defaults to RPC Defaults to RPC Can over-ride to force Literal (again, not yet) Can over-ride to force Literal (again, not yet)

Uphill Struggles The hardest part of the implementation was decoding the XML. The hardest part of the implementation was decoding the XML. There are some tools but mostly it was a time-consuming manual process. There are some tools but mostly it was a time-consuming manual process. XML::Parser XML::Parser Prefer old-style Profile document or even a list of objects. Prefer old-style Profile document or even a list of objects.

Client Side New client requires characteristic to be specified. New client requires characteristic to be specified. Partial implementation of request schema for requesting data not just measurements Partial implementation of request schema for requesting data not just measurements Future deployment will follow request schema to request data and measurements Future deployment will follow request schema to request data and measurements Only return what is asked for, previously everything available was returned. Only return what is asked for, previously everything available was returned.

Supported Characteristics Measured by owamp Measured by owamp path.delay.oneWay path.delay.oneWay path.loss.oneway path.loss.oneway Measured by bwctl Measured by bwctl path.bandwidth.achievable.TCP path.bandwidth.achievable.TCP path.bandwidth.achievable.UDP path.bandwidth.achievable.UDP path.jitter.oneWay path.jitter.oneWay

Other Inputs Measurement Nodes by nickname (ATLA, CHIN, DNVR, HSTN, IPLS, KSCY, LOSA, NYCM, SNVA, STTL, WASH). Measurement Nodes by nickname (ATLA, CHIN, DNVR, HSTN, IPLS, KSCY, LOSA, NYCM, SNVA, STTL, WASH). type is ipv4 or ipv6 at all nodes. Not case sensitive. “4” or “6” will suffice. type is ipv4 or ipv6 at all nodes. Not case sensitive. “4” or “6” will suffice.

Other Inputs startTime/endTime startTime/endTime iso8601 is supported iso8601 is supported Dan - “Timezones are a problem waiting to happen” - very true Dan - “Timezones are a problem waiting to happen” - very true But users are looking for trouble But users are looking for trouble Currently no support for epochSeconds Currently no support for epochSeconds Too much opportunity for timezone confusion Too much opportunity for timezone confusion

Example Client In perl: In perl: my %request = ( networkCharacteristic => "path.delay.oneway", subject => { source => { address => { name => "ATLA", }, }, destination => { address => { name => "LOSA", }, }, type => "IPv4", }, startTime => ” T00:00::00-5:00", endTime => ” T23:59:59-5:00", ); my $webService = SOAP::Lite -> uri(' -> -> NetworkMeasurementSet(\%request) -> result; Wrap the request up in an object Send it to the webservice

Examples print $webService->{version} print $webService->{networkMeasurement}->{characteristic} path.bandwidth.achievable.TCP

Supported Objects Could add Memory, disk details (both can have a significant effect on performance). Could add Memory, disk details (both can have a significant effect on performance). Last updated field would be a useful sanity check. Last updated field would be a useful sanity check. Some system information can be retrieved by snmp, sysctl, currently hard coded. Some system information can be retrieved by snmp, sysctl, currently hard coded. Methodology has separate source and destination objects instead of single endpoint. Methodology has separate source and destination objects instead of single endpoint.

Non-Standard Objects NetworkMeasurementSet => Help or NetworkMeasurementSet => Message NetworkMeasurementSet => Help or NetworkMeasurementSet => Message e.g. “No data matching query” or “no response from db” e.g. “No data matching query” or “no response from db” Paola suggested using SOAP Failure Paola suggested using SOAP Failure But not really a SOAP failure if there is no data matching the query. But not really a SOAP failure if there is no data matching the query. Same applies for other SOAP messages Same applies for other SOAP messages

Further Work Deployment on CENIC, NCNI, SOX Deployment on CENIC, NCNI, SOX Interconnecting measurement domains Interconnecting measurement domains Other Characteristics Other Characteristics Path.delay.roundtrip - AMP data Path.delay.roundtrip - AMP data Continued development of Request schema, future Response schema Continued development of Request schema, future Response schema Development of AAA (certificate based?) Development of AAA (certificate based?)

More Information PIPES/AMI Web Service home page: PIPES/AMI Web Service home page: Monalisa Monalisa Advisor Advisor Or send questions/comments to Or send questions/comments to