Knopflerfish
Version 2.0.2
Home
Contents
Release Notes
License
Running
Programming
Eclipse plugin
Desktop
Subversion repository

Java API docs
Bundle jar docs
KF Forum
Bug tracker
Bundle repository


Maintained by


Knopflerfish Pro
Professional Services
Training

Services for the OSGi Business User

Knopflerfish Components

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 R4

The OSGi R4 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 R4 and includes the the R4 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:
    • Conditional Permission Admin service. (New in R4) The Conditional Permission Admin service allows bundles to manage the permissions of other bundles. This service is not yet implemented in Knopflerfish.
    • Package Admin service. The PackageAdmin service allows bundles to inspect other bundles packages.
    • Permission Admin service. The PermissionAdmin service allows bundles to manage the permissions of other bundles.
    • Start Level service. The StartLevel service allows grouping of bundles into startlevels.
    • URL service. The URL service allows bundles to safely add URL schemas to the framework.
  • Configuration Admin service The Configuration Manager manages persistant storage of application data.
  • Device Access The Device Manager manages software components related to physical device drivers.
  • Declarative services (New in R4) The Service Component Runtime (SCR) provides support for a declarative model for publishing services without the need to start the bundle until the service is needed.
  • Event Admin service (New in R4) Event Admin provides an inter-bundle communication service, based on an event publish and subscribe model.
  • HTTP service The HTTP service provides a web server where applications can publish servlets or data.
  • IO Connector service Provides a flexible and extendable communication model based on the javax.microedition.io package from Java 2 Micro Edition (J2ME).
  • Log service The log service provides logging functions for other bundles.
  • Measurement API 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.
  • Preferences service The Preferences service provides API and functionality for storing bundle preferences.
  • Position API The Position API allows applications to handle position-ralated data in a uniform way.
  • ServiceTracker utility The ServiceTracker provides utilities for handling dynamic services.
  • UPnP Device service Specifies a services model for cooperation between OSGi bundles and UPnP devices. Knopflerfish only contains the service interface for this.
  • User Admin service The UserAdmin service provides functionality for users, groups and access control.
  • XML utility The XML utility class privides a template class for publishing XML parsers.

Note: All components following the OSGi R4 specification has been known to pass the OSGi R4 TCK (in external tests performed by Gatespace Telematics). The Knopflerfish distributions cannot formally call itself "OSGi R4 certified", since only OSGi members are allowed to use this term. Instead, we use the term "designed to be compliant with OSGi R4", 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