Extending TopBraid Suite (Advanced Topic)

TopBraid Suite (including TopBraid Live and TopBraid Composer) is an open platform that can be extended to meet custom needs. In many cases, no programming is needed to add new functionality to TopBraid: You can define new web services using SPARQLMotion, you can add new SPARQL functions through SPIN, build complex web applications using SWP and so on. You can also interface with existing external systems by making web service calls through our existing SPARQL based technologies. For example, you can use the SPARQLMotion module sml:PostRequest to send web service calls to external systems. These mechanisms are the recommended ways of extending TopBraid.

However, in some cases you may need lower level hooks into the system to add capabilities implemented in a programming language. TopBraid Suite provides a Java API and an Eclipse extension point for that purpose. The following sections describe how to build Java plug-ins for TopBraid Suite.

Setting up your Eclipse environment

As of version 3.6, TopBraid Composer no longer ships with a Java SDK built-in.

Available Eclipse Extension Point

You need to be familiar with Eclipse plug-in development. There is a lot of online documentation on that topic (see Eclipse web pages). The workflow is basically that you create a new Eclipse plug-in in your Eclipse+TBC installation, and then you launch another Eclipse+TBC instance from there using Run. This new TBC instance then allows you to test and debug your new capabilities.

You need to make your plug-in depend on org.topbraid.core. This defines a number of extension points, but only one of them has official support from TopQuadrant: org.topbraid.core.pluginActivators. This is a general-purpose extension point that allows you to make other Java calls when TopBraid starts up, e.g. to register new SPARQL functions. In order to use this extension point, simply implement the interface org.topbraid.core.activator.IPluginActivator.

There are many other extension points and plug-ins in TopBraid, but TopQuadrant does not actively support the use of those extension points. We reserve the right to make random changes to those extension points and their associated APIs. If you still want to use those extension points, you may need to update your code base with new releases of TopBraid.

Supported Scenarios

There are three use cases that we officially support. TopQuadrant will make reasonable efforts to keep those APIs stable to minimize implementation burden of our customers:

Details on those scenarios can be requested from TopQuadrant via the mailing list and customer support email addresses.