OSGi Remote Services and ECF
Chapter 13 in the OSGi 4.2 compendium specification describes a new service-oriented architecture (SOA) standard for remote services. This new standard uses the OSGi service registry to expose remote services...i.e. OSGi services that are actually implemented in processes distributed on a network.
ECF's support for this OSGi standard is implemented as a layered set of application programming interfaces (APIs). This modular structure allows service builders and service consumers to use an 'ala carte' model for defining, creating, deploying, integrating, and running distributed services. Such an 'ala carte' model of modularity is helpful to the service builder and consumer for two primary reasons:
- It helps reduce system complexity. By only including technologies that are actually necessary for a given use case, rather than include functionality needed to support other use cases. For a lucid presentation about the value of modularity for simplifying complicated systems, see How Module Systems Drive Architectures.
- It provides flexibility. This flexibility allows consumers to mix-and-match transport protocols and serialization formats, supports interoperability and easy integration with existing systems, and supports use of synchronous and/or asynchronous invocation patterns as needed.
Here is a diagram showing the relationship between the various layered APIs in ECF's support of OSGi Remote Services.
Here are two examples (with source) showing the use of ECF's remote services to expose and access a 'hello world' remote service.
- RFC119 - Getting Started with ECF's RFC119 Implementation
- Remote Services API - Getting Started with Using the ECF Remote Services API
|Eclipse Communication Framework|
|API Documentation • Javadoc • Providers|
|Development Guidelines • Integrators Guide|