WAMPv2 / Autobahn|Python: sneak preview

#1

Hi all,

the WAMPv2 implementation in Autobahn|Python is approaching 80%.

I am excited that the original plan and design really works;)

Here is a sneak preview.

This is how WAMPv2 application code looks

https://github.com/tavendo/AutobahnPython/blob/wamp2/examples/twisted/wamp2/test1/app.py

Above contains an "application backend" and an "application frontend". The code should be self-explanatory.

Now, the cool thing is, you can run this in 2 ways:

Variant 1:

Application backend runs embedded inside the server that also runs the WAMPv2 router (=Broker+Dealer).

OR

Variant 2:

Application backend runs as a _client_.

ยทยทยท

==

In both cases the frontend runs as a client.

And both variants with 100% _identical_ application code!

https://github.com/tavendo/AutobahnPython/blob/wamp2/examples/twisted/wamp2/test1/README.md

Also note, that this stuff can already run WAMP over WebSocket over TCP, Unix domain sockets and pipes.

In the near future WAMP will run over non-WebSocket transports as well. The machinery is totally there.

And it _already_ works with both JSON and MsgPack serialization.

Moreso: another goal is to make it work on both Twisted _and_ Asyncio.

I can't even count how many combinations of flexibility this boils down to;)

Cheers,

/Tobias

0 Likes