Cytoscape APIs
Cytoscape Provided Services
Plugin Implemented Services
The APIs for these services are defined as interfaces in Cytoscape. The interfaces are as follows:
UI Services
Interactive - provide an option to bring up before or after action has run Action to create panel Action to be triggered by the panel
- Control Tab
- Results Tab
- Dialog
// the service interface
interface UIPanel {
  JPanel getJPanel();
}
// meta data defining where/how to use the panel
Hashtable dict = new HashTable();
dict.put("panel.location","control");
dict.put("panel.name","hello world");
dict.put("service.pid","whatever");
bundleContext.registerService(UIPanel.class.getName(), new MyUIPanel(), dict);Single Action
- Menu Item
- Button On Toolbar
Or
- Specify tunables.
- Provide suggestions on where to put it (Tab, menu item).
Action Services
- An action gets current context (network, view, etc.). Then the action does "something". The action should be independent of the UI. Make the actions chainable. 
 Cytoscape Wiki
 Cytoscape Wiki