Eiffel protocol library

86 views
Skip to first unread message

Andrey Devyatkin

unread,
Oct 19, 2016, 2:52:03 AM10/19/16
to Eiffel Community, Daniel Ståhl
Hi!

After the summit we had a short conversation about having one eiffel library implementation. Currently there are two

It would be great if we can document way forward here and decide about next steps. Intention is to have a common library that would define events (might be part of ericsson/eiffel repo). I'm pretty much in favour of protobuf implementation since it takes a way less work to create definitions and then generate classes. Also, protobuf allows generation of bindings in different languages such as C++, go, python and so on. In this way we will allow developers to reuse protocol definition and code applications/integrations in any supported languages.

Daniel, what was your thoughts on this?

Daniel Ståhl

unread,
Oct 19, 2016, 3:07:46 AM10/19/16
to Eiffel Community, daniel....@gmail.com
Hi,

Great that you brought the topic up here. As we discussed at the Eiffel Summit, there are different use cases which call for different solutions. Somtimes a microservice is preferable, sometimes a library. I would ideally like to see a situation where:

1. There is a library implementation for serializing events, available in a great variety of languages. Using e.g. Protobuf makes sense to me, but I haven't done the deep-dive into details I would need to really have a strong opinion (there are alternatives to Protobuf, after all). But in the end, the best solution is one that exists and works, so anyone feeling comfortable with Protobuf who wants to go for it, don't let me stop you :)

2. There is a CLI wrapping that library. This could be thick or thin.

3. There is a microservice implementation that also wraps the library.

Remrem caters to 2. and 3., but extracting the internal serialization into a generic re-usable library would be a great service to the community.

Daniel

peter....@tieto.com

unread,
Oct 25, 2016, 5:06:53 AM10/25/16
to Eiffel Community, daniel....@gmail.com
Work is ongoing to use the JsonSchemas defined in https://github.com/Ericsson/eiffel in https://github.com/Ericsson/eiffel-remrem-semantics. I hope we have a pull request for that soon. The big advantage is that only need to define the protocol in one place.

/Peter

Peter Bäckman

unread,
Nov 10, 2016, 1:41:07 AM11/10/16
to Eiffel Community, daniel....@gmail.com, raja.m...@ericsson.com
Now there is a pull request showing the use of the Json Schemas as input for the semantics library.

The schemas have been split up into pieces to reuse common parts and a few java properties have been added. For this PoC the schemas are located here:

And the pull request can be found here:

/P

baluta...@gmail.com

unread,
Nov 10, 2016, 3:21:33 AM11/10/16
to Eiffel Community, daniel....@gmail.com, raja.m...@ericsson.com
I think we should not copy the JSON content from eiffel library. It is better that the split can be done in the eiffel library and we import that in eiffel semantics. The reason is that any changes in eiffel events specification will need to be done in eiffel semantics too and if we miss updates then inconsistency and confusion will arise at some point.

Peter Bäckman

unread,
Nov 10, 2016, 3:29:34 AM11/10/16
to Eiffel Community, daniel....@gmail.com, raja.m...@ericsson.com, baluta...@gmail.com
Yes the idea is to use the schemas in the eiffel repo. This is just to show how it would look so we can discuss the advantages/disadvantages of this solution.

Sorry for not being clear on that.

/P
Reply all
Reply to author
Forward
0 new messages