ECF is a set of APIs/frameworks/types for inter-process communication
Current version: 3.15.6 Release Date: 3/15/2025
There has been a new project template added to the ECF Bndtools Workspace Template that uses the ECF Python.Java Distribution Provider. This distribution provider is based upon py4j, which supports high performance remote procedure call between python and java processes.
To try it out after installing Bndtools 7.1 and the ECF tools add ons
- Create a new Bndtools Workspace using the ECF Bndtools Workspace Template
- Create a new Bnd OSGi project
- Open the projectName.hellopython.javahost.bndrun file in the project directory
-
Choose 'Resolve' and then 'Update'
-
Select Debug OSGi to start the example application (Java)
Running Python Example Program
-
Install iPOPO v 3.1.0 in your Python (3.9 or greater) local environment
-
In a command shell or IDE, navigate to the project directory and run the run_python_example.py script
python run_python_example.py
The examples will output progress to their respective consoles as the remote services are made exported, discovered, and imported by the java process or the python process.
Most of the code that produces output is available in the example project. For java: src/main/java/.../hello/*.java and python: python-src/samples/rsa
NEW: Feature for Remote Services tooling that enhances Bndtools 7.1 or higher. Theses tools use bndtools project, workspace, service templates, and OSGi services wizards for simplifying the creation of OSGi remote services. Also present are Eclipse view for debugging remote service endpoint description discovery and remote service export/import. The feature requires that Bndtools 7.1+ be installed into a recent version of Eclipse. Also see the Install into Bndtools 7.1 via Oomph section below for automated install.
Name: ECF 3.15.7
Update Site URL: https://download.eclipse.org/rt/ecf/latest/site.p2
Install into Bndtools 7.1 via Oomph
There are now Oomph Setups that will automatically install and configure Eclipse, Bndtools 7.1 and ECF 3.15.7 see here
Features for Bndtools-based OSGi Remote Services Development
Bndtools Workspace Template for Remote Services Development here: https://github.com/ECF/bndtools.workspace. This workspace template contains multiple project templates for creating Remote Service API, Impl, and Consumer projects via the New->Bnd OSGi Project wizard:
Eclipse Views for Endpoint Discovery and Remote Service Admin Manager
Download/Install into Apache Karaf 4.4+
For Install into Karaf runtime, here is a top-level Karaf Features file
ECF provides a fully-compliant and multi-provider implementation of the OSGi Remote Services and Remote Services Admin/RSA. A number of providers are available in this repo, but there are also many providers available at the ECF github organization.
ECF is the OSGi R8 RS/RSA implementation in the OSGi Test Compatibilty Kit (TCK)
ECF filetransfer is used by the Eclipse IDE
ECF has an organization with a number of other repos containing Remote Services distribution and discovery providers (e.g. grpc, etcd discovery, hazelcast, JMS, JGroups, xmlrpc-based distribution providers, examples, others). Most of these repos provide distribution or discovery providers that depend upon the core remote services/RSA implementation provided by this repo.
See the ECF Wiki for examples, tutorials, Karaf install documentation, other documentation.
To contribute or find out what's going on right now, please join the ecf-dev mailing list or contact project lead Scott Lewis at github email: scottslewis at gmail.com
For Remote Services training, support, or custom OSGi or Eclipse development please contact scottslewis at gmail.com via email or post on the ecf-dev mailing list
Contributions are always welcome! For 20 years ECF has been innovating via community contributions. See CONTRIBUTING.md