About Knopflerfish 5 - an OSGi R5 distribution
Knopflerfish 5 (KF5) is a former major release of Knopflerfish, now in maintenance mode. Knopflerfish. KF5 is an implementation of the OSGi R5 specifications. The distribution includes the following components:- Knopflerfish OSGi framework - OSGi R5 Core Specification implementation
- Knopflerfish OSGi bundles - OSGi R5 Service Compendium implementation
- Knopflerfish components & extras - Knopflerfish bundles and utilities
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. |