Spitzer Cone Search Server


Design

This Spitzer cone search server is a Java implementation of an HTTP GET style Web service that is based on the Simple Cone Search specification.

This implementation is based on the current set of Web services already in operation at the Spitzer Science Center.

System Development Environment

The following tools and applications are part the development environment for creating the cone search:

Implementation

Spitzer currently has a cone search implementation. This NVO implemetation uses and existing EJB to search the archive based on the input criteria. The results are then stored in a VOTable and returned to the caller.

See ConeSearch.jws for the code.

Execution

For testing the WebLogic server generates a set of JSP pages. http://joshua.ipac.caltech.edu:7001/nvo/ConeSearch.jws This page provides access to the WSDL, Java proxy classes and HTML forms for executing the Web service.

DataScope can also be used to execute the service.

Sample input: RA = 259.5, DEC = 59.5, SR = 0.25 The results will be linked as SPITZERCONE

Notes

Whose XML?

XML Generated by XMLBeans contains namespace defs for each tag in the output:

<vot:VOTABLE xmlns:vot="http://us-vo.org/xml/VOTable.xsd"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<vot:RESOURCE>
     <vot:TABLE>
         <vot:FIELD ID="reqid" datatype="char" name="Request ID" ucd="ID_MAIN">
         <vot:DESCRIPTION>Spitzer Request ID: Unique identifier for a request.</vot:DESCRIPTION>
         </vot:FIELD>

The NVO VOTable parser have problems ingesting this format and would like to see:

<?xml version="1.0" encoding="UTF-8"?>
<VOTABLE xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:vot="http://us-vo.org/xml/VOTable.xsd">
    <RESOURCE>
        <TABLE>
            <FIELD ucd="ID_MAIN" datatype="char" name="Request ID" ID="reqid">
                <DESCRIPTION>Spitzer Request ID: Unique identifier for a request.</DESCRIPTION>
            </FIELD>

Which XML is more correct?

From the [[http://www.us-vo.org/VOTable/][VOTable] XSD:

<?xml version="1.0" encoding="UTF-8"?>
<!--W3C Schema for VOTable  = Virtual Observatory Tabular Format
     See History at      http://vizier.u-strasbg.fr/doc/VOTable
     See Discussions at  http://archives.us-vo.org/VOTable
  This XML schema can be referenced by
       http://us-vo.org/xml/VOTable.xsd
   or  http://cdsweb.u-strasbg.fr/xml/VOTable.xsd 
  The DTD is available from
       http://us-vo.org/xml/VOTable.dtd
   or  http://cdsweb.u-strasbg.fr/xml/VOTable.dtd 
.Version 1.0 : 15-Apr-2002
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

The elementFormDefault="qualified" specifies that each element in an instance of XML based on this schema should have a namespace qualifier. Reference 3. Advanced Concepts I: Namespaces, Schemas & Qualification from W3C XML Schema Primer.

The DataScope tool has been modified to strip out the namespace qualifiers in the XML generated from the Spitzer Cone Search.

Accessing Spitzer Archive Data

The Spitzer archive currently contains a data set that is primarily intended for PI of the observer programs. The data for a given program is on the order of 20-40GB in size. The mechanism for downloading the data files is Web services based and is performed asynchronously. There is not sufficient support for this type of data set or download mechanism in the NVO (efforts are underway to rectify this).

Promising Java Web Services Technology

  • Apache Beehive - Open source JSR-181 based on WebLogic Workshop
  • xDoclet - Attribute Oriented Programming in Java, JBoss uses this for Web Services