Knopflerfish 5.1.0
Contents
Release Notes
License
Getting Started
Installing
Running
Building
Programming
Testing
Developer's Doc
Tutorials
Java API docs
Framework and Bundle docs
Bundle jar docs
www.knopflerfish.org
KF Forum
Bug tracker
Bundle repository
Source (subversion)
Eclipse plugin
Maintained by Makewave
Knopflerfish Pro
Professional Services
Training

OSGi for Business Use

About Knopflerfish 5 - an OSGi R5 distribution

Knopflerfish 5 (KF5) is designed to be implemented according to the OSGi R5 specifications. The distribution includes the following components:

Knopflerfish 5 OSGi Framework - OSGi R5 Core

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

The numbering for the OSGi defined components refer to the OSGi specification chapter numbering. The Changes column indicates if the service / API has been updated in R5 compared to R4v4.3 of the Core specification, in which case the new specification chapter version is stated.

Core Specification - Knopflerfish OSGi framework
Section Changes Status R5 Description
2. Security Layer NA Done Full The OSGi Security Layer based on the Java2 security mechanism.
3. Module Layer NA Done Full The OSGi solution for Java modularization, a.k.a. OSGi bundles.
4. Life Cycle Layer NA Done Full Function to control the security and life cycle operations of bundles
5. Service Layer NA 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
New Done Full An API for the generic Requirement-Capability model.
7. Bundle Wiring API 1.1 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 New Done Full A namespace definition for the generic Requirement-Capability model.
9. Start Level API No 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 1.7 Done Full The core API for bundles to interact with the OSGi Framework.
Core Specification - Knopflerfish Framework Services
50. Conditional Permission Admin No Done Full Essentially a security policy and permission system for OSGi bundles. Supersedes Permission Admin
51. Permission Admin No Done Full A permission system for bundles
52. URL Handler No Done Full A mechanism to extend the Java run-time with new URL schemes and content handlers through bundles
53. Resolver Hooks No Done Full A set of mechanisms for close interaction with the module layer resolving of bundle requirements and capabilities.
54. Bundle Hooks 1.1 Done Full A set of mechanisms for controlling visibility of bundles for other bundles.
55. Service Hooks No Done Full A set of mechanisms for close interaction with the Service Registry.
56. Weaving Hooks No Done Full A set of mechanisms for doing byte code weaving of classes loaded by a Bundle Class Loader.
701. Tracker Specification No Done Full Utility for Bundle and Service tracking


Knopflerfish 5 OSGi Bundles - OSGi R5 Compendium Services

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

Some of the OSGi Compendium Services are only available in the commercial Knopflerfish Pro 5 version provided by Makewave. These services are clearly marked in the table below,

The numbering for the OSGi defined components refer to the OSGi specification chapter numbering. The Changes column indicates if the service / API has been updated in R5 compared to R4v4.3 of the Compendium specification, in which case the new specification chapter version is stated.

Knopflerfish OSGi Bundles - Service Compendium
Specification Updates Status R5 Description
101. Log No Stable Full A message logger for the OSGi Service Platform.
102. HTTP No Stable Full HTTP server for the OSGi Service Platform. Supports both static HTML pages, as well as Servlets serving dynamic content
103. Device Access No 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 1.5 Done Full Service for setting configuration information of OSGi bundles
105. Meta Type No Done Full Service that allow bundle developers to describe attribute types in a computer readable form using so-called meta- data.
106. Preferences No 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 No Stable Full Service that a bundle can use for Authentication and Authorization.
108. Wire Admin No Stable KF Pro Full Wiring of OSGi services inside an OSGi Service Platform. KF Pro only
109. IO Connector No Stable Full A connector service that adopts the Java 2 ME javax.microedition.io for OSGi
110. Initial Provisioning No Stable KF Pro Full Defines how to initially install the management agent in an OSGi Service Platform. KF Pro only
111. UPnP Device Service No Done KF Pro Full Service for interaction with UPnP devices and Control Points. KF Pro only
112. Declarative Services No Done Full Service that defines a declarative model for publishing, finding and binding to OSGi services
113. Event Admin No Stable Full Provides an inter-bundle communication mechanism by sending events.
114. Deployment Admin No Stable KF Pro Full The Deployment Admin and Device Management Tree (DMT) bundle
115. Auto Configuration No Stable KF Pro Full The auto-configuration resource plug-in for the deployment admin service.
116. Application Admin No Stable KF Pro Full The Application Admin Service
117. DMT Admin No Stable KF Pro Full The Device Management Tree (DMT) Admin bundle.
119. Monitor Admin No Stable KF Pro Full The Monitor Admin Service. KF Pro only
120. Foreign Application Access No Stable KF Pro Full A midlet container for Application Admin
132. Repository New In Progress New Repository is a service to search and retrieve general resources, e.g. OSGi bundles
702. XML Parser Service No Stable Full Standardized XML Parser utility
703. Position No Stable Full Utility for handling geographic positions
704. Measurement and State No 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
Console - SCR Commands Stable NA Command for handling and examining Declarative Services components.
Class Patcher Stable NA This bundle contains the support for class patching using ASM that was previously implemented in the framework. It is implemented as a Weaving Hooks. The configuration properties remain the same in order to be backward compatible.
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.