DOSGi in the OSGi spec

Distributed OSGi is described in the OSGi core spec in chapter 6 (Remote Services) and in the OSGi compendium spec in chapter 122 (Remote Service Admin Service).

The Remote Services spec describes a module named Distribution Provider that makes OSGi services available across container boundaries. The idea is to use special service properties to mark services that are to be exported remotely. The Distribution provider will create Endpoints for these services that are available outside the container. On the consumer side the Distribution Provider can create local OSGi services that act as proxies for the remote services and allow service consumers to use them to call the remote service.

The Remote Service Admin spec then splits the Distribution provider into separate modules that communicate through defined interfaces. This allows to change or enhance parts of an existing DOSGi implementation without having to reimplement the whole Distribution provider.

Modular Distribution Provider described in the Remote Service Admin Service spec.

Modules and their Roles

Notes:

CXF DOSGi

Spec Module

CXF Module

Description

Discovery

cxf-dosgi-ri-discovery-local

Describes Remote Endpoints using local configuration

 

cxf-dosgi-ri-discovery-distributed

Discovers and Announces Endpoints using a Zookeeper Server

Topology Manager

cxf-dosgi-ri-topology-manager

Basic Topology Manager Implementation

Remote Service Admin

cxf-dosgi-ri-dsw-cxf

Creates Endpoints and Proxies using the CXF Framework

Shows how the CXF DOSGi modules map to the spec. In the next chapters we look into each of these modules.

Topology Manager

Discovery Ditributed with Zookeeper

Remote Service Admin