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:
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
|