--
You received this message because you are subscribed to the Google Groups "nats" group.
To unsubscribe from this group and stop receiving emails from it, send an email to natsio+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Which makes me sad that nobody with a lot of development resources hasn't sat down and spent an effort to create a standard, resilient, reusable RPC layer. People are probably vary of standard protocols after the disasters that were CORBA and SOAP, but that doesn’t mean RPC is inherently bad — most of us is stuck doing poor man’s RPC with REST.
TL;DR RPC isn’t bad. Attempting a “standard protocol” by today’s definition is mostly folly
(Here’s where I stroke my long, flowing beard and wax philosophical): I think you have hit the nail on the head. In 25+ years in this business, I have seen a ton of effort put into creating this "standard, resilient, reusable RPC layer”. CORBA succeeded! Well, not in being standard, resilient and reusable (or even usable, depending on when and what you were implementing). It succeeded in making a lot of money for a lot of people, though… authors, publishers, software companies, integrators/consultants… everybody but the end-users/business stakeholders it was meant to benefit. It was evolutionary, not revolutionary, and it was both (a) too early for the problem(s) it was trying to solve, and (b) horribly over-engineered. Which gets me to my principal point:
The issue isn’t RPC, it is the eagerness of software engineers to 'gild the lily'. One tenet of modern design (not just software design) is something that Steve Jobs is often noted for. Although he didn’t invent the concept, he eventually made Apple famous for it: zen-like simplicity; to measure the success of a design not by what *is* there, but by the absence of cruft — the things that are intentionally absent because they don’t need to be there. As software engineers, that void — the absence of cruft — is something we have an overwhelming drive to fill, and without adequate oversight, we *will* fill it with more stuff… stuff that is as likely to complex/unnecessary/slow as it is simple/useful/performant. If you invent the fish, I will invent a bicycle for it. Or vice versa. This applies to standards as much as it does the technologies implementing the standard(s).
“But Larry, haven’t you just pointed out the solution? Proper oversight, right?”
No, actually I think I’ve pointed out the other part of the problem, and probably the larger part. When you hear the word “oversight” in this context, what’s the other word that automatically pops into your head? Committee! Standards committees are great at keeping individuals from adding unnecessary bits and pieces to protocols… so that they can wedge their own unnecessary bits and pieces in! I’ll leave that discussion for another day, but I will recommend reading the following old but still-relevant article by Pieter Hintjens (http://www.imatix.com/articles:whats-wrong-with-amqp/). It’s a bit of a lengthy rant (not unlike this one, just 10x longer and more thorough), and is specific to AMQP, but it makes a number of excellent observations/points about the pitfalls of the standards process as we know it.
Anyway, no, RPC isn’t inherently bad at all, just the “standard protocol” bit :)
(Meanwhile, I sit comfortably in my Utopian ivory tower, employed by the benevolent corporate sponsor of an open-source messaging project with an open protocol, managed by a small oligarchy, open to criticism, suggestion and contribution, but free to invent or prevent 'cruft' as we see fit :))
-Larry
(who, for the record, does not have a long flowing beard… and whose opinions are solely his own and *not* those of Apcera Inc.)
We definitely intend to open source once we feel we've reached a good point, which shouldn't be too far off.> Would be awesome if you could capture it (video, transcript, blog post, anything). We’re located on the wrong coast.I think the Apcera folks usually try to record the talks, but will have to defer that one to Brian. :)