Пара слов про 
MoscowJS, июль 2014 Константин Буркалёв, @KSDaemon
WAMP 
≠ 
Windows, Apache, 
MySQL, PHP
WAMP 
= 
Протокол прикладного уровня, 1 
реализует 2 паттерна: 
• Publish/Subscribe (PubSub)1 
• Remote Procedure Calls (R...
Основные компоненты и понятия 
• Идентификаторы ресурсов 
• Транспорт 
• Сериализатор 
• Сессия 
• Realm - домен, namespac...
Архитектура
Идентификаторы ресурсов 
Необходимы для: 
• Подписок 
• Процедур 
• Ошибок 
Представляют собой URI 
• system.send.file 
• ...
Сериализация и типы данных 
Поддерживаемые сериализаторы: 
• JSON • MsgPack 
Поддерживаемые типы данных: 
Обязательные: До...
Сообщения и полезная нагрузка 
• [HELLO, 
Realm|uri, 
Details|dict] 
1 
• [PUBLISH, 
Request|id, 
Options|dict, 
Topic|uri...
Транспорт 
• В основе лежат сообщения 
• Сообщения упорядочены 
• Двунаправленный обмен сообщениями 
• Websocket 
• Raw TC...
Транспорт и сессия 
Клиент Роутер
Транспорт и сессия 
Клиент Роутер 
HELLO
Транспорт и сессия 
Клиент Роутер 
HELLO 
WELCOME
Транспорт и сессия 
Клиент Роутер 
HELLO 
WELCOME 
ABORT
Транспорт и сессия 
Клиент Роутер 
HELLO 
WELCOME 
ABORT 
GOODBYE
Транспорт и сессия 
Клиент Роутер 
HELLO 
WELCOME 
ABORT 
GOODBYE 
GOODBYE
Транспорт и сессия 
Клиент Роутер 
HELLO 
WELCOME 
ABORT 
GOODBYE 
GOODBYE 
GOODBYE
Транспорт и сессия 
Клиент Роутер 
HELLO 
WELCOME 
ABORT 
GOODBYE 
GOODBYE 
GOODBYE 
GOODBYE
Publish / Subscribe 
Publisher Broker Subscriber
Publish / Subscribe 
Publisher Broker Subscriber 
SUBSCRIBE
Publish / Subscribe 
Publisher Broker Subscriber 
SUBSCRIBE 
SUBSCRIBED
Publish / Subscribe 
Publisher Broker Subscriber 
SUBSCRIBE 
SUBSCRIBED 
ERROR
Publish / Subscribe 
Publisher Broker Subscriber 
SUBSCRIBE 
SUBSCRIBED 
ERROR 
PUBLISH
Publish / Subscribe 
Publisher Broker Subscriber 
SUBSCRIBE 
SUBSCRIBED 
ERROR 
PUBLISH 
PUBLISHED
Publish / Subscribe 
Publisher Broker Subscriber 
SUBSCRIBE 
SUBSCRIBED 
ERROR 
PUBLISH 
PUBLISHED 
ERROR
Publish / Subscribe 
Publisher Broker Subscriber 
SUBSCRIBE 
SUBSCRIBED 
ERROR 
PUBLISH 
PUBLISHED 
ERROR 
EVENT
Publish / Subscribe 
Publisher Broker Subscriber 
SUBSCRIBE 
SUBSCRIBED 
ERROR 
UNSUBSCRIBE 
PUBLISH 
PUBLISHED 
ERROR 
EV...
Publish / Subscribe 
Publisher Broker Subscriber 
SUBSCRIBE 
SUBSCRIBED 
ERROR 
UNSUBSCRIBE 
UNSUBSCRIBED 
PUBLISH 
PUBLIS...
Publish / Subscribe 
Publisher Broker Subscriber 
SUBSCRIBE 
SUBSCRIBED 
ERROR 
UNSUBSCRIBE 
UNSUBSCRIBED 
ERROR 
PUBLISH ...
Remote Procedure Calls 
Caller Dealer Callee
Remote Procedure Calls 
Caller Dealer Callee 
REGISTER
Remote Procedure Calls 
Caller Dealer Callee 
REGISTER 
REGISTERED
Remote Procedure Calls 
Caller Dealer Callee 
REGISTER 
REGISTERED 
ERROR
Remote Procedure Calls 
Caller Dealer Callee 
REGISTER 
REGISTERED 
ERROR 
CALL
Remote Procedure Calls 
Caller Dealer Callee 
REGISTER 
REGISTERED 
ERROR 
CALL 
INVOCATION
Remote Procedure Calls 
Caller Dealer Callee 
REGISTER 
REGISTERED 
ERROR 
CALL 
INVOCATION 
YIELD
Remote Procedure Calls 
Caller Dealer Callee 
REGISTER 
REGISTERED 
ERROR 
CALL 
INVOCATION 
YIELD 
ERROR
Remote Procedure Calls 
Caller Dealer Callee 
REGISTER 
REGISTERED 
ERROR 
CALL 
RESULT 
INVOCATION 
YIELD 
ERROR
Remote Procedure Calls 
Caller Dealer Callee 
REGISTER 
REGISTERED 
ERROR 
CALL 
RESULT 
INVOCATION 
YIELD 
ERROR 
ERROR
Remote Procedure Calls 
Caller Dealer Callee 
REGISTER 
REGISTERED 
ERROR 
UNREGISTER 
CALL 
RESULT 
INVOCATION 
YIELD 
ER...
Remote Procedure Calls 
Caller Dealer Callee 
REGISTER 
REGISTERED 
ERROR 
UNREGISTER 
UNREGISTERED 
CALL 
RESULT 
INVOCAT...
Remote Procedure Calls 
Caller Dealer Callee 
REGISTER 
REGISTERED 
ERROR 
UNREGISTER 
UNREGISTERED 
ERROR 
CALL 
RESULT 
...
Профили 
Набор функциональных возможностей 
в рамках каждого паттерна (PubSub, RPC) 
• Basic profile 
• Advanced profile
Advanced profile 
• Управление сессией 
• Аутентификация 
• Heartbeat
Advanced profile 
• Publish / Subscribe 
• белый и черный списки 
• идентификация издателя 
• подписки по паттернам 
• мет...
Advanced profile 
• Remote Procedure Calls 
• белый и черный списки 
• идентификация вызывающего 
• регистрация RPC по пат...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Онлайн-консультант 
Browser 
Embedded 
app 
client 
Browser 
Embedded 
app 
client 
Browser 
Backoffice 
app 
...
Применение 
Browser 
Browser 
Большое интеграционное решение 
Server side infrastructure 
WAMP Router 
Mobile 
Desktop 
SU...
Consumer 1 Consumer 2 Consumer 3 Consumer 4 Consumer 5 
Provides RPC 
Call RPC 
Publish events 
Subscribe to topics 
Call ...
Применение 
WAMP как основа композитных SOA решений 
• Унифицированная сервисная шина 
• Асинхронное выполнение процедур 
...
Существующие реализации 
• JavaScriptA 
• Autobahn|JS (browser, node.js) 
• Wampy.js (browser) 
• JavaA 
• Autobahn|Androi...
Итоги 
• Простой и открытый протокол 
• RPC + PubSub из коробки 
• Унифицированная маршрутизация 
• Транспорт и сериализац...
Полезные ссылки 
• http://wamp.wsA 
• Описание 
• Спецификация 
• Реализации 
• https://groups.google.com/group/wampws 
• ...
Вот и все!1 
Но, возможно, есть вопросы 
?
Спасибо за внимание! 
Константин Буркалёв 
• Mail: kostik@ksdaemon.ru 
• Twitter: @KSDaemon 
• GitHub: KSDaemon 
• Blog: b...
Upcoming SlideShare
Loading in …5
×

Пара слов про WAMP

1,733 views

Published on

Небольшой доклад о протоколе WAMP (WebSocket Application Messaging Protocol), его устройстве, архитектуре, реализациях и возможном применении.

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
1,733
On SlideShare
0
From Embeds
0
Number of Embeds
619
Actions
Shares
0
Downloads
8
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Пара слов про WAMP

  1. 1. Пара слов про MoscowJS, июль 2014 Константин Буркалёв, @KSDaemon
  2. 2. WAMP ≠ Windows, Apache, MySQL, PHP
  3. 3. WAMP = Протокол прикладного уровня, 1 реализует 2 паттерна: • Publish/Subscribe (PubSub)1 • Remote Procedure Calls (RPC)
  4. 4. Основные компоненты и понятия • Идентификаторы ресурсов • Транспорт • Сериализатор • Сессия • Realm - домен, namespace • Peer — узел • Клиент • Роутер • Роль
  5. 5. Архитектура
  6. 6. Идентификаторы ресурсов Необходимы для: • Подписок • Процедур • Ошибок Представляют собой URI • system.send.file • chat.message • users.admins.message • user.profile.updated
  7. 7. Сериализация и типы данных Поддерживаемые сериализаторы: • JSON • MsgPack Поддерживаемые типы данных: Обязательные: Дополнительно: • integer • string • bool • list (array) • dict любые, зависит от поддержки в сериализаторе
  8. 8. Сообщения и полезная нагрузка • [HELLO, Realm|uri, Details|dict] 1 • [PUBLISH, Request|id, Options|dict, Topic|uri] • [PUBLISH, Request|id, Options|dict, Topic|uri, Arguments|list] • [PUBLISH, Request|id, Options|dict, Topic|uri, Arguments|list, ArgumentsKw|dict] 1 • [CALL, Request|id, Options|dict, Procedure|uri] • [CALL, Request|id, Options|dict, Procedure|uri, Arguments|list] • [CALL, Request|id, Options|dict, Procedure|uri, Arguments|list, ArgumentsKw|dict] 1 • [RESULT, CALL.Request|id, Details|dict] • [RESULT, CALL.Request|id, Details|dict, YIELD.Arguments|list] • [RESULT, CALL.Request|id, Details|dict, YIELD.Arguments|list, YIELD.ArgumentsKw|dict] Параметры-данные могут быть в виде: • Массивов | Array | List • Словарей | Hash-table | Dictionary
  9. 9. Транспорт • В основе лежат сообщения • Сообщения упорядочены • Двунаправленный обмен сообщениями • Websocket • Raw TCP • HTTP long-polling (в разработке) • Unix sockets
  10. 10. Транспорт и сессия Клиент Роутер
  11. 11. Транспорт и сессия Клиент Роутер HELLO
  12. 12. Транспорт и сессия Клиент Роутер HELLO WELCOME
  13. 13. Транспорт и сессия Клиент Роутер HELLO WELCOME ABORT
  14. 14. Транспорт и сессия Клиент Роутер HELLO WELCOME ABORT GOODBYE
  15. 15. Транспорт и сессия Клиент Роутер HELLO WELCOME ABORT GOODBYE GOODBYE
  16. 16. Транспорт и сессия Клиент Роутер HELLO WELCOME ABORT GOODBYE GOODBYE GOODBYE
  17. 17. Транспорт и сессия Клиент Роутер HELLO WELCOME ABORT GOODBYE GOODBYE GOODBYE GOODBYE
  18. 18. Publish / Subscribe Publisher Broker Subscriber
  19. 19. Publish / Subscribe Publisher Broker Subscriber SUBSCRIBE
  20. 20. Publish / Subscribe Publisher Broker Subscriber SUBSCRIBE SUBSCRIBED
  21. 21. Publish / Subscribe Publisher Broker Subscriber SUBSCRIBE SUBSCRIBED ERROR
  22. 22. Publish / Subscribe Publisher Broker Subscriber SUBSCRIBE SUBSCRIBED ERROR PUBLISH
  23. 23. Publish / Subscribe Publisher Broker Subscriber SUBSCRIBE SUBSCRIBED ERROR PUBLISH PUBLISHED
  24. 24. Publish / Subscribe Publisher Broker Subscriber SUBSCRIBE SUBSCRIBED ERROR PUBLISH PUBLISHED ERROR
  25. 25. Publish / Subscribe Publisher Broker Subscriber SUBSCRIBE SUBSCRIBED ERROR PUBLISH PUBLISHED ERROR EVENT
  26. 26. Publish / Subscribe Publisher Broker Subscriber SUBSCRIBE SUBSCRIBED ERROR UNSUBSCRIBE PUBLISH PUBLISHED ERROR EVENT
  27. 27. Publish / Subscribe Publisher Broker Subscriber SUBSCRIBE SUBSCRIBED ERROR UNSUBSCRIBE UNSUBSCRIBED PUBLISH PUBLISHED ERROR EVENT
  28. 28. Publish / Subscribe Publisher Broker Subscriber SUBSCRIBE SUBSCRIBED ERROR UNSUBSCRIBE UNSUBSCRIBED ERROR PUBLISH PUBLISHED ERROR EVENT
  29. 29. Remote Procedure Calls Caller Dealer Callee
  30. 30. Remote Procedure Calls Caller Dealer Callee REGISTER
  31. 31. Remote Procedure Calls Caller Dealer Callee REGISTER REGISTERED
  32. 32. Remote Procedure Calls Caller Dealer Callee REGISTER REGISTERED ERROR
  33. 33. Remote Procedure Calls Caller Dealer Callee REGISTER REGISTERED ERROR CALL
  34. 34. Remote Procedure Calls Caller Dealer Callee REGISTER REGISTERED ERROR CALL INVOCATION
  35. 35. Remote Procedure Calls Caller Dealer Callee REGISTER REGISTERED ERROR CALL INVOCATION YIELD
  36. 36. Remote Procedure Calls Caller Dealer Callee REGISTER REGISTERED ERROR CALL INVOCATION YIELD ERROR
  37. 37. Remote Procedure Calls Caller Dealer Callee REGISTER REGISTERED ERROR CALL RESULT INVOCATION YIELD ERROR
  38. 38. Remote Procedure Calls Caller Dealer Callee REGISTER REGISTERED ERROR CALL RESULT INVOCATION YIELD ERROR ERROR
  39. 39. Remote Procedure Calls Caller Dealer Callee REGISTER REGISTERED ERROR UNREGISTER CALL RESULT INVOCATION YIELD ERROR ERROR
  40. 40. Remote Procedure Calls Caller Dealer Callee REGISTER REGISTERED ERROR UNREGISTER UNREGISTERED CALL RESULT INVOCATION YIELD ERROR ERROR
  41. 41. Remote Procedure Calls Caller Dealer Callee REGISTER REGISTERED ERROR UNREGISTER UNREGISTERED ERROR CALL RESULT INVOCATION YIELD ERROR ERROR
  42. 42. Профили Набор функциональных возможностей в рамках каждого паттерна (PubSub, RPC) • Basic profile • Advanced profile
  43. 43. Advanced profile • Управление сессией • Аутентификация • Heartbeat
  44. 44. Advanced profile • Publish / Subscribe • белый и черный списки • идентификация издателя • подписки по паттернам • метасобытия • список подписчиков • список событий
  45. 45. Advanced profile • Remote Procedure Calls • белый и черный списки • идентификация вызывающего • регистрация RPC по паттернам • отмена выполнения • прогрессивное выполнение
  46. 46. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client WAMP Router (realm 2)
  47. 47. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client subscribe to ‘ready.for.chat’ subscribe to ‘ready.for.chat’ WAMP Router (realm 2)
  48. 48. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client WAMP Router (realm 2) subscribe to ‘chat.taken’ subscribe to ‘chat.taken’
  49. 49. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client subscribe to ‘user.chat.id1235’ WAMP Router (realm 2)
  50. 50. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client publish event to ‘ready.for.chat’ WAMP Router (realm 2)
  51. 51. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client receive event in ‘ready.for.chat’ receive event in ‘ready.for.chat’ WAMP Router (realm 2)
  52. 52. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client publish event to ‘chat.taken’ WAMP Router (realm 2)
  53. 53. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client receive event in ‘chat.taken’ WAMP Router (realm 2)
  54. 54. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client publish event to ‘user.chat.id1235’ WAMP Router (realm 2)
  55. 55. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client receive event in ‘user.chat.id1235’ WAMP Router (realm 2)
  56. 56. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client subscribe to ‘user.chat.id2425’ WAMP Router (realm 2)
  57. 57. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client publish event to ‘ready.for.chat’ WAMP Router (realm 2)
  58. 58. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client receive event in ‘ready.for.chat’ receive event in ‘ready.for.chat’ WAMP Router (realm 2)
  59. 59. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client publish event to ‘chat.taken’ WAMP Router (realm 2)
  60. 60. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client receive event in ‘chat.taken’ WAMP Router (realm 2)
  61. 61. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client publish event to ‘user.chat.id2425’ WAMP Router (realm 2)
  62. 62. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client receive event in ‘user.chat.id2425’ WAMP Router (realm 2)
  63. 63. Применение Онлайн-консультант Browser Embedded app client Browser Embedded app client Browser Backoffice app client Browser Backoffice app client WAMP Router (realm 1) Browser Embedded app client Browser Embedded app client WAMP Router (realm 2)
  64. 64. Применение Browser Browser Большое интеграционное решение Server side infrastructure WAMP Router Mobile Desktop SUBSCRIBE to TOPICs REGISTER RPC REGISTER RPC REGISTER RPC SUBSCRIBE to TOPICs Internal service 1 Internal service 2 Internal service 3 Frontoffice app client Frontoffice app client CRUD Nginx / HAProxy CRUD CRUD Backoffice app client SUBSCRIBE to TOPICs PUBLISH Event PUBLISH Event CALL RPCs Nginx / HAProxy Backoffice app client DB CRUD CRUD Backoffice app serverside Frontoffice app serverside
  65. 65. Consumer 1 Consumer 2 Consumer 3 Consumer 4 Consumer 5 Provides RPC Call RPC Publish events Subscribe to topics Call RPC Provides RPC Publish events Service Provider 1 Service Provider 2 Service Provider 3 Service Provider 4 Service Provider 5 Publish events WAMP Router (realm 1, realm 2, realm 3, ....) Subscribe to topics Publish events Применение WAMP как основа композитных SOA решений
  66. 66. Применение WAMP как основа композитных SOA решений • Унифицированная сервисная шина • Асинхронное выполнение процедур • Стандартизация интерфейсов взаимодействия • Минимальные накладные расходы • Гибкая инфраструктура • Изолированность и слабая связанность сервисов • Легкость подключения новых сервисов
  67. 67. Существующие реализации • JavaScriptA • Autobahn|JS (browser, node.js) • Wampy.js (browser) • JavaA • Autobahn|Android (скоро) • .NETA • WampSharp (в процессе) • PHPA • Thurway Клиентские библиотеки • PythonA • Autobahn|Python • C++A • Autobahn|Cpp • ErlangA • Erwa • Objective-CA • MDWamp • Lua (в процессе) Роутеры • PythonA • Autobahn|Python • Crossbar.io • ErlangA • Erwa • PHPA • Thurway • LuaA • Wiola
  68. 68. Итоги • Простой и открытый протокол • RPC + PubSub из коробки • Унифицированная маршрутизация • Транспорт и сериализация на любой вкус • Минимальные накладные расходы • Нативное использование в веб-приложениях • Позволяет строить распределенные приложения со слабым связыванием компонентов • Множество реализаций на разных языках • Open source & комьюнити
  69. 69. Полезные ссылки • http://wamp.wsA • Описание • Спецификация • Реализации • https://groups.google.com/group/wampws • http://autobahn.ws • https://github.com/crossbario/crossbar/wiki • Crossbar.io • Примеры клиентов на разных языках
  70. 70. Вот и все!1 Но, возможно, есть вопросы ?
  71. 71. Спасибо за внимание! Константин Буркалёв • Mail: kostik@ksdaemon.ru • Twitter: @KSDaemon • GitHub: KSDaemon • Blog: blog.ksdaemon.ru

×