PLASTIC (PLatform for AStronomical Tool InterConnection) is a communication protocol for client-side virtual observatory tools.
PLASTIC is a protocol for communication between client-side astronomy applications. It is very simple for application developers to adopt and is easily extended. Through PLASTIC applications can do tasks such as instruct each other to load VOTables, highlight a subset of rows or load an image of a particular area of sky. Although such operations are quite simple, they enable powerful collaborations between tools. The philosophy is that the astronomer should have a suite of interoperating tools at his disposal, each of which does one thing well and which can be composed according to his particular needs.
The two key concepts in PLASTIC are the Plastic Hub and Plastic Messages. PLASTIC is just a specification for a simple messaging system: applications send each other messages requesting certain actions via the Plastic Hub, which routes them to their destinations. The messages themselves are strings (actually URIs) agreed by the application developers - some of them can be seen here. Each message may be accompanied by several arguments, and may return a value. Again, the arguments and return values are defined by the application developers, they are not described by the PLASTIC specification, and (with a small number of exceptions) the Plastic Hub has no understanding of their meaning.
The PLASTIC specification is designed to be language neutral and as such supports a number of different communication protocols. Java clients will usually communicate with the hub using Java-RMI, while applications written in other languages will usually use XML-RPC to access the same functionality. Other protocols may be added if there is demand.
PLASTIC is a specification, not an application. However, there is a reference implementation of the Plastic Hub embedded in the Astro Runtime. This may be downloaded and run as described in the Plasticized applications.
Download an example plastic client written in Java to get you started. This client uses the Plastic Connection Manager library.
Watch movies of Plasticized applications.
View Presentations on PLASTIC.
For more information on Plastic, in particular on how to get started using it in your applications see the Five Minute Technical Introduction and check the API documentation. You should also take a look at the latest list of plasticized applications. If you have any questions not answered here, then ask on the mailing list or email John Taylor.
The PLASTIC concept was created in the SC4DEVO series of workshops organised by Robert Mann. Subsequent development has taken place under the aegis of the VOTech project.