Checkout Knopflerfish
Knopflerfish on GitHub
Follow knopflerfish on Twitter

About Knopflerfish 5 - an OSGi R5 distribution

Knopflerfish 5 (KF5) is the latest major release of Knopflerfish. KF5 is an implementation of the OSGi R5 specifications. The distribution includes the following components:

Knopflerfish 5 OSGi Framework - OSGi R5 Core

The Knopflerfish 5 OSGi framework and related Services is implemented in accordance with the OSGi R5 specification.

The numbering for the OSGi defined components refer to the OSGi specification chapter numbering.

Core Specification - Knopflerfish OSGi framework
Section Status R5 Description
2. Security Layer Done Full The OSGi Security Layer based on the Java2 security mechanism.
3. Module Layer Done Full The OSGi solution for Java modularization, a.k.a. OSGi bundles.
4. Life Cycle Layer Done Full Function to control the security and life cycle operations of bundles
5. Service Layer Done Full The Service Layer provides a publish, find and bind model trough the service registry.
Core Specification - Knopflerfish Framework API:s
6. Resource API
Done Full An API for the generic Requirement-Capability model.
7. Bundle Wiring API
Done Full An API that provides access to the internal Framework package sharing mechanism. This API replaces the Package Admin Service from the OSGi R4 v4.2 and earlier.
8. Framework Namespaces Done Full A namespace definition for the generic Requirement-Capability model.
9. Start Level API Done Full An API to control the relative starting and stopping order of bundles in an OSGi Service Platform. This API replaces the Start Level Service from OSGi R4 v4.2 and earlier.
10. Framework API Done Full An API for bundles to interact with the OSGi Framework.
Core Specification - Knopflerfish Framework Services
50. Conditional Permission Admin Done Full Essentially a security policy and permission system for OSGi bundles. Supersedes Permission Admin
51. Permission Admin Done Full A permission system for bundles
52. URL Handler Done Full A mechanism to extend the Java run-time with new URL schemes and content handlers through bundles
53. Resolver Hooks Done Full A set of mechanisms for close interaction with the module layer resolving of bundle requirements and capabilities. New feature in v4.3
54. Bundle Hooks Done Full A set of mechanisms for controlling visibility of bundles for other bundles. New feature in v4.3
55. Service Hooks Done Full A set of mechanisms for close interaction with the Service Registry.
56. Weaving Hooks Done Full A set of mechanisms for doing byte code weaving of classes loaded by a Bundle Class Loader. New feature in v4.3
701. Tracker Specification Done Full Utility for Bundle and Service tracking


Knopflerfish 5 OSGi Bundles - OSGi R5 Compendium Services

The Knopflerfish 5 OSGi Compendium Servers are implemented in accordance with the OSGi R5 specification.

Makewave also provides a Knopflerfish Pro version and certain Compendium services are only available in Knopflerfish Pro. They are clearly marked in the table below.

The numbering for the OSGi defined components refer to the OSGi specification chapter numbering.

Knopflerfish OSGi Bundles - Service Compendium
Specification Status R5 Description
101. Log Stable Full A message logger for the OSGi Service Platform.
102. HTTP Stable Full HTTP server for the OSGi Service Platform. Supports both static HTML pages, as well as Servlets serving dynamic content
103. Device Access Stable Full The Device Access specification supports the coordination of automatic detection and attachment of existing devices on an OSGi Service Platform.
104. Configuration Admin Done Full Service for setting configuration information of OSGi bundles
105. Meta Type Done Full Service that allow bundle developers to describe attribute types in a computer readable form using so-called meta- data.
106. Preferences Stable Full Service that provides easy to use persistent storage of bundle data. typically user preference. Knopflerfish Pro includes an enhanced Preferences implementation where Ubicore serves as a remote Backing Store for the Preferences service.
107. User Admin Stable Full Service that a bundle can use for Authentication and Authorization.
108. Wire Admin Stable KF Pro Full Wiring of OSGi services inside an OSGi Service Platform. KF Pro only
109. IO Connector Stable Full A connector service that adopts the Java 2 ME javax.microedition.io for OSGi
110. Initial Provisioning Stable KF Pro Full Defines how to initially install the management agent in an OSGi Service Platform. KF Pro only
111. UPnP Device Service Done KF Pro Full Service for interaction with UPnP devices and Control Points. KF Pro only
112. Declarative Services Done Full Service that defines a declarative model for publishing, finding and binding to OSGi services
113. Event Admin Done Full Provides an inter-bundle communication mechanism by sending events.
114. Deployment Admin Stable KF Pro Full The Deployment Admin and Device Management Tree (DMT) bundle
115. Auto Configuration Stable KF Pro Full The auto-configuration resource plug-in for the deployment admin service.
116. Application Admin Stable KF Pro Full The Application Admin Service
117. DMT Admin Done KF Pro Full The Device Management Tree (DMT) Admin bundle.
119. Monitor Admin Stable KF Pro Full The Monitor Admin Service. KF Pro only
120. Foreign Application Access Stable KF Pro Full A midlet container for Application Admin
132. Repository In Progress New Repository is a service to search and retrieve general resources, e.g. OSGi bundles
702. XML Parser Service Stable Full Standardized XML Parser utility
703. Position Stable Full Utility for handling geographic positions
704. Measurement and State Stable Full A utility that provides a consistent way of handling a diverse range of measurements for bundle developers


Knopflerfish 5 Components - Bundles and Utilities

The Knopflerfish distribution includes a set of Knopflerfish specific bundles and Utilities. Some of the components include, or are based on other popular open source components / projects. Knopflerfish has in this case typically provided a wrapper class, bundlifying the component / project.

Knopflerfish Components
Component Status Includes Description
Desktop Stable NA The desktop is a graphical tool for managing a running framework. The desktop can be extended using plug-ins. Support added for new OSGi R5 features.
Log Utilities Stable NA Utility classes for easier logging.
Misc utilities Stable NA Misc utility classes for text, job and IO handling.
Console Stable NA The Console service provides means for command-based tools to publish their commands. Any bundle can provide commands.
TTY Console Stable NA Console using stdin/stdout
Telnet Console Stable NA Console using telnet
Console - Framework Commands Stable NA Commands for handling the core Knopflerfish OSGi framework.
Console - Log Commands Stable NA Commands for handling the OSGi log
Console -CM Commands Stable NA Command for handling the Configuration Management data
Knopflerfish Extras & Wrapper Components
Component Status Includes Comment
Commons Logging Stable Commons Logging The Commons logging bundle wraps the Apache Commons Logging API over the OSGi log
Serial port Stable RXTX Serial ports are supported via the OSGi device model and the javax.comm API. Implementations from Sun (win32) and RXTX (linux) are used for the included bundles.
KF Test Suite Stable JUnit A JUnit based test suite for Knopflerfish bundle & framework testing.