Forum » Hidden / Per page discussions » Introduction to RestMS
Started by: Automatic
On: 1241350719|%e %b %Y, %H:%M %Z|agohover
Number of posts: 11
rss icon RSS: New posts
This is the discussion related to the wiki page Introduction to RestMS.
Thought provoking intro.
Hedge Hog (guest) 1241403470|%e %b %Y, %H:%M %Z|agohover

Thanks for the intro and your efforts. I'm still to digest all that you wrote.
One off-the-cuff observation: I wonder if you have investigated 'lessons learned' from MPI and, more practically, the various implementations. I do recall trying to follow a debate about one aspect of the asynchronous/reliability requirement in a part of the spec, but it was a bit beyond me at the time…
I'm often surprised to discover how few web/enterprise people are aware of it. It does deal with a different use case, and different architecture - I mention MPI because I think there you might find more 'talented engineers' (which I am not) who have tackled and thought about messaging 'issues'.
HTH
HH

Reply  |  Options
Unfold Thought provoking intro. by Hedge Hog (guest), 1241403470|%e %b %Y, %H:%M %Z|agohover
pieterhpieterh 1241423471|%e %b %Y, %H:%M %Z|agohover

MPI makes an interesting comparison. It's an API, not a protocol. It does not have queuing or generic routing semantics. It focuses on closely-coupled processes rather than distributed applications. It supports rich data types. This looks more like CORBA and perhaps like a lot of other message passing technologies from the last century.

I think the scale of the problem has changed, so it's not enough to visualize an architecture as a set of processes. We in fact don't know what processes will come and go. We have to visualize it as a set of streams of data, all asynchronous, carrying simpler data.

But I've not spoken to any MPI engineers. My hope is that projects like RestMS can catch the attention of people who worked on this and similar technologies in the past.

Last edited on 1241425450|%e %b %Y, %H:%M %Z|agohover By pieterh + Show more
Reply  |  Options
Unfold by pieterhpieterh, 1241423471|%e %b %Y, %H:%M %Z|agohover
Re:
Sebastian (guest) 1243268065|%e %b %Y, %H:%M %Z|agohover

What I really miss about Zyre are webhooks. Keeping a socket constantly open to the MQ (which is almost impossible with say…php webapps) is in my mind just a different way of polling, just more lightweight. In constrast, defining a parameterized callback-URL is much more efficent of lower message volumes and regular webapps where you can't set up a deamon to constantly monitor a queue.
Sadly my C skills are not sufficent to hack such a feature into Zyre, but I hope to see something like this in the foreseeable future :)

Unfold Re: by Sebastian (guest), 1243268065|%e %b %Y, %H:%M %Z|agohover
pieterhpieterh 1243343254|%e %b %Y, %H:%M %Z|agohover

Webooks sounds interesting. The place to put it is not Zyre, but RestMS, the protocol that Zyre implements. If you are familiar with Webhooks (I'm not), feel free to propose ways that RestMS could be modified to use it.

Unfold by pieterhpieterh, 1243343254|%e %b %Y, %H:%M %Z|agohover
Re:
Sebastian (guest) 1243353307|%e %b %Y, %H:%M %Z|agohover

Actually Webhooks are incredibly simple. You just define a Reply URI to which the MQ sends the Message via HTTP POST or GET.
bild18.png

One example of this in a MQ-style scenario is pubsubhubbub

Unfold Re: by Sebastian (guest), 1243353307|%e %b %Y, %H:%M %Z|agohover
pieterhpieterh 1243354319|%e %b %Y, %H:%M %Z|agohover

That sounds straight forward. Could I ask you to read the RestMS spec, and see where it makes sense to add webhooks callbacks? Perhaps on message retrieval. The webhooks.org site seems down right now. Feel free to also discuss this on the restms developer list, that's the best place for it. (See http://www.restms.org for links).

Reply  |  Options
Unfold by pieterhpieterh, 1243354319|%e %b %Y, %H:%M %Z|agohover
Jeff Lindsay (guest) 1247092204|%e %b %Y, %H:%M %Z|agohover

There are a couple of major resources on webhooks.

Here is a recent talk: http://vimeo.com/4537957
Here is the original epic slide deck: http://www.slideshare.net/progrium/web-hooks-and-the-programmable-world-of-tomorrow-presentation

It's a fairly grassroots effort that me and others are evangelizing, but I must say we are doing a good job. There is a lot of support in a lot of important places and it's increasing every week! I think webhooks are VERY important to consider with your work. At the very least it's a great way to "hook" support of RestMS into our web application ecosystem. But I think it's important to consider this simple concept in your architectures.

Where are you located? Perhaps we should try and talk sometime.

Reply  |  Options
Unfold by Jeff Lindsay (guest), 1247092204|%e %b %Y, %H:%M %Z|agohover
pieterhpieterh 1247127534|%e %b %Y, %H:%M %Z|agohover

I'm on the IETF HyBi list, and there is talk of a BoF meeting in Stockholm. Also, Thilo and I will be presenting RestMS at FrOSCon'09. Finally, I'm in Brussels, most of the time.

Reply  |  Options
Unfold by pieterhpieterh, 1247127534|%e %b %Y, %H:%M %Z|agohover
Jeff Lindsay (guest) 1247092404|%e %b %Y, %H:%M %Z|agohover

Also, it's not about a "spec" … I'm all about standards, particularly open ones, but I also like iterative and organic growth. Webhooks are general enough to have many specs involved. The most promising right now is PubSubHubbub, which uses webhooks for the age old pubsub problem. I believe this overlaps with some of what you're trying to accomplish.

I think your work is important and valuable, but let's not try to approach this monolithically (not sure that you are). There are many existing standards and ideas that can work together to create a much more flexible open toolkit to solve these kinds of problems.

Reply  |  Options
Unfold by Jeff Lindsay (guest), 1247092404|%e %b %Y, %H:%M %Z|agohover
Jeff Lindsay (guest) 1247194434|%e %b %Y, %H:%M %Z|agohover

Ok, well I'm in San Francisco … so unless I travel out there we probably won't get a chance to talk in person. I'll try to stay on top of RestMS as best I can.

Reply  |  Options
Unfold by Jeff Lindsay (guest), 1247194434|%e %b %Y, %H:%M %Z|agohover
pieterhpieterh 1247218335|%e %b %Y, %H:%M %Z|agohover

@Jeff, maybe one of these days I'll be in SF. Used to go there quite often.

There is a lot of work going on in this area, and webhooks and PubSubHubbub are definitely interesting. These are about delivery, which is just one of the aspects of messaging. I'd say there are five main aspects: publishing to a server, routing inside the server, queuing inside the server, delivering to the recipient, and federating servers together. There are many more aspects when one comes to the details but these are the top level slice.

RestMS tries to provide answers for all of these but it's most definitely a work in progress and it is deliberately unfinished wrt delivery. We've already started looking at how that should really be done, and there are some options: webhooks, BWTP, and other asynchronous HTTP-like protocols.

If you look at the RestMS architecture and process then you'll see that it's easy for anyone to propose and submit a spec that implements, e.g. webhooks for delivery within RestMS.

In this respect RestMS is not a protocol but a family of protocols based on an open process.

Reply  |  Options
Unfold by pieterhpieterh, 1247218335|%e %b %Y, %H:%M %Z|agohover
New Post