Science Service Bus


The Science Service Bus (SSB) allows programs to send data to each other. It also can serve as a translator service, translating the data from the format preferred by the source application to the format preferred by the destination application. It is inspired by, and is backwards-compatible with the Gaggle program.

The Science Service Bus is a Mule application. It is a standard Mule server with some biology-related components deployed in it.


A program which connects to the SSB are called an agent. Agents are analogous to geese in the Gaggle system. But unlike geese, agents don’t have to implement any particular interface.

The procedure for creating and using an agent is described in the Agent User Guide.


SSB allows applications so send and receive any type of data that is convenient to them. Applications are also free to send a custom data type that only that application knows about. Generally the only restriction is that the data must be serializable.

SSB also tries to enable communication between applications that say the same thing in different ways. This might include:

  • one application sends XML or JSON while another wants to receive serialized Java objects.
  • two applications might use different naming schemes for the same data.
  • two applications might use different Java classes to hold the same information.

SSB allows you to deploy “translators” to handle these situations.

Additional information may be found here:

Additional Information

If you are interested in reading about the internal details of the SSB, you might want to take a look at the SSB Architecture.

There is a list of frequently asked questions here: SSB FAQ.

Source Code and Jars

The source code is available at the following Subversion repository:

The latest versions of the jar files are available at:

scienceservicebus.txt · Last modified: 2009/02/21 06:16 by etellman
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki