Download presentation
Presentation is loading. Please wait.
1
GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)
2
GGF-BerlinSLAC Web Services Monitoring data The IEPM group at SLAC is monitoring network connectivity and End-to-end performance for sites involved in High Energy Nuclear and Particle Physics. At SLAC: IEPM-BW = monitors ~ 35 sites and analyzes the data for anomalies and variations. PingER = monitors ~300 sites and provides end-to-end performance statistics.
3
GGF-BerlinSLAC Web Services Metrics IEPM-BW –path.bandwidth.achievable.TCP (iperf) –path.bandwidth.achievable.TCP.multiStrea m (iperf, bbftp,GridFTP) –path.bandwidth.capacity (ABwE) –path.bandwidth.utilization (ABwE) PingER –path.delay.roundTrip (ping) http://www-didc.lbl.gov/NMWG/docs/draft-ggf- nmwg-hierarchy-02.pdf
4
GGF-BerlinSLAC Web Services IEPM-BW implementation Based on the Oct.2003 schema this has been our first production experience with Web Services. Provided us with experience in: –How to organize the data (storage in Oracle) –How to describe the service we provide in WSDL files –How to write server and clients code that access the data
5
GGF-BerlinSLAC Web Services IEPM-BW clients We have regular clients of our service: –Monalisa V1.2 announced in Feb 6 is now providing modules to interface to IEPM-BW data via Web Services. –A SLAC demo client: –http://www- iepm.slac.stanford.edu/tools/web_services/ soap/IEPM_client.htmlhttp://www- iepm.slac.stanford.edu/tools/web_services/ soap/IEPM_client.html
6
GGF-BerlinSLAC Web Services Monalisa and IEPM-BW
7
GGF-BerlinSLAC Web Services PingER implementation New: PingER data available via Web Services. 30 days of PingER measurements from the SLAC monitoring node to sites around the world. Responses for PingER data is based on the 15 Jan 2004 report schema!
8
GGF-BerlinSLAC Web Services PingER WSDL file This is where the service is described in term of: –provided operations: - PINGER#GetPathDelayRoundTrip -required inputs: -startTime -endTime -destination -provided output: -networkMeasurementSet http://www- iepm.slac.stanford.edu/tools/soap/wsdl/PINGER_profile.wsdl Not yet implemented according to the request schema.
9
GGF-BerlinSLAC Web Services A PingER response networkMeasurementSet: version: 1.0 networkMeasurement: characteristic: path.delay.roundTrip methodology: tool: name: ping parameterSet: packetTypeParam: ICMP packetSizeParam: 100 numPacketsParam: 20 results: resultSet: count: 20 timeInterval: timestampStart: 1076445224 timestampEnd: 1076449413 min: 49.924 max: 50.433 mean: 50.113 result1: delay: 50.113 timestamp: 1076446801 subject: source: name: pinger.slac.stanford.edu address: host: 134.79.240.30 version: 4 destination: name: fnal.fnal.gov address: host: 131.225.9.20 version: 4
10
GGF-BerlinSLAC Web Services Report schema Some of the encountered problems…(repeating Warren) How to indicate in a response missing data or incorrect inputs? We are using SOAP::Fault to convey this information to the client; How to differentiate multiple measurements within the same resultSet? Perl implementation require this. How to provide statistics for the single measurement in the same resultSet? PingER data in a long interval is a series of ping mesaurements, each with its own stats; How to indicate disk and memory for a system? Les Cottrell’s studies indicate this as being an important quantity
11
GGF-BerlinSLAC Web Services PingER SOAP client #!/usr/local/bin/perl –w use SOAP::Lite; use Data::Dumper; my $startDate = "2004-02-18T12:46:56"; my $endDate = "2004-02-19T12:46:34"; my $destination = "fnal.fnal.gov"; my $measurement = SOAP::Lite-> service('http://www- iepm.slac.stanford.edu/tools/soap/wsdl/PINGER_profile.wsdl') ->GetPathDelayRoundTrip($startDate,$endDate,$destination); print Dumper ($measurement); exit;
12
GGF-BerlinSLAC Web Services PingER XML-RPC client #!/usr/local/bin/perl -w use XMLRPC::Lite+trace; use Data::Dumper; my $startDate = "2004-02-09T12:46:56"; my $endDate = "2004-02-09T13:46:34"; my $destination = "fnal.fnal.gov"; my $measurement = XMLRPC::Lite ->proxy('http://www-iepm.slac.stanford.edu/cgi-wrap/bbcp.cgi') ->call('PINGER.GetPathDelayRoundTrip',"$startDate", "$endDate","$destination") ->result; print Dumper ($measurement); exit;
13
GGF-BerlinSLAC Web Services PingER Python SOAP client #!/usr/local/bin/python import SOAPpy url='http://www- iepm.slac.stanford.edu/tools/soap/wsdl/PINGER_profile.wsdl' proxy = SOAPpy.WSDL.Proxy(url) measurement = proxy.GetPathDelayRoundTrip('2004-02- 10T12:33:44','2004-02-10T18:11:33','fnal.fnal.gov') print measurement
14
GGF-BerlinSLAC Web Services Servers implementation #!/usr/local/bin/perl use XMLRPC::Transport::HTTP; my $server = XMLRPC::Transport::HTTP::CGI -> dispatch_to('PINGER') -> handle; ; #!/usr/local/bin/perl use SOAP::Transport::HTTP; SOAP::Transport::HTTP::C GI -> dispatch_to('PINGER') -> handle; ; SOAP serverXML-RPC server
15
GGF-BerlinSLAC Web Services Server backend A Perl module that handles the incoming requests and interfaces to the database where the data is stored. The Perl module constructs the returned data (in Perl hashes), according to the schema. Note, we are not indicating the encoding in the SOAP::Data type…
16
GGF-BerlinSLAC Web Services To do Our future plans: –Conform the request model to the most recent request schema; –Migrate the IEPM-BW Web Services to the new schema; –Looking for clients of the PingER service; –Export the web services model to other interested PingER sites.
17
GGF-BerlinSLAC Web Services Conclusions Documentation: SLAC Web Services http://www- iepm.slac.stanford.edu/tools/web_services SLAC Web Services demo client: http://www- iepm.slac.stanford.edu/tools/web_services/soap/ IEPM_client.html Contact us: Iepm-l@slac.stanford.edu
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.