The application profile specifies the configuration parameters for the OSGi framework and the bundles to be loaded by the framework.
- id - the application identifier
- name - the application name
- version - the application version
- updates- specifies where the application updates are located
- updateSite - the location of application updates
- updatesFile - the file where the list application versions is listed
- libDirectory - the directory where the application bundles are stored
- pluginSite - the location of application plugins
- pluginsFile - the file where the list of plugins is listed
frameworkConfiguration - a configuration parameter to be passed to the OSGi framework
- name - the name of the configuration
- value the value of the configuration
- bundle- an OSGi bundle to be loaded in the framework
- symbolicName - the bundle name specified by the Bundle-SymbolicName header in the bundle manifest
- version - the bundle version specified by the Bundle-Version header in the bundle manifest
- fileName - the name of the bundle jar file
Framework Configuration Properties
These properties are passed the OSGi framework on startup. Properties starting with org.osgi are standard OSGi properties; implementations of OSGi frameworks may specify other properties (see the Felix configuration properties as an example)
The framework configuration properties specified for the Taverna Workbench are
- org.osgi.framework.bootdelegation - a comma-delimited list of packages that should be made implicitly available to all bundles from the parent class loader
org.osgi.framework.system.packages.extra - a comma-delimited list of packages that should be exported via the System Bundle from the framework class loader
org.osgi.framework.storage.clean - whether the bundle cache is flushed. The value can either be "none" or "onFirstInit", where "none" does not flush the bundle cache and "onFirstInit" flushes the bundle cache when the framework instance is first initialized
Creating the Application Profile
The application profile is generated by the taverna-maven-plugin using plugin configuration properties and the project information in the application pom file.
Updating an Application
Taverna goes to the update site (e.g http://updates.taverna.org.uk/workbench/3.0/dev) to check for new versions of the application profile. The update site contains a list of application profile versions (updates.xml) and also specifies the latest application profile.
All files in an update site have checksum files so that download errors can be identified
If there is a more recent application profile on the update site Taverna will download the new application profile, compare the new set of bundles with the currently installed bundles and download any new versions bundles required for the new application profile. If all downloads are successful the new application profile is set as the current profile and used when Taverna is restarted.