Introducing Tavendo – WAMP + Autobahn + Crossbar.io

Tavendo is an open-source Germany-based developer providing middleware and leveraging WebSocket, enabling developers to build next-generation applications including web, mobile, and Internet of Things (IoT) apps. One of the main benefits of using Tavendo tools is its open-source nature which means it’s widely available for both commercial and closed source uses and includes the ability to modify code and add features for personal use as required.

Tavendo created and maintains the WAMP (Web Application Messaging Protocol), Crossbar.io (Unified Application Router) and Autobahn (Real-time Web Framework) stack. This stack is comprised of the following three components:

WAMP: WAMP is a network protocol providing Unified Application Routing while harnessing the power of WebSockets which is the preferred transport in most instances. WAMP enables various technologies and processes to communicate with one another in soft real-time and offers two tools to achieve this: Remote Procedure Calls (RPC) which is a messaging pattern involving Caller, Callee and Dealer; and Publish Subscribe (PubSub) which is a messaging pattern involving Publisher, Subscriber, and Broker. By incorporating RPC and PubSub into one protocol, front and back end apps can communicate with each other. In this regard, the RPC is used to perform actions and the PubSub is used to receive notifications regarding the action performed by the RPC. WAMP makes it easy for clients to talk transparently to each other.

[See Also: SDN Interface to Microsoft Skype for Business]

Autobahn: Autobahn is an open-source real-time framework enabling implementations of the WAMP and WebSocket protocols using multiple languages that are supported by Tavendo. These languages include AutobahnPython (based on Python), AutobahnJS (based on JavaScript), AutobahnCpp (based on C++) and AutobahnAndroid. Each language is considered a subproject with its own sub-community and developers. AutobahnPython is utilized as part of Crossbar.io itself. While these four libraries are supported by Tavendo, other libraries are provided by third-parties including ones based on other languages not supported by Tavendo such as C#, Java, and PHP. Autobahn also includes a fully automated testing tool called AutobahnTestsuite.

Crossbar.io: Crossbar.io is the open-source router used with WAMP. The purpose of Crossbar.io is to enable each connected component – a webpage, website, mobile client or IoT device to name a few – to communicate with each other. The WAMP protocol then provides the two afore-mentioned communication tools – RPC and PubSub – to achieve communication between components. Crossbar.io also includes an integrated web server and enables developers to use Crossbar.io-created applications with any WAMP client library including of course Autobahn.

In general terms, Tavendo’s tools offer sound and secure applications for developers who require a WebSocket implementation or who wish to take advantage of WAMP. WAMP’s benefits are most notably its ability to offer a more structured and easier way for client and server to communicate.

Tavendo’s main role is as the organization who created WAMP, created and supports Crossbar.io and who created Autobahn. Given the stack’s open-source nature, it is significantly improved by developers who take part in the Tavendo community on an ongoing basis. Tavendo also offers consulting, custom development and other professional services related to their stack.

Tavendo takes an active role in giving credit to and promoting further open-source development of their stack including the development work done by outside third parties who receive credit on the Tavendo website.

Conclusion

Everything you need to know about outsourcing technology development and digital platform solutions
Access a special Introduction Package with everything you want to know about outsourcing your technology development. How should you evaluate a partner? What components of your solution that are suitable to be handed off to a partner? These answers and more below.

Let's Talk
Lets Talk

Our Latest Blogs

With Zymr you can