Web Application Messaging Protocol: Difference between revisions

Content deleted Content added
removed a tiny portion of promotional content
mNo edit summary
Line 2:
{{Advert|date=October 2016}}
 
'''WAMP''' is a [[WebSocket]] subprotocol registered at [[Internet Assigned Numbers Authority|IANA]],<ref>[https://www.iana.org/assignments/websocket/websocket.xml IANA protocols listing page]</ref> specified<ref>[https://github.com/tavendo/WAMP/blob/master/spec/basic.md WAMP basic profile specifications]</ref> to offer routed [[Remote procedure call|RPC]] and [[Publish–subscribe pattern|PubSub]]. Its design goal<ref>{{cite web|url=https://wamp-proto.org/intro.html|title=Using WAMP you can build distributed systems out of application components which are loosely coupled and communicate in (soft) real-time.}}</ref> is to provide an open standard for soft real-time message exchange between application components and ease the creation of [[loosely coupled]] architectures based on [[microservices]]. Because of this, it is a suitable [[enterprise service bus]] (ESB),<ref>[http://www.slideshare.net/KSDaemon/wamp-en-exported A few words about WAMP]</ref> fit for developing responsive <nowiki>[[Web]]</nowiki>web applications or to coordinate multiple connected devices in the [[Internet of Things|IoT]].<ref>{{cite book|url=https://books.google.com/books?id=JPKGBAAAQBAJ&pg=PA172 |title=In this chapter [...] you will learn about the Web Application Messaging Protocol [...] which provide tools and services for developing IoT solutions|isbn=9780996025515|last1=Bahga|first1=Arshdeep|last2=Madisetti|first2=Vijay|date=9 August 2014}}</ref>
 
==Characteristics==
Line 173:
|}
 
[[Tavendo]], the company from which originated the protocol, is also the author of [[Crossbar.io]], which promotes itself as the de facto router implementation.<ref>{{cite web|title=Crossbar.io is the name of the most full-featured router|date=26 December 2014 |url=http://www.slideshare.net/sametmax/intro-wamp}}</ref> As they are promoting micro-servicemicroservice-based architectures, Crossbar.io embeds a service manager for hosting and monitoring WAMP app components, a static file Web server, and a WSGI container. Being written with the [[Twisted (software)|Twisted]] library, it is one of the implementations that can be set up in production without a proxy, aiming to replace stacks such as Nginx associated with [[Process supervision|Supervisor]] and [[Gunicorn]].
 
==Use cases==
Line 181:
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-servicesmicroservices like one would do with [[Common Object Request Broker Architecture|CORBA]], [[ZeroMQ]], [[Apache Thrift]], [[SOAP]] or [[AMQP]].
 
==Evolution==