This website (www2.astrogrid.org) is now deprecated - please go to www.astrogrid.org for up to date information.
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.
|
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.
|