Download presentation
Presentation is loading. Please wait.
Published byAllen Reed Modified over 8 years ago
1
RestMS a RESTful messaging protocol Pieter Hintjens Thilo Fromm FrOSCon 2009
2
What is messaging?
6
This is messaging.
7
Message routing Dynamic services Information mining
8
This is messaging. concretevs. loose staticvs. dynamic predefinedvs. interchangeable
9
This is messaging.
10
Web message protocols WebServices (WS Notifications, WS Eventing) XMPP, AtomPub ( Not in this talk: AMQP, [x]MQ ==> binary )
11
Simple Object Access Protocol It's not simple
12
WebServices Eventing Very complex A draft, not yet ready WebServices Notifications Has no transport Very complex Needs WSA, XSD (types, marshalling), … Message brokerage needs WSN-b Simple Object Access Protocol
13
WS-N: Announce a service http://docs.oasis-open.org/wsn/brw- 2/RegisterPublisher/RegisterPublisherRequest... http://www.example.org/PublisherEndpoint uuid:84decd55-7d3f-65ad-ac44-675d9fce5d22 npex:SomeTopic true 2003-12-25T00:00:00.00000Z http://docs.oasis-open.org/wsn/brw- 2/RegisterPublisher/RegisterPublisherResponse... http://www.example.org/PublisherRegistrationManager uuid:95fefeb3-f37d-5dfe-44fe-221d9fceec99 http://www.example.org/NotificationConsumer … Request Response
14
Use case driven standards Transport and Environment well- defined No server based filtering or routing of messages Not intended for application message brokerage XMPP and AtomPub
15
XMPP – announcing a service <iq type='set' from= 'francisco@denmark.lit/barracks' to='pubsub.shakespeare.lit' id='sub1'> <pubsub xmlns= 'http://jabber.org/protocol/pubsub'> <subscribe node='princely_musings' jid='francisco@denmark.lit'/> <iq type='result' from='pubsub.shakespeare.lit' to='francisco@denmark.lit/barracks' id='sub1'> <subscription node='princely_musings' jid='francisco@denmark.lit' subid='ba49252aaa4f5d320c24d3766f0bdca de78c78d3' subscription='subscribed'/> Request Response
16
Meet RestMS. PubSub / Request+Response Distribution, Routing, Filtering Service Discovery Dynamic services and subscriptions
17
Meet RestMS. open lightweight scalable RESTful
18
RestMS – Announcing a service. POST /restms/domain/default Content-Type: application/restms+xml Slug: 123 <restms xmlns= "http://.... /restms"> HTTP/1.1 201 Created Content-Type: application/restms+xml Location: http://host.com/restms/feed/123 <feed type="service" name="123" /> Request Response
19
RestMS - A message's way
20
Message
21
RestMS - A message's way Message Feed
22
RestMS - A message's way Message Feed Joins
23
RestMS - A message's way Message Feed Joins Pipes
24
RestMS – Dynamic resources Message Feed Joins Pipes
25
RestMS – Dynamic resources Message Feed Joins Pipes
26
RestMS – Dynamic resources Message Feed Joins Pipes
27
RestMS – Dynamic resources Message Feed Joins Pipes
28
RestMS – Dynamic resources Message Feed Joins Pipes
29
RestMS PubSub The“Parrot” pattern Subscriber s Publisher
30
Subscriber s Publisher s RestMS PubSub The“Parrot” pattern
31
RestMS Req/Resp The “Wolfpack / Housecat” pattern Service provider Service client
32
Service provider Service client RestMS Req/Resp The “Wolfpack / Housecat” pattern
33
Service provider Service clients RestMS Req/Resp The “Wolfpack / Housecat” pattern
34
Service provider Service clients RestMS Req/Resp The “Wolfpack / Housecat” pattern
35
Come in, we're open! http://www.restms.org Specifications More message patterns General messaging information restms@digistan.org Discussion + Coordination
36
The RestMS standardization process http://www.restms.org
37
Questions? http://www.restms.org
38
Thanks! http://www.restms.org
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.