Presentation on theme: "September 7, 2005NVO Summer School1 Building a SkyNode Server Tom McGlynn NASA/GSFC T HE US N ATIONAL V IRTUAL O BSERVATORY."— Presentation transcript:
September 7, 2005NVO Summer School1 Building a SkyNode Server Tom McGlynn NASA/GSFC T HE US N ATIONAL V IRTUAL O BSERVATORY
September 7, 2005NVO Summer School2 Why are SkyNodes hard? Inherently distributed: –SkyPortal-SkyNode-SkyRegistry Need to handle complex XML input –XML version of ADQL –Execution Plans Setting in Servlet container environment –Big learning curve in getting started Lack of defining documentation –IVOA document is primarily requirements –WSDL does not encode semantics If you use SQLServer take a long look at using the JHU implementation (also needs Mono or.Net)
September 7, 2005NVO Summer School3 What do you need for a SkyNode? A database to query –In principle this doesnt need to be relational but in practice it will be! A Web site to place the SkyNode –But not behind firewall or NAT server Makes demoing in SS hard NOAO accounts available for people who need accounts
September 7, 2005NVO Summer School4 How do SkyNodes Work
September 7, 2005NVO Summer School5 What does a SkyNode need to do? Metadata: –WSDL request –Various configuration paramters Tables, columns, supported formats Simple Query Cost estimate for Query –Number of rows query would return Execution plan
September 7, 2005NVO Summer School6 Handling an Execution plan Find the appropriate node Are there further nodes? –Relay the plan to that node –Ingest the results into a temporary table Run the query on the local node Format the results in a VOTable
September 7, 2005NVO Summer School7 How do we do the query? Translate ADQL/x to ADQL/s Transform REGION (see HTML) Transform XMATCH (see HTML) Handle local database peculiarities –TOP –Creating temporary tables –Handling of Dec columns
September 7, 2005NVO Summer School8 FullSkyNode Library Replaces earlier summer school libraries –Not yet rock solid but working on it... Runs as CGI –Do not need AXIS or TOMCAT Uses Java JDBC library to communicate with database. Uses extremely simplified VOTable parsing and generation. Uses built-in XSLT capabilities in Java 1.5 to generate ADQL string
September 7, 2005NVO Summer School9 Additional Prerequisites Uses Perl wrapper script Table is assumed to have RA and Dec columns in decimal degrees.
September 7, 2005NVO Summer School10 Status Supports all SkyNode functionality except getAvailability metafunction. Tested on Sybase and MySQL databases. Supports REGION and XMATCH Easily configured. Fails poorly – errors not well propogated to SkyNode. Not all database dependencies are likely uncovered.
September 7, 2005NVO Summer School12 Whats next Further enchancements and robustifications. Easily modified to handle tables with only Galactic coordinates or other formats Easy to disable functionality if you dont want to be full sky node. Should be able to support developing SkyNodes in student projects.