AstroGrid

This website (www2.astrogrid.org) is now deprecated - please go to www.astrogrid.org for up to date information.

Document Actions

Astro Runtime

Obsolete Page - see http://www.astrogrid.org/wiki/Help/AstroRuntime
Two-Minute Introduction

The Astro Runtime (AR) is a platform-independent executable that, in it's typical configuration, runs in the background on the user's desktop. It hides the complexity of the emerging VO system behind a simple, stable, consistent, self-contained facade 

  • It exposes an API of high-level VO functions. These functions can be invoked from other programs and are implemented using efficient, error-tolerant clients that call to VO web services through SOAP and HTTP
  • This simplifies VO programming. Developers can start to address their problem immediately using the API. There's no need to learn, configure and code to SOAP toolkits or XML parsers! In short, less in-depth knowledge of VO standards is required
  • As a shared component, it provides a single point of configuration and upgrade; manages credentials for single sign-on; caches often-requested data; and can be used for inter-application messaging with PLASTIC
  • It's highly configurable and embeddable - available as a library, or as a stand-alone executable, and also as part of the AstroGrid Workbench.

The AR API

  • is accessible from almost all programming languages: direct method call from in-JVM Java; remote method call from another JVM process (JavaRMI); remote method call from any other process (XMLRPC); and a simple REST-style interface.
  • Aims to support and track all VO service standards, plus other popular services.
  • is designed to present a suitable level of abstraction for client programmers. A single API function may involve one or more SOAP calls to VO services, plus work with local caches and configuration. This complexity is hidden.
  • is deliberately procedural, not object-oriented.
  • provides helper methods for building datastructures and processing common VO data formats (e.g. VOTABLE)
  • provides reusable GUI dialogues (e.g. file chooser, registry browser) that can be called from client code.
  Ten Minute Tutorial
It's quite straightforward to connect to the Astro Runtime and start calling functions. This tutorial covers that first step.
Motivation

Motivation

In general, scientific analysis applications want a higher level interface and want to be isolated from the details of, and changes to, the more fundamental VO protocols and related technology comprising the core VO infrastructure. Astro Runtime hides most of the details of the VO infrastructure, provides a straightfoward way to deal with protocol versioning, and allows for more transparent infrastructure evolution.

Some current or potential uses of the AR are

  • as infrastructure for new VO clients and services.
  • to VO-integrate existing desktop applications
  • to provide VO functionality to existing packages (PyRaf, Parceltongue/AIPS)
  • simplify science scripting: e.g. programmatic access to VO services from Python, Perl, IDL
  • to provide a commandline interface to the VO

Virtual Observatory technology is becoming complex - partly through necessity, and partly because of growing pains. This complexity is challenging and time-consuming to learn and may be a barrier to entry for some. Amongst the causes of the complexity are:

  • growing number of standards
  • interaction between standards
  • variation between standard versions
  • non-compliance of service implementations
  • use of existing computer-science technologies - WS-*, SOAP, XML Schema
  • variation between implementations of these technologies

We hope that the Astro Runtime (AR) hides enough of this complexity so that the VO becomes accessible to more developers - from professional programmers to casual shell scripters.