Home
Contents
Download
Changelog
Contacts
Programming
Desktop
Links
History
Subversion repository

API docs
Bundle jar docs
Forum
Bug tracker
Bundle repository


The Knopflerfish release contains:

See bundle docs for detail information on all bundles.

Also, the source code kit includes an easy-to use Ant build system for creating bundles.

Components defined by OSGi R3

The OSGi R3 specification defines several components, which could be expected to exist in OSGi implementations. However, it should be noted that no service is required to be present.

The OSGi specification currently supported by Knopflerfish is R3 and includes the the R3 components listed below.

  • Base framework The framework allows installing, start, stop, update and uninstalling of program or data components called bundles. Bundles are standard jar files
    The framework contains the following internal components:
    • PackageAdmin service. The PackageAdmin service allows bundles to inspect other bundles packages.
    • PermissionAdmin service. The PermissionAdmin service allows bundles to manage the permissions of other bundles.
    • StartLevel service. (new in R3) The StartLevel service allows grouping of bundles into startlevels.
    • URL service. (new in R3) The URL service allows bundles to safely add URL schemas to the framework.
  • ServiceTracker utility The ServiceTracker provides utilities for handling dynamic services.
  • Log service The log service provides logging functions for other bundles.
  • HTTP service The HTTP service provides a web server where applications can publish servlets or data.
  • Configuration Manager The Configuration Manager manages persistant storage of application data.
  • Device Manager The Device Manager manages software components related to physical device drivers.
  • UserAdmin service The UserAdmin service provides functionality for users, groups and access control.
  • Preferences service (new in R3) The Preferences service provides API and functionality for storing bundle preferences.
  • Position API (new in R3) The Position API allows applications to handle position-ralated data in a uniform way.
  • Measurement API (new in R3) The Measurement API allows applications to handle measurements in well-defined units.
  • Metatype API The Metatype API allows applications to publish typing information for configuration data.
  • XML utility The XML utility class privides a template class for publishing XML parsers.

Note: All components following the OSGi R3 specification has been known to pass the OSGi R3 tests (in external tests performed by Gatespace Teletics). The Knopflerfish distributions cannot formally call itself "OSGi R3 certified", since only OSGi members are allowed to use this term. Instead, we use the term "designed to be compliant with OSGi R3", which is an allowed term.

Knopflerfish components

The Knopflerfish distributions contains a set of other useful components:
  • Desktop The desktop is a graphical tool for managing a running framework. The desktop can be extended using plugins.
  • Log utilities Utility classes for easier logging.
  • Misc utilities Misc utility classes for text, job and IO handling.
  • Console The Console service provides means for command-based tools to publish their commands. Any bundle can provide commands.
    Included in the console component is:
    • TTY Console Console using stdin/stdout
    • TCP Console Console listening to a TCP port
    • Log commands Command for handling the OSGi log
    • Framework commands Command for handling basic OSGi lifecycles
    • CM commands Command for handling the Configuration Management data
  • OSGi Metatype XML The OSGi Metatype XML implementations defines a platform-neutral format for metatype information, which can be used by CM and other services needing such information.

    See http://www.knopflerfish.org/XMLMetatype for OSGi Metatype XML specification.

    Also see https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles/metatype for implementation details.

Knopflerfish optional components

The Knopflerfish optional distributions contains a set of optional bundles:

Knopflerfish components available from SVN

Some components in Knopflerfish are currently only available as source code in the Subversion repository. These components can be checked out by anyone and installed into a previously installed KF distribution.

  • OSGi Jini support The Jini support follows the R3 Jini API. It uses Sun's reference implementation for the Jini core and Nico Goeminne's driver code.

    See Jini

  • X10 support The X10 support uses code from the Java X10 Project, http://x10.homelinux.org.

    see x10

top