Search code examples
messagingwamp-protocol

Reason WAMP protocol has not been widely adopted?


We are trying to decide on a protocol which will last at least 10 years. WAMP from the look of it covers everything we will ever need.

https://wamp-proto.org/

I am curious as to why I have not heard more about this? WAMP + Message Driven Architecture?


Solution

  • Recently I was reading the documentation of the WAMP (WebSocket Application Messaging Protocol) and it is indeed a really good protocol. It has Publish & Subscriber model, does support RPC (Remote Procedure Calls) and routed RPC, see comparison here. A lot of thought was put onto it.

    However, the easy client user experience has a trade-off of being a complete and consequently kinda complex protocol implementation (150+ pages) as seen here.

    The most popular router implementation of the WAMP protocol is crossbar.io. It is mature, but I don't think it is mature enough to convince some people to use it. Unfortunately, or fortunately, there is a lot of well established technologies and protocols that are in the same role. To make someone adopt something that looks a little out of the ordinary you'll need to convince them with numbers... show how high avaiable, scalable, easy to monitor, to alert, to deploy and to maintain it is, etc, etc, etc and that is not a simple task.

    At the end it all boils down to the technology adoption life cycle. If a big company supported it, certainly a lot of followers would support it too.

    Technology adoption life cycle

    Are you brave enough to bet on a technology that will be around for 10 years? Things are changing in a really fast-pace, always being in the cutting edge means that you are absolutely insane or certainly ahead of the time.

    To summarize, I do believe that you should try and experiment with new things in an controlled environment (learn how it works, the pros, the cons, trade-offs, etc) before commiting and maintaining it in the production environment... show that the solution works. Remember, if it fits for your needs and it works today, go for it! The future is uncertain, let it to the 'future you'.