[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[osgi-technology-dev] Python <-> Java Integration via OSGi Remote Services
|
Howdy,
For many years, the ECF project has had an implementation of the OSGi
Remote Services (100) and Remote Service Admin (122) specifications. I
believe ECF's RS/RSA impl is currently still used in the OSGi
compatibility test suite.
One of our distribution providers enables remote services between Java
and Python[1]. It uses the Py4j protocol to do this. Py4j is an open
source project [2] that is used for Apache Spark on the server-side (I
believe), Eclipse EASE project, and other projects and products/services.
As per the OSGi Remote Services specification, a service registry exists
in both the Java and Python processes, and the distribution provider
connects them (via osgi-standardized meta-data aka the endpoint
description) to export and import services between the two processes.
[1] has all the Java and Python components to implement this
distribution provider, along with some utilities and examples. This
distribution provider can also use Google protocol buffers as the
serialization mechanism and so it happens to work well with the both
gRPC (based upon protocol buffers) and bndtools-based grpc tooling [3].
If there is interest and community support I would be willing to
contribute this distribution provider to the Eclipse community, perhaps
as an effort to integrate java and python-based services and apps at the
service level for a broader 'artificial intelligence' effort at Eclipse.
Scott
[1] https://github.com/ECF/Py4j-RemoteServicesProvider/
[2] https://www.py4j.org/
[3] https://github.com/ECF/grpc-RemoteServicesProvider