Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Tutorial: Building your first OSGi Remote Service
Introduction
The OSGi Framework provides a very simple model to expose services within a local runtime. Also available, however, is a specification of Remote Services...services that are exported by a distribution provider to allow remote access. The ECF project implements a specification-compliant distribution provider.
This tutorial will show how to
- define and implement a simple OSGi service
- expose that service for remote access via ECF's implementation of the OSGi Remote Services standard
Define a Service Interface
The key to building a system with low coupling and high cohesion is to define clear and coherent boundaries between different parts of your system. Central to this is defining a simple Service Interface...to allow one subsystem to interact with another subsystem, but only in clearly defined ways.
For this example, we are going to define a simple Time Service:
public interface ITimeService { public Long getCurrentTime(); }