1 Introduction

This compendium contains the specifications of all current OSGi services.

1.1 Reader Level

This specification is written for the following audiences:

  • Application developers

  • Framework and system service developers (system developers)

  • Architects

This specification assumes that the reader has at least one year of practical experience in writing Java programs. Experience with embedded systems and server-environments is a plus. Application developers must be aware that the OSGi environment is significantly more dynamic than traditional desktop or server environments.

System developers require a very deep understanding of Java. At least three years of Java coding experience in a system environment is recommended. A Framework implementation will use areas of Java that are not normally encountered in traditional applications. Detailed understanding is required of class loaders, garbage collection, Java 2 security, and Java native library loading.

Architects should focus on the introduction of each subject. This introduction contains a general overview of the subject, the requirements that influenced its design, and a short description of its operation as well as the entities that are used. The introductory sections require knowledge of Java concepts like classes and interfaces, but should not require coding experience.

Most of these specifications are equally applicable to application developers and system developers.

1.2 Version Information

This document is the Compendium Specification for the OSGi Compendium Release 7.

1.2.1 OSGi Core Release 7

This specification is based on the OSGi Core Release 7. This specification can be downloaded from:

https://docs.osgi.org/specification/

1.2.2 Component Versions

Components in this specification have their own specification version, independent of this specification. The following table summarizes the packages and specification versions for the different subjects.

Table 1.1 Packages and versions

Item Package Version
100 Remote Services - Version 1.1
101 Log Service Specification

org.osgi.service.log

org.osgi.service.log.admin

org.osgi.service.log.stream

Version 1.4
102 Http Service Specification org.osgi.service.http Version 1.2
103 Device Access Specification org.osgi.service.device Version 1.1
104 Configuration Admin Service Specification

org.osgi.service.cm

org.osgi.service.cm.annotations

Version 1.6
105 Metatype Service Specification

org.osgi.service.metatype

org.osgi.service.metatype.annotations

Version 1.4
106 PreferencesService Specification org.osgi.service.prefs Version 1.1
107 User Admin Service Specification org.osgi.service.useradmin Version 1.1
108 Wire Admin Service Specification org.osgi.service.wireadmin Version 1.0
109 IO Connector Service Specification org.osgi.service.io Version 1.0
110 Initial Provisioning Specification org.osgi.service.provisioning Version 1.2
111 Device Service Specification for UPnP™ Technology org.osgi.service.upnp Version 1.2
112 Declarative Services Specification

org.osgi.service.component

org.osgi.service.component.annotations

org.osgi.service.component.propertytypes

org.osgi.service.component.runtime

org.osgi.service.component.runtime.dto

Version 1.4
113 Event Admin Service Specification

org.osgi.service.event

org.osgi.service.event.annotations

org.osgi.service.event.propertytypes

Version 1.4
114 Deployment Admin Specification

org.osgi.service.deploymentadmin

org.osgi.service.deploymentadmin.spi

Version 1.1
115 Auto Configuration Specification - Version 1.0
116 Application Admin Specification org.osgi.service.application Version 1.1
117 Dmt Admin Service Specification

org.osgi.service.dmt

org.osgi.service.dmt.notification

org.osgi.service.dmt.notification.spi

org.osgi.service.dmt.security

org.osgi.service.dmt.spi

Version 2.0
119 Monitor Admin Service Specification org.osgi.service.monitor Version 1.0
120 Foreign Application Access Specification org.osgi.application Version 1.0
121 Blueprint Container Specification

org.osgi.service.blueprint.container

org.osgi.service.blueprint.reflect

Version 1.0
122 Remote Service Admin Service Specification

org.osgi.service.remoteserviceadmin

org.osgi.service.remoteserviceadmin.namespace

Version 1.1
123 JTA Transaction Services Specification - Version 1.0
125 Data Service Specification for JDBC™ Technology org.osgi.service.jdbc Version 1.0
126 JNDI Services Specification org.osgi.service.jndi Version 1.0
127 JPA Service Specification

org.osgi.service.jpa

org.osgi.service.jpa.annotations

Version 1.1
128 Web Applications Specification - Version 1.0
130 Coordinator Service Specification org.osgi.service.coordinator Version 1.0
132 Repository Service Specification org.osgi.service.repository Version 1.1
133 Service Loader Mediator Specification org.osgi.service.serviceloader Version 1.0
134 Subsystem Service Specification org.osgi.service.subsystem Version 1.1
135 Common Namespaces Specification

org.osgi.namespace.contract

org.osgi.namespace.extender

org.osgi.namespace.implementation

org.osgi.namespace.service

org.osgi.namespace.unresolvable

Version 1.2
137 REST Management Service Specification

org.osgi.service.rest

org.osgi.service.rest.client

Version 1.0
138 Asynchronous Service Specification

org.osgi.service.async

org.osgi.service.async.delegate

Version 1.0
140 Http Whiteboard Specification

org.osgi.service.http.whiteboard

org.osgi.service.http.whiteboard.annotations

org.osgi.service.http.whiteboard.propertytypes

org.osgi.service.http.context

org.osgi.service.http.runtime

org.osgi.service.http.runtime.dto

Version 1.1
147 Transaction Control Service Specification

org.osgi.service.transaction.control

org.osgi.service.transaction.control.jdbc

org.osgi.service.transaction.control.jpa

org.osgi.service.transaction.control.recovery

Version 1.0
148 Cluster Information Specification

org.osgi.service.clusterinfo

org.osgi.service.clusterinfo.dto

Version 1.0
150 Configurator Specification

org.osgi.service.configurator

org.osgi.service.configurator.annotations

org.osgi.service.configurator.namespace

Version 1.0
151 JAX-RS Whiteboard Specification

org.osgi.service.jaxrs.runtime

org.osgi.service.jaxrs.runtime.dto

org.osgi.service.jaxrs.whiteboard

org.osgi.service.jaxrs.whiteboard.annotations

org.osgi.service.jaxrs.whiteboard.propertytypes

org.osgi.service.jaxrs.client

Version 1.0
702 XML Parser Service Specification org.osgi.util.xml Version 1.0
703 Position Specification org.osgi.util.position Version 1.0
704 Measurement and State Specification org.osgi.util.measurement Version 1.0
705 Promises Specification

org.osgi.util.promise

org.osgi.util.function

Version 1.1
706 Push Stream Specification

org.osgi.util.pushstream

Version 1.0
707 Converter Specification org.osgi.util.converter Version 1.0

When a component is represented in a bundle, a version attribute is needed in the declaration of the Import-Package or Export-Package manifest headers.

1.3 References

1.4 Changes