Hi Infinispan developers,
I'm working on a solution for developers who need to access Infinispan services through different programming languages.
The focus is not on developing a full featured client, but rather discover the value and the limits of this approach.
- is it possible to automatically generate useful clients in different languages?
- can that clients interoperate on the same cache with the same data types?
I came out with a small prototype that I would like to submit to you and on which I would like to gather your impressions.
You can found the project here [1]: is a gRPC-based client/server architecture for Infinispan based on and EmbeddedCache, with very few features exposed atm.
Currently the project is nothing more than a poc with the following interesting features:
- client can be generated in all the grpc supported language: java, go, c++ examples are provided;
- the interface is full typed. No need for marshaller and clients build in different language can cooperate on the same cache;
The second item is my preferred one beacuse it frees the developer from data marshalling.
What do you think about?
Sounds interesting?
Can you see any flaw?
There's also a list of issues for the future [2], basically I would like to investigate these questions:
How far this architecture can go?
Topology, events, queries... how many of the Infinispan features can be fit in a grpc architecture?
Thank you
Vittorio
[1] https://github.com/rigazilla/ispn-grpc