Web Application Messaging Protocol: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Add: date, website. | Use this bot. Report bugs. | Suggested by Superegz | Category:Network protocols‎ | #UCB_Category 252/343
Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.3) (Whoop whoop pull up - 12943
Line 47:
It additionally means that all WAMP clients are equal in that they can offer procedures for calling. This avoids the traditional distinction between clients and server backends, and allows architectures where browser clients call procedures on other browser clients, with an API that feels like peer to peer communication.
 
However, even with multi-tiers architectures, the router is still a single point of failure. For this reason, some router implementation roadmaps include clustering features.<ref>[{{Cite web |url=http://crossbar.io/docs/Architecture |title=Crossbar node architecture] |access-date=2015-04-20 |archive-date=2015-01-12 |archive-url=https://web.archive.org/web/20150112133407/http://crossbar.io/docs/Architecture/ |url-status=dead }}</ref>
 
==Implementations==
Line 181:
Being a WebSocket sub-protocol, WAMP fits naturally anywhere one would use raw web sockets, as a way to synchronize clients such as Web browsers, push notifications to them and allow soft real-time collaboration between users.<ref>[https://github.com/voryx/angular-wamp WAMP and AngularJS]</ref> It has also the same limitations, requiring client support, which is missing for [[Internet Explorer]] versions older than 10.<ref>{{cite web|url=http://caniuse.com/#feat=websockets|title=Can is use websockets ?}}</ref> This is mitigated by the existence of [[Polyfill (programming)|polyfill]]s<ref>[https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills Web socket polyfills]</ref> using more portable technologies such as [[Adobe Flash|Flash]] or the use of HTTP Longpoll as a fallback. In that sense, WAMP is a competitor to [[Meteor (web framework)|Meteor]]'s [[Distributed Data Protocol|DDP]].
 
WAMP also targets the IoT, where it is used in the same way as [[MQTT]]<ref>{{cite web|url=https://into.aalto.fi/download/attachments/12324178/Huang_Fuguo_thesis_2.pdf|title=Moreover, we compared WAMP with other registered WebSocket subprotocols (MBWS, SOAP and STOMP) in terms of the related features; and with other potential protocols (CoAP and MQTT), in terms of the related practical deployments.|access-date=2015-01-12|archive-date=2016-05-13|archive-url=https://web.archive.org/web/20160513073741/https://into.aalto.fi/download/attachments/12324178/Huang_Fuguo_thesis_2.pdf|url-status=dead}}</ref> as a light and efficient medium to orchestrate clusters of connected objects. The implementations in various languages make it suitable to control and monitor small devices such as the [[Raspberry Pi]] (in Python) or the Tessel<ref>[https://www.youtube.com/watch?v=WY7KzrRm8XY Tessel alarm app with Crossbar.io]</ref> (in JavaScript).
 
And last but not least, WAMP can act as an enterprise service bus, serving as the link between micro-services like one would do with [[Common Object Request Broker Architecture|CORBA]], [[ZeroMQ]], [[Apache Thrift]], [[SOAP]] or [[AMQP]].