Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [osgi-technology-dev] Python <-> Java Integration via OSGi Remote Services

Hi Scott,

thank you for this request. In general we are interested having such a provider that allows communication between Python and Java via Remote Services.

We already doing that as well in a custom component to trigger ML applications, that are implemented in Python.

So, having a distribution provider would be nice.

I have seen the Py4J project made its last release in 2022. Is there still something happening in that project?

Just to get it right, the contribution would consist of Python and Java components?

It would be great, if we could discuss that topic, maybe in one of the next specification calls. I would clarify that. Anyway, you are always invited to participate these calls.

Regards,

Mark

Am 04.07.24 um 05:45 schrieb Scott Lewis via osgi-technology-dev:
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

_______________________________________________
osgi-technology-dev mailing list
osgi-technology-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://accounts.eclipse.org

--
Mark Hoffmann
M.A. Dipl.-Betriebswirt (FH)
CEO / CTO

Phone:  +49 3641 384 910 0
Mobile: +49 175 701 2201
E-Mail: m.hoffmann@xxxxxxxxxxxxxxxx
Web: 	www.datainmotion.com

Data In Motion Consulting GmbH
Kahlaische Strasse 4
07745 Jena
Germany

CEO:
Mark Hoffmann
Jürgen Albert

Jena HRB 513025
Tax-No 162/107/05779
VAT-Id DE310002614




Back to the top