Apache Taverna OSGi plugin system (incubating) is a plugin system for Java console and desktop applications using OSGi, including an online update mechanism.
Maven artifacts¶
Apache Taverna OSGi is available from
Maven Central,
mirrored from
ASF's Maven repository.
For convenience of IDE users, the Maven artifacts include -javadoc.jar
and
-sources.jar
; however, you might prefer the
online API javadoc
and the source code releases (see below).
To use Taverna OSGi APIs with Maven, add
one or more of these to your pom.xml
:
<dependencies> <dependency> <groupId>org.apache.taverna.osgi</groupId> <artifactId>taverna-app-configuration-api</artifactId> <version>0.2.1-incubating</version> </dependency> <dependency> <groupId>org.apache.taverna.osgi</groupId> <artifactId>taverna-configuration-api</artifactId> <version>0.2.1-incubating</version> </dependency> <dependency> <groupId>org.apache.taverna.osgi</groupId> <artifactId>taverna-download-api</artifactId> <version>0.2.1-incubating</version> </dependency> <dependency> <groupId>org.apache.taverna.osgi</groupId> <artifactId>taverna-plugin-api</artifactId> <version>0.2.1-incubating</version> </dependency> <dependency> <groupId>org.apache.taverna.osgi</groupId> <artifactId>taverna-update-api</artifactId> <version>0.2.1-incubating</version> </dependency> </dependencies>
The <version>
above might not be up to date,
see the source code releases below to find the latest version.
To use the OSGi implementations of these services, replace -api
with -impl
above.
Usage¶
See the taverna-osgi javadoc for details on each OSGi service. In brief:
- The OsgiLauncher
starts the OSGi framework and installs the provided OSGi bundles. It is used by the
taverna-commandline-launcher
main()
method. - The PluginManager service from taverna-plugin-api allow managing of plugins in an OSGi application, including online installation and updates of plugins. Each Plugin provides a collection of OSGi bundles that are activated. The plugins and application profile are described in XML according to the taverna-osgi-schemas.
- The UpdateManager can update the installed plugins by downloading from the configured plugin site URI.
- The taverna-maven-plugin allows creating plugins for the Taverna
PluginManager
using Apache Maven, including deployment to plugin sites. - The DownloadManager
service from taverna-download-api provides convenience methods for downloading a
URI
to aPath
, including hashsum checking using neighbouring.sha1
or.md5
URIs. Used byPluginManager
andUpdateManager
. - The ApplicationConfiguration
service provides application installation details like the startup directory and home directory for user configuration. The application should have a conf/taverna.app.properties
file in its startup folder, e.g.
taverna.app.name=taverna-cl-3.0.0
means~/.taverna-cl-3.0.0/
will be the application's home directory on Unix. - The ConfigurationManager service from taverna-configuration-api can configure any Configurable like the HTTPProxyConfiguration and the workbench using preferences stored in the application home directory
- The xml-parser-service and xml-transformer-service re-exposes Xalan's and Xerces's XML parser and XML transformer implementations within SOGi
Spring services¶
The OSGi services should be
discoverable as Spring services,
e.g. by adding to
your META-INF/spring/update-context-osgi.xml
:
<beans:beans xmlns="http://www.springframework.org/schema/osgi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd"> <reference id="applicationConfiguration" interface="org.apache.taverna.configuration.app.ApplicationConfiguration" /> <reference id="proxyConfiguration" interface="org.apache.taverna.configuration.proxy.HttpProxyConfiguration" /> <reference id="configurationManager" interface="org.apache.taverna.configuration.ConfigurationManager" /> <reference id="downloadManager" interface="org.apache.taverna.download.DownloadManager" /> <reference id="pluginManager" interface="org.apache.taverna.plugin.PluginManager" /> <reference id="updateManager" interface="org.apache.taverna.update.UpdatenManager" /> </beans:beans>
Source code¶
Below you can find all Taverna OSGi source releases.
After downloading the files, verify the PGP signatures using the Apache Taverna KEYS file.
taverna-osgi-0.2.1-incubating¶
Apache Taverna OSGi 0.2.1-incubating was published on 2016-03-11, and is available for download from official mirrors of the ASF Distribution Directory incubator/taverna/:
The Taverna OSGi changelog is available from the Apache Taverna Jira.
Source code repositories¶
For the latest developments you may also be interested in the corresponding source code repositories:
Each release has a corresponding tag, e.g. 0.2.1-incubating
.
Archived releases¶
For all archived Apache Taverna releases, see archive.apache.org.