Bndtools Remote Service Workspace Template
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
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