Checkout Knopflerfish
Knopflerfish on GitHub
Follow knopflerfish on Twitter

About Knopflerfish 7 - an OSGi R7 distribution

Knopflerfish 7 (KF7) is the next major release of Knopflerfish. KF7 is an implementation of the OSGi R7 specifications. The distribution includes the following components:

Knopflerfish 7 OSGi Framework - OSGi R7 Core

The Knopflerfish 7 OSGi framework and related Services is implemented in accordance with the OSGi R7 specification.

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

Version refer the version of the particalar specification in the OSGi Core Specification

The R7 column indicates of the specification chapter is N(ew) or U(pdated)

Core Specification - Knopflerfish OSGi framework
Chapter Version R7 Status Description
2-5 OSGi Core Framework 1.9 U In Progress The OSGi Core Framework.
7. Resource API 1.0 Done An API for the generic Requirement-Capability model.
7. Bundle Wiring API 1.2 Done 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 1.1 Done A namespace definition for the generic Requirement-Capability model.
9. Start Level API 1.0 Done 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.
Core Specification - Knopflerfish Framework API:s
10.1 Framework API 1.9 U In Progress The core API for bundles to interact with the OSGi Framework.
10.2 Launch Package 1.2 Done API for launching OSGi frameworks
10.3 Resource Package 1.0 Stable API for Requiments and Capabilites
10.4 Wiring Package 1.2 Done API for wiring requirments with capabilities
10.5 Startlevel Package 1.0 Stable The Startlevel API
10.7 Namespace Package 1.1 Done Definitions of namespaces used by Requirments
10.7 Versioning Annotations 1.1 U Done Definitions of annotations for versioning
Core Specification - Knopflerfish Framework Services
50. Conditional Permission Admin 1.1 In Progress Essentially a security policy and permission system for OSGi bundles. Supersedes Permission Admin
51. Permission Admin 1.2 In Progress A permission system for bundles
52. URL Handler 1.0 In Progress A mechanism to extend the Java run-time with new URL schemes and content handlers through bundles
53. Resolver Hooks 1.0 Stable A set of mechanisms for close interaction with the module layer resolving of bundle requirements and capabilities.
54. Bundle Hooks 1.1 Done A set of mechanisms for controlling visibility of bundles for other bundles. New feature in v4.3
55. Service Hooks 1.1 Stable A set of mechanisms for close interaction with the Service Registry.
57. Weaving Hook Service 1.1 U Stable A set of mechanisms for doing byte code weaving of classes loaded by a Bundle Class Loader.
57. Data Transfer Objects 1.1 U Done Defines Data Transfer Objects for OSGi in general and well as specific Data Transfer Objects for the Core specification. New feature in R7
701. Tracker Specification 1.5 Stable Utility for Bundle and Service tracking


Knopflerfish 7 OSGi Bundles - OSGi R7 Compendium Services

The Knopflerfish 7 OSGi Compendium Servers are implemented in accordance with the OSGi R7 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.

Version refer the version of the particalar specification in the OSGi Core Specification

The R7 column indicates of the specification chapter is N(ew) or U(pdated)

Knopflerfish OSGi Bundles - Service Compendium
Specification Version R7 Status Description
101. Log 1.4 U In Progress A message logger for the OSGi Service Platform.
102. HTTP 1.2 Stable HTTP server for the OSGi Service Platform. Supports both static HTML pages, as well as Servlets serving dynamic content
103. Device Access 1.1 Stable The Device Access specification supports the coordination of automatic detection and attachment of existing devices on an OSGi Service Platform.
104. Configuration Admin 1.6 U In Progress Service for setting configuration information of OSGi bundles
105. Meta Type 1.4 U In Progress Service that allow bundle developers to describe attribute types in a computer readable form using so-called meta- data.
106. Preferences 1.1 Stable 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 1.1 Stable Service that a bundle can use for Authentication and Authorization.
108. Wire Admin 1.1 Stable KF Pro Wiring of OSGi services inside an OSGi Service Platform. KF Pro only
109. IO Connector 1.0 Stable A connector service that adopts the Java 2 ME javax.microedition.io for OSGi
110. Initial Provisioning 1.2 Stable KF Pro Defines how to initially install the management agent in an OSGi Service Platform. KF Pro only
111. UPnP Device Service 1.2 Stable KF Pro Service for interaction with UPnP devices and Control Points. KF Pro only
112. Declarative Services 1.4 U NYI Service that defines a declarative model for publishing, finding and binding to OSGi services
113. Event Admin 1.4 U In Progress Provides an inter-bundle communication mechanism by sending events.
114. Deployment Admin 1.1 Stable KF Pro The Deployment Admin and Device Management Tree (DMT) bundle
115. Auto Configuration 1.0 Stable KF Pro The auto-configuration resource plug-in for the deployment admin service.
116. Application Admin 1.1 Stable KF Pro The Application Admin Service
117. DMT Admin 2.0.2 U Done The Device Management Tree (DMT) Admin bundle.
119. Monitor Admin 1.0 Stable KF Pro The Monitor Admin Service. KF Pro only
120. Foreign Application Access 1.0 Stable KF Pro A midlet container for Application Admin
132. Repository 1.1 Stable Repository is a service to search and retrieve general resources, e.g. OSGi bundles
702. XML Parser Service 1.0 Stable Standardized XML Parser utility
703. Position 1.0 Stable Utility for handling geographic positions
704. Measurement and State 1.0 Stable A utility that provides a consistent way of handling a diverse range of measurements for bundle developers
705. Promises 1.1 U Done Utility for simplifying asyncronous programming.
706. Push Stream 1.0 N Done Utility for handling pushstreams in OSGi
707. Converter 1.0 N NYI Utility for conversions


Knopflerfish 6 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 R6 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.