Skip to content

Bndtools Workspace Template for ECF Remote Services Development

Notifications You must be signed in to change notification settings

ECF/bndtools.workspace

Repository files navigation

bndtools.workspace

Bndtools Remote Service Workspace Template

NEW (4/28/2025) Bndtools Template for Python.Java Remote Services Development

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

  1. Create a new Bndtools Workspace using the ECF Bndtools Workspace Template

bndtoolsnewwkspace

  1. Create a new Bnd OSGi project

bndtoolsnewproject

  1. Open the projectName.hellopython.javahost.bndrun file in the project directory

bndtoolsbndrun

  1. Choose 'Resolve' and then 'Update'

  2. Select Debug OSGi to start the example application (Java)

bndtoolsdebug

Running Python Example Program

  1. Install iPOPO v 3.1.0 in your Python (3.9 or greater) local environment

  2. 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.

bndtoolspython

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

GRPC Development via Bndtools

This is a video tutorial showing how to use this workspace for gRPC development. In 4 parts: Part 1 - API Generation, Part 2 - Remote Service Implementation, Part 3 - Remote Service Consumer, Part 4 - Remote Service Debugging

About

Bndtools Workspace Template for ECF Remote Services Development

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published