I'm resubmitting this since 11189399 got a couple ups but didn't get any comments.
I wrote and implemented a similar protocol to RPEP in 2013 and have been using it personally, but haven't released it. In my recent search of something similar I found the unfortunately named WAMP (Web Application Messaging Protocol). Despite its goal of being simple and easy to implement, I found the spec complex and bloated. It doesn't stick to being a messaging protocol, also defining routing and brokerage - unnecessarily so in my opinion. I subscribe to the single-responsibility principle, and WAMP seems to violate that. So I wrote up this RPEP spec and want to know what people think about it.
If anyone wants to contribute to RPEP by either making implementations or discussing changes to the spec, please let me know.
SRP is not quite good thing to quote, as it's too vague to be applied
sensibly. And some people have allergy for Robert Martin.
I think it would be easier for a reader if you included terms "asynchronous
call" and "synchronous call" along "fire and forget" and "request and
response". The former pair is already used, at least in some circles, and the
latter pair seems your own terminology.
I understand what you mean about SRP being vague, but I don't think its so vague as to be useless. And about the 'asynchronous call' vs 'synchronous call' terminology, the problem there is that all the calls are asynchronous, so they aren't really good substitutes for 'fire and forget' and 'request and response'.
Part of WAMP's strength is the routes and the extra capabilities they bring into the system. While unnecessary for some, they are a powerful part of why WAMP is used by many people. WAMP wants to be a routed message system, it sounds like you want something else.
I agree, but my contention is that RPEP can be used to implement WAMP, whereas the other way around isn't true. In effect, WAMP is a higher-level protocol.
I wrote and implemented a similar protocol to RPEP in 2013 and have been using it personally, but haven't released it. In my recent search of something similar I found the unfortunately named WAMP (Web Application Messaging Protocol). Despite its goal of being simple and easy to implement, I found the spec complex and bloated. It doesn't stick to being a messaging protocol, also defining routing and brokerage - unnecessarily so in my opinion. I subscribe to the single-responsibility principle, and WAMP seems to violate that. So I wrote up this RPEP spec and want to know what people think about it.
If anyone wants to contribute to RPEP by either making implementations or discussing changes to the spec, please let me know.