You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@plc4x.apache.org by Christofer Dutz <ch...@c-ware.de> on 2021/02/14 17:22:14 UTC

I'll start implementing the "proxy" connections

Hi all,

in the past we had this concept of a "proxy driver" which was thought to be a bridge for new language APIs by forwarding requests from a C, Python, C#, C++, Go client to a Java server.
As I need this sort of functionality fort he PLC4C, I'll continue working on this.

In the past we used (or wanted to use) Thrift for this. However this made the build quite complex as we had to build the Thrift compiler and libraries as part our build.
We then thought about moving to gRPC. This would have been simpler to implement and the existing plugins already are available. However both Thrift and gRPC have one problem: Using them in C is impossible or a huge callenge.

Now on my search for a solution a chat with Julian brought me to another Idea:

We have this cool framework to generate code for reading and writing messages of a protocol in any supported language. So why not use mspec to define the types of API calls that PLC4X supports and then to simply have the clients and servers generated from that?

What do you think? This way as soon as we have code-generation templates for a new language, we get the proxy connection for free.

This will be the next thing I'll be implementing.

Chris