1 Importance of SECAA Web Services for the Integrated SEC Data Environment Robert M. Candey (Code 632) Bernard T. Harris (Code.

Slides:



Advertisements
Similar presentations
Robert M. Candey (Code 632) Bernard T. Harris (Code 583)
Advertisements

COM vs. CORBA.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Programming Paradigms and languages
RPC Robert Grimm New York University Remote Procedure Calls.
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
1 HyCon Framework Overview Frank Allan Hansen and Bent Guldbjerg Christensen ! Run this presentation in presentation mode to watch animations.
Data Grids: Globus vs SRB. Maturity SRB  Older code base  Widely accepted across multiple communities  Core components are tightly integrated Globus.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
CDAWeb+ Java client: an Experiment in Integrating Disparate Data Systems Robert M. Candey (Code 612.4) Reine A. Chimiak (Code.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
INTRODUCTION TO WEB DATABASE PROGRAMMING
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
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.
EARTH SCIENCE MARKUP LANGUAGE “Define Once Use Anywhere” INFORMATION TECHNOLOGY AND SYSTEMS CENTER UNIVERSITY OF ALABAMA IN HUNTSVILLE.
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.
The Old World Meets the New: Utilizing Java Technology to Revitalize and Enhance NASA Scientific Legacy Code Michael D. Elder Furman University Hayden.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Presentation: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
COP 4991 Component Based Software Development Lecture #4 Java Web Services Onyeka Ezenwoye.
At A Glance VOLT is a freeware, platform independent tool set that coordinates cross-mission observation planning and scheduling among one or more space.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
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.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
A Web-based Distributed Simulation System Christopher Taewan Ryu Computer Science Department California State University, Fullerton.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
XML and Web Services (II/2546)
Building from Where We Are: Web Services and Java-Based Clients to Enable Virtual Observatories Robert M. Candey (Code 612.4)
March 2004 At A Glance autoProducts is an automated flight dynamics product generation system. It provides a mission flight operations team with the capability.
Kemal Baykal Rasim Ismayilov
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
HDF EOS Workshop David Han Code
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Web Services An Introduction Copyright © Curt Hill.
The Virtual Heliospheric Observatory and Distributed Data Processing T.W. Narock 1,2, A. Szabo 2, A. Davis 3 1. L3 Communications,
SPDF Science Advisory Group - September 29-30, 2005 Page 12/24/2016 9:09:48 PM Services of the Space Physics Data Facility (SPDF) / Sun-Earth Connection.
Distributed Data Servers and Web Interface in the Climate Data Portal Willa H. Zhu Joint Institute for the Study of Ocean and Atmosphere University of.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
March 2004 At A Glance The AutoFDS provides a web- based interface to acquire, generate, and distribute products, using the GMSEC Reference Architecture.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
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.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Sabri Kızanlık Ural Emekçi
z/Ware 2.0 Technical Overview
Outline SOAP and Web Services in relation to Distributed Objects
Processes The most important processes used in Web-based systems and their internal organization.
Outline SOAP and Web Services in relation to Distributed Objects
WEB API.
Web Server Administration
Chapter 27 WWW and HTTP.
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
WebServices Using JAX-RPC
Web Application Development Using PHP
Presentation transcript:

1 Importance of SECAA Web Services for the Integrated SEC Data Environment Robert M. Candey (Code 632) Bernard T. Harris (Code 583) Reine A. Chimiak (Code 583) David B. Han (Code 586) Rita C. Johnson (QSS, Code 630) Colin A. Klipsch (QSS, Code 630) Tamara J. Kovalick (QSS, Code 630) Howard A. Leckner (QSS, Code 630) Michael H. Liu (Raytheon ITSS, Code 630) Robert E. McGuire (Code 632) NASA Goddard Space Flight Center, Greenbelt MD 20771

2 SECAA/SPDF providing services today Accessible via FTP, HTML browser, and now web services APIs and new clients that use the web services Space physics data access - Coordinated Data Analysis Web (CDAWeb) and Coordinated Data Analysis System (CDAS) World-wide data finding across public FTP sites and in CDAWeb (Public data file finder) –Return URLs to files matching a range of time in many FTP and some HTTP data sites (filenaming format based on strptime % strings) –Example XML (required tags in bold) ftp://cdaweb.gsfc.nasa.gov/pub/istp/ace/mfi_h0 Orbit locations - Satellite Situation Center Web (SSCweb) Data Format Translation web service (DTWS) Radbelts (OMNIweb) solar and magnetospheric indices More to come

3 Data File Finder Using just several pieces of metadata, we can return URLs to files matching a range of time in many FTP and some HTTP data sites Filenaming format based on strptime % strings Example XML (required tags in bold) ftp://cdaweb.gsfc.nasa.gov/pub/istp/ace/mfi_h0 Release notes and other info available at ace_mfi_h0_16sec_cdf_spase ftp://cdaweb.gsfc.nasa.gov/pub/istp/ace/mfi_h0http://

4 Data Translation Web Service (DTWS) Translation between one or more local or remote files into other data formats Formats: CDF, netCDF, HDF4, HDF5, FITS, Interoperability with other data formats using XML: CDF Markup Language (CDFML), FITSML, XDF Version of CDFML (CDFX-ML), HDF in XML, Native Data Format (NDF) in XML, ASCII (data object mapping via Extensible Style Language (XSL)) Input: Files to be translated, translation mode Output: Direct or notification with URL links to translated files

5 Satellite Situation Center (SSCweb) Service for geocentric spacecraft locations with geophysical regions and mappings along magnetic field lines Supports multiple coordinate systems Extensive business logic and comprehensive list of active and past space physics missions Supports complex multi-satellite and ground conjunction queries Outputs listings and graphs

6 Coordinated Data Analysis System (CDAS) Web services Simultaneous multi-mission, multi-instrument selection and comparison of science data via graphics, digital listings, file retrieval and merged/subsetted CDF creation Now comprises >600 datasets of current and past space missions and ground-based facilities (>1M files of science data) Very popular with 165k user sessions, 94k plots, 622k FTP requests, 67k ASCII listings, 586 CDF create requests, 2882 file retrieval requests in FY2004 CDAWeb data available through: –FTP file access, including software and documents –Web browser –Web services in addition –Latter two provide data listings, plots, original data files and combined files

7 What is Common Data Format (CDF)? Self-describing platform-independent scientific data format (object oriented like HDF5) Most widely used format in Space Physics –ISTP, Stereo, TIMAS Available on all major computer platforms Interfaces supported: C, Fortran, Java, and Perl CDF FAQ

8 Software for CDF IDL, MATLAB, IBM DX, FlexPro, Application Visualization System Goddard-developed Web-based systems leverage CDF power CDAWlib –Powerful set of IDL routines, including reading/writing CDFs –Available at ftp://cdaweb.gsfc.nasa.gov/pub/CDAWlib/> Standard CDF tools –CDFcompare, CDFconvert, CDFedit, CDFexport, CDFstats, SkeletonTable, SkeletonCDF distributed as part of the standard CDF distribution package –SKTeditor metadata editor applying the ISTP Guidelines –MakeCDF converts ASCII and binary custom formats into CDF

9 How to setup your own web service: SECAA implementations Server Software –Apache HTTPD –Apache Jakarta Tomcat 5 (triggers on “/WS/” in URL) –Java Runtime Environment (JRE) 1.4.x –Sun JAX-RPC 1.1 runtime libraries (could replace with Java Axis) –Apache Jakarta Commons/Net library (for FTP access) –CDAS and SSC Web application implementing web services –CDAS and SSC core (existing) software –Services described in WSDL files Development Software –Sun Java Web Services Developers Pack (JWSDP) 1.3 –Sun Java Developers Kit (JDK) Java Client Software –Application –Java Runtime Environment (JRE) 1.4.x –Sun JAX-RPC 1.1 runtime libraries –CDAS/SSC Web service client libraries

10 WS Client Apache HTTPD IDL our WS Java code CDAS metadata database non-CDAWeb FTP/HTTP site metadata (XML) Apache Tomcat CDAWeb Server Remote Computer FTP Server Remote Computer HTTP Server Remote Computer SOAP request/ response Get dir Get dir Create execute HTTP GET data/response CDAS data file/ plot/listing Read create Get data file read get file

11 Tie together services One scenario (connected with XML event lists): Search bowshock event database Query indices database for times of no sun spots Correlate with spacecraft on same field lines Search for data files Translate files into preferred format Plot

12 Tie together with clients SECAA-provided or external clients (own customer of web services and dependent on service stability) HTML web page access always for simple access TIPSOD (Tool for Interactive Plotting, Sonification and 3-D Orbit Display) CDAS Java client of getting CDAWeb data listings, plots, files (via CDAWlib) and URLs to files on other systems (via FTP) (functions to be merged soon): –Original CDAS Client (no FTP support) –CDAS FTP Client (no CDAWlib support) Easy client install (WebStart) Translator page VSPO also using CDAS Web services

13 Tool for Interactive Plotting, Sonification and 3-D Orbit Display (TIPSOD) Shows spacecraft moving in time and 3D space as an interactive movie, while user changes orientation and scale (zoom and rotation) Interfaces with the new flexible SSC XML Web Services (expanding on operational system) Exposes relationships between spacecraft visually (in 3D) and temporally Easy to download and use (Web Start downloads or updates TIPSOD client, Java and Java 3D with a few clicks from the browser) Runs on Windows, Unix, Linux, Mac OS X (requires Java3D) Additional functions planned, such as sonification and connections to CDAWeb science data and logic

14 Examples of calling web services Example IDL program (IDL 6.0 IDL-Java bridge) Example Java client Example JavaScript Example Perl script SSC Web Services Same techniques used to call CDAS Web services

15 How to use our web services: Example IDL program Uses IDL 6.0 IDL-Java bridge feature to call the SSCWeb services Get list of satellites on SSCweb and then get orbit locations for 1 day of Polar in GSE coordinates Configure IDL-Java bridge provided with the IDL software Add JAXRPC jar files and sscWebServices-client.jar to CLASSPATH IDL>.run SSCexample.pro

16 SSCexample.pro rpcStub = OBJ_NEW('IDLJavaObject$Static$JAVAX_XML_RPC_STUB', 'javax.xml.rpc.Stub') rpcStub -> getProperty, ENDPOINT_ADDRESS_PROPERTY=endpointAddressProperty sscWsImpl = OBJ_NEW('IDLJavaObject$SSCWS_IMPL', 'gov.nasa.gsfc.spdf.ssc.SSCWS_Impl') ssc = sscWsImpl -> getSatelliteSituationCenterPort() ssc -> _setProperty, endpointAddressProperty, ' sats = ssc -> getAllSatellites() gregorianCalendar=OBJ_NEW('IDLJavaObject$Static$GREGORIANCALENDAR','java.util.GregorianCalendar') calendar = gregorianCalendar -> getInstance() calendar -> getProperty, DATE=calendarDateProperty endDate = calendar -> getTime() calendar -> add, calendarDateProperty, -1 startDate = calendar -> getTime() coordinateSystem = OBJ_NEW('IDLJavaObject$Static$COORDINATESYSTEM', 'gov.nasa.gsfc.spdf.ssc.CoordinateSystem') coordinateSystem -> getProperty, GSE=coordinateSystemGseProperty sats = ['polar'] locInfo = ssc -> getSatelliteLocation(sats, coordinateSystemGseProperty -> toString(), 3L, startDate, endDate) locInfoBeginTime = locInfo[0] -> getBeginTime() locInfoEndTime = locInfo[0] -> getEndTime() coords = locInfo[0] -> getCoordinates() plots, coords[*, 0], coords[*, 1], coords[*, 2] OBJ_DESTROY, rpcStub, sscWsImpl, gregorianCalendar, coordinateSystem END

17 Example Java client package gov.nasa.gsfc.spdf.ssc.test; import java.io.*; import java.util.Date; import java.util.Calendar; import java.util.GregorianCalendar; import java.text.SimpleDateFormat; import javax.xml.rpc.Stub; import gov.nasa.gsfc.spdf.ssc.*; public class WsExample { public static void main(String args[]) throws Exception { System.setProperty("http.agent", "WsExample (" + System.getProperty("os.name") + " " + System.getProperty("os.arch") + ")"); Stub stub = (Stub)(new SSCWS_Impl().getSatelliteSituationCenterPort()); stub._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, args[0]); SatelliteSituationCenter ssc = (SatelliteSituationCenter)stub; String[][] satellites = ssc.getAllSatellites(); for (int i = 0; i < satellites.length; i++) System.out.println(" " + satellites[i][0] + " " + satellites[i][1]); Calendar calendar = GregorianCalendar.getInstance(); Date endDate = calendar.getTime(); calendar.add(Calendar.DATE, -1); Date startDate = calendar.getTime(); String[] sats = new String[] {"polar"}; SatelliteLocation[] locInfo = ssc.getSatelliteLocation(sats, CoordinateSystem.GSE.toString(), 3, startDate, endDate); double[][] coords = locInfo[0].getCoordinates(); for (int j = 0; j < coords.length; j++) { for (int k = 0; k < coords[j].length; k++) System.out.print(" " + coords[j][k]); } } }

18 Example JavaScript (Mozilla-based browsers) netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); var call = new SOAPCall(); call.transportURI=" call.encode(0, "getAllSatellites", " 0, null, 0, null); var response = call.invoke(); if (response.fault == null) { var result = response.getParameters(true, {}); for(i = 0; i != result.length; i++) { var param = result[i]; var name = param.name; document.write("result[" + i + "].name = " + name + " "); var value = param.value; for (j = 0; j "); }

19 Example Perl script #!/usr/local/bin/perl -w use SOAP::Lite; my $ssc = SOAP::Lite -> proxy(' -> uri(' my $result = $ssc -> getAllSatellites(); unless ($result -> fault) { print "getAllSatellites() returned:\n"; my $satellites = $result->valueof('//result'); foreach $satellite { foreach $name { print " $name"; } } } my $satVar = SOAP::Data->type('string')->name('String_1')->value('polar'); $result = $ssc -> getSatelliteResolution($satVar); unless ($result -> fault) { my $value = $result->valueof('//result'); print "getSatelliteResolution() = $value\n"; } $result = $ssc -> getSatelliteTime($satVar); unless ($result -> fault) { my $values = $result->valueof('//result'); print "getSatelliteTime() returned:\n"; print " $$values[0] - $$values[1]\n"; }

20 Web Services Definition Language (WSDL) XML description of web service purpose, calling methods and location WSDL file specifying web service can describe both SOAP and CGI interfaces CGI calls are lighter and less opaque but not as powerful as SOAP calls. See REST discussions by Mark Baker, Paul Prescod and Example CDAWeb CGI call for plots of the lat, long and altitude variables for NOAA5/6 datasets for 1 day: < dataset=NOAA05_H0_SEM+NOAA06_H0_SEM& start=1980%2F11%2F17+03%3A00%3A00& stop=1980%2F11%2F18+03%3A00%3A00& auth=hello&index=radiation&action=plot& var=NOAA05_H0_SEM+Lat&var=NOAA05_H0_SEM+Lon&var=NOAA05_H0_SEM+Alt& var=NOAA06_H0_SEM+Lat&var=NOAA06_H0_SEM+Lon&var=NOAA06_H0_SEM+Alt

21 Lessons we are learning (and concerns) Our services require underlying standards, although still manual input for each dataset stored in master CDFs Many firewalls limit ports available and may impose timeout on sessions (had to modify Ethernet stack to send Keep-alive packets) Web service standards are evolving, subject to interpretation, and implementations may choose which options to support –Different data bind options (RPC-encoded, RPC-literal, document-literal) –Different communication model options (synchronous RPC, asynchronous messaging) –Handling of null Date values (pass by reference [Java] or value [.NET]) –Support for passing multi-dimension arrays (ASP.NET) –Handling of empty arrays Our Web services were initially implemented before Web Services Interoperability (WS-I) Basic Profile 1.0 and use RPC-encoded binding style. We’ll be changing to document-literal to be compliant with WS-I and.NET. Need to be flexible and rewrite code but stay stable for clients (how to update API without breaking existing clients: add new methods?, add whole new API?) Difficult error handling (error codes) between applications Need careful attention to how existing services are done Created duplicate functionality that we will have to merge software to remove (Perl interface to call web services)

22 Call to action Cooperative identification among major services and clients to aid in understanding usage and various reporting questions: Set user-agent string to identify calling routine/institution in all web services calls Try out our services and give us feedback

23 Joint effort of the NASA GSFC Sun-Earth Connections Active Archive (SECAA) in the Space Physics Data Facility (SPDF) and National Space Science Data Center (NSSDC) See for links to these tools and serviceshttp://spdf.gsfc.nasa.gov/ or contact

24 What are web services? Services Oriented Architecture (vs. client-server) Distributed software to software communication, analogous to older technologies such as RPC, DCOM, CORBA, RMI No HTML or human interaction required Cross-platform and language-independent Enables others to develop tools and services leveraging core logic and science data and orbit information Everyone can use their own clients/tools

25 Lower level components of VOs as a set of interoperable services Strung together in many combinations Form an integrated system that is much greater than the sum of its parts Easily extendable Open to other systems and external applications by using standard distributed Application Program Interfaces (APIs) Based on XML and Simple Object Access Protocol [SOAP] standards and/or HTTP calling interface Tie together existing data holdings Standardize and simplify their use Enable much enhanced interoperability and data analysis.

26 Distributed components of a space physics virtual observatory Work together via standard interfaces and metadata agreements to form a system Appears as a single super-instrument providing geophysical measurements and models across time and space Enables researchers to easily and seamlessly analyze data from many more sources than possible before

27 Coordinated Data Analysis Web (CDAWeb) HTML user interface supports graphics, digital listings, file retrieval and merged/subsetted CDF creation, and simultaneous multi-mission, multi-instrument selection and comparison of science data among a wide range of current and past space missions and ground-based facilities Now comprises >600 datasets and >1M files of science data Very popular with 165k user sessions, 94k plots, 622k FTP requests, 67k ASCII listings, 586 CDF create requests, 2882 file retrieval requests in FY2004

28 CDAWeb data available through FTP file access, including software and documents Web browser Web services in addition Latter two provide data listings, plots, original data files and combined files

29 CDF Markup Language (CDFML) XML Markup Language describing Common Data Format (CDF) data and metadata CDFML file (XML file) is an ASCII representation of a CDF file Used as a mechanism for data interoperability with other science data formats (since translation between data formats via XSL is easy)

30 Simple Object Access Protocol (SOAP) An XML-based protocol for exchanging information in a distributed environment Defines a way to perform remote procedure calls (RPCs) - method name and a list of parameters HTTP is the most popular option for data transport (since it is simple, stable, and widely deployed), but not mandatory SOAP messages masqueraded as HTTP messages can pass through some firewalls - can be good or bad Supported in C, C++, Java, C#, Perl, Python, and JavaScript

31 Future and Improved Web Services Adding more I/O formats to CDAWeb (FITS, HDF, netCDF, IDL savesets) Smart client issues (WebStart) Other web services –OMNI_near_earth field and plasma data and indices –ATMOweb ionospheric data –ModelWeb –Orbit_regions and cross-spacecraft queries –COHO_heliospheric data –NMC_metadata (NSSDC Master Catalog) –SPASE_dictionary (Space Physics Archive Search and Exchange) Community-wide client project? plugins? (NOAA plot tool) Grid support now that Globus 3 is OGSA/web services compatible

32 What’s important to you? What services and features do you want? What other web services are being developed? (VHO, VSO, EGSO, STARS) ???

33 SECAA Goals Ease of use Open source, modular and reusable software Access to multi-spacecraft and multi-instrument data Performance (reasonable response times) Broad base of users ???

34 Importance of Standards and Agreements Wide variety of science data file formats (CDF, netCDF, HDF, FITS, etc. and many custom formats) impedes science research across instruments and missions by greatly increasing learning and translating time for each dataset Custom binary and ASCII formats can be converted into CDF with the makeCDF tool for possible further conversion to other formats Optional mapping templates handles dataset-specific translations These tools and service will increase interoperability and improve cross-mission dataset transparency Cooperative identification among major services and clients to aid in understanding usage and various reporting questions (set user-agent string)

35 Poster specific stuff Fall 2004 AGU Special Session SF05 - Data and Services for Space and Earth Sciences (SF )

36 Outline What we’ve done Why scientists should care How to use web services (example calls from IDL, Java, Javascript and Perl) How to setup your own web service Lessons we are learning (and concerns) Client development

37 Importance of SECAA Web Services for the Integrated SEC Data Environment

38 Authors Robert M. Candey (Code 632) Reine A. Chimiak (Code 583) David B. Han (Code 586) Bernard T. Harris (Code 583) Rita C. Johnson (QSS, Code 630) Colin A. Klipsch (QSS, Code 630) Tamara J. Kovalick (QSS, Code 630) Howard A. Leckner (QSS, Code 630) Michael H. Liu (Raytheon ITSS, Code 630) Robert E. McGuire (Code 632) NASA Goddard Space Flight Center, Greenbelt MD 20771

39 Abstract The Space Physics Data Facility (SPDF) at NASA GSFC has developed new and state-of- the-art, distributed programming (web services) interfaces to SPDF’s space science mission services and data. This work is an essential step in integrating these powerful and popular SPDF software systems (and the NASA mission data they now serve) with external science data and model software systems under a NASA Virtual Observatory paradigm for enhancing the scientific return of space physics research. The distributed components of a space physics virtual observatory work together via standard interfaces and metadata agreements to form a system that appears as a single super-instrument providing geophysical measurements and models across time and space, enabling researchers to easily and seamlessly analyze data from many more sources than possible before. We are providing a critical set of these lower level components, leveraging our data format expertise and our existing and very popular science and orbit data web- based services, Coordinated Data Analysis Web [CDAWeb] and Satellite Situation Center Web [SSCweb], by adding web services for orbit location, data finding across FTP sites and in CDAWeb, data file format translation, and display. These services tie together existing data holdings, standardize and simplify their use, and enable much enhanced interoperability and data analysis. A Java3D application, TIPSOD (Tool for Interactive Plotting, Sonification and 3-D Or!bit Display), developed in-house, makes use of these web services. CDAWeb, SSCWeb, CDF tools, and web services are a joint effort of the Sun-Earth Connections (SEC) Active Archive (SECAA) in the NASA GSFC Space Physics Data Facility (SPDF) and the National Space Science Data Center (NSSDC); see.

40 Outline What we’ve done (virtual observatories (VOs)) Why scientists should care Overview of technologies (web services, public file service, standards such as CDF, translators, 3D clients, etc.) SECAA services (importance to evolution of integrated SEC data environment for effective multi-mission space physics) How to use (call from IDL, Java, Javascript and Perl) How to setup your own web service Emphasize what’s now working (VSPO, Visbard, ???) Lessons we are learning Future Call to action Demos (Tipsod and CDAS clients)

41 SECAA SOAP implementations SOAP uses HTTP calls (port 80) to Apache which sees "/WS/" in the path and calls Tomcat (or Tomcat use own port but lose logging and other features Apache provides). Other URLs are handled by Apache directly Tomcat calls calls Java SOAP servlet to parse the incoming message, call the underlying tool, and martial the SOAP response Axis called from Tomcat in place of Sun Jax-RPChttp://ws.apache.org/axis/